[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 06/17] spapr: Leave DR-indicator management to the gu
From: |
David Gibson |
Subject: |
[Qemu-devel] [PULL 06/17] spapr: Leave DR-indicator management to the guest |
Date: |
Tue, 11 Jul 2017 14:39:06 +1000 |
The DR-indicator is essentially a "virtual LED" attached to a hotpluggable
device, which the guest can set to various states for the attention of
the operator or management layers.
It's mostly guest managed, except that we once-off set it to
ACTIVE/INACTIVE in the attach/detach path. While that makes certain sense,
there's no indication in PAPR that the hypervisor should do this, and the
drmgr code on the guest side doesn't appear to need it (it will already set
the indicator to ACTIVE on hotplug, and INACTIVE on remove).
So, leave the DR-indicator entirely to the guest; the only thing we need
to do is ensure it's in a sane state on reset.
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
---
hw/ppc/spapr_drc.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c
index bd40b84..22d4d81 100644
--- a/hw/ppc/spapr_drc.c
+++ b/hw/ppc/spapr_drc.c
@@ -353,8 +353,6 @@ void spapr_drc_attach(sPAPRDRConnector *drc, DeviceState
*d, void *fdt,
}
g_assert(fdt || coldplug);
- drc->dr_indicator = SPAPR_DR_INDICATOR_ACTIVE;
-
drc->dev = d;
drc->fdt = fdt;
drc->fdt_start_offset = fdt_start_offset;
@@ -372,8 +370,6 @@ void spapr_drc_attach(sPAPRDRConnector *drc, DeviceState
*d, void *fdt,
static void spapr_drc_release(sPAPRDRConnector *drc)
{
- drc->dr_indicator = SPAPR_DR_INDICATOR_INACTIVE;
-
/* Calling release callbacks based on spapr_drc_type(drc). */
switch (spapr_drc_type(drc)) {
case SPAPR_DR_CONNECTOR_TYPE_CPU:
@@ -454,12 +450,14 @@ static void reset(DeviceState *d)
if (spapr_drc_type(drc) != SPAPR_DR_CONNECTOR_TYPE_PCI) {
drc->allocation_state = SPAPR_DR_ALLOCATION_STATE_USABLE;
}
+ drc->dr_indicator = SPAPR_DR_INDICATOR_ACTIVE;
} else {
/* Otherwise device is absent, but might be hotplugged */
drc->isolation_state = SPAPR_DR_ISOLATION_STATE_ISOLATED;
if (spapr_drc_type(drc) != SPAPR_DR_CONNECTOR_TYPE_PCI) {
drc->allocation_state = SPAPR_DR_ALLOCATION_STATE_UNUSABLE;
}
+ drc->dr_indicator = SPAPR_DR_INDICATOR_INACTIVE;
}
}
--
2.9.4
- Re: [Qemu-devel] [PULL 09/17] spapr: Remove unnecessary differences between hotplug and coldplug paths, (continued)
- [Qemu-devel] [PULL 17/17] spapr: populate device tree depending on XIVE_EXPLOIT option, David Gibson, 2017/07/11
- [Qemu-devel] [PULL 16/17] spapr: introduce the XIVE_EXPLOIT option in CAS, David Gibson, 2017/07/11
- [Qemu-devel] [PULL 14/17] spapr: Only report host/guest IOMMU page size mismatches on KVM, David Gibson, 2017/07/11
- [Qemu-devel] [PULL 13/17] spapr: fix memory hotplug error path, David Gibson, 2017/07/11
- [Qemu-devel] [PULL 15/17] ppc/kvm: have the "family" CPU alias to point to TYPE_HOST_POWERPC_CPU, David Gibson, 2017/07/11
- [Qemu-devel] [PULL 04/17] spapr: fix migration to pseries machine < 2.8, David Gibson, 2017/07/11
- [Qemu-devel] [PULL 05/17] target-ppc: SPR_BOOKE_ESR not set on FP exceptions, David Gibson, 2017/07/11
- [Qemu-devel] [PULL 02/17] spapr: refresh "platform-specific" hcalls comment, David Gibson, 2017/07/11
- [Qemu-devel] [PULL 08/17] spapr: Add DRC release method, David Gibson, 2017/07/11
- [Qemu-devel] [PULL 06/17] spapr: Leave DR-indicator management to the guest,
David Gibson <=
- Re: [Qemu-devel] [PULL 00/17] ppc-for-2.10 queue 20170711, Peter Maydell, 2017/07/11