接着上一篇的笔记。以下是简易流程,还有一些不明白的问题。
#define ACPI_ENABLE SBOEM_ENABLE_ACPI_SWSMI
#define SBOEM_ENABLE_ACPI_SWSMI 0xA0
AmdSbSmmEntryPoint() //Driver EntryPoint
-->SbSmmRegistrationCenter() //AmdSbSmm.c 这个函数很重要。汇集了所有sb有关SMI?这个有待考证。
-->SbSmmRegisterSwSmi() //SwSmi.c 其中,把A0的值赋给SwRegisterContex.AmdSwValue,呼叫这一号SMI,执行接下来的callback函数。
-->AmdSmiAcpiOnCallback() //关掉所有的GPE事件?清掉所有的GPE状态位?这边还不清楚为什么这么做。接着把ACPI IRQ 设为09,最后打开SCI。