From 50c69a0b2e8e1c734a08ff0e94872c7a5f28c7e8 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 9 Jun 2015 16:13:11 +0100 Subject: [PATCH] xen_pt_pmcsr_reg_write() needs an adjustment to deal with the RW1C nature of the not passed through bit 15 (PCI_PM_CTRL_PME_STATUS). This is a preparatory patch for XSA-131. Signed-off-by: Jan Beulich Reviewed-by: Stefano Stabellini --- hw/pass-through.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/pass-through.c b/hw/pass-through.c index d73a137b7..7d4ef0ebf 100644 --- a/hw/pass-through.c +++ b/hw/pass-through.c @@ -3784,7 +3784,8 @@ static int pt_pmcsr_reg_write(struct pt_dev *ptdev, /* create value for writing to I/O device register */ throughable_mask = ~reg->emu_mask & valid_mask; - *value = PT_MERGE_VALUE(*value, dev_value, throughable_mask); + *value = PT_MERGE_VALUE(*value, dev_value & ~PCI_PM_CTRL_PME_STATUS, + throughable_mask); if (!ptdev->power_mgmt) return 0; -- 2.39.5