VirtualBox

Changeset 9223 in vbox for trunk/include/iprt


Ignore:
Timestamp:
May 29, 2008 1:47:32 PM (17 years ago)
Author:
vboxsync
Message:

Introduced RTRCPTR type. Raw mode context pointer aka 32 guest context pointer.

Location:
trunk/include/iprt
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/asmdefs.mac

    r9212 r9223  
    449449
    450450
     451;; @def RTRCPTR_DEF
     452; The pesudo-instruction used to declare an initialized pointer variable in the raw mode context.
     453%define RTRCPTR_DEF    dd
     454
     455;; @def RTRCPTR_RES
     456; The pesudo-instruction used to declare (=reserve space for) an uninitialized pointer
     457; variable of the raw mode context.
     458%define RTRCPTR_RES    resd
     459
     460;; @def RTRCPTR_PRE
     461; The memory operand prefix used for a pointer in the raw mode context.
     462%define RTRCPTR_PRE    dword
     463
     464;; @def RTRCPTR_CB
     465; The size in bytes of a pointer in the raw mode context.
     466%define RTRCPTR_CB     4
     467
    451468
    452469;; @def RT_CCPTR_DEF
     
    464481
    465482%ifdef IN_GC
    466  %define RTCCPTR_DEF        RTGCPTR_DEF
    467  %define RTCCPTR_RES        RTGCPTR_RES
    468  %define RTCCPTR_PRE        RTGCPTR_PRE
    469  %define RTCCPTR_CB         RTGCPTR_CB
     483 %define RTCCPTR_DEF        RTRCPTR_DEF
     484 %define RTCCPTR_RES        RTRCPTR_RES
     485 %define RTCCPTR_PRE        RTRCPTR_PRE
     486 %define RTCCPTR_CB         RTRCPTR_CB
    470487%else
    471488 %ifdef IN_RING0
  • trunk/include/iprt/cdefs.h

    r9212 r9223  
    237237
    238238/** @def RCPTRTYPE
    239  * Declare a pointer which is used in GC but appears in structure(s) used by
    240  * both HC and GC. The main purpose is to make sure structures have the same
     239 * Declare a pointer which is used in the raw mode context but appears in structure(s) used by
     240 * both HC and RC. The main purpose is to make sure structures have the same
    241241 * size when built for different architectures.
    242242 *
    243  * @param   GCType  The GC type.
    244  */
    245 #define RCPTRTYPE(GCType)       CTXTYPE(GCType, RTGCPTR32, RTGCPTR32)
     243 * @param   RCType  The RC type.
     244 */
     245#define RCPTRTYPE(RCType)       CTXTYPE(RCType, RTRCPTR, RTRCPTR)
    246246
    247247/** @def R3R0PTRTYPE
  • trunk/include/iprt/types.h

    r9212 r9223  
    891891/** @} */
    892892
     893/** @defgroup grp_rt_types_rc  Raw mode Context Basic Types
     894 * @ingroup grp_rt_types
     895 * @{
     896 */
     897
     898/** Raw mode context pointer; a 32 bits guest context pointer
     899 * Keep in mind that this type is an unsigned integer in
     900 * HC and void pointer in GC.
     901 */
     902#ifdef IN_GC
     903typedef void *          RTRCPTR;
     904#else
     905typedef uint32_t        RTRCPTR;
     906#endif
     907/** Pointer to a raw mode context pointer. */
     908typedef RTRCPTR        *PRTRCPTR;
     909/** Pointer to a const raw mode context pointer. */
     910typedef const RTRCPTR  *PCRTRCPTR;
     911/** @def NIL_RTGCPTR
     912 * NIL RC pointer.
     913 */
     914#define NIL_RTRCPTR    ((RTRCPTR)0)
     915/** @} */
     916
    893917
    894918/** @defgroup grp_rt_types_cc  Current Context Basic Types
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