mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
hw/pci: Add pci_bus_add_fw_cfg_extra_pci_roots() helper
pci_bus_add_fw_cfg_extra_pci_roots() calls the fw_cfg API with PCI bus specific arguments. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20241206181352.6836-5-philmd@linaro.org>
This commit is contained in:
parent
59c5eea5c7
commit
14f1f86d51
2 changed files with 19 additions and 0 deletions
16
hw/pci/pci.c
16
hw/pci/pci.c
|
@ -217,6 +217,22 @@ static uint16_t pcibus_numa_node(PCIBus *bus)
|
||||||
return NUMA_NODE_UNASSIGNED;
|
return NUMA_NODE_UNASSIGNED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool pci_bus_add_fw_cfg_extra_pci_roots(FWCfgState *fw_cfg,
|
||||||
|
PCIBus *bus,
|
||||||
|
Error **errp)
|
||||||
|
{
|
||||||
|
Object *obj;
|
||||||
|
|
||||||
|
if (!bus) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
obj = OBJECT(bus);
|
||||||
|
|
||||||
|
return fw_cfg_add_file_from_generator(fw_cfg, obj->parent,
|
||||||
|
object_get_canonical_path_component(obj),
|
||||||
|
"etc/extra-pci-roots", errp);
|
||||||
|
}
|
||||||
|
|
||||||
static GByteArray *pci_bus_fw_cfg_gen_data(Object *obj, Error **errp)
|
static GByteArray *pci_bus_fw_cfg_gen_data(Object *obj, Error **errp)
|
||||||
{
|
{
|
||||||
PCIBus *bus = PCI_BUS(obj);
|
PCIBus *bus = PCI_BUS(obj);
|
||||||
|
|
|
@ -297,6 +297,9 @@ int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
|
||||||
uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
|
uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
|
||||||
void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
|
void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
|
||||||
void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
|
void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
|
||||||
|
bool pci_bus_add_fw_cfg_extra_pci_roots(FWCfgState *fw_cfg,
|
||||||
|
PCIBus *bus,
|
||||||
|
Error **errp);
|
||||||
/* 0 <= pin <= 3 0 = INTA, 1 = INTB, 2 = INTC, 3 = INTD */
|
/* 0 <= pin <= 3 0 = INTA, 1 = INTB, 2 = INTC, 3 = INTD */
|
||||||
static inline int pci_swizzle(int slot, int pin)
|
static inline int pci_swizzle(int slot, int pin)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue