[coreboot] SMM on K8
r.marek at assembler.cz
Wed Nov 17 20:48:06 CET 2010
Here is a SMM patch that actually works on VT8237S! It supports only SMI CMD so
sending something to port 0x52f should trigger it.
It is mostly in good state however following needs to be done. Thats left to
Tobias or Fengwei.
0) only enabled board is m2v-mx se (trivial to enable others VIA 8237 based)
1) PCIe access is hardcoded to 0xe000000
This sucks,but generally mmconfig is good idea beacuse it does not create races...
So what about that?
a) change the SMM handler to save PCIcfg/PCIdata??? regs
b) make MMCONFIG static to 0xe00000
c) some clever way to get idea where it is without PCI access
2) Dualcore/more cpus
I hardcoded that for single CPU. You need most likely change model_fxx_init.c
and call smm_init from there (except that copy can done via CPU)
All CPUs needs to set Aseg ENable and SMM_BASE (to different address)
No smm_relocate.S is used because we dont need it on AMD, we have the MSRs...
3) More features to SMM
Handy would be ACPI enable/disable -maybe whats there will work
and Poweroff if powerbutton is pressed and acpi does not work yet ;)
Otherwise SMM is not used at all so we don't really need any features...
4) Cool stuff
Emulate some hardware one can do traps for IO and for MMIO so any HW can be
created just for fun (TPM ;)
5) remove HACK_SMM
The header file dislikes the include someone needs to fix that.
6) SMM locking
The SMM should be locked, there is even a register for that. However I dont know
if all CPUs needs to lock... and if some cpu is locked, can others still access
the memory (for the memcopy?)
Also we lock SMM on the base in the RAM, we should create a dummy "RSM" like
handler if we don't have any SMI handler on K8.
Thanks goes to Stepan for initial version (from mine POC version).
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the coreboot