SYSTEM-MANAGEMENT MODE Release 55 Last change 28sep97 Copyright (c) 1997 Ralf Brown --------------------------------------------- SMM Am486 Format of Am486 SMM State-Save Map: Offset Size Description (Table S006) FE00h reserved FEE4h DWORD DR3 FEE8h DWORD DR2 FEECh DWORD DR1 FEF0h DWORD DR0 FEF4h DWORD CR2 FEF8h DWORD SMM state dump base address fEFCh DWORD SMM revision ID (see #S002) FF00h WORD I/O restart (set to 00FFh to re-execute trapped I/O) FF02h WORD halt auto restart (bit 0 set on entry if SMI during HLT) (set to 00FFh to restart from HLT) FF04h DWORD I/O trap word (see #S007) FF08h DWORD reserved FF0Ch DWORD reserved FF10h DWORD previous EIP FF14h 5 DWORDs ??? FF28h DWORD reserved FF2Ch DWORD reserved FF30h DWORD ES limit FF34h DWORD ES base FF38h DWORD ES attributes FF3Ch DWORD CS limit FF40h DWORD CS base FF44h DWORD CS attributes FF48h DWORD SS limit FF4Ch DWORD SS base FF50h DWORD SS attributes FF54h DWORD DS limit FF58h DWORD DS base FF5Ch DWORD DS attributes FF60h DWORD FS limit FF64h DWORD FS base FF68h DWORD FS attributes FF6Ch DWORD GS limit FF70h DWORD GS base FF74h DWORD GS attributes FF78h DWORD LDT limit FF7Ch DWORD LDT base FF80h DWORD LDT attribute FF84h DWORD GDT limit FF88h DWORD GDT base FF8Ch DWORD GDT attribute FF90h DWORD IDT limit FF94h DWORD IDT base FF98h DWORD IDT attribute FF9Ch DWORD TSS limit FFA0h DWORD TSS base FFA4h DWORD TSS attribute FFA8h WORD ES FFAAh WORD unused??? FFACh WORD CS FFAEh WORD unused??? FFB0h WORD SS FFB2h WORD unused??? FFB4h WORD DS FFB6h WORD unused??? FFB8h WORD FS FFBAh WORD unused??? FFBCh WORD GS FFBEh WORD unused??? FFC0h DWORD LDTR FFC4h DWORD TR FFC8h DWORD DR7 FFCCh DWORD DR6 FFD0h DWORD EAX FFD4h DWORD ECX FFD8h DWORD EDX FFDCh DWORD EBX FFE0h DWORD ESP FFE4h DWORD EBP FFE8h DWORD ESI FFECh DWORD EDI FFF0h DWORD EIP FFF4h DWORD EFLAGS FFF8h DWORD CR3 FFFCh DWORD CR0 SeeAlso: #S001 Bitfields for AMD Am486 I/O trap word: Bit(s) Description (Table S007) 31-16 I/O address 15-2 reserved 1 valid I/O instruction 0 direction SeeAlso: #S006 --------------------------------------------- SMM AMD-K5 Format of AMD K5 SMM State-Save Area: Offset Size Description (Table S001) FE00h reserved FEF8h DWORD SMM base address (may be set to any multiple of 32K; initially 00030000h) FEFCh DWORD SMM revision identifier (see #S002) FF00h WORD I/O trap restart slot (see #S005) FF02h WORD HLT restart slot (see #S003) FF04h DWORD I/O restart EDI FF08h DWORD I/O restart ECX FF0Ch DWORD I/O restart ESI FF10h DWORD CR4 FF14h DWORD CR2 FF18h 3 DWORDs reserved FF24h DWORD ES limit FF28h DWORD ES base FF2Ch DWORD ES attributes FF30h DWORD CS limit FF34h DWORD CS base FF38h DWORD CS attributes FF3Ch DWORD SS limit FF40h DWORD SS base FF44h DWORD SS attributes FF48h DWORD DS limit FF4Ch DWORD DS base FF50h DWORD DS attributes FF54h DWORD FS limit FF58h DWORD FS base FF5Ch DWORD FS attributes FF60h DWORD GS limit FF64h DWORD GS base FF68h DWORD GS attributes FF6Ch DWORD LDT limit FF70h DWORD LDT base FF74h DWORD LDT attributes FF78h DWORD TSS limit FF7Ch DWORD TSS base FF80h DWORD TSS attributes FF84h DWORD GDT limit FF88h DWORD GDT base FF8Ch DWORD IDT limit FF90h DWORD IDT base FF94h 2 DWORDs reserved FF9Ch DWORD I/O trap EIP FFA0h DWORD reserved FFA4h DWORD I/O trap DWORD (see #S004) FFA8h WORD ES FFAAh WORD unused??? FFACh WORD CS FFAEh WORD unused??? FFB0h WORD SS FFB2h WORD unused??? FFB4h WORD DS FFB6h WORD unused??? FFB8h WORD FS FFBAh WORD unused??? FFBCh WORD GS FFBEh WORD unused??? FFC0h DWORD LDTR FFC4h DWORD TR FFC8h DWORD DR7 FFCCh DWORD DR6 FFD0h DWORD EAX FFD4h DWORD ECX FFD8h DWORD EDX FFDCh DWORD EBX FFE0h DWORD ESP FFE4h DWORD EBP FFE8h DWORD ESI FFECh DWORD EDI FFF0h DWORD EIP FFF4h DWORD EFLAGS FFF8h DWORD CR3 FFFCh DWORD CR0 SeeAlso: #S006 Bitfields for AMD K5 SMM Revision Identifier: Bit(s) Description (Table S002) 31-18 reserved (0) 17 SMM base address relocation available (always 1 [enabled] on K5) 16 I/O trap restart supported (always 1 on K5) 15-0 SMM revision level (currently 0000h) SeeAlso: #S001 Bitfields for AMD K5 Halt Restart Slot: Bit(s) Description (Table S003) 15-1 undefined 0 (on SMM entry) entered SMM from Halt state (at RSM) return to Halt state instead of state in SMM state-save area SeeAlso: #S001 Bitfields for AMD K5 I/O Trap DWORD: Bit(s) Description (Table S004) 31-16 I/O port address 15 I/O was string operation (INS,OUTS,etc.) 14-2 reserved 1 valid I/O instruction 0 direction (0 = output, 1 = input) SeeAlso: #S001,#S0005 Bitfields for AMD K5 I/O Trap Restart Slot: Bit(s) Description (Table S005) 31-16 reserved 15-0 I/O instruction restart on RSM 0000h resume at next instruction following trapped I/O instruction (default on SMM entry) 00FFh re-execute the trapped I/O instruction Note: before changing the restart value, check that the I/O instruction is actually valid (see #S004) SeeAlso: #S001,#S004 --------!---Admin---------------------------- Highest Table Number = S007 --------!---FILELIST------------------------- Please redistribute all of the files comprising the interrupt list (listed at the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a quartet of archives named INTER55A through INTER55D (preferably the original authenticated PKZIP archives), and the utility and hypertext conversion programs in three additional archives called INTER55E.ZIP to INTER55G.ZIP. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997 Ralf Brown --------!---CONTACT_INFO--------------------- Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com) FIDO: Ralf Brown 1:129/26.1 or post a message to me in the DR_DEBUG echo (I probably won't see it unless you address it to me) CIS: >INTERNET:ralf@pobox.com