Specifications
AMD Geode™ GeodeROM Functional Specification 225
System Management Mode Software
32087C
15.11 Messages
The GET_NEXT_MSG macro retrieves messages from the VSM message queue. The GET_NEXT_MSG macro takes one
parameter, the address of an array of unsigned longs. Messages may have zero to MAX_MSG_PARAM parameters associ-
ated with them, depending on the message. The GET_NEXT_MSG macro fills the array with the parameters, if any, associ-
ated with the retrieved message. The macro returns an unsigned short, which is the next highest priority message pending
for the VSM.
Note that a VSM receives most of the following messages at some time during its execution. The only message a VSM has
control over is MSG_EVENT. A VSM receives MSG_EVENT only for events it registers. A VSM is free to ignore some mes-
sages. For example, a VSM may not have hardware state to save or restore, so it would ignore the MSG_SAVE_STATE and
MSG_RESTORE_STATE messages.
15.11.1 MSG_INITIALIZE
This message is sent to each VSM twice. The first message (with Parameter0 = 0) is sent when the SMM software is initial-
ized early, when VSA is first installed. Examples of initialization types performed in early POST are:
• Registration of events
• Hardware initialization
• Initialization of virtual register values
The system BIOS signals the end of POST immediately before booting the operating system. In response to this signal, the
System Manager sends a second MSG_INITIALIZE message (with Parameter0 = 1) to each VSM. This allows each VSM
to perform initialization that may not have been appropriate during earlier initialization.
• Parameter 0:
— 0 if "early POST" initialization
— 1 if "end of POST" initialization
15.11.2 MSG_SHUTDOWN
This message is sent to each VSM immediately before the system is reset. It provides the opportunity to shutdown the sys-
tem hardware gracefully by disabling hardware or waiting for an activity to complete. In particular, all SMI sources should be
disabled. Processing for this event is typically the same as that for MSG_WARM_BOOT.
• No Parameters
Table 15-5. Messages
Message Meaning
MSG_INITIALIZE Performs initialization (called at SMM initialization and end of POST)
MSG_SHUTDOWN Prepares for system shutdown
MSG_SAVE_STATE Saves entire state of device(s) controlled by VSM
MSG_RESTORE_STATE Restores saved state of device(s) controlled by VSM
MSG_SET_POWER_STATE Sets device(s) to specified power state
MSG_EVENT A registered event has occurred
MSG_QUEUE_OVERFLOW The message queue is full
MSG_WARM_BOOT Prepares for a warm boot
MSG_SET_POWER_MODE
1
1. Geode GX processor only. Not applicable to the Geode GX1 processor.
Sets the current PM mode (APM, ACPI, Disabled, etc.)