Confusion about IO-APIC Entry?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


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
	


[Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Photo]     [Yosemite]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Linux Media]     [Linux Resources]

Powered by Linux