From: Jan Beulich Date: Tue, 9 Jun 2015 15:13:11 +0000 (+0100) Subject: xen_pt_pmcsr_reg_write() needs an adjustment to deal with the RW1C X-Git-Tag: xen-4.6.0-rc1~9 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=50c69a0b2e8e1c734a08ff0e94872c7a5f28c7e8;p=qemu-xen-4.6-testing.git 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 --- 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;