VirtualBox

Ignore:
Timestamp:
Mar 28, 2016 12:15:04 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
106251
Message:

bs3kit: Changed the value of BS3_MODE_CODE_V86 from 3 to 8 so each of the 4 code modes have their own individual bit. This enables simple TEST instructions without first masking using BS3_MODE_CODE_MASK.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h

    r60216 r60217  
    7373#define BS3_MODE_PE16       UINT8_C(0x11)  /**< 16-bit protected mode kernel+tss, running 16-bit code, unpaged. */
    7474#define BS3_MODE_PE16_32    UINT8_C(0x12)  /**< 16-bit protected mode kernel+tss, running 32-bit code, unpaged. */
    75 #define BS3_MODE_PE16_V86   UINT8_C(0x13)  /**< 16-bit protected mode kernel+tss, running virtual 8086 mode code, unpaged. */
     75#define BS3_MODE_PE16_V86   UINT8_C(0x18)  /**< 16-bit protected mode kernel+tss, running virtual 8086 mode code, unpaged. */
    7676#define BS3_MODE_PE32       UINT8_C(0x22)  /**< 32-bit protected mode kernel+tss, running 32-bit code, unpaged. */
    7777#define BS3_MODE_PE32_16    UINT8_C(0x21)  /**< 32-bit protected mode kernel+tss, running 16-bit code, unpaged. */
    78 #define BS3_MODE_PEV86      UINT8_C(0x23)  /**< 32-bit protected mode kernel+tss, running virtual 8086 mode code, unpaged. */
     78#define BS3_MODE_PEV86      UINT8_C(0x28)  /**< 32-bit protected mode kernel+tss, running virtual 8086 mode code, unpaged. */
    7979#define BS3_MODE_PP16       UINT8_C(0x31)  /**< 16-bit protected mode kernel+tss, running 16-bit code, paged. */
    8080#define BS3_MODE_PP16_32    UINT8_C(0x32)  /**< 16-bit protected mode kernel+tss, running 32-bit code, paged. */
    81 #define BS3_MODE_PP16_V86   UINT8_C(0x33)  /**< 16-bit protected mode kernel+tss, running virtual 8086 mode code, paged. */
     81#define BS3_MODE_PP16_V86   UINT8_C(0x38)  /**< 16-bit protected mode kernel+tss, running virtual 8086 mode code, paged. */
    8282#define BS3_MODE_PP32       UINT8_C(0x42)  /**< 32-bit protected mode kernel+tss, running 32-bit code, paged. */
    8383#define BS3_MODE_PP32_16    UINT8_C(0x41)  /**< 32-bit protected mode kernel+tss, running 16-bit code, paged. */
    84 #define BS3_MODE_PPV86      UINT8_C(0x43)  /**< 32-bit protected mode kernel+tss, running virtual 8086 mode code, paged. */
     84#define BS3_MODE_PPV86      UINT8_C(0x48)  /**< 32-bit protected mode kernel+tss, running virtual 8086 mode code, paged. */
    8585#define BS3_MODE_PAE16      UINT8_C(0x51)  /**< 16-bit protected mode kernel+tss, running 16-bit code, PAE paging. */
    8686#define BS3_MODE_PAE16_32   UINT8_C(0x52)  /**< 16-bit protected mode kernel+tss, running 32-bit code, PAE paging. */
    87 #define BS3_MODE_PAE16_V86  UINT8_C(0x53)  /**< 16-bit protected mode kernel+tss, running virtual 8086 mode, PAE paging. */
     87#define BS3_MODE_PAE16_V86  UINT8_C(0x58)  /**< 16-bit protected mode kernel+tss, running virtual 8086 mode, PAE paging. */
    8888#define BS3_MODE_PAE32      UINT8_C(0x62)  /**< 32-bit protected mode kernel+tss, running 32-bit code, PAE paging. */
    8989#define BS3_MODE_PAE32_16   UINT8_C(0x61)  /**< 32-bit protected mode kernel+tss, running 16-bit code, PAE paging. */
    90 #define BS3_MODE_PAEV86     UINT8_C(0x63)  /**< 32-bit protected mode kernel+tss, running virtual 8086 mode, PAE paging. */
     90#define BS3_MODE_PAEV86     UINT8_C(0x68)  /**< 32-bit protected mode kernel+tss, running virtual 8086 mode, PAE paging. */
    9191#define BS3_MODE_LM16       UINT8_C(0x71)  /**< 16-bit long mode (paged), kernel+tss always 64-bit. */
    9292#define BS3_MODE_LM32       UINT8_C(0x72)  /**< 32-bit long mode (paged), kernel+tss always 64-bit. */
     
    9696#define BS3_MODE_CODE_16    UINT8_C(0x01)  /**< Running 16-bit code. */
    9797#define BS3_MODE_CODE_32    UINT8_C(0x02)  /**< Running 32-bit code. */
    98 #define BS3_MODE_CODE_V86   UINT8_C(0x03)  /**< Running 16-bit virtual 8086 code. */
    9998#define BS3_MODE_CODE_64    UINT8_C(0x04)  /**< Running 64-bit code. */
     99#define BS3_MODE_CODE_V86   UINT8_C(0x08)  /**< Running 16-bit virtual 8086 code. */
    100100
    101101#define BS3_MODE_SYS_MASK   UINT8_C(0xf0)  /**< kernel+tss mask. */
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.mac

    r60216 r60217  
    756756%define BS3_MODE_PE16       011h    ;;< 16-bit protected mode kernel+tss, running 16-bit code, unpaged.
    757757%define BS3_MODE_PE16_32    012h    ;;< 16-bit protected mode kernel+tss, running 32-bit code, unpaged.
    758 %define BS3_MODE_PE16_V86   013h    ;;< 16-bit protected mode kernel+tss, running virtual 8086 mode code, unpaged.
     758%define BS3_MODE_PE16_V86   018h    ;;< 16-bit protected mode kernel+tss, running virtual 8086 mode code, unpaged.
    759759%define BS3_MODE_PE32       022h    ;;< 32-bit protected mode kernel+tss, running 32-bit code, unpaged.
    760760%define BS3_MODE_PE32_16    021h    ;;< 32-bit protected mode kernel+tss, running 16-bit code, unpaged.
    761 %define BS3_MODE_PEV86      023h    ;;< 32-bit protected mode kernel+tss, running virtual 8086 mode code, unpaged.
     761%define BS3_MODE_PEV86      028h    ;;< 32-bit protected mode kernel+tss, running virtual 8086 mode code, unpaged.
    762762%define BS3_MODE_PP16       031h    ;;< 16-bit protected mode kernel+tss, running 16-bit code, paged.
    763763%define BS3_MODE_PP16_32    032h    ;;< 16-bit protected mode kernel+tss, running 32-bit code, paged.
    764 %define BS3_MODE_PP16_V86   033h    ;;< 16-bit protected mode kernel+tss, running virtual 8086 mode code, paged.
     764%define BS3_MODE_PP16_V86   038h    ;;< 16-bit protected mode kernel+tss, running virtual 8086 mode code, paged.
    765765%define BS3_MODE_PP32       042h    ;;< 32-bit protected mode kernel+tss, running 32-bit code, paged.
    766766%define BS3_MODE_PP32_16    041h    ;;< 32-bit protected mode kernel+tss, running 16-bit code, paged.
    767 %define BS3_MODE_PPV86      043h    ;;< 32-bit protected mode kernel+tss, running virtual 8086 mode code, paged.
     767%define BS3_MODE_PPV86      048h    ;;< 32-bit protected mode kernel+tss, running virtual 8086 mode code, paged.
    768768%define BS3_MODE_PAE16      051h    ;;< 16-bit protected mode kernel+tss, running 16-bit code, PAE paging.
    769769%define BS3_MODE_PAE16_32   052h    ;;< 16-bit protected mode kernel+tss, running 32-bit code, PAE paging.
    770 %define BS3_MODE_PAE16_V86  053h    ;;< 16-bit protected mode kernel+tss, running virtual 8086 mode, PAE paging.
     770%define BS3_MODE_PAE16_V86  058h    ;;< 16-bit protected mode kernel+tss, running virtual 8086 mode, PAE paging.
    771771%define BS3_MODE_PAE32      062h    ;;< 32-bit protected mode kernel+tss, running 32-bit code, PAE paging.
    772772%define BS3_MODE_PAE32_16   061h    ;;< 32-bit protected mode kernel+tss, running 16-bit code, PAE paging.
    773 %define BS3_MODE_PAEV86     063h    ;;< 32-bit protected mode kernel+tss, running virtual 8086 mode, PAE paging.
     773%define BS3_MODE_PAEV86     068h    ;;< 32-bit protected mode kernel+tss, running virtual 8086 mode, PAE paging.
    774774%define BS3_MODE_LM16       071h    ;;< 16-bit long mode (paged), kernel+tss always 64-bit.
    775775%define BS3_MODE_LM32       072h    ;;< 32-bit long mode (paged), kernel+tss always 64-bit.
     
    779779%define BS3_MODE_CODE_16    001h    ;;< Running 16-bit code.
    780780%define BS3_MODE_CODE_32    002h    ;;< Running 32-bit code.
    781 %define BS3_MODE_CODE_V86   003h    ;;< Running 16-bit virtual 8086 code.
    782781%define BS3_MODE_CODE_64    004h    ;;< Running 64-bit code.
     782%define BS3_MODE_CODE_V86   008h    ;;< Running 16-bit virtual 8086 code.
    783783
    784784%define BS3_MODE_SYS_MASK   0f0h    ;;< kernel+tss mask.
     
    832832%define BS3_MODE_NM_011h(a_Name)        _ %+ a_Name %+ _pe16
    833833%define BS3_MODE_NM_012h(a_Name)        _ %+ a_Name %+ _pe16_32
    834 %define BS3_MODE_NM_013h(a_Name)        _ %+ a_Name %+ _pe16_v86
     834%define BS3_MODE_NM_018h(a_Name)        _ %+ a_Name %+ _pe16_v86
    835835%define BS3_MODE_NM_022h(a_Name)        _ %+ a_Name %+ _pe32
    836836%define BS3_MODE_NM_021h(a_Name)        _ %+ a_Name %+ _pe32_16
    837 %define BS3_MODE_NM_023h(a_Name)        _ %+ a_Name %+ _pev86
     837%define BS3_MODE_NM_028h(a_Name)        _ %+ a_Name %+ _pev86
    838838%define BS3_MODE_NM_031h(a_Name)        _ %+ a_Name %+ _pp16
    839839%define BS3_MODE_NM_032h(a_Name)        _ %+ a_Name %+ _pp16_32
    840 %define BS3_MODE_NM_033h(a_Name)        _ %+ a_Name %+ _pp16_v86
     840%define BS3_MODE_NM_038h(a_Name)        _ %+ a_Name %+ _pp16_v86
    841841%define BS3_MODE_NM_042h(a_Name)        _ %+ a_Name %+ _pp32
    842842%define BS3_MODE_NM_041h(a_Name)        _ %+ a_Name %+ _pp32_16
    843 %define BS3_MODE_NM_043h(a_Name)        _ %+ a_Name %+ _ppv86
     843%define BS3_MODE_NM_048h(a_Name)        _ %+ a_Name %+ _ppv86
    844844%define BS3_MODE_NM_051h(a_Name)        _ %+ a_Name %+ _pae16
    845845%define BS3_MODE_NM_052h(a_Name)        _ %+ a_Name %+ _pae16_32
    846 %define BS3_MODE_NM_053h(a_Name)        _ %+ a_Name %+ _pae16_v86
     846%define BS3_MODE_NM_058h(a_Name)        _ %+ a_Name %+ _pae16_v86
    847847%define BS3_MODE_NM_062h(a_Name)        _ %+ a_Name %+ _pae32
    848848%define BS3_MODE_NM_061h(a_Name)        _ %+ a_Name %+ _pae32_16
    849 %define BS3_MODE_NM_063h(a_Name)        _ %+ a_Name %+ _paev86
     849%define BS3_MODE_NM_068h(a_Name)        _ %+ a_Name %+ _paev86
    850850%define BS3_MODE_NM_071h(a_Name)        _ %+ a_Name %+ _lm16
    851851%define BS3_MODE_NM_072h(a_Name)        _ %+ a_Name %+ _lm32
     
    855855%define BS3_MODE_LNAME_011h             pe16
    856856%define BS3_MODE_LNAME_012h             pe16_32
    857 %define BS3_MODE_LNAME_013h             pe16_v86
     857%define BS3_MODE_LNAME_018h             pe16_v86
    858858%define BS3_MODE_LNAME_022h             pe32
    859859%define BS3_MODE_LNAME_021h             pe32_16
    860 %define BS3_MODE_LNAME_023h             pev86
     860%define BS3_MODE_LNAME_028h             pev86
    861861%define BS3_MODE_LNAME_031h             pp16
    862862%define BS3_MODE_LNAME_032h             pp16_32
    863 %define BS3_MODE_LNAME_033h             pp16_v86
     863%define BS3_MODE_LNAME_038h             pp16_v86
    864864%define BS3_MODE_LNAME_042h             pp32
    865865%define BS3_MODE_LNAME_041h             pp32_16
    866 %define BS3_MODE_LNAME_043h             ppv86
     866%define BS3_MODE_LNAME_048h             ppv86
    867867%define BS3_MODE_LNAME_051h             pae16
    868868%define BS3_MODE_LNAME_052h             pae16_32
    869 %define BS3_MODE_LNAME_053h             pae16_v86
     869%define BS3_MODE_LNAME_058h             pae16_v86
    870870%define BS3_MODE_LNAME_062h             pae32
    871871%define BS3_MODE_LNAME_061h             pae32_16
    872 %define BS3_MODE_LNAME_063h             paev86
     872%define BS3_MODE_LNAME_068h             paev86
    873873%define BS3_MODE_LNAME_071h             lm16
    874874%define BS3_MODE_LNAME_072h             lm32
     
    878878%define BS3_MODE_UNAME_011h             PE16
    879879%define BS3_MODE_UNAME_012h             PE16_32
    880 %define BS3_MODE_UNAME_013h             PE16_V86
     880%define BS3_MODE_UNAME_018h             PE16_V86
    881881%define BS3_MODE_UNAME_022h             PE32
    882882%define BS3_MODE_UNAME_021h             PE32_16
    883 %define BS3_MODE_UNAME_023h             PEV86
     883%define BS3_MODE_UNAME_028h             PEV86
    884884%define BS3_MODE_UNAME_031h             PP16
    885885%define BS3_MODE_UNAME_032h             PP16_32
    886 %define BS3_MODE_UNAME_033h             PP16_V86
     886%define BS3_MODE_UNAME_038h             PP16_V86
    887887%define BS3_MODE_UNAME_042h             PP32
    888888%define BS3_MODE_UNAME_041h             PP32_16
    889 %define BS3_MODE_UNAME_043h             PPV86
     889%define BS3_MODE_UNAME_048h             PPV86
    890890%define BS3_MODE_UNAME_051h             PAE16
    891891%define BS3_MODE_UNAME_052h             PAE16_32
    892 %define BS3_MODE_UNAME_053h             PAE16_V86
     892%define BS3_MODE_UNAME_058h             PAE16_V86
    893893%define BS3_MODE_UNAME_062h             PAE32
    894894%define BS3_MODE_UNAME_061h             PAE32_16
    895 %define BS3_MODE_UNAME_063h             PAEV86
     895%define BS3_MODE_UNAME_068h             PAEV86
    896896%define BS3_MODE_UNAME_071h             LM16
    897897%define BS3_MODE_UNAME_072h             LM32
     
    901901%define BS3_MODE_UNDERSCORE_011h        _
    902902%define BS3_MODE_UNDERSCORE_012h        _
    903 %define BS3_MODE_UNDERSCORE_013h        _
     903%define BS3_MODE_UNDERSCORE_018h        _
    904904%define BS3_MODE_UNDERSCORE_022h        _
    905905%define BS3_MODE_UNDERSCORE_021h        _
    906 %define BS3_MODE_UNDERSCORE_023h        _
     906%define BS3_MODE_UNDERSCORE_028h        _
    907907%define BS3_MODE_UNDERSCORE_031h        _
    908908%define BS3_MODE_UNDERSCORE_032h        _
    909 %define BS3_MODE_UNDERSCORE_033h        _
     909%define BS3_MODE_UNDERSCORE_038h        _
    910910%define BS3_MODE_UNDERSCORE_042h        _
    911911%define BS3_MODE_UNDERSCORE_041h        _
    912 %define BS3_MODE_UNDERSCORE_043h        _
     912%define BS3_MODE_UNDERSCORE_048h        _
    913913%define BS3_MODE_UNDERSCORE_051h        _
    914914%define BS3_MODE_UNDERSCORE_052h        _
    915 %define BS3_MODE_UNDERSCORE_053h        _
     915%define BS3_MODE_UNDERSCORE_058h        _
    916916%define BS3_MODE_UNDERSCORE_062h        _
    917917%define BS3_MODE_UNDERSCORE_061h        _
    918 %define BS3_MODE_UNDERSCORE_063h        _
     918%define BS3_MODE_UNDERSCORE_068h        _
    919919%define BS3_MODE_UNDERSCORE_071h        _
    920920%define BS3_MODE_UNDERSCORE_072h        _
     
    924924%define BS3_MODE_CNAME_011h             c16
    925925%define BS3_MODE_CNAME_012h             c32
    926 %define BS3_MODE_CNAME_013h             c16
     926%define BS3_MODE_CNAME_018h             c16
    927927%define BS3_MODE_CNAME_022h             c32
    928928%define BS3_MODE_CNAME_021h             c16
    929 %define BS3_MODE_CNAME_023h             c16
     929%define BS3_MODE_CNAME_028h             c16
    930930%define BS3_MODE_CNAME_031h             c16
    931931%define BS3_MODE_CNAME_032h             c32
    932 %define BS3_MODE_CNAME_033h             c16
     932%define BS3_MODE_CNAME_038h             c16
    933933%define BS3_MODE_CNAME_042h             c32
    934934%define BS3_MODE_CNAME_041h             c16
    935 %define BS3_MODE_CNAME_043h             c16
     935%define BS3_MODE_CNAME_048h             c16
    936936%define BS3_MODE_CNAME_051h             c16
    937937%define BS3_MODE_CNAME_052h             c32
    938 %define BS3_MODE_CNAME_053h             c16
     938%define BS3_MODE_CNAME_058h             c16
    939939%define BS3_MODE_CNAME_062h             c32
    940940%define BS3_MODE_CNAME_061h             c16
    941 %define BS3_MODE_CNAME_063h             c16
     941%define BS3_MODE_CNAME_068h             c16
    942942%define BS3_MODE_CNAME_071h             c16
    943943%define BS3_MODE_CNAME_072h             c32
     
    950950%define BS3_MODE_R0_NM_011h(a_Name)     _ %+ a_Name %+ _pe16
    951951%define BS3_MODE_R0_NM_012h(a_Name)     _ %+ a_Name %+ _pe16_32
    952 %define BS3_MODE_R0_NM_013h(a_Name)     _ %+ a_Name %+ _pe16
     952%define BS3_MODE_R0_NM_018h(a_Name)     _ %+ a_Name %+ _pe16
    953953%define BS3_MODE_R0_NM_022h(a_Name)     _ %+ a_Name %+ _pe32
    954954%define BS3_MODE_R0_NM_021h(a_Name)     _ %+ a_Name %+ _pe32_16
    955 %define BS3_MODE_R0_NM_023h(a_Name)     _ %+ a_Name %+ _pe32_16
     955%define BS3_MODE_R0_NM_028h(a_Name)     _ %+ a_Name %+ _pe32_16
    956956%define BS3_MODE_R0_NM_031h(a_Name)     _ %+ a_Name %+ _pp16
    957957%define BS3_MODE_R0_NM_032h(a_Name)     _ %+ a_Name %+ _pp16_32
    958 %define BS3_MODE_R0_NM_033h(a_Name)     _ %+ a_Name %+ _pp16
     958%define BS3_MODE_R0_NM_038h(a_Name)     _ %+ a_Name %+ _pp16
    959959%define BS3_MODE_R0_NM_042h(a_Name)     _ %+ a_Name %+ _pp32
    960960%define BS3_MODE_R0_NM_041h(a_Name)     _ %+ a_Name %+ _pp32_16
    961 %define BS3_MODE_R0_NM_043h(a_Name)     _ %+ a_Name %+ _pp32_16
     961%define BS3_MODE_R0_NM_048h(a_Name)     _ %+ a_Name %+ _pp32_16
    962962%define BS3_MODE_R0_NM_051h(a_Name)     _ %+ a_Name %+ _pae16
    963963%define BS3_MODE_R0_NM_052h(a_Name)     _ %+ a_Name %+ _pae16_32
    964 %define BS3_MODE_R0_NM_053h(a_Name)     _ %+ a_Name %+ _pae16
     964%define BS3_MODE_R0_NM_058h(a_Name)     _ %+ a_Name %+ _pae16
    965965%define BS3_MODE_R0_NM_062h(a_Name)     _ %+ a_Name %+ _pae32
    966966%define BS3_MODE_R0_NM_061h(a_Name)     _ %+ a_Name %+ _pae32_16
    967 %define BS3_MODE_R0_NM_063h(a_Name)     _ %+ a_Name %+ _pae32_16
     967%define BS3_MODE_R0_NM_068h(a_Name)     _ %+ a_Name %+ _pae32_16
    968968%define BS3_MODE_R0_NM_071h(a_Name)     _ %+ a_Name %+ _lm16
    969969%define BS3_MODE_R0_NM_072h(a_Name)     _ %+ a_Name %+ _lm32
Note: See TracChangeset for help on using the changeset viewer.

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