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.per...@citrix.com> 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