Mick wrote:
For my master project I will apply hardening techniques (sanitizers/CFI) to System Mangement Mode (SMM).
Cool! And ambitious. :)
Now for my evaluation, I want to test code in SMM and ideally cover all SMI handlers coreboot offers.
Keep in mind that SMM code isn't common for all of coreboot, it can and will be both board-specific and platform-specific.
However, in my experience, System Management Interrupts (SMIs) rarely trigger and the variety in SMIs is also rather low (testing via QEMU).
In general coreboot makes an attempt to not go overboard with SMM code, in particular the QEMU board code may have almost none, to the point where it's far from representative for modern platforms.
Some platforms depend heavily on SMM (e.g. virtual PCI devices) others less so.
I was wondering whether anyone is familiar with testing such a low-level component.
In general I'd advise you to prepare a hardware environment for this task, and make sure that you have CPU-level debug access. An older AMD APU board is probably the easiest target, unless your university already has the 100k¤-stuff :( for modern platform hardware debug. Or perhaps you can find an industry partner.
Is there anyone who has experience with similar problems
I think the project is both novel and worthwhile, unfortunately that means you're probably also fairly alone...
The good news is that you'll find far-above-average SMM experience in the coreboot community. :)
//Peter