VirtualBox

Changeset 97628 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Nov 21, 2022 2:01:50 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
154674
Message:

ValKit/bs3kit.h: Added macros for identifying standard CS, DS and SS selectors. bugref:9898

File:
1 edited

Legend:

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

    r97624 r97628  
    524524
    525525#define BS3_SEL_GDT_LIMIT           0x3fd8 /**< The GDT limit. */
     526/** @} */
     527
     528/** @name BS3_SEL_IS_XXX - Predicates for standard selectors.
     529 *
     530 * Standard selectors are in the range BS3_SEL_R0_FIRST thru BS3_SEL_R3_LAST.
     531 *
     532 * @{ */
     533#define BS3_SEL_IS_CS16(a_uSel)     (((a_uSel) & 0xf8) == 0x00)
     534#define BS3_SEL_IS_CS32(a_uSel)     (((a_uSel) & 0xf8) == 0x18)
     535#define BS3_SEL_IS_CS64(a_uSel)     (((a_uSel) & 0xf8) == 0x30)
     536
     537#define BS3_SEL_IS_ANY_CS16(a_uSel) (   ((a_uSel) & 0xf8) == 0x00 \
     538                                     || ((a_uSel) & 0xf8) == 0x40 \
     539                                     || ((a_uSel) & 0xf8) == 0x48 \
     540                                     || ((a_uSel) & 0xf8) == 0x50 )
     541#define BS3_SEL_IS_ANY_CS32(a_uSel) (   ((a_uSel) & 0xf8) == 0x18 \
     542                                     || ((a_uSel) & 0xf8) == 0x58 \
     543                                     || ((a_uSel) & 0xf8) == 0x60 \
     544                                     || ((a_uSel) & 0xf8) == 0x68 )
     545#define BS3_SEL_IS_ANY_CS64(a_uSel) (   ((a_uSel) & 0xf8) == 0x18 \
     546                                     || ((a_uSel) & 0xf8) == 0x58 \
     547                                     || ((a_uSel) & 0xf8) == 0x60 \
     548                                     || ((a_uSel) & 0xf8) == 0x68 )
     549
     550#define BS3_SEL_IS_DS16(a_uSel)     (((a_uSel) & 0xf8) == 0x08)
     551#define BS3_SEL_IS_DS32(a_uSel)     (((a_uSel) & 0xf8) == 0x20)
     552#define BS3_SEL_IS_DS64(a_uSel)     (((a_uSel) & 0xf8) == 0x38)
     553
     554#define BS3_SEL_IS_SS16(a_uSel)     (((a_uSel) & 0xf8) == 0x10)
     555#define BS3_SEL_IS_SS32(a_uSel)     (((a_uSel) & 0xf8) == 0x28)
    526556/** @} */
    527557
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