Volume 2 System Programming (794096), страница 5
Текст из файла (страница 5)
. . . . . . . . . . . . . . . . . . 210#OF—Overflow Exception (Vector 4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211#BR—Bound-Range Exception (Vector 5) . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . 211#UD—Invalid-Opcode Exception (Vector 6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211#NM—Device-Not-Available Exception (Vector 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212#DF—Double-Fault Exception (Vector 8).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212Coprocessor-Segment-Overrun Exception (Vector 9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213#TS—Invalid-TSS Exception (Vector 10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214#NP—Segment-Not-Present Exception (Vector 11) . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215#SS—Stack Exception (Vector 12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216#GP—General-Protection Exception (Vector 13) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
216#PF—Page-Fault Exception (Vector 14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217#MF—x87 Floating-Point Exception-Pending (Vector 16). . . . . . . . . . . . . . . . . . . . . . . . . . 218#AC—Alignment-Check Exception (Vector 17) . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 219#MC—Machine-Check Exception (Vector 18) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220#XF—SIMD Floating-Point Exception (Vector 19) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221User-Defined Interrupts (Vectors 32–255). . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221Exceptions During a Task Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222Error Codes . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222Selector-Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223Page-Fault Error Code . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223Priorities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 224Floating-Point Exception Priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225External Interrupt Priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226Real-Mode Interrupt Control Transfers . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227Legacy Protected-Mode Interrupt Control Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Locating the Interrupt Handler . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230Interrupt To Same Privilege . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231Interrupt To Higher Privilege. . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232Privilege Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233Returning From Interrupt Procedures .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Virtual-8086 Mode Interrupt Control Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Protected-Mode Handler Control Transfer .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237Contents24593—Rev. 3.13—July 20078.98.1099.39.49.5Determining Machine-Check Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 253Machine-Check Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253Error Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 254Machine Check MSRs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254Global Status and Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255Error-Reporting Register Banks . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 258Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260Initializing the Machine-Check Mechanism . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265Using Machine Check Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265Handling Machine Check Exceptions . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 266Reporting Correctable Machine Check Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267System-Management Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26910.110.210.310.411Virtual-8086 Handler Control Transfer . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Long-Mode Interrupt Control Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Interrupt Gates and Trap Gates . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 239Locating the Interrupt Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240Interrupt Stack Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 241Interrupt-Stack Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243Returning From Interrupt Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244Virtual Interrupts . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245Virtual-8086 Mode Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246Protected Mode Virtual Interrupts . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Effect of Instructions that Modify EFLAGS.IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Machine Check Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .2539.19.210AMD64 TechnologySMM Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269SMM Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 270SMRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270SMBASE Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 271SMRAM State-Save Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272SMM-Revision Identifier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 276SMRAM Protected Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277Using SMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 279System-Management Interrupt (SMI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279SMM Operating-Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .