On Tue, Jan 09, 2007 at 12:26:20PM -0500, Benjamin Romer wrote:
> While working with the IO-APIC problem I've been having on the ES-7000,
> I noticed something that confuses me about the IO-APIC table entry
> structure. If you look in include/asm-x86_64/io_apic.h, it lists the
> destination field as a union declared like this:
> 
>       union {         struct { __u32
>                                       __reserved_1    : 24,
>                                       physical_dest   :  4,
>                                       __reserved_2    :  4;
>                       } physical;
> 
>                       struct { __u32
>                                       __reserved_1    : 24,
>                                       logical_dest    :  8;
>                       } logical;
>       } dest;
> 
> So, when calling print_IO_APIC(), I would have thought that there would
> be overlap in the Log and Phy fields if there's data in the logical_dest
> field. For instance, my IO-APIC prints out
> 
> .... IRQ redirection table:
>  NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
>  00 020 00  0    0    0   0   0    0    7    00
>     ^^^ ^^
> 
> Since there's an 0x020 in the logical_dest field, shouldn't the Phy
> field be printing out as 0x02, rather than 0x00? Is there a byte
> ordering issue here maybe?

I think this behaviour might be ok. I think it will stored as follows.
        MSB                       LSB
        0010    0000    (Rest 24 bits)
                <---> (physical_dest, 4bits)
        <-----------> (logical_dest, 8bits)

So in above arrangement physical_dest is 0x0 and logical_dest is 0x20.

Thanks
Vivek
        
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot

Reply via email to