|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v6 11/12] pvh/acpi: Save ACPI registers for PVH guests
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
---
Can't generate SCI over event channel during is an event
is enabled and pending:
* v->virq_to_evtchn is not initialized yet (it's done by guest)
* The SCI is sent immediately after event is made pending so it's
not possible to miss it (at least for the only event that have)
xen/arch/x86/hvm/pmtimer.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/xen/arch/x86/hvm/pmtimer.c b/xen/arch/x86/hvm/pmtimer.c
index b70c299..e96805e 100644
--- a/xen/arch/x86/hvm/pmtimer.c
+++ b/xen/arch/x86/hvm/pmtimer.c
@@ -22,6 +22,7 @@
#include <asm/hvm/support.h>
#include <asm/acpi.h> /* for hvm_acpi_power_button prototype */
#include <public/hvm/params.h>
+#include <xen/event.h>
/* Slightly more readable port I/O addresses for the registers we intercept */
#define PM1a_STS_ADDR_V0 (ACPI_PM1A_EVT_BLK_ADDRESS_V0)
@@ -257,7 +258,11 @@ static int acpi_save(struct domain *d,
hvm_domain_context_t *h)
int rc;
if ( !has_vpm(d) )
+ {
+ if ( !has_acpi_dm_ff(d) )
+ return hvm_save_entry(PMTIMER, 0, h, acpi);
return 0;
+ }
spin_lock(&s->lock);
@@ -286,7 +291,11 @@ static int acpi_load(struct domain *d,
hvm_domain_context_t *h)
PMTState *s = &d->arch.hvm_domain.pl_time->vpmt;
if ( !has_vpm(d) )
+ {
+ if ( !has_acpi_dm_ff(d) )
+ return hvm_load_entry(PMTIMER, h, acpi);
return -ENODEV;
+ }
spin_lock(&s->lock);
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |