mirror of https://github.com/xemu-project/xemu.git
pci: Convert TYPE_PCIE_ROOT_PORT to 3-phase reset
Convert the TYPE_PCIE_ROOT_PORT device to 3-phase reset; this is a necessary precursor to converting any of its child classes. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20221125115240.3005559-4-peter.maydell@linaro.org
This commit is contained in:
parent
0d89890466
commit
bb27210c8c
|
@ -43,9 +43,10 @@ static void rp_write_config(PCIDevice *d, uint32_t address,
|
||||||
pcie_aer_root_write_config(d, address, val, len, root_cmd);
|
pcie_aer_root_write_config(d, address, val, len, root_cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rp_reset(DeviceState *qdev)
|
static void rp_reset_hold(Object *obj)
|
||||||
{
|
{
|
||||||
PCIDevice *d = PCI_DEVICE(qdev);
|
PCIDevice *d = PCI_DEVICE(obj);
|
||||||
|
DeviceState *qdev = DEVICE(obj);
|
||||||
|
|
||||||
rp_aer_vector_update(d);
|
rp_aer_vector_update(d);
|
||||||
pcie_cap_root_reset(d);
|
pcie_cap_root_reset(d);
|
||||||
|
@ -171,13 +172,14 @@ static void rp_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
|
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
|
||||||
|
ResettableClass *rc = RESETTABLE_CLASS(klass);
|
||||||
|
|
||||||
k->is_bridge = true;
|
k->is_bridge = true;
|
||||||
k->config_write = rp_write_config;
|
k->config_write = rp_write_config;
|
||||||
k->realize = rp_realize;
|
k->realize = rp_realize;
|
||||||
k->exit = rp_exit;
|
k->exit = rp_exit;
|
||||||
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
|
||||||
dc->reset = rp_reset;
|
rc->phases.hold = rp_reset_hold;
|
||||||
device_class_set_props(dc, rp_props);
|
device_class_set_props(dc, rp_props);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue