提交 7619c7b0 编写于 作者: M Michael Roth 提交者: Alexander Graf

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: NMichael Roth <mdroth@linux.vnet.ibm.com>
Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au>
Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
[agraf: move commas for compat fields]
Signed-off-by: NAlexander Graf <agraf@suse.de>
上级 e4b798bb
...@@ -1823,7 +1823,12 @@ static const TypeInfo spapr_machine_info = { ...@@ -1823,7 +1823,12 @@ static const TypeInfo spapr_machine_info = {
}; };
#define SPAPR_COMPAT_2_3 \ #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 \ #define SPAPR_COMPAT_2_2 \
SPAPR_COMPAT_2_3 \ SPAPR_COMPAT_2_3 \
...@@ -1913,7 +1918,7 @@ static const TypeInfo spapr_machine_2_2_info = { ...@@ -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 void spapr_machine_2_3_class_init(ObjectClass *oc, void *data)
{ {
static GlobalProperty compat_props[] = { static GlobalProperty compat_props[] = {
/* SPAPR_COMPAT_2_3, */ SPAPR_COMPAT_2_3
{ /* end of list */ } { /* end of list */ }
}; };
MachineClass *mc = MACHINE_CLASS(oc); MachineClass *mc = MACHINE_CLASS(oc);
......
...@@ -936,6 +936,8 @@ static Property spapr_phb_properties[] = { ...@@ -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_addr", sPAPRPHBState, io_win_addr, -1),
DEFINE_PROP_UINT64("io_win_size", sPAPRPHBState, io_win_size, DEFINE_PROP_UINT64("io_win_size", sPAPRPHBState, io_win_size,
SPAPR_PCI_IO_WIN_SIZE), SPAPR_PCI_IO_WIN_SIZE),
DEFINE_PROP_BOOL("dynamic-reconfiguration", sPAPRPHBState, dr_enabled,
true),
DEFINE_PROP_END_OF_LIST(), DEFINE_PROP_END_OF_LIST(),
}; };
......
...@@ -71,6 +71,7 @@ struct sPAPRPHBState { ...@@ -71,6 +71,7 @@ struct sPAPRPHBState {
uint32_t index; uint32_t index;
uint64_t buid; uint64_t buid;
char *dtbusname; char *dtbusname;
bool dr_enabled;
MemoryRegion memspace, iospace; MemoryRegion memspace, iospace;
hwaddr mem_win_addr, mem_win_size, io_win_addr, io_win_size; hwaddr mem_win_addr, mem_win_size, io_win_addr, io_win_size;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册