Enable apic ext id to use 256 apic id for AMD64
YhLu
YhLu at tyan.com
Fri Jan 7 11:10:01 CET 2005
Yes.
#ifndef ENABLE_APIC_EXT_ID
#define ENABLE_APIC_EXT_ID 0
#endif
static void enable_apic_ext_id(u8 node)
{
#if ENABLE_APIC_EXT_ID==1
#warning "FIXME Is the right place to enable apic ext id here?"
u32 val;
val = pci_read_config32(NODE_HT(node), 0x68);
val |= (HTTC_APIC_EXT_SPUR | HTTC_APIC_EXT_ID |
HTTC_APIC_EXT_BRD_CST);
pci_write_config32(NODE_HT(node), 0x68, val);
#endif
}
-----Original Message-----
From: Andi Kleen [mailto:ak at muc.de]
Sent: Friday, January 07, 2005 1:29 PM
To: YhLu
Cc: Stefan Reinauer; Ronald G. Minnich; linuxbios at clustermatic.org;
discuss at x86-64.org; jamesclv at us.ibm.com; suresh.b.siddha at intel.com; Matt
Domsch
Subject: Re: Enable apic ext id to use 256 apic id for AMD64
> nodeid = lapicid() & 0xf;
> #if ENABLE_APIC_EXT_ID == 1
> enable_apic_ext_id(nodeid);
> lapic_write(LAPIC_ID, ( lapic_read(LAPIC_ID) |
> (APIC_ID_OFFSET<<24) ) ); // CPU apicid is from 0x10
Surely you should at least enable ApicExtBrd too. Otherwise
0xf will send to all CPUs.
-Andi
More information about the coreboot
mailing list