12.07.2015 Views

Geode GXLV Processor Series Low Power Integrated x86 Solutions

Geode GXLV Processor Series Low Power Integrated x86 Solutions

Geode GXLV Processor Series Low Power Integrated x86 Solutions

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Processor</strong> Programming (Continued)When SMI nesting is disabled, the processor holds offexternal SMI interrupts until the currently executing SMMcode exits. When SMI nesting is enabled, the processorcan proceed with the SMI. The SMM service routine willguarantee that no internal SMIs are generated in SMM, sothe processor ignores such events. If the internal andexternal SMI signals are received simultaneously, then theinternal SMI is given priority to avoid losing the event.The state diagram of the SMI_NEST and Nested SMI Statusbits are shown in Figure 3-11 with each stateexplained next.A. When the processor is outside of SMM, Nested SMIStatus is always clear and SMI_NEST is set high.B. The first-level SMI interrupt is received by theprocessor. The microcode clears SMI_NEST, setsNested SMI Status high and saves the previous valueof Nested SMI Status (0) in the SMM header.C. The first-level SMM service routine saves the headerand sets SMI_NEST high to re-enable SMI interruptsfrom SMM.D. A second-level (nested) SMI interrupt is received bythe processor. This SMI is taken even though theprocessor is in SMM because the SMI_NEST bit isset high. The microcode clears SMI_NEST, setsNested SMI Status high and saves the previous valueof Nested SMI Status (1) in the SMM header.E. The second-level SMM service routine saves theheader and sets SMI_NEST to re-enable SMI interruptswithin SMM. Another level of nesting couldoccur during this period.F. The second-level SMM service routine clearsSMI_NEST to disable SMI interrupts, then restores itsSMM header.G. The second-level SMM service routine executes anRSM. The microcode sets SMI_NEST, and restoresthe Nested SMI Status (1) based on the SMMheader.H. The first-level SMM service routine clears SMI_NESTto disable SMI interrupts, then restores its SMMheader.I. The first-level SMM service routine executes anRSM. The microcode sets SMI_NEST high andrestores the Nested SMI Status (0) based on theSMM header.When the processor is outside of SMM, Nested SMI Statusis always clear and SMI_NEST is set high.<strong>Geode</strong> <strong>GXLV</strong> <strong>Processor</strong> <strong>Series</strong>SMI_NESTNested SMI StatusA B C D E F G H IFigure 3-11. SMI Nesting State MachineRevision 1.3 89 www.national.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!