Am 10.11.2010 18:30, schrieb fengwei zhang:
Suppose I just want to put RSM instruction in the smmhandler, can I just write instruction "0f aa"(bianry code of RSM) to location 0xa0000 and 0xa0001. I tried this, but my machine went freeze after I invoke SMI.
I think the SMI entry point is usually 0x8000 into the SMM segment, so you'd need to put rsm at 0xa8000, not at 0xa0000.
I am thinking I may need to more instructons, because the SMM start with 16 bits real mode, it may not recongnize the instruction, right?
That could be accomodated by ".code16" in the assembly code. We have some semi-generic SMI handler, originally built to support i945/ICH7. Not sure how much more generic it can be, Stefan might be able to answer that.
Patrick