Re: Necessity of SMM/SMI use on ACPI x86 systems

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

 



On Mon, Apr 04, 2011 at 02:41:45PM +0100, limp wrote:
> Thanks for the reply Matthew,
> 
> > It's a turing-complete language with full access to the hardware, so 
> > there's no reason why you can't entirely eliminate SMIs. The usual 
> > reason not to would be to retain commonality of code for non-ACPI 
> > environments like the setup screen.
> 
> So, there is no case that SMIs can be irreplaceable? For example, when you
> go to S5 I know from coreboot developers that you need to disable bus
> mastering on all devices or the machine will not power off. Since the OS
> does not know this, and neither does acpi, the S5 sleep command will cause
> an SMI that disables BM and then goes to S5.

I don't think there's any reason you couldn't do that in the _GTS 
method.

> Furthermore, is ACPI AML BIOS code interruptible or not? 
> That is, what happens if an interrupt occurs during ACPI code execution? 
> Will it be pended and get served after the completion of ACPI code
> execution? 

Depends on whether we're interruptible or not at that point. Interrupts 
will be disabled at certain points.

> Furthermore, can a SMI interrupt ACPI code or not? 

It can.

> One last question is regarding the location in memory of ACPI tables. Are
> they written to standard RAM or to a specially protected RAM similar to
> SMRAM? How ACPI tables can prevent the OS from corrupting them?

RAM, but in an e820 region that indicates to the OS that it's not 
available for normal use. There's no protection from the OS.

-- 
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux