VirtualBox

Ignore:
Timestamp:
May 3, 2021 2:28:49 PM (4 years ago)
Author:
vboxsync
Message:

ValKit: Added bs3-timers-1 for some quick PIT testing.

Location:
trunk/src/VBox/ValidationKit/bootsectors
Files:
1 added
9 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/Makefile.kmk

    r83006 r88839  
    361361        $(REDIRECT) -0 /dev/null -- $(VBOX_BLD_PYTHON) $< $@
    362362
     363# Timer Interrupts
     364MISCBINS += bs3-timers-1
     365bs3-timers-1_TEMPLATE = VBoxBS3KitImg
     366bs3-timers-1_INCS  = .
     367bs3-timers-1_DEFS  =  BS3_CMN_INSTANTIATE_FILE1=bs3-timers-1-template.c
     368bs3-timers-1_DEFS += BS3_MODE_INSTANTIATE_FILE1=bs3-timers-1-template.c
     369 ifeq ($(KBUILD_HOST),win)
     370bs3-timers-1_DEFS += HAVE_OMF_CONVERTER
     371 endif
     372bs3-timers-1_SOURCES = \
     373        bs3kit/bs3-first-rm.asm \
     374        bs3-timers-1.c \
     375        bs3-timers-1-x0.c
     376#       bs3kit/bs3-cmn-instantiate-x0.c16 \
     377#       bs3kit/bs3-cmn-instantiate.c32 \
     378#       bs3kit/bs3-cmn-instantiate.c64
     379#bs3-timers-1-template.o:: \
     380#       $$(bs3-timers-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate-x0.o16 \
     381#       $$(bs3-timers-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o32 \
     382#       $$(bs3-timers-1_0_OUTDIR)/bs3kit/bs3-cmn-instantiate.o64 \
     383#       $$(bs3-timers-1_0_OUTDIR)/bs3-timers-1-asm.o16
     384
    363385endif # VBOX_WITH_BS3KIT
    364386
  • trunk/src/VBox/ValidationKit/bootsectors/bs3-timers-1.c

    r88775 r88839  
    11/* $Id$ */
    22/** @file
    3  * BS3Kit - bs3-cpu-basic-2, 16-bit C code.
     3 * BS3Kit - bs3-timers-1, 16-bit C code.
    44 */
    55
    66/*
    7  * Copyright (C) 2007-2020 Oracle Corporation
     7 * Copyright (C) 2007-2021 Oracle Corporation
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    3636*   Internal Functions                                                                                                           *
    3737*********************************************************************************************************************************/
    38 BS3TESTMODE_PROTOTYPES_MODE(bs3CpuBasic2_TssGateEsp);
    39 BS3TESTMODE_PROTOTYPES_MODE(bs3CpuBasic2_RaiseXcpt1);
    40 
    41 FNBS3TESTDOMODE             bs3CpuBasic2_sidt_f16;
    42 FNBS3TESTDOMODE             bs3CpuBasic2_sgdt_f16;
    43 FNBS3TESTDOMODE             bs3CpuBasic2_lidt_f16;
    44 FNBS3TESTDOMODE             bs3CpuBasic2_lgdt_f16;
    45 FNBS3TESTDOMODE             bs3CpuBasic2_iret_f16;
    46 
    47 BS3_DECL_CALLBACK(void)     bs3CpuBasic2_Do32BitTests_pe32();
     38FNBS3TESTDOMODE             bs3Timers1_Pit_100Hz_f16;
     39FNBS3TESTDOMODE             bs3Timers1_Pit_1000Hz_f16;
     40FNBS3TESTDOMODE             bs3Timers1_Pit_2000Hz_f16;
     41FNBS3TESTDOMODE             bs3Timers1_Pit_4000Hz_f16;
    4842
    4943
     
    5145*   Global Variables                                                                                                             *
    5246*********************************************************************************************************************************/
    53 static const BS3TESTMODEENTRY g_aModeTest[] =
    54 {
    55     BS3TESTMODEENTRY_MODE("tss / gate / esp", bs3CpuBasic2_TssGateEsp),
    56     //BS3TESTMODEENTRY_MODE("raise xcpt #1", bs3CpuBasic2_RaiseXcpt1), // !long mode is broken!
    57 };
    58 
    5947static const BS3TESTMODEBYONEENTRY g_aModeByOneTests[] =
    6048{
    61     { "iret", bs3CpuBasic2_iret_f16, 0 },
    62     { "sidt", bs3CpuBasic2_sidt_f16, 0 },
    63     { "sgdt", bs3CpuBasic2_sgdt_f16, 0 },
    64     { "lidt", bs3CpuBasic2_lidt_f16, 0 },
    65     { "lgdt", bs3CpuBasic2_lgdt_f16, 0 },
     49    { "pit-100Hz",      bs3Timers1_Pit_100Hz_f16,  BS3TESTMODEBYONEENTRY_F_MINIMAL },
     50    { "pit-1000Hz",     bs3Timers1_Pit_1000Hz_f16, BS3TESTMODEBYONEENTRY_F_MINIMAL },
     51    { "pit-2000Hz",     bs3Timers1_Pit_2000Hz_f16, BS3TESTMODEBYONEENTRY_F_MINIMAL },
     52    { "pit-4000Hz",     bs3Timers1_Pit_4000Hz_f16, BS3TESTMODEBYONEENTRY_F_MINIMAL },
    6653};
    6754
     
    7057{
    7158    Bs3InitAll_rm();
    72     Bs3TestInit("bs3-cpu-basic-2");
    73     Bs3TestPrintf("g_uBs3CpuDetected=%#x\n", g_uBs3CpuDetected);
     59    Bs3TestInit("bs3-timers-1");
    7460
    75     /*
    76      * Do tests driven from 16-bit code.
    77      */
    78     NOREF(g_aModeTest); NOREF(g_aModeByOneTests); /* for when commenting out bits */
    79 #if 1
    80     Bs3TestDoModes_rm(g_aModeTest, RT_ELEMENTS(g_aModeTest));
    8161    Bs3TestDoModesByOne_rm(g_aModeByOneTests, RT_ELEMENTS(g_aModeByOneTests), 0);
    82 #endif
    83 
    84     /*
    85      * Do tests driven from 32-bit code (bs3-cpu-basic-2-32.c32 via assembly).
    86      */
    87     Bs3SwitchTo32BitAndCallC_rm(bs3CpuBasic2_Do32BitTests_pe32, 0);
    8862
    8963    Bs3TestTerm();
    90 for (;;) { ASMHalt(); }
    9164}
    9265
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk

    r83003 r88839  
    184184       bs3-cmn-TestInit.c \
    185185       bs3-cmn-TestFailed.c \
     186        bs3-cmn-TestNow.asm \
    186187       bs3-cmn-TestSkipped.c \
    187188       bs3-cmn-TestSub.c \
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-PitIrqHandler.c

    r82968 r88839  
    4747/** The current interval in milliseconds (approximately).
    4848 * This is 0 if not yet started (used for checking the state internally). */
    49 uint16_t volatile   g_cBs3PitIntervalMs = 0;
     49uint16_t            g_cBs3PitIntervalMs = 0;
    5050/** The current PIT frequency (approximately).  0 if not yet started.  */
    51 uint16_t            g_cBs3PitIntervalHz = 0;
     51uint16_t volatile   g_cBs3PitIntervalHz = 0;
    5252#endif
    5353
     
    5555BS3_DECL_NEAR_CALLBACK(void) BS3_CMN_NM(bs3PitIrqHandler)(PBS3TRAPFRAME pTrapFrame)
    5656{
    57     uint16_t cMsIntercal = g_cBs3PitIntervalMs;
    58     if (cMsIntercal)
     57    if (g_cBs3PitIntervalHz)
    5958    {
    60         g_cBs3PitMs += cMsIntercal;
     59        g_cBs3PitMs += g_cBs3PitIntervalMs;
    6160        g_cBs3PitNs += g_cBs3PitIntervalNs;
    6261        g_cBs3PitTicks++;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-TestNow.asm

    r88775 r88839  
    11; $Id$
    22;; @file
    3 ; BS3Kit - bs3TestSendCmdWithU32.
     3; BS3Kit - Bs3TestNow.
    44;
    55
    66;
    7 ; Copyright (C) 2007-2020 Oracle Corporation
     7; Copyright (C) 2007-2021 Oracle Corporation
    88;
    99; This file is part of VirtualBox Open Source Edition (OSE), as
     
    3232
    3333;;
    34 ; @cproto   BS3_DECL(void) bs3TestSendCmdWithU32_c16(uint32_t uCmd, uint32_t uValue);
     34; @cproto   BS3_DECL(uint64_t) Bs3TestNow(void);
    3535;
    36 BS3_PROC_BEGIN_CMN bs3TestSendCmdWithU32, BS3_PBC_HYBRID
    37         BS3_CALL_CONV_PROLOG 2
     36BS3_PROC_BEGIN_CMN Bs3TestNow, BS3_PBC_HYBRID
     37        BS3_CALL_CONV_PROLOG 0
    3838        push    xBP
    3939        mov     xBP, xSP
    40         push    xAX
    41         push    xDX
    42         push    xSI
     40%if __BITS__ == 16
     41BONLY16 push    sAX
     42%else
     43        push    xCX
     44BONLY64 push    xDX
     45%endif
    4346
    4447        cmp     byte [BS3_DATA16_WRT(g_fbBs3VMMDevTesting)], 0
    4548        je      .no_vmmdev
    4649
    47         ; The command (uCmd) -
    48         mov     dx, VMMDEV_TESTING_IOPORT_CMD
    49 %if TMPL_BITS == 16
    50         mov     ax, [xBP + xCB + cbCurRetAddr] ; We ignore the top bits in 16-bit mode.
    51         out     dx, ax
     50        ; Read the lower timestamp.
     51        mov     dx, VMMDEV_TESTING_IOPORT_TS_LOW
     52        in      eax, dx
     53%if __BITS__ == 16
     54        mov     bx, ax                  ; Save the first word in BX (returned in DX).
     55        shr     eax, 16
     56        mov     cx, ax                  ; The second word is returned in CX.
    5257%else
    53         mov     eax, [xBP + xCB*2]
    54         out     dx, eax
     58        mov     ecx, eax
    5559%endif
    5660
    57 
    58         ; The value (uValue).
    59         mov     dx, VMMDEV_TESTING_IOPORT_DATA
    60 %if TMPL_BITS == 16
    61         mov     ax, [xBP + xCB + cbCurRetAddr + sCB]
    62         out     dx, ax
    63         mov     ax, [xBP + xCB + cbCurRetAddr + sCB + 2]
    64         out     dx, ax
     61        ; Read the high timestamp (latached in above read).
     62        mov     dx, VMMDEV_TESTING_IOPORT_TS_HIGH
     63        in      eax, dx
     64%if __BITS__ == 16
     65        mov     dx, bx                  ; The first word is returned in DX.
     66        mov     bx, ax                  ; The third word is returned in BX.
     67        shr     eax, 16                 ; The fourth word is returned in AX.
     68%elif __BITS__ == 32
     69        mov     edx, eax
     70        mov     eax, eax
    6571%else
    66         mov     eax, [xBP + xCB*2 + sCB]
    67         out     dx, eax
     72        shr     rax, 32
     73        or      rax, rcx
    6874%endif
    6975
     76.return:
     77%if __BITS__ == 16
     78        mov     [bp - sCB], ax          ; Update the AX part of the saved EAX.
     79        pop     sAX
     80%else
     81        pop     xCX
     82BONLY64 pop     xDX
     83%endif
     84        pop     xBP
     85        BS3_CALL_CONV_EPILOG 0
     86        BS3_HYBRID_RET
     87
    7088.no_vmmdev:
    71         pop     xSI
    72         pop     xDX
    73         pop     xAX
    74         pop     xBP
    75         BS3_CALL_CONV_EPILOG 2
    76         BS3_HYBRID_RET
    77 BS3_PROC_END_CMN   bs3TestSendCmdWithU32
     89        ; No fallback, just zero the result.
     90%if __BITS__ == 16
     91        xor     ax, ax
     92        xor     bx, bx
     93        xor     cx, cx
     94        xor     dx, dx
     95%else
     96        xor     eax, eax
     97BONLY32 xor     edx, edx
     98%endif
     99        jmp     .return
     100BS3_PROC_END_CMN   Bs3TestNow
    78101
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-pit.c

    r82968 r88839  
    6565
    6666    /*
     67     * Reset the counters.
     68     */
     69    g_cBs3PitNs         = 0;
     70    g_cBs3PitMs         = 0;
     71    g_cBs3PitTicks      = 0;
     72
     73    /*
    6774     * Calculate an interval.
    6875     */
     
    119126BS3_CMN_DEF(void, Bs3PitDisable,(void))
    120127{
    121     if (g_cBs3PitIntervalMs != 0)
     128    if (g_cBs3PitIntervalHz != 0)
    122129    {
    123130        RTCCUINTREG fSaved = ASMIntDisableFlags();
     
    145152
    146153    /*
    147      * Reset all the values.
     154     * Reset the interval values (leave the ticks and elapsed ns/ms values as-is).
    148155     */
    149     g_cBs3PitNs         = 0;
    150     g_cBs3PitMs         = 0;
    151     g_cBs3PitTicks      = 0;
    152156    g_cBs3PitIntervalNs = 0;
    153157    g_cBs3PitIntervalMs = 0;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-mode-TestDoModesByOne.c

    r82968 r88839  
    103103        bool        fSkipped    = true;
    104104        bool const  fOnlyPaging = RT_BOOL(paEntries[i].fFlags & BS3TESTMODEBYONEENTRY_F_ONLY_PAGING);
     105        bool const  fMinimal    = RT_BOOL(paEntries[i].fFlags & BS3TESTMODEBYONEENTRY_F_MINIMAL);
     106        bool const  fCurDoV86Modes      = fDoV86Modes && !fMinimal;
     107        bool const  fCurDoWeirdV86Modes = fDoWeirdV86Modes && fCurDoV86Modes;
    105108        uint8_t     bErrNo;
    106109        Bs3TestSub(paEntries[i].pszSubTest);
     
    141144         * Unpaged prot mode.
    142145         */
    143         if (!fOnlyPaging)
     146        if (!fOnlyPaging && (!fMinimal || bCpuType < BS3CPU_80386))
    144147        {
    145148            PRE_DO_CALL(g_szBs3ModeName_pe16);
     
    169172        }
    170173
    171         if (fDoWeirdV86Modes && !fOnlyPaging)
     174        if (fCurDoWeirdV86Modes && !fOnlyPaging)
    172175        {
    173176            PRE_DO_CALL(g_szBs3ModeName_pe16_v86);
     
    191194        }
    192195
    193         if (!fOnlyPaging)
     196        if (!fOnlyPaging && !fMinimal)
    194197        {
    195198            PRE_DO_CALL(g_szBs3ModeName_pe32_16);
     
    202205        }
    203206
    204         if (fDoV86Modes && !fOnlyPaging)
     207        if (fCurDoV86Modes && !fOnlyPaging)
    205208        {
    206209            PRE_DO_CALL(g_szBs3ModeName_pev86);
     
    216219         * Paged protected mode.
    217220         */
     221        if (!fMinimal)
     222        {
     223            PRE_DO_CALL(g_szBs3ModeName_pp16);
     224# if ARCH_BITS == 16
     225            bErrNo = TMPL_NM(Bs3TestCallDoerInPP16)(CONV_TO_PROT_FAR16(paEntries[i].pfnWorker));
     226# else
     227            bErrNo = TMPL_NM(Bs3TestCallDoerInPP16)(CONV_TO_PROT_FAR16(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_f16)));
     228# endif
     229            CHECK_RESULT(g_szBs3ModeName_pp16);
     230        }
     231
     232        if (!fMinimal)
     233        {
     234            PRE_DO_CALL(g_szBs3ModeName_pp16_32);
     235# if ARCH_BITS == 32
     236            bErrNo = TMPL_NM(Bs3TestCallDoerInPP16_32)(CONV_TO_FLAT(paEntries[i].pfnWorker), BS3_MODE_PP16_32);
     237# else
     238            bErrNo = TMPL_NM(Bs3TestCallDoerInPP16_32)(CONV_TO_FLAT(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_c32)), BS3_MODE_PP16_32);
     239# endif
     240            CHECK_RESULT(g_szBs3ModeName_pp16_32);
     241        }
     242
     243        if (fCurDoWeirdV86Modes)
     244        {
     245            PRE_DO_CALL(g_szBs3ModeName_pp16_v86);
     246# if ARCH_BITS == 16
     247            bErrNo = TMPL_NM(Bs3TestCallDoerInPP16_V86)(CONV_TO_RM_FAR16(paEntries[i].pfnWorker));
     248# else
     249            bErrNo = TMPL_NM(Bs3TestCallDoerInPP16_V86)(CONV_TO_RM_FAR16(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_f16)));
     250# endif
     251            CHECK_RESULT(g_szBs3ModeName_pp16_v86);
     252        }
     253
    218254        if (true)
    219255        {
    220             PRE_DO_CALL(g_szBs3ModeName_pp16);
    221 # if ARCH_BITS == 16
    222             bErrNo = TMPL_NM(Bs3TestCallDoerInPP16)(CONV_TO_PROT_FAR16(paEntries[i].pfnWorker));
    223 # else
    224             bErrNo = TMPL_NM(Bs3TestCallDoerInPP16)(CONV_TO_PROT_FAR16(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_f16)));
    225 # endif
    226             CHECK_RESULT(g_szBs3ModeName_pp16);
    227         }
    228 
    229         if (true)
    230         {
    231             PRE_DO_CALL(g_szBs3ModeName_pp16_32);
    232 # if ARCH_BITS == 32
    233             bErrNo = TMPL_NM(Bs3TestCallDoerInPP16_32)(CONV_TO_FLAT(paEntries[i].pfnWorker), BS3_MODE_PP16_32);
    234 # else
    235             bErrNo = TMPL_NM(Bs3TestCallDoerInPP16_32)(CONV_TO_FLAT(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_c32)), BS3_MODE_PP16_32);
    236 # endif
    237             CHECK_RESULT(g_szBs3ModeName_pp16_32);
    238         }
    239 
    240         if (fDoWeirdV86Modes)
    241         {
    242             PRE_DO_CALL(g_szBs3ModeName_pp16_v86);
    243 # if ARCH_BITS == 16
    244             bErrNo = TMPL_NM(Bs3TestCallDoerInPP16_V86)(CONV_TO_RM_FAR16(paEntries[i].pfnWorker));
    245 # else
    246             bErrNo = TMPL_NM(Bs3TestCallDoerInPP16_V86)(CONV_TO_RM_FAR16(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_f16)));
    247 # endif
    248             CHECK_RESULT(g_szBs3ModeName_pp16_v86);
    249         }
    250 
    251         if (true)
    252         {
    253256            PRE_DO_CALL(g_szBs3ModeName_pp32);
    254257# if ARCH_BITS == 32
     
    260263        }
    261264
    262         if (true)
     265        if (!fMinimal)
    263266        {
    264267            PRE_DO_CALL(g_szBs3ModeName_pp32_16);
     
    271274        }
    272275
    273         if (fDoV86Modes)
     276        if (fCurDoV86Modes)
    274277        {
    275278            PRE_DO_CALL(g_szBs3ModeName_ppv86);
     
    286289         * Protected mode with PAE paging.
    287290         */
     291        if (!fMinimal)
     292        {
     293            PRE_DO_CALL(g_szBs3ModeName_pae16);
     294# if ARCH_BITS == 16
     295            bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16)(CONV_TO_PROT_FAR16(paEntries[i].pfnWorker));
     296# else
     297            bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16)(CONV_TO_PROT_FAR16(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_f16)));
     298# endif
     299            CHECK_RESULT(g_szBs3ModeName_pae16);
     300        }
     301
     302        if (!fMinimal)
     303        {
     304            PRE_DO_CALL(g_szBs3ModeName_pae16_32);
     305# if ARCH_BITS == 32
     306            bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16_32)(CONV_TO_FLAT(paEntries[i].pfnWorker), BS3_MODE_PAE16_32);
     307# else
     308            bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16_32)(CONV_TO_FLAT(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_c32)), BS3_MODE_PAE16_32);
     309# endif
     310            CHECK_RESULT(g_szBs3ModeName_pae16_32);
     311        }
     312
     313        if (fCurDoWeirdV86Modes)
     314        {
     315            PRE_DO_CALL(g_szBs3ModeName_pae16_v86);
     316# if ARCH_BITS == 16
     317            bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16_V86)(CONV_TO_RM_FAR16(paEntries[i].pfnWorker));
     318# else
     319            bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16_V86)(CONV_TO_RM_FAR16(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_f16)));
     320# endif
     321            CHECK_RESULT(g_szBs3ModeName_pae16_v86);
     322        }
     323
    288324        if (true)
    289325        {
    290             PRE_DO_CALL(g_szBs3ModeName_pae16);
    291 # if ARCH_BITS == 16
    292             bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16)(CONV_TO_PROT_FAR16(paEntries[i].pfnWorker));
    293 # else
    294             bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16)(CONV_TO_PROT_FAR16(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_f16)));
    295 # endif
    296             CHECK_RESULT(g_szBs3ModeName_pae16);
    297         }
    298 
    299         if (true)
    300         {
    301             PRE_DO_CALL(g_szBs3ModeName_pae16_32);
    302 # if ARCH_BITS == 32
    303             bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16_32)(CONV_TO_FLAT(paEntries[i].pfnWorker), BS3_MODE_PAE16_32);
    304 # else
    305             bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16_32)(CONV_TO_FLAT(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_c32)), BS3_MODE_PAE16_32);
    306 # endif
    307             CHECK_RESULT(g_szBs3ModeName_pae16_32);
    308         }
    309 
    310         if (fDoWeirdV86Modes)
    311         {
    312             PRE_DO_CALL(g_szBs3ModeName_pae16_v86);
    313 # if ARCH_BITS == 16
    314             bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16_V86)(CONV_TO_RM_FAR16(paEntries[i].pfnWorker));
    315 # else
    316             bErrNo = TMPL_NM(Bs3TestCallDoerInPAE16_V86)(CONV_TO_RM_FAR16(RT_CONCAT3(Bs3TestCallDoerTo,ARCH_BITS,_f16)));
    317 # endif
    318             CHECK_RESULT(g_szBs3ModeName_pae16_v86);
    319         }
    320 
    321         if (true)
    322         {
    323326            PRE_DO_CALL(g_szBs3ModeName_pae32);
    324327# if ARCH_BITS == 32
     
    330333        }
    331334
    332         if (true)
     335        if (!fMinimal)
    333336        {
    334337            PRE_DO_CALL(g_szBs3ModeName_pae32_16);
     
    341344        }
    342345
    343         if (fDoV86Modes)
     346        if (fCurDoV86Modes)
    344347        {
    345348            PRE_DO_CALL(g_szBs3ModeName_paev86);
     
    364367        }
    365368
    366         if (true)
     369        if (!fMinimal)
    367370        {
    368371            PRE_DO_CALL(g_szBs3ModeName_lm16);
     
    375378        }
    376379
    377         if (true)
     380        if (!fMinimal)
    378381        {
    379382            PRE_DO_CALL(g_szBs3ModeName_lm32);
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-autostubs.kmk

    r82968 r88839  
    7070$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SelFar32ToFlat32)
    7171$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SelProtFar32ToFlat32)
     72$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestNow)
    7273$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapSetDpl)
    7374$(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3MemAlloc)
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-define.h

    r82968 r88839  
    160160#define Bs3TestHostPrintfV BS3_CMN_MANGLER(Bs3TestHostPrintfV)
    161161#define Bs3TestInit BS3_CMN_MANGLER(Bs3TestInit)
     162#define Bs3TestNow BS3_CMN_MANGLER(Bs3TestNow)
    162163#define Bs3TestPrintf BS3_CMN_MANGLER(Bs3TestPrintf)
    163164#define Bs3TestPrintfV BS3_CMN_MANGLER(Bs3TestPrintfV)
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-undef.h

    r82968 r88839  
    160160#undef Bs3TestHostPrintfV
    161161#undef Bs3TestInit
     162#undef Bs3TestNow
    162163#undef Bs3TestPrintf
    163164#undef Bs3TestPrintfV
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h

    r85609 r88839  
    24592459BS3_CMN_PROTO_STUB(void, Bs3PitDisable,(void));
    24602460
    2461 /** Nano seconds (approx) since last the PIT timer was started. */
     2461/** Nanoseconds (approx) since last the PIT timer was started. */
    24622462extern uint64_t volatile    g_cBs3PitNs;
    24632463/** Milliseconds seconds (very approx) since last the PIT timer was started. */
     
    24652465/** Number of ticks since last the PIT timer was started.  */
    24662466extern uint32_t volatile    g_cBs3PitTicks;
    2467 /** The current interval in nanon seconds.  */
     2467/** The current interval in nanoseconds.
     2468 * This is 0 if not yet started (cleared by Bs3PitDisable). */
    24682469extern uint32_t             g_cBs3PitIntervalNs;
    24692470/** The current interval in milliseconds (approximately).
    2470  * This is 0 if not yet started (used for checking the state internally). */
    2471 extern uint16_t volatile    g_cBs3PitIntervalMs;
    2472 /** The current PIT frequency (approximately).  0 if not yet started.  */
    2473 extern uint16_t             g_cBs3PitIntervalHz;
     2471 * This is 0 if not yet started (cleared by Bs3PitDisable). */
     2472extern uint16_t             g_cBs3PitIntervalMs;
     2473/** The current PIT frequency (approximately).
     2474 * 0 if not yet started (cleared by Bs3PitDisable; used for checking the
     2475 * state internally). */
     2476extern uint16_t volatile    g_cBs3PitIntervalHz;
    24742477
    24752478
     
    32053208
    32063209/**
     3210 * Get nanosecond host timestamp.
     3211 *
     3212 * This only works when testing is enabled and will not work in VMs configured
     3213 * with a 286, 186 or 8086/8088 CPU profile.
     3214 */
     3215BS3_CMN_PROTO_STUB(uint64_t, Bs3TestNow,(void));
     3216
     3217/**
    32073218 * Equivalent to RTTestIPrintf with RTTESTLVL_ALWAYS.
    32083219 *
     
    36593670/** Only test modes that has paging enabled. */
    36603671#define BS3TESTMODEBYONEENTRY_F_ONLY_PAGING     RT_BIT_32(0)
     3672/** Minimal mode selection. */
     3673#define BS3TESTMODEBYONEENTRY_F_MINIMAL         RT_BIT_32(1)
    36613674/** @} */
    36623675
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette