On 2017年05月24日 01:06, Anthony PERARD
wrote:
On Tue, May 23, 2017 at 08:16:25PM +0800, Lan Tianyu wrote:
On 2017年05月19日 20:04, Jan Beulich wrote:
On 19.05.17 at 13:16, <anthony.perard@xxxxxxxxxx> wrote:
On Thu, May 18, 2017 at 01:32:59AM -0400, Lan Tianyu wrote:
--- a/include/hw/i386/apic-msidef.h
+++ b/include/hw/i386/apic-msidef.h
@@ -26,6 +26,7 @@
#define MSI_ADDR_DEST_ID_SHIFT 12
#define MSI_ADDR_DEST_IDX_SHIFT 4
-#define MSI_ADDR_DEST_ID_MASK 0x00ffff0
+#define MSI_ADDR_DEST_ID_MASK 0x000fff00
The value of MSI_ADDR_DEST_ID_MASK is changed here. I think the patch
should be:
+#define MSI_ADDR_DEST_ID_MASK 0x000ffff0
Judging from other sources, rather the other way around - the
mask needs to have further bits removed (should be 0x000ff000
afaict). Xen sources confirm this, and while Linux has the value
you suggest, that contradicts
Agree. Defining the mask as "0x000ff000" makes more sense.
Just check Qemu source code. Only apic_send_msi() and msi_dest_id() use
the mask
to get dest apic id. They mask MSI address field with
MSI_ADDR_DEST_ID_MASK and
then right-shift 12bit. The low 12bit won't be used.
Anthony, does this make sense?
Yes, it does.
The change to MSI_ADDR_DEST_ID_MASK should probably go in its own patch.
OK. Will update.
--
Best regards
Tianyu Lan
|