lkml.org 
[lkml]   [2001]   [Mar]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectSMP and APM
Date
	I'm working on a BIOS for a SMP machine, and I was
wondering if the following technique would allow us to
use APM _safely_ under SMP for Linux 2.4.x. APM (or -yech-
ACPI) suspend is necessary for a customer's feature, and
SMP support is required.

APM Idle calls are _not_ supported on the box, only
APM suspend. So we can take a goodly amount of time _doing_
the APM call. (I know about the long AP INIT times) We just
need to do it.

Besides, it'd be a great start for all those SMP
laptops out there. ;^)

BP - Boot Processor (CPU 0)
AP - Application Processor (CPU 1...N)

APM32 Call Flow
---------------
* APs disable their interrupts
* APs save their Local APIC tables
* APs halt
* BP calls APM32 BIOS entry point
* BP gets back from APM32 call.
* APs get INITed (arch/i386/kernel/smpboot.c:do_boot_cpu())
* APs reload their saved APICs
* APs restart interrupts
* BP and APs continue on their merry ways


--
Jason McMullan, Senior Linux Consultant
Linuxcare, Inc. 412.422.8077 tel, 412.656.3519 cell
jmcmullan@linuxcare.com, http://www.linuxcare.com/
Linuxcare. Putting open source to work.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:29    [W:0.049 / U:0.224 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site