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