spapr_pci: add dynamic-reconfiguration option for spapr-pci-host-bridge
This option enables/disables PCI hotplug for a particular PHB. Also add machine compatibility code to disable it by default for machine types prior to pseries-2.4. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> [agraf: move commas for compat fields] Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
e4b798bb53
commit
7619c7b00c
@ -1823,7 +1823,12 @@ static const TypeInfo spapr_machine_info = {
|
||||
};
|
||||
|
||||
#define SPAPR_COMPAT_2_3 \
|
||||
HW_COMPAT_2_3
|
||||
HW_COMPAT_2_3 \
|
||||
{\
|
||||
.driver = "spapr-pci-host-bridge",\
|
||||
.property = "dynamic-reconfiguration",\
|
||||
.value = "off",\
|
||||
},
|
||||
|
||||
#define SPAPR_COMPAT_2_2 \
|
||||
SPAPR_COMPAT_2_3 \
|
||||
@ -1913,7 +1918,7 @@ static const TypeInfo spapr_machine_2_2_info = {
|
||||
static void spapr_machine_2_3_class_init(ObjectClass *oc, void *data)
|
||||
{
|
||||
static GlobalProperty compat_props[] = {
|
||||
/* SPAPR_COMPAT_2_3, */
|
||||
SPAPR_COMPAT_2_3
|
||||
{ /* end of list */ }
|
||||
};
|
||||
MachineClass *mc = MACHINE_CLASS(oc);
|
||||
|
@ -936,6 +936,8 @@ static Property spapr_phb_properties[] = {
|
||||
DEFINE_PROP_UINT64("io_win_addr", sPAPRPHBState, io_win_addr, -1),
|
||||
DEFINE_PROP_UINT64("io_win_size", sPAPRPHBState, io_win_size,
|
||||
SPAPR_PCI_IO_WIN_SIZE),
|
||||
DEFINE_PROP_BOOL("dynamic-reconfiguration", sPAPRPHBState, dr_enabled,
|
||||
true),
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
|
@ -71,6 +71,7 @@ struct sPAPRPHBState {
|
||||
uint32_t index;
|
||||
uint64_t buid;
|
||||
char *dtbusname;
|
||||
bool dr_enabled;
|
||||
|
||||
MemoryRegion memspace, iospace;
|
||||
hwaddr mem_win_addr, mem_win_size, io_win_addr, io_win_size;
|
||||
|
Loading…
Reference in New Issue
Block a user