众所周知,进入 SMM 后,对于系统的资源有着至高无上的访问权限。因此,一旦 SMM 被攻破会出现不可预料的效果。针对这个问题,Intel 不断对 SMM 进行加固。PPAM全称是“Platform Properties AssessmentModule”。它的作用就是提升 SMM 安全性,如果你想在 SMM中访问某个IO Port 或者某个 MSR 寄存器,那么必须在 BIOS 代码中声明需要使用的这些 IO 或者 MSR,否则会阻止SMM 代码中对于这些资源的访问。
例外一个角度:如果你发现你的代码在 SMM 中有 halt的问题,不妨检查是否 Enable 了 PPAM,可以 Disable 之后再尝试。
参考:
1.https://www.intel.com/content/dam/www/central-libraries/us/en/documents/drtm-based-computing-whitepaper.pdf