Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

SMM is also part of the firmware, it is set up by UEFI.


yes, the UEFI initialises the machine such that it is in a state that it can boot

that's it's job

it's not the fault of the UEFI as a standard or implementation that your processor manufacturer chose to require the SMM to have its firmware loaded to boot

the UEFI also isn't suddenly persistent because there are other devices inside the machine that had firmware loaded into them (would you say the UEFI is persistent because it uploaded new third-party supplied microcode into the CPU?)


UEFI provides an interface to register code that runs in SMM, true.

SMM being a requirement is a side effect of x86 history and platform design, not UEFI (which doesn't actually require SMM).


UEFI Secure Boot requires SMM (because it secures access to the key vault). Non-x86 architectures use something else, for example they could use EL3 on ARM. Either way it's a "super-supervisor mode" of sorts.


Well, it does not have to be SMM that does it - it's just that SMM is what we have already available so unless you have certain rare hw it's what vendors will use :(


I don't think SMM requires UEFI, either, actually... I believe there have been BIOSes that initialized SMM also.


Indeed. SMM exists because it was unfeasible to require the OS to provide necessary power management features at a time when running DOS and unmodified Win2.x and Win3.x were crucial features.

Thus 386SL was born, with SMM mode so that the firmware could hijack DOS without being stopped by accidental modification of interrupt table.

A bunch of stuff was later loaded into SMM for various reasons, both more and less benign. Turion X2 CPUs used SMM resident handler to synchronise cpus when going into deeper sleep levels (iirc C3 required the SMM handler, C1 and C2 were doable without, but C1E required it as well)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: