On Wed, Jul 07, 2010 at 07:26:07PM -0400, Kevin O'Connor wrote:
On Wed, Jul 07, 2010 at 01:22:49PM +0300, Gleb Natapov wrote:
On Wed, Jul 07, 2010 at 12:57:05AM -0400, Kevin O'Connor wrote:
The "CPUS" package stores references to the Processor objects, and the "CPON" package stores the state of which cpus are active. With this info, hopefully there is no need to update the MADT tables.
The way you wrote it acpi_id is always equal to lapic_id which is not alway true. By using MADT from memory we remove this dependency from DSDT code.
The current code always sets the apic->processor_id equal to apic->local_apic_id in the madt apic table. If this changes, we could add a dynamically created mapping table to the ssdt. Something like:
Name(CPLA, Package() { 0x00, 0x01, 0x02, 0x03, 0x04 })
Yeah, but if we can avoid it in the first place why not doing so. BTW how do you pass to DSDT what cpus are initially on? Previously this info was taken from memory copy of MADT too.
-- Gleb.