Please ignore the addendum (that was my own repo messed up, found the smi_handler at src/soc/intel/fsp_broadwell_de/smihandler.c).
Please consider the first message.

Regards,
Naveen

From: Naveen Chaudhary <naveenchaudhary2010@hotmail.com>
Sent: Wednesday, November 6, 2019 2:06 PM
To: coreboot@coreboot.org <coreboot@coreboot.org>
Subject: [coreboot] Re: How does SMI handling designed in Coreboot and how does payload behave?
 
Addendum :
Looks like i referred to some different code version: https://chromium.googlesource.com/chromiumos/third_party/coreboot/+/firmware-link-2695.B/src/cpu/x86/smm/smihandler.c There is no such nmi_handler in coreboot. So the previous questions are now even more important.

Regards,
Naveen

From: Naveen Chaudhary <NaveenChaudhary2010@hotmail.com>
Sent: Wednesday, November 6, 2019 1:03 PM
To: coreboot@coreboot.org <coreboot@coreboot.org>
Subject: [coreboot] How does SMI handling designed in Coreboot and how does payload behave?
 
Hi,

I am using Linux bzImage as the payload for coreboot with a minimal initrd that gives me a shell to play with (or even kexec the bigger kernel on disk).
I could see that Coreboot has SMI handler at src/cpu/x86/smm/smihandler.c which I am yet to explore more.

  1. But by design, who is expected to handle the SMI? Does this linux payload also receive this SMI interrupt? Or its handled by coreboot alone?
  2. What effect does it have on the payload on runtime?
  3. After SMM mode is over, does the payload resume?

I have minimal knowledge on SMM, so consider me noob. Maybe my questions doesn't make sense, so please correct me.

Regards,
Naveen