Confusion about IO-APIC Entry?

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


On Wed, 2007-01-17 at 08:39 +0530, Vivek Goyal wrote:
> On Tue, Jan 16, 2007 at 12:49:31PM -0500, Benjamin Romer wrote:
> > On Fri, 2007-01-12 at 15:16 +0530, Vivek Goyal wrote:
> > > On Thu, Jan 11, 2007 at 10:01:20AM -0500, Benjamin Romer wrote:
> > > > After a lot of internal discussion with other Unisys employees, I think
> > > > I've finally got this all figured out. The problem is one line of code
> > > > in the disable_IO_APIC() function, that says this:
> > > >
> > > >   entry.dest.physical.physical_dest = GET_APIC_ID(apic_read(APIC_ID));
> > > >
> > > > The problem seems to be that when the kernel was previously updated to
> > > > take advantage of the 8-bit IO-APIC physical destination field defined
> > > > in Intel's xAPIC spec on page 334, downloadable from
> > > > ftp://download.intel.com/design/chipsets/e8501/datashts/30962001.pdf ,
> > > > this particular piece of code was missed. According to my co-worker
> > > > Natalie Protasevich, the Linux kernel was updated back when the Xeon
> > > > processor first came out to use the larger field by merely switching the
> > > > code to use the logical destination field for everything. (Personally, I
> > > > would have removed the union from the structure and put in new fields
> > > > with new names to make the change more obvious, but it's not my
> > > > code. :) ) Anyway, what it comes down to is we need to switch that one
> > > > line in disable_IO_APIC() to read
> > > >
> > > >   entry.dest.logical.logical_dest = GET_APIC_ID(apic_read(APIC_ID));
> > > >
> > >
> > > Hmm.. This should fix the problem without breaking old 4bit physical
> > > destination mode machines.
> > >
> > > Thanks
> > > Vivek
> > 
> > I was able to confirm that this change allows the ES7000/ONE to
> > successfully kexec with a working clock. The other patch that I
> > mentioned does not appear to solve the problem alone (though I had a
> > little trouble getting it applied to the kernel), so I'd like to go
> > ahead with this fix if that's okay. :) Should I post a patch to the
> > LKML?
> > 
> 
> Hi Ben,
> 
> Yes. Please post a patch to fastboot and LKML. Which one is the other 
> patch?
> 
> Thanks
> Vivek

The patch I was pointed at that didn't solve the problem was titled
"[PATCH] x86_64: check_timer with io apic setup before try_apic_pin".
I'll write up the one-liner and get that on the LKML today. :)

-- Ben



[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