env-iprt-r3.mac revision 7528d4a15800321b4013826ce35ad184898dba21
c7edde5d34a970face99f956a8a47636c11c995evboxsync; $Id$
c7edde5d34a970face99f956a8a47636c11c995evboxsync;; @file
c7edde5d34a970face99f956a8a47636c11c995evboxsync; Instruction Test Environment - IPRT, Ring-3, 32-bit and 64-bit.
c7edde5d34a970face99f956a8a47636c11c995evboxsync;
c7edde5d34a970face99f956a8a47636c11c995evboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync;
c7edde5d34a970face99f956a8a47636c11c995evboxsync; Copyright (C) 2006-2013 Oracle Corporation
c7edde5d34a970face99f956a8a47636c11c995evboxsync;
c7edde5d34a970face99f956a8a47636c11c995evboxsync; This file is part of VirtualBox Open Source Edition (OSE), as
c7edde5d34a970face99f956a8a47636c11c995evboxsync; available from http://www.virtualbox.org. This file is free software;
c7edde5d34a970face99f956a8a47636c11c995evboxsync; you can redistribute it and/or modify it under the terms of the GNU
c7edde5d34a970face99f956a8a47636c11c995evboxsync; General Public License (GPL) as published by the Free Software
c7edde5d34a970face99f956a8a47636c11c995evboxsync; Foundation, in version 2 as it comes in the "COPYING" file of the
c7edde5d34a970face99f956a8a47636c11c995evboxsync; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
c7edde5d34a970face99f956a8a47636c11c995evboxsync; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
c7edde5d34a970face99f956a8a47636c11c995evboxsync;
c7edde5d34a970face99f956a8a47636c11c995evboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync%ifndef ___env_iprt_r3_mac
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define ___env_iprt_r3_mac
c7edde5d34a970face99f956a8a47636c11c995evboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync;*******************************************************************************
25220f21b353551be8929b1ed772a94dd5bb6293vboxsync;* Header Files *
c7edde5d34a970face99f956a8a47636c11c995evboxsync;*******************************************************************************
c7edde5d34a970face99f956a8a47636c11c995evboxsync%include "iprt/asmdefs.mac"
c7edde5d34a970face99f956a8a47636c11c995evboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync;*******************************************************************************
9ad5e3912962c3dbccc1afc4e7d62890fe906814vboxsync;* Defined Constants And Macros *
c7edde5d34a970face99f956a8a47636c11c995evboxsync;*******************************************************************************
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define sAX xAX
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define sBX xBX
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define sCX xCX
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define sDX xDX
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define sSP xSP
7748b9362d6a39df9045d5d05ccb57871145a649vboxsync%define sBP xBP
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define sSI xSI
b24dc7f75620c058f5ba7df435cacd9bff05e8f0vboxsync%define sDI xDI
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define sCB xCB
8599686860198730ae53d5895386d1b57dbc060evboxsync
8599686860198730ae53d5895386d1b57dbc060evboxsync
8599686860198730ae53d5895386d1b57dbc060evboxsync;; Same as BEGINPROC in asmdefs.mac.
8599686860198730ae53d5895386d1b57dbc060evboxsync%macro VBINSTST_BEGINPROC 1
8599686860198730ae53d5895386d1b57dbc060evboxsyncBEGINPROC %1
117b4009ec13a933e59dd5f66259a2488063c950vboxsync%endm
c7edde5d34a970face99f956a8a47636c11c995evboxsync
7748b9362d6a39df9045d5d05ccb57871145a649vboxsync;; Same as ENDPROC in asmdefs.mac.
c7edde5d34a970face99f956a8a47636c11c995evboxsync%macro VBINSTST_ENDPROC 1
c7edde5d34a970face99f956a8a47636c11c995evboxsyncENDPROC %1
c7edde5d34a970face99f956a8a47636c11c995evboxsync%endm
c7edde5d34a970face99f956a8a47636c11c995evboxsync
8599686860198730ae53d5895386d1b57dbc060evboxsync;; Same as NAME in asmdefs.mac.
2cae8ff5782536dc236e1161d351356ba2ac5e0fvboxsync%define VBINSTST_NAME(a_Name) NAME(a_Name)
8599686860198730ae53d5895386d1b57dbc060evboxsync
b24dc7f75620c058f5ba7df435cacd9bff05e8f0vboxsync;; Same as GLOBALNAME_EX in asmdefs.mac.
b24dc7f75620c058f5ba7df435cacd9bff05e8f0vboxsync%define VBINSTST_GLOBALNAME_EX GLOBALNAME_EX
117b4009ec13a933e59dd5f66259a2488063c950vboxsync
2cae8ff5782536dc236e1161d351356ba2ac5e0fvboxsync;; Same as BEGINCODE in asmdefs.mac.
2cae8ff5782536dc236e1161d351356ba2ac5e0fvboxsync%define VBINSTST_BEGINCODE BEGINCODE
2cae8ff5782536dc236e1161d351356ba2ac5e0fvboxsync
2cae8ff5782536dc236e1161d351356ba2ac5e0fvboxsync;; Same as BEGINDATA in asmdefs.mac.
b9609c7ffe24b4438bca69c315a3d280decd83d1vboxsync%define VBINSTST_BEGINDATA BEGINDATA
b9609c7ffe24b4438bca69c315a3d280decd83d1vboxsync
b9609c7ffe24b4438bca69c315a3d280decd83d1vboxsync
8599686860198730ae53d5895386d1b57dbc060evboxsync;; Call RTTestISub like function.
2cae8ff5782536dc236e1161d351356ba2ac5e0fvboxsync%define VBINSTST_CALL_FN_SUB_TEST call IMP2(RTTestISub)
8599686860198730ae53d5895386d1b57dbc060evboxsyncEXTERN_IMP2 RTTestISub
c7edde5d34a970face99f956a8a47636c11c995evboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync;; Call RTTestIFailure like function with simple message.
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define VBINSTST_CALL_FN_FAILURE call NAME(VBInsTstFailure)
c7edde5d34a970face99f956a8a47636c11c995evboxsyncextern NAME(VBInsTstFailure)
c7edde5d34a970face99f956a8a47636c11c995evboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync;; Call RTTestIFailure like function with format message + 1 arg.
ae9aac6344d9e90d833e48bf87eb9fe02fd75459vboxsync%define VBINSTST_CALL_FN_FAILURE_1 call NAME(VBInsTstFailure1)
ae9aac6344d9e90d833e48bf87eb9fe02fd75459vboxsyncextern NAME(VBInsTstFailure1)
c7edde5d34a970face99f956a8a47636c11c995evboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync;; Call RTTestIFailure like function with format message + 2 args.
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define VBINSTST_CALL_FN_FAILURE_2 call NAME(VBInsTstFailure2)
ae9aac6344d9e90d833e48bf87eb9fe02fd75459vboxsyncextern NAME(VBInsTstFailure2)
c7edde5d34a970face99f956a8a47636c11c995evboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync;; Call RTTestIFailure like function with format message + 3 args.
c7edde5d34a970face99f956a8a47636c11c995evboxsync%define VBINSTST_CALL_FN_FAILURE_3 call NAME(VBInsTstFailure3)
c7edde5d34a970face99f956a8a47636c11c995evboxsyncextern NAME(VBInsTstFailure3)
ae9aac6344d9e90d833e48bf87eb9fe02fd75459vboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync;; Call RTTestIFailure like function with format message + 4 args.
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync%define VBINSTST_CALL_FN_FAILURE_4 call NAME(VBInsTstFailure4)
c7edde5d34a970face99f956a8a47636c11c995evboxsyncextern NAME(VBInsTstFailure4)
ae9aac6344d9e90d833e48bf87eb9fe02fd75459vboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync;; Cannot do traps yet.
c7edde5d34a970face99f956a8a47636c11c995evboxsync%undef VBINSTST_CAN_DO_TRAPS
ae9aac6344d9e90d833e48bf87eb9fe02fd75459vboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync
4c0fd6e5274870a536dbd067370c27731bc75f4bvboxsync;
c7edde5d34a970face99f956a8a47636c11c995evboxsync; Include the common bits (contains code using above macros)
c7edde5d34a970face99f956a8a47636c11c995evboxsync;
c7edde5d34a970face99f956a8a47636c11c995evboxsync%include "env-common.mac"
ae9aac6344d9e90d833e48bf87eb9fe02fd75459vboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync%endif
c7edde5d34a970face99f956a8a47636c11c995evboxsync
c7edde5d34a970face99f956a8a47636c11c995evboxsync