public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* SMP and APM
@ 2001-03-10  6:06 Jason McMullan
  0 siblings, 0 replies; only message in thread
From: Jason McMullan @ 2001-03-10  6:06 UTC (permalink / raw)
  To: linux-kernel

	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.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-03-10  6:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-03-10  6:06 SMP and APM Jason McMullan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox