Software Archive
Read-only legacy content
17061 Discussions

RSM and multiple cores

MP
Beginner
799 Views

Hi all,

I am trying to understand a technology that makes use of SMM in relation to hypervisors (hypercheck), and I have a number of questions about SMM in general - I hope I am posting in the right forum.

I'd be interested to understand the following:

1) I know that on SMI asserting, all cores (at different interruptible boundaries) will enter SMM: are there spurious cases where SMM is triggered on only less cores?

2) The RSM instruction is said to return the processor to the not-SMM state. Does it need to be executed on every processor in SMM mode?

3) If I am in SMM mode with all my cores (i.e. I wait until them all are in SMM with a mutex), if I execute RSM from one core, does it resume normal operations (i.e. the kernel code it was executing) while the others are left in SMM mode?

I am asking because the Default Treatment of RSM (33.14.2) is not exactly clear to me in Intel's doc.

 

Thanks in advance.

 

 

0 Kudos
1 Reply
Jiewen_Y_Intel
Employee
799 Views

1) Right. SMI can be triggered only to some core via IPI, See local APIC chapter in IA32 SDM.

2) Right. RSM should be executed on each core in SMM mode.

3) I think so. But it is dangerous. OS might not be happy to find some cores lost, and OS might cause BSOD.

It might be possible to reserve some cores before boot to OS, and not report them to OS via ACPI table.

0 Kudos
Reply