]> xenbits.xensource.com Git - qemu-xen-4.6-testing.git/commit
The old logic didn't work as intended when an access spanned multiple
authorJan Beulich <jbeulich@suse.com>
Tue, 9 Jun 2015 15:12:30 +0000 (16:12 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 9 Jun 2015 15:12:30 +0000 (16:12 +0100)
commit7a9fdd6114c15ebfa1c9ea0e9ccd57def05cf526
tree9bd0e62ad05b83925c0b6b1e6c115d11c26545f9
parent4de1422ea306832b6ef2cba34e9febb73dd139a7
The old logic didn't work as intended when an access spanned multiple
fields (for example a 32-bit access to the location of the MSI Message
Data field with the high 16 bits not being covered by any known field).
Remove it and derive which fields not to write to from the accessed
fields' emulation masks: When they're all ones, there's no point in
doing any host write.

This fixes a secondary issue at once: We obviously shouldn't make any
host write attempt when already the host read failed.

This is XSA-128.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
hw/pass-through.c
hw/pass-through.h