From: Jan Beulich Date: Wed, 10 Jun 2015 13:12:16 +0000 (+0100) Subject: xen/pt: correctly handle PM status bit X-Git-Tag: xen-4.4.3-rc1~7 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=903ee0042f24cde0c2079aafa1b31e0b4dd2ad34;p=qemu-xen-4.4-testing.git xen/pt: correctly handle PM status bit 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;