VirtualBox

source: vbox/trunk/src/VBox/ValidationKit/bootsectors/bootsector2-vbinstst-64-1.asm@ 103131

Last change on this file since 103131 was 98103, checked in by vboxsync, 21 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1; $Id: bootsector2-vbinstst-64-1.asm 98103 2023-01-17 14:15:46Z vboxsync $
2;; @file
3; Bootsector tests instructions in 64-bit mode.
4; VBoxManage setextradata bs-vbinstst-64-1 VBoxInternal/Devices/VMMDev/0/Config/TestingEnabled 1
5;
6
7;
8; Copyright (C) 2007-2023 Oracle and/or its affiliates.
9;
10; This file is part of VirtualBox base platform packages, as
11; available from https://www.virtualbox.org.
12;
13; This program is free software; you can redistribute it and/or
14; modify it under the terms of the GNU General Public License
15; as published by the Free Software Foundation, in version 3 of the
16; License.
17;
18; This program is distributed in the hope that it will be useful, but
19; WITHOUT ANY WARRANTY; without even the implied warranty of
20; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21; General Public License for more details.
22;
23; You should have received a copy of the GNU General Public License
24; along with this program; if not, see <https://www.gnu.org/licenses>.
25;
26; The contents of this file may alternatively be used under the terms
27; of the Common Development and Distribution License Version 1.0
28; (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
29; in the VirtualBox distribution, in which case the provisions of the
30; CDDL are applicable instead of those of the GPL.
31;
32; You may elect to license modified versions of this file under the
33; terms and conditions of either the GPL or the CDDL or both.
34;
35; SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
36;
37
38
39%include "iprt/asmdefs.mac"
40%include "iprt/x86.mac"
41%include "VBox/VMMDevTesting.mac"
42
43;
44; Include and execute the init code.
45;
46 %define BS2_INIT_RM
47 %define BS2_INC_LM64
48 %define BS2_WITH_TRAPS
49 %include "bootsector2-common-init-code.mac"
50
51
52;
53; The benchmark driver
54;
55BEGINPROC main
56 ;
57 ; Test prologue.
58 ;
59 cli
60 mov ax, .s_szTstName
61 call TestInit_r86
62 call Bs2EnableA20_r86
63 call Bs2PanicIfVMMDevTestingIsMissing_r86
64 lea eax, [dword the_end]
65 cmp eax, dword 80000h
66 jae .size_nok
67
68
69 ;
70 ; Do the testing.
71 ;
72 call Bs2IsModeSupported_rm_lm64
73 jz .done
74 call Bs2EnterMode_rm_lm64
75BITS 64
76
77 call TestInstrMain_lm64
78
79 call TestSubDone_p64
80 call Bs2ExitMode_lm64
81BITS 16
82.done:
83
84 ;
85 ; We're done.
86 ;
87 call TestTerm_r86
88 call Bs2Panic
89 jmp .done
90
91.size_nok:
92 push eax
93 push word ds
94 push .s_szSizeNok
95 call TestFailedF_r86
96 jmp .done
97
98.s_szSizeNok:
99 db 'Test is too big (%RX32)', 0
100.s_szTstName:
101 db 'VBInsTst-64-1', 0
102ENDPROC main
103
104
105;
106; Instantiate the template code.
107;
108%include "bootsector2-template-footer.mac" ; reset the initial environemnt.
109
110%define TMPL_LM64
111%include "bootsector2-template-header.mac"
112BITS 64
113%include "VBInsTst-64.asm"
114%include "bootsector2-template-footer.mac"
115
116
117;
118; End sections and image.
119;
120%include "bootsector2-common-end.mac"
121
Note: See TracBrowser for help on using the repository browser.

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