Changeset 97613 in vbox
- Timestamp:
- Nov 19, 2022 11:48:14 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 154657
- Location:
- trunk/src/VBox/ValidationKit/bootsectors/bs3kit
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-Trap64Init.c
r96407 r97613 45 45 BS3_CMN_DEF(void, Bs3Trap64Init,(void)) 46 46 { 47 X86TSS64 BS3_FAR *pTss; 48 unsigned iIdt; 47 Bs3Trap64InitEx(false); 48 } 49 50 #undef Bs3Trap64InitEx 51 BS3_CMN_DEF(void, Bs3Trap64InitEx,(bool fMoreIstUsage)) 52 { 53 static const uint8_t s_aAssignments[] = 54 { 55 /* [X86_XCPT_DE] = */ 3, 56 /* [X86_XCPT_DB] = */ 2, 57 /* [X86_XCPT_NMI] = */ 0, 58 /* [X86_XCPT_BP] = */ 2, 59 /* [X86_XCPT_OF] = */ 3, 60 /* [X86_XCPT_BR] = */ 3, 61 /* [X86_XCPT_UD] = */ 4, 62 /* [X86_XCPT_NM] = */ 3, 63 /* [X86_XCPT_DF] = */ 1, 64 /* [0x09] = */ 0, 65 /* [X86_XCPT_TS] = */ 1, 66 /* [X86_XCPT_NP] = */ 5, 67 /* [X86_XCPT_SS] = */ 5, 68 /* [X86_XCPT_GP] = */ 6, 69 /* [X86_XCPT_PF] = */ 7, 70 /* [0x0f] = */ 0, 71 /* [X86_XCPT_MF] = */ 0, 72 /* [X86_XCPT_AC] = */ 3, 73 /* [X86_XCPT_MC] = */ 0, 74 /* [X86_XCPT_XF] = */ 0, 75 /* [X86_XCPT_VE] = */ 0, 76 /* [X86_XCPT_CP] = */ 6, 77 }; 78 X86TSS64 BS3_FAR *pTss; 79 unsigned iIdt; 49 80 50 81 /* … … 54 85 for (iIdt = 0; iIdt < BS3_TRAP_SYSCALL; iIdt++) 55 86 Bs3Trap64SetGate(iIdt, AMD64_SEL_TYPE_SYS_INT_GATE, 0 /*bDpl*/, 56 BS3_SEL_R0_CS64, g_Bs3Trap64GenericEntriesFlatAddr + iIdt * 8, iIdt == X86_XCPT_DF /*bIst*/); 87 BS3_SEL_R0_CS64, g_Bs3Trap64GenericEntriesFlatAddr + iIdt * 8, 88 !fMoreIstUsage ? iIdt == X86_XCPT_DF : iIdt < RT_ELEMENTS(s_aAssignments) ? s_aAssignments[iIdt] : 0); 57 89 for (iIdt = BS3_TRAP_SYSCALL + 1; iIdt < 256; iIdt++) 58 90 Bs3Trap64SetGate(iIdt, AMD64_SEL_TYPE_SYS_INT_GATE, 0 /*bDpl*/, 59 BS3_SEL_R0_CS64, g_Bs3Trap64GenericEntriesFlatAddr + iIdt * 8, 0 /*bIst*/);91 BS3_SEL_R0_CS64, g_Bs3Trap64GenericEntriesFlatAddr + iIdt * 8, 0); 60 92 61 93 /* -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-autostubs.kmk
r97576 r97613 167 167 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Trap32Init) 168 168 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Trap32SetGate) 169 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Trap64InitEx) 169 170 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Trap64Init) 170 171 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Trap64SetGate) -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-define.h
r97576 r97613 221 221 #define Bs3Trap32SetGate BS3_CMN_MANGLER(Bs3Trap32SetGate) 222 222 #define Bs3Trap64Init BS3_CMN_MANGLER(Bs3Trap64Init) 223 #define Bs3Trap64InitEx BS3_CMN_MANGLER(Bs3Trap64InitEx) 223 224 #define Bs3Trap64SetGate BS3_CMN_MANGLER(Bs3Trap64SetGate) 224 225 #define Bs3TrapDefaultHandler BS3_CMN_MANGLER(Bs3TrapDefaultHandler) -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-undef.h
r97576 r97613 221 221 #undef Bs3Trap32SetGate 222 222 #undef Bs3Trap64Init 223 #undef Bs3Trap64InitEx 223 224 #undef Bs3Trap64SetGate 224 225 #undef Bs3TrapDefaultHandler -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h
r97576 r97613 3292 3292 3293 3293 /** 3294 * Initializes 64-bit trap handling, extended version. 3295 * 3296 * @remarks Does not install 64-bit trap handling, just initializes the 3297 * structures. 3298 * @param fMoreIstUsage Use the interrupt stacks for more CPU exceptions. 3299 * Default (false) is to only IST1 for the double fault 3300 * handler and the rest uses IST0. 3301 */ 3302 BS3_CMN_PROTO_STUB(void, Bs3Trap64InitEx,(bool fMoreIstUsage)); 3303 3304 /** 3294 3305 * Modifies the real-mode / V86 IVT entry specified by @a iIvt. 3295 3306 *
Note:
See TracChangeset
for help on using the changeset viewer.