Changeset 95371 in vbox for trunk/src/VBox
- Timestamp:
- Jun 24, 2022 11:11:42 PM (3 years ago)
- Location:
- trunk/src/VBox/ValidationKit/bootsectors/bs3kit
- Files:
-
- 12 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk
r93115 r95371 138 138 bs3-cmn-RegGetLdtr.asm \ 139 139 bs3-cmn-RegSetLdtr.asm \ 140 bs3-cmn-RegGetXcr0.asm \ 141 bs3-cmn-RegGetXcr0Asm.asm \ 142 bs3-cmn-RegSetXcr0.asm \ 140 143 bs3-cmn-ExtCtxInit.c \ 141 144 bs3-cmn-ExtCtxSave.asm \ -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxInit.c
r93115 r95371 37 37 { 38 38 Bs3MemSet(pExtCtx, 0, cbExtCtx); 39 39 40 if (cbExtCtx >= RT_UOFFSETOF(BS3EXTCTX, Ctx) + sizeof(X86FXSTATE) + sizeof(X86XSAVEHDR)) 40 41 { … … 42 43 pExtCtx->enmMethod = BS3EXTCTXMETHOD_XSAVE; 43 44 pExtCtx->Ctx.x.Hdr.bmXState = fFlags; 45 46 /* Setting bit 6 (0x40) here as it kept sneaking in when loading/saving state in 16-bit and v8086 mode. */ 47 pExtCtx->Ctx.x.x87.FCW = X86_FCW_RC_NEAREST | X86_FCW_PC_64 /* go figure:*/ | RT_BIT(6); 48 pExtCtx->Ctx.x.x87.MXCSR = X86_MXCSR_RC_NEAREST; 49 pExtCtx->Ctx.x.x87.MXCSR_MASK = 0xffff; 44 50 } 45 51 else if (cbExtCtx >= RT_UOFFSETOF(BS3EXTCTX, Ctx) + sizeof(X86FXSTATE)) … … 47 53 BS3_ASSERT(fFlags == 0); 48 54 pExtCtx->enmMethod = BS3EXTCTXMETHOD_FXSAVE; 55 pExtCtx->Ctx.x87.FCW = X86_FCW_RC_NEAREST | X86_FCW_PC_64 /* go figure:*/ | RT_BIT(6); 56 pExtCtx->Ctx.x87.MXCSR = X86_MXCSR_RC_NEAREST; 57 pExtCtx->Ctx.x87.MXCSR_MASK = 0xffff; 49 58 } 50 59 else … … 53 62 BS3_ASSERT(cbExtCtx >= RT_UOFFSETOF(BS3EXTCTX, Ctx) + sizeof(X86FPUSTATE)); 54 63 pExtCtx->enmMethod = BS3EXTCTXMETHOD_ANCIENT; 64 pExtCtx->Ctx.Ancient.FCW = X86_FCW_RC_NEAREST | X86_FCW_PC_64 /* go figure:*/ | RT_BIT(6); 65 pExtCtx->Ctx.Ancient.FTW = UINT16_MAX; /* all registers empty */ 55 66 } 67 56 68 pExtCtx->cb = cbExtCtx; 57 69 pExtCtx->u16Magic = BS3EXTCTX_MAGIC; -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxRestore.asm
r93115 r95371 26 26 27 27 %include "bs3kit-template-header.mac" 28 29 extern BS3_CMN_NM(Bs3RegSetXcr0) 28 30 29 31 … … 62 64 63 65 .do_16_xsave: 64 xor ecx, ecx 66 push dword [es:bx + BS3EXTCTX.fXcr0Nominal + 4] 67 push dword [es:bx + BS3EXTCTX.fXcr0Nominal] 68 call BS3_CMN_NM(Bs3RegSetXcr0) 69 65 70 mov eax, [es:bx + BS3EXTCTX.fXcr0Nominal] 66 71 mov edx, [es:bx + BS3EXTCTX.fXcr0Nominal + 4] 67 xsetbv68 69 72 xrstor [es:bx + BS3EXTCTX.Ctx] 70 73 71 mov eax, [es:bx + BS3EXTCTX.fXcr0Saved] 72 mov edx, [es:bx + BS3EXTCTX.fXcr0Saved + 4] 73 xsetbv 74 push dword [es:bx + BS3EXTCTX.fXcr0Saved + 4] 75 push dword [es:bx + BS3EXTCTX.fXcr0Saved] 76 call BS3_CMN_NM(Bs3RegSetXcr0) 77 78 add xSP, 4 * 2 * 2 ; clean up both calls 74 79 ;jmp .return 75 80 … … 97 102 98 103 .do_xsave: 99 xor ecx, ecx 104 %if ARCH_BITS == 32 105 push dword [xBX + BS3EXTCTX.fXcr0Nominal + 4] 106 push dword [xBX + BS3EXTCTX.fXcr0Nominal] 107 call BS3_CMN_NM(Bs3RegSetXcr0) 108 100 109 mov eax, [xBX + BS3EXTCTX.fXcr0Nominal] 101 110 mov edx, [xBX + BS3EXTCTX.fXcr0Nominal + 4] 102 x setbv111 xrstor [xBX + BS3EXTCTX.Ctx] 103 112 104 BONLY32 xrstor [xBX + BS3EXTCTX.Ctx] 105 BONLY64 xrstor64 [xBX + BS3EXTCTX.Ctx] 113 push dword [xBX + BS3EXTCTX.fXcr0Saved + 4] 114 push dword [xBX + BS3EXTCTX.fXcr0Saved] 115 call BS3_CMN_NM(Bs3RegSetXcr0) 106 116 107 mov eax, [xBX + BS3EXTCTX.fXcr0Saved] 108 mov edx, [xBX + BS3EXTCTX.fXcr0Saved + 4] 109 xsetbv 117 add xSP, 4 * 2 * 2 ; clean up both calls 118 %else 119 mov rcx, [xBX + BS3EXTCTX.fXcr0Nominal] 120 push rcx ; just for reserving parameter dumping space needed by Bs3RegSetXcr0 121 call BS3_CMN_NM(Bs3RegSetXcr0) 122 123 mov eax, [xBX + BS3EXTCTX.fXcr0Nominal] 124 mov edx, [xBX + BS3EXTCTX.fXcr0Nominal + 4] 125 xrstor64 [xBX + BS3EXTCTX.Ctx] 126 127 mov rcx, [xBX + BS3EXTCTX.fXcr0Saved] 128 call BS3_CMN_NM(Bs3RegSetXcr0) 129 130 add xSP, 8 ; clean up parameter space 110 131 ;jmp .return 111 132 %endif 112 133 %endif 113 134 -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-ExtCtxSave.asm
r93115 r95371 27 27 %include "bs3kit-template-header.mac" 28 28 29 extern BS3_CMN_NM(Bs3RegSetXcr0) 30 extern BS3_CMN_NM(Bs3RegGetXcr0Asm) 29 31 30 32 ;; … … 62 64 63 65 .do_16_xsave: 64 xor ecx, ecx 65 xgetbv 66 call BS3_CMN_NM(Bs3RegGetXcr0Asm) 66 67 mov [es:bx + BS3EXTCTX.fXcr0Saved], eax 67 68 mov [es:bx + BS3EXTCTX.fXcr0Saved + 4], edx 69 70 push dword [es:bx + BS3EXTCTX.fXcr0Nominal + 4] 71 push dword [es:bx + BS3EXTCTX.fXcr0Nominal] 72 call BS3_CMN_NM(Bs3RegSetXcr0) 73 68 74 mov eax, [es:bx + BS3EXTCTX.fXcr0Nominal] 69 75 mov edx, [es:bx + BS3EXTCTX.fXcr0Nominal + 4] 70 xsetbv71 72 76 xsave [es:bx + BS3EXTCTX.Ctx] 73 77 74 mov eax, [es:bx + BS3EXTCTX.fXcr0Saved] 75 mov edx, [es:bx + BS3EXTCTX.fXcr0Saved + 4] 76 xsetbv 78 push dword [es:bx + BS3EXTCTX.fXcr0Saved + 4] 79 push dword [es:bx + BS3EXTCTX.fXcr0Saved] 80 call BS3_CMN_NM(Bs3RegSetXcr0) 81 82 add xSP, 4 * 2 * 2 ; clean up both calls 77 83 ;jmp .return 78 84 … … 100 106 101 107 .do_xsave: 102 xor ecx, ecx 103 xgetbv 108 call BS3_CMN_NM(Bs3RegGetXcr0Asm) 104 109 mov [xBX + BS3EXTCTX.fXcr0Saved], eax 105 110 mov [xBX + BS3EXTCTX.fXcr0Saved + 4], edx 111 112 %if ARCH_BITS == 32 113 push dword [xBX + BS3EXTCTX.fXcr0Nominal + 4] 114 push dword [xBX + BS3EXTCTX.fXcr0Nominal] 115 call BS3_CMN_NM(Bs3RegSetXcr0) 116 106 117 mov eax, [xBX + BS3EXTCTX.fXcr0Nominal] 107 118 mov edx, [xBX + BS3EXTCTX.fXcr0Nominal + 4] 108 xs etbv119 xsave [xBX + BS3EXTCTX.Ctx] 109 120 110 BONLY32 xsave [xBX + BS3EXTCTX.Ctx] 111 BONLY64 xsave64 [xBX + BS3EXTCTX.Ctx] 121 push dword [xBX + BS3EXTCTX.fXcr0Saved + 4] 122 push dword [xBX + BS3EXTCTX.fXcr0Saved] 123 call BS3_CMN_NM(Bs3RegSetXcr0) 112 124 113 mov eax, [xBX + BS3EXTCTX.fXcr0Saved] 114 mov edx, [xBX + BS3EXTCTX.fXcr0Saved + 4] 115 xsetbv 125 add xSP, 4 * 2 * 2 ; clean up both calls 126 %else 127 mov rcx, [xBX + BS3EXTCTX.fXcr0Nominal] 128 push rcx ; only to reserve necessary stack space for the Bs3RegSetXcr0 param dump. 129 call BS3_CMN_NM(Bs3RegSetXcr0) 130 131 mov eax, [xBX + BS3EXTCTX.fXcr0Nominal] 132 mov edx, [xBX + BS3EXTCTX.fXcr0Nominal + 4] 133 xsave64 [xBX + BS3EXTCTX.Ctx] 134 135 mov rcx, [xBX + BS3EXTCTX.fXcr0Saved] 136 call BS3_CMN_NM(Bs3RegSetXcr0) 137 138 add xSP, 8h ; clean up 139 %endif 116 140 ;jmp .return 117 141 -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-RegGetXcr0.asm
r95361 r95371 1 1 ; $Id$ 2 2 ;; @file 3 ; BS3Kit - Bs3RegGet Cr03 ; BS3Kit - Bs3RegGetXcr0 4 4 ; 5 5 … … 28 28 29 29 30 BS3_EXTERN_CMN Bs3Panic31 30 BS3_EXTERN_CMN Bs3Syscall 32 31 %if TMPL_BITS == 16 … … 37 36 38 37 ;; 39 ; @cproto BS3_CMN_PROTO_STUB( RTCCUINTXREG, Bs3RegGetCr0,(void));38 ; @cproto BS3_CMN_PROTO_STUB(uint64_t, Bs3RegGetXcr0,(void)); 40 39 ; 41 40 ; @returns Register value. 42 41 ; @remarks Does not require 20h of parameter scratch space in 64-bit mode. 43 42 ; 44 ; @uses No GPRs (only return full register(s)).43 ; @uses No GPRs, though 16-bit mode the upper 48-bits of rax and rdx are cleared. 45 44 ; 46 BS3_PROC_BEGIN_CMN Bs3RegGet Cr0, BS3_PBC_HYBRID_SAFE45 BS3_PROC_BEGIN_CMN Bs3RegGetXcr0, BS3_PBC_HYBRID_SAFE 47 46 BS3_CALL_CONV_PROLOG 0 48 47 push xBP 49 48 mov xBP, xSP 49 TONLY64 push rdx 50 50 51 51 %if TMPL_BITS == 16 … … 62 62 63 63 .direct_access: 64 mov sAX, cr0 65 TONLY16 mov edx, eax 66 TONLY16 shr edx, 16 64 TNOT16 push sCX 65 xor ecx, ecx 66 xgetbv 67 TNOT16 pop sCX 67 68 jmp .return 68 69 69 70 .via_system_call: 70 mov xAX, BS3_SYSCALL_GET_CRX 71 mov dl, 0 71 mov xAX, BS3_SYSCALL_GET_XCR0 72 72 call Bs3Syscall 73 73 74 74 .return: 75 %if TMPL_BITS == 16 76 ; value [dx cx bx ax] 77 ror eax, 16 78 mov bx, ax 79 mov cx, dx 80 shr eax, 16 81 shr edx, 16 82 %elif TMPL_BITS == 64 83 mov eax, eax 84 shr rdx, 32 85 or rax, rdx 86 pop rdx 87 %endif 75 88 pop xBP 76 89 BS3_CALL_CONV_EPILOG 0 77 90 BS3_HYBRID_RET 78 BS3_PROC_END_CMN Bs3RegGet Cr091 BS3_PROC_END_CMN Bs3RegGetXcr0 79 92 -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-RegGetXcr0Asm.asm
r95361 r95371 1 1 ; $Id$ 2 2 ;; @file 3 ; BS3Kit - Bs3RegGet Cr03 ; BS3Kit - Bs3RegGetXcr0 4 4 ; 5 5 … … 28 28 29 29 30 BS3_EXTERN_CMN Bs3Panic31 30 BS3_EXTERN_CMN Bs3Syscall 32 31 %if TMPL_BITS == 16 … … 37 36 38 37 ;; 39 ; @cproto BS3_CMN_PROTO_STUB(RTCCUINTXREG, Bs3RegGetCr0,(void));38 ; Only callable from assembly. 40 39 ; 41 ; @returns Register value .40 ; @returns Register value in edx:eax in all modes 42 41 ; @remarks Does not require 20h of parameter scratch space in 64-bit mode. 42 ; @uses No GPRs other than return registers. 43 43 ; 44 ; @uses No GPRs (only return full register(s)). 45 ; 46 BS3_PROC_BEGIN_CMN Bs3RegGetCr0, BS3_PBC_HYBRID_SAFE 44 BS3_PROC_BEGIN_CMN Bs3RegGetXcr0Asm, BS3_PBC_HYBRID_SAFE 47 45 BS3_CALL_CONV_PROLOG 0 48 46 push xBP … … 62 60 63 61 .direct_access: 64 mov sAX, cr0 65 TONLY16 mov edx, eax 66 TONLY16 shr edx, 16 62 TNOT16 push sCX 63 xor ecx, ecx 64 xgetbv 65 TNOT16 pop sCX 67 66 jmp .return 68 67 69 68 .via_system_call: 70 mov xAX, BS3_SYSCALL_GET_CRX 71 mov dl, 0 69 mov xAX, BS3_SYSCALL_GET_XCR0 72 70 call Bs3Syscall 73 71 … … 76 74 BS3_CALL_CONV_EPILOG 0 77 75 BS3_HYBRID_RET 78 BS3_PROC_END_CMN Bs3RegGet Cr076 BS3_PROC_END_CMN Bs3RegGetXcr0Asm 79 77 -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-RegSetCr4.asm
r93115 r95371 72 72 73 73 mov sSI, [xBP + xCB + cbCurRetAddr] 74 mov xAX, BS3_SYSCALL_SET_ DRX74 mov xAX, BS3_SYSCALL_SET_CRX 75 75 mov dl, 4 76 76 call Bs3Syscall -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-RegSetXcr0.asm
r95361 r95371 1 1 ; $Id$ 2 2 ;; @file 3 ; BS3Kit - Bs3RegSet Cr03 ; BS3Kit - Bs3RegSetXcr0 4 4 ; 5 5 … … 36 36 37 37 ;; 38 ; @cproto BS3_CMN_PROTO_STUB(void, Bs3RegSet Cr0,(RTCCUINTXREGuValue));38 ; @cproto BS3_CMN_PROTO_STUB(void, Bs3RegSetXcr0,(uint64_t uValue)); 39 39 ; 40 40 ; @param uValue The value to set. 41 41 42 ; @remarks Does not require 20h of parameter scratch space in 64-bit mode. 42 ; @remarks Does not require 20h of parameter scratch space in 64-bit mode, 43 ; only 8 bytes for dumping rcx. 43 44 ; 44 45 ; @uses No GPRs. 45 46 ; 46 BS3_PROC_BEGIN_CMN Bs3RegSet Cr0, BS3_PBC_HYBRID_SAFE47 BS3_PROC_BEGIN_CMN Bs3RegSetXcr0, BS3_PBC_HYBRID_SAFE 47 48 BS3_CALL_CONV_PROLOG 1 48 49 push xBP 49 50 mov xBP, xSP 50 51 push sSI 52 push sDX 53 push sAX 54 55 ; Load the value 56 mov sAX, [xBP + xCB + cbCurRetAddr] 57 mov sDX, [xBP + xCB + cbCurRetAddr + 4] 51 58 52 59 %if TMPL_BITS == 16 … … 63 70 64 71 .direct_access: 65 mov sSI, [xBP + xCB + cbCurRetAddr] 66 mov cr0, sSI 72 push sCX 73 xor ecx, ecx 74 xsetbv 75 pop sCX 67 76 jmp .return 68 77 69 78 .via_system_call: 70 push xDX 71 push xAX 72 73 mov sSI, [xBP + xCB + cbCurRetAddr] 74 mov xAX, BS3_SYSCALL_SET_CRX 75 mov dl, 0 79 xchg esi, eax 80 mov xAX, BS3_SYSCALL_SET_XCR0 76 81 call Bs3Syscall 77 pop xAX78 pop xDX79 82 80 83 .return: 84 pop sAX 85 pop sDX 81 86 pop sSI 82 87 pop xBP 83 88 BS3_CALL_CONV_EPILOG 1 84 89 BS3_HYBRID_RET 85 BS3_PROC_END_CMN Bs3RegSet Cr090 BS3_PROC_END_CMN Bs3RegSetXcr0 86 91 -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-TestCheckRegCtxEx.c
r93115 r95371 34 34 #undef Bs3TestCheckRegCtxEx 35 35 BS3_CMN_DEF(bool, Bs3TestCheckRegCtxEx,(PCBS3REGCTX pActualCtx, PCBS3REGCTX pExpectedCtx, uint16_t cbPcAdjust, int16_t cbSpAcjust, 36 uint32_t fExtraEfl, const char *pszMode, uint16_t idTestStep))36 uint32_t fExtraEfl, const char BS3_FAR *pszMode, uint16_t idTestStep)) 37 37 { 38 38 uint16_t const cErrorsBefore = Bs3TestSubErrorCount(); -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-TrapDefaultHandler.c
r93115 r95371 139 139 else if (uSyscallNo == BS3_SYSCALL_GET_LDTR) 140 140 pTrapFrame->Ctx.rax.u16 = ASMGetLDTR(); 141 else if (uSyscallNo == BS3_SYSCALL_SET_XCR0) 142 ASMSetXcr0(RT_MAKE_U64(pTrapFrame->Ctx.rsi.u32, pTrapFrame->Ctx.rdx.u32)); 143 else if (uSyscallNo == BS3_SYSCALL_GET_XCR0) 144 { 145 uint64_t const uValue = ASMGetXcr0(); 146 pTrapFrame->Ctx.rax.u32 = (uint32_t)uValue; 147 pTrapFrame->Ctx.rdx.u32 = (uint32_t)(uValue >> 32); 148 } 141 149 else 142 150 Bs3Panic(); -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-autostubs.kmk
r93115 r95371 5 5 6 6 # 7 # Copyright (C) 2007-202 2Oracle Corporation7 # Copyright (C) 2007-2020 Oracle Corporation 8 8 # 9 9 # This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-define.h
r93115 r95371 5 5 6 6 /* 7 * Copyright (C) 2007-202 2Oracle Corporation7 * Copyright (C) 2007-2020 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 108 108 #define Bs3RegGetLdtr BS3_CMN_MANGLER(Bs3RegGetLdtr) 109 109 #define Bs3RegGetTr BS3_CMN_MANGLER(Bs3RegGetTr) 110 #define Bs3RegGetXcr0 BS3_CMN_MANGLER(Bs3RegGetXcr0) 110 111 #define Bs3RegSetCr0 BS3_CMN_MANGLER(Bs3RegSetCr0) 111 112 #define Bs3RegSetCr2 BS3_CMN_MANGLER(Bs3RegSetCr2) … … 121 122 #define Bs3RegSetLdtr BS3_CMN_MANGLER(Bs3RegSetLdtr) 122 123 #define Bs3RegSetTr BS3_CMN_MANGLER(Bs3RegSetTr) 124 #define Bs3RegSetXcr0 BS3_CMN_MANGLER(Bs3RegSetXcr0) 123 125 #define Bs3SelFar32ToFlat32 BS3_CMN_MANGLER(Bs3SelFar32ToFlat32) 124 126 #define Bs3SelFar32ToFlat32NoClobber BS3_CMN_MANGLER(Bs3SelFar32ToFlat32NoClobber) -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-undef.h
r93115 r95371 5 5 6 6 /* 7 * Copyright (C) 2007-202 2Oracle Corporation7 * Copyright (C) 2007-2020 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 108 108 #undef Bs3RegGetLdtr 109 109 #undef Bs3RegGetTr 110 #undef Bs3RegGetXcr0 110 111 #undef Bs3RegSetCr0 111 112 #undef Bs3RegSetCr2 … … 121 122 #undef Bs3RegSetLdtr 122 123 #undef Bs3RegSetTr 124 #undef Bs3RegSetXcr0 123 125 #undef Bs3SelFar32ToFlat32 124 126 #undef Bs3SelFar32ToFlat32NoClobber -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h
r95296 r95371 847 847 /** Get the LDT register (value returned in ax). */ 848 848 #define BS3_SYSCALL_GET_LDTR UINT16_C(0x000f) 849 /** Set XCR0 register (value in edx:esi). */ 850 #define BS3_SYSCALL_SET_XCR0 UINT16_C(0x0010) 851 /** Get XCR0 register (value returned in edx:eax). */ 852 #define BS3_SYSCALL_GET_XCR0 UINT16_C(0x0011) 849 853 /** The last system call value. */ 850 #define BS3_SYSCALL_LAST BS3_SYSCALL_GET_ LDTR854 #define BS3_SYSCALL_LAST BS3_SYSCALL_GET_XCR0 851 855 /** @} */ 852 856 … … 2906 2910 BS3_CMN_PROTO_NOSB(uint16_t, Bs3RegGetTr,(void)); 2907 2911 BS3_CMN_PROTO_NOSB(uint16_t, Bs3RegGetLdtr,(void)); 2912 BS3_CMN_PROTO_NOSB(uint64_t, Bs3RegGetXcr0,(void)); 2908 2913 2909 2914 BS3_CMN_PROTO_NOSB(void, Bs3RegSetCr0,(RTCCUINTXREG uValue)); … … 2913 2918 BS3_CMN_PROTO_NOSB(void, Bs3RegSetTr,(uint16_t uValue)); 2914 2919 BS3_CMN_PROTO_NOSB(void, Bs3RegSetLdtr,(uint16_t uValue)); 2920 BS3_CMN_PROTO_NOSB(void, Bs3RegSetXcr0,(uint64_t uValue)); 2915 2921 /** @} */ 2916 2922 … … 3376 3382 */ 3377 3383 BS3_CMN_PROTO_STUB(bool, Bs3TestCheckRegCtxEx,(PCBS3REGCTX pActualCtx, PCBS3REGCTX pExpectedCtx, uint16_t cbPcAdjust, 3378 int16_t cbSpAdjust, uint32_t fExtraEfl, const char *pszMode, uint16_t idTestStep)); 3384 int16_t cbSpAdjust, uint32_t fExtraEfl, 3385 const char BS3_FAR *pszMode, uint16_t idTestStep)); 3379 3386 3380 3387 /** -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.mac
r93115 r95371 1515 1515 ;; Get the LDT register (value returned in ax). 1516 1516 %define BS3_SYSCALL_GET_LDTR 000fh 1517 ;; Set XCR0 register (value in edx:esi). 1518 %define BS3_SYSCALL_SET_XCR0 0010h 1519 ;; Get XCR0 register (value returned in edx:eax). 1520 %define BS3_SYSCALL_GET_XCR0 0011h 1517 1521 ;; The last system call value. 1518 %define BS3_SYSCALL_LAST BS3_SYSCALL_GET_ LDTR1522 %define BS3_SYSCALL_LAST BS3_SYSCALL_GET_XCR0 1519 1523 ;; @} 1520 1524
Note:
See TracChangeset
for help on using the changeset viewer.