Changeset 95496 in vbox for trunk/src/VBox/ValidationKit/bootsectors/bs3kit
- Timestamp:
- Jul 4, 2022 9:56:50 AM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 152110
- Location:
- trunk/src/VBox/ValidationKit/bootsectors/bs3kit
- Files:
-
- 4 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk
r95491 r95496 108 108 bs3-cmn-RegCtxSave.asm \ 109 109 bs3-cmn-RegCtxSaveEx.asm \ 110 bs3-cmn-RegCtxSaveForMode.c \ 110 111 bs3-cmn-RegCtxSetGrpSegFromCurPtr.c \ 111 112 bs3-cmn-RegCtxSetGrpSegFromFlat.c \ … … 241 242 bs3-cmn-TrapSetJmpAndRestore.c \ 242 243 bs3-cmn-TrapSetJmpAndRestoreInRm.c \ 244 bs3-cmn-TrapSetJmpAndRestoreWithRm.c \ 245 bs3-cmn-TrapSetJmpAndRestoreWithExtCtx.c \ 246 bs3-cmn-TrapSetJmpAndRestoreWithExtCtxAndRm.c \ 243 247 bs3-cmn-TrapUnsetJmp.c \ 244 248 bs3-cmn-UtilSetFullGdtr.asm \ -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-autostubs.kmk
r95491 r95496 122 122 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3RegCtxConvertV86ToRm) 123 123 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3RegCtxPrint) 124 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3RegCtxSaveForMode) 124 125 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3RegCtxSetGrpDsFromCurPtr) 125 126 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3RegCtxSetGrpSegFromCurPtr) … … 164 165 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapSetJmpAndRestoreInRm) 165 166 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapSetJmpAndRestore) 167 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapSetJmpAndRestoreWithExtCtxAndRm) 168 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapSetJmpAndRestoreWithExtCtx) 169 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapSetJmpAndRestoreWithRm) 166 170 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapUnsetJmp) 167 171 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3UInt32Div) -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-define.h
r95491 r95496 108 108 #define Bs3RegCtxSave BS3_CMN_MANGLER(Bs3RegCtxSave) 109 109 #define Bs3RegCtxSaveEx BS3_CMN_MANGLER(Bs3RegCtxSaveEx) 110 #define Bs3RegCtxSaveForMode BS3_CMN_MANGLER(Bs3RegCtxSaveForMode) 110 111 #define Bs3RegCtxSetGpr BS3_CMN_MANGLER(Bs3RegCtxSetGpr) 111 112 #define Bs3RegCtxSetGrpDsFromCurPtr BS3_CMN_MANGLER(Bs3RegCtxSetGrpDsFromCurPtr) … … 219 220 #define Bs3TrapSetJmpAndRestore BS3_CMN_MANGLER(Bs3TrapSetJmpAndRestore) 220 221 #define Bs3TrapSetJmpAndRestoreInRm BS3_CMN_MANGLER(Bs3TrapSetJmpAndRestoreInRm) 222 #define Bs3TrapSetJmpAndRestoreWithExtCtxAndRm BS3_CMN_MANGLER(Bs3TrapSetJmpAndRestoreWithExtCtxAndRm) 223 #define Bs3TrapSetJmpAndRestoreWithExtCtx BS3_CMN_MANGLER(Bs3TrapSetJmpAndRestoreWithExtCtx) 224 #define Bs3TrapSetJmpAndRestoreWithRm BS3_CMN_MANGLER(Bs3TrapSetJmpAndRestoreWithRm) 221 225 #define Bs3TrapSetJmp BS3_CMN_MANGLER(Bs3TrapSetJmp) 222 226 #define Bs3TrapUnsetJmp BS3_CMN_MANGLER(Bs3TrapUnsetJmp) -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-undef.h
r95491 r95496 108 108 #undef Bs3RegCtxSave 109 109 #undef Bs3RegCtxSaveEx 110 #undef Bs3RegCtxSaveForMode 110 111 #undef Bs3RegCtxSetGpr 111 112 #undef Bs3RegCtxSetGrpDsFromCurPtr … … 219 220 #undef Bs3TrapSetJmpAndRestore 220 221 #undef Bs3TrapSetJmpAndRestoreInRm 222 #undef Bs3TrapSetJmpAndRestoreWithExtCtxAndRm 223 #undef Bs3TrapSetJmpAndRestoreWithExtCtx 224 #undef Bs3TrapSetJmpAndRestoreWithRm 221 225 #undef Bs3TrapSetJmp 222 226 #undef Bs3TrapUnsetJmp -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h
r95491 r95496 2647 2647 * This is for writing more flexible test drivers that can test more than the 2648 2648 * CPU bitcount (16-bit, 32-bit, 64-bit, and virtual 8086) of the driver itself. 2649 * For instance a 32-bit driver can do V86 and 16-bit testing, thus saving more2650 * precious and problematic 16-bitcode.2649 * For instance a 32-bit driver can do V86 and 16-bit testing, thus saving space 2650 * by avoiding duplicate 16-bit driver code. 2651 2651 * 2652 2652 * @param pRegCtx Where to store the register context. … … 2657 2657 */ 2658 2658 BS3_CMN_PROTO_FARSTUB(8, void, Bs3RegCtxSaveEx,(PBS3REGCTX pRegCtx, uint8_t bBitMode, uint16_t cbExtraStack)); 2659 2660 /** 2661 * This is Bs3RegCtxSaveEx with automatic Bs3RegCtxConvertV86ToRm thrown in. 2662 * 2663 * This is for simplifying writing 32-bit test drivers that covers real-mode as 2664 * well as virtual 8086, 16-bit, 32-bit, and 64-bit modes. 2665 * 2666 * @param pRegCtx Where to store the register context. 2667 * @param bMode The mode to get a context for. If this isn't 2668 * BS3_MODE_RM, the BS3_MODE_SYS_MASK has to match the 2669 * one of the current mode. 2670 * @param cbExtraStack Number of bytes of additional stack to allocate. 2671 */ 2672 BS3_CMN_PROTO_STUB(void, Bs3RegCtxSaveForMode,(PBS3REGCTX pRegCtx, uint8_t bMode, uint16_t cbExtraStack)); 2659 2673 2660 2674 /** … … 2905 2919 * @remarks All GPRs preserved. 2906 2920 */ 2907 BS3_CMN_PROTO_FARSTUB(4, void, Bs3ExtCtxRestore,(P BS3EXTCTX pExtCtx));2921 BS3_CMN_PROTO_FARSTUB(4, void, Bs3ExtCtxRestore,(PCBS3EXTCTX pExtCtx)); 2908 2922 2909 2923 /** … … 2918 2932 * @sa Bs3ExtCtxSaveEx 2919 2933 */ 2920 BS3_CMN_PROTO_FARSTUB(4, void, Bs3ExtCtxRestoreEx,(P BS3EXTCTX pExtCtx));2934 BS3_CMN_PROTO_FARSTUB(4, void, Bs3ExtCtxRestoreEx,(PCBS3EXTCTX pExtCtx)); 2921 2935 2922 2936 /** … … 3425 3439 */ 3426 3440 BS3_CMN_PROTO_STUB(void, Bs3TrapSetJmpAndRestore,(PCBS3REGCTX pCtxRestore, PBS3TRAPFRAME pTrapFrame)); 3441 3442 /** 3443 * Variation of Bs3TrapSetJmpAndRestore that includes 3444 * #Bs3TrapSetJmpAndRestoreInRm and calls is if pCtxRestore is a real mode 3445 * context and we're not in real mode. 3446 * 3447 * This is useful for 32-bit test drivers running via #Bs3TestDoModesByOne using 3448 * BS3TESTMODEBYONEENTRY_F_REAL_MODE_READY to allow them to test real-mode too. 3449 * 3450 * @param pCtxRestore The context to restore. 3451 * @param pTrapFrame Where to store the trap information. 3452 */ 3453 BS3_CMN_PROTO_STUB(void, Bs3TrapSetJmpAndRestoreWithRm,(PCBS3REGCTX pCtxRestore, PBS3TRAPFRAME pTrapFrame)); 3454 3455 /** 3456 * Combination of #Bs3ExtCtxRestoreEx, #Bs3TrapSetJmp, #Bs3RegCtxRestore and 3457 * #Bs3ExtCtxSaveEx. 3458 * 3459 * @param pCtxRestore The context to restore. 3460 * @param pExtCtxRestore The extended context to restore. 3461 * @param pTrapFrame Where to store the trap information. 3462 * @param pExtCtxTrap Where to store the extended context after the trap. 3463 * Note, the saving isn't done from the trap handler, 3464 * but after #Bs3TrapSetJmp returns zero (i.e. for the 3465 * 2nd time). 3466 */ 3467 BS3_CMN_PROTO_STUB(void, Bs3TrapSetJmpAndRestoreWithExtCtx,(PCBS3REGCTX pCtxRestore, PCBS3EXTCTX pExtCtxRestore, 3468 PBS3TRAPFRAME pTrapFrame, PBS3EXTCTX pExtCtxTrap)); 3469 3470 /** 3471 * Variation of Bs3TrapSetJmpAndRestoreWithExtCtx that includes 3472 * #Bs3TrapSetJmpAndRestoreInRm and calls is if pCtxRestore is a real mode 3473 * context and we're not in real mode. 3474 * 3475 * This is useful for 32-bit test drivers running via #Bs3TestDoModesByOne using 3476 * BS3TESTMODEBYONEENTRY_F_REAL_MODE_READY to allow them to test real-mode too. 3477 * 3478 * @param pCtxRestore The context to restore. 3479 * @param pExtCtxRestore The extended context to restore. 3480 * @param pTrapFrame Where to store the trap information. 3481 * @param pExtCtxTrap Where to store the extended context after the trap. 3482 * Note, the saving isn't done from the trap handler, 3483 * but after #Bs3TrapSetJmp returns zero (i.e. for the 3484 * 2nd time). 3485 */ 3486 BS3_CMN_PROTO_STUB(void, Bs3TrapSetJmpAndRestoreWithExtCtxAndRm,(PCBS3REGCTX pCtxRestore, PCBS3EXTCTX pExtCtxRestore, 3487 PBS3TRAPFRAME pTrapFrame, PBS3EXTCTX pExtCtxTrap)); 3427 3488 3428 3489 /**
Note:
See TracChangeset
for help on using the changeset viewer.