VirtualBox

Ignore:
Timestamp:
Apr 20, 2016 11:39:40 AM (9 years ago)
Author:
vboxsync
Message:

bs3kit: switched the default 16-bit model from compact (small code, far data) to large (far code, far data) so we won't die when using compiler intrinsics outside CGROUP16.

Location:
trunk/src/VBox/ValidationKit/bootsectors/bs3kit
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-system-data.asm

    r60557 r60595  
    390390
    391391        ;
    392         ; 1000h - the real mode segment number for BS3TEXT16. DPL=0. BASE=0x10000h
     392        ; 1000h - the real mode segment number for BS3TEXT16. DPL=0, BASE=0x10000h, conforming, exec, read.
    393393        ;
    394394BS3GdtAssertOffset 01000h
    395395BS3_GLOBAL_DATA Bs3Gdte_CODE16, 8h
    396         dw  0ffffh, 00000h, 09b01h, 00000h
     396        dw  0ffffh, 00000h, 09f01h, 00000h
    397397
    398398        ;
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-wc16-I4D.asm

    r58809 r60595  
    6363        shr     edx, 10h
    6464
     65%ifdef ASM_MODEL_FAR_CODE
     66        retf
     67%else
    6568        ret
     69%endif
    6670
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-wc16-I8DQ.asm

    r58809 r60595  
    4444        push    ss
    4545        pop     es
     46%ifdef ASM_MODEL_FAR_CODE
     47        push    cs
     48%endif
    4649        call    $_?I8DQE
    4750        pop     es
     51%ifdef ASM_MODEL_FAR_CODE
     52        retf
     53%else
    4854        ret
     55%endif
    4956
    5057;;
     
    97104        pop     es
    98105        pop     ds
     106%ifdef ASM_MODEL_FAR_CODE
     107        retf
     108%else
    99109        ret
     110%endif
    100111
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-wc16-I8DR.asm

    r58809 r60595  
    4444        push    ss
    4545        pop     es
     46%ifdef ASM_MODEL_FAR_CODE
     47        push    cs
     48%endif
    4649        call    $_?I8DRE
    4750        pop     es
     51%ifdef ASM_MODEL_FAR_CODE
     52        retf
     53%else
    4854        ret
     55%endif
    4956
    5057;;
     
    97104        pop     es
    98105        pop     ds
     106%ifdef ASM_MODEL_FAR_CODE
     107        retf
     108%else
    99109        ret
     110%endif
    100111
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-wc16-I8RS.asm

    r58809 r60595  
    6161.return:
    6262        pop     si
     63%ifdef ASM_MODEL_FAR_CODE
     64        retf
     65%else
    6366        ret
     67%endif
    6468
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-wc16-U4D.asm

    r60485 r60595  
    103103
    104104%endif
     105%ifdef ASM_MODEL_FAR_CODE
     106        retf
     107%else
    105108        ret
     109%endif
    106110
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-wc16-U8DQ.asm

    r60485 r60595  
    4444        push    ss
    4545        pop     es
     46%ifdef BS3_MODEL_FAR_CODE
     47        push    cs
     48%endif
    4649        call    $_?U8DQE
    4750        pop     es
     51%ifdef BS3_MODEL_FAR_CODE
     52        retf
     53%else
    4854        ret
     55%endif
    4956
    5057;;
     
    100107        pop     es
    101108        pop     ds
     109%ifdef ASM_MODEL_FAR_CODE
     110        retf
     111%else
    102112        ret
     113%endif
    103114
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-wc16-U8DR.asm

    r60485 r60595  
    4444        push    ss
    4545        pop     es
     46%ifdef ASM_MODEL_FAR_CODE
     47        push    cs
     48%endif
    4649        call    $_?U8DRE
    4750        pop     es
     51%ifdef ASM_MODEL_FAR_CODE
     52        retf
     53%else
    4854        ret
     55%endif
    4956
    5057;;
     
    100107        pop     es
    101108        pop     ds
     109%ifdef ASM_MODEL_FAR_CODE
     110        retf
     111%else
    102112        ret
     113%endif
    103114
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-wc16-U8LS.asm

    r58809 r60595  
    6363.return:
    6464        pop     si
     65%ifdef ASM_MODEL_FAR_CODE
     66        retf
     67%else
    6568        ret
     69%endif
    6670
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-wc16-U8RS.asm

    r58809 r60595  
    6161.return:
    6262        pop     si
     63%ifdef ASM_MODEL_FAR_CODE
     64        retf
     65%else
    6366        ret
     67%endif
    6468
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h

    r60585 r60595  
    5050
    5151/** @def BS3_USE_ALT_16BIT_TEXT_SEG
     52 * @addtogroup grp_bs3kit
    5253 * Combines the BS3_USE_RM_TEXT_SEG,  BS3_USE_X0_TEXT_SEG, and
    53  * BS3_USE_X1_TEXT_SEG indicators into a single one. */
     54 * BS3_USE_X1_TEXT_SEG indicators into a single one.
     55 */
    5456#if defined(BS3_USE_RM_TEXT_SEG) || defined(BS3_USE_X0_TEXT_SEG) || defined(BS3_USE_X1_TEXT_SEG)
    5557# define BS3_USE_ALT_16BIT_TEXT_SEG
     
    5759# undef  BS3_USE_ALT_16BIT_TEXT_SEG
    5860#endif
     61
     62/** @def BS3_MODEL_FAR_CODE
     63 * @addtogroup grp_bs3kit
     64 * Default compiler model indicates far code.
     65 */
     66#ifdef DOXYGEN_RUNNING
     67# define BS3_MODEL_FAR_CODE
     68#elif !defined(BS3_MODEL_FAR_CODE) && (defined(__LARGE__) || defined(__MEDIUM__) || defined(__HUGE__)) && ARCH_BITS == 16
     69# define BS3_MODEL_FAR_CODE
     70#endif
     71
    5972
    6073/*
     
    6477 * declarations before we can define it. Thus the duplciate effort.)
    6578 */
    66 #if ARCH_BITS != 16 || !defined(BS3_USE_ALT_16BIT_TEXT_SEG)
    67 # define RT_MANGLER(a_Name) RT_CONCAT3(a_Name,_c,ARCH_BITS)
     79#if ARCH_BITS == 16
     80# undef RTCALL
     81# if defined(BS3_USE_ALT_16BIT_TEXT_SEG)
     82#  define RTCALL __cdecl __far
     83#  define RT_MANGLER(a_Name) RT_CONCAT(a_Name,_f16)
     84# else
     85#  define RTCALL __cdecl __near
     86#  define RT_MANGLER(a_Name) RT_CONCAT(a_Name,_c16)
     87# endif
    6888#else
    69 # define RT_MANGLER(a_Name) RT_CONCAT(a_Name,_f16)
    70 # undef RTCALL
    71 # define RTCALL __cdecl __far
     89# define RT_MANGLER(a_Name)  RT_CONCAT3(a_Name,_c,ARCH_BITS)
    7290#endif
    7391#include <iprt/mangling.h>
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