VirtualBox

source: vbox/trunk/src/VBox/ValidationKit/bootsectors/bootsector2-cpu-basic-1.asm

Last change on this file was 98103, checked in by vboxsync, 17 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.4 KB
Line 
1; $Id: bootsector2-cpu-basic-1.asm 98103 2023-01-17 14:15:46Z vboxsync $
2;; @file
3; Bootsector that checks the basic CPU operation.
4;
5
6;
7; Copyright (C) 2007-2023 Oracle and/or its affiliates.
8;
9; This file is part of VirtualBox base platform packages, as
10; available from https://www.virtualbox.org.
11;
12; This program is free software; you can redistribute it and/or
13; modify it under the terms of the GNU General Public License
14; as published by the Free Software Foundation, in version 3 of the
15; License.
16;
17; This program is distributed in the hope that it will be useful, but
18; WITHOUT ANY WARRANTY; without even the implied warranty of
19; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20; General Public License for more details.
21;
22; You should have received a copy of the GNU General Public License
23; along with this program; if not, see <https://www.gnu.org/licenses>.
24;
25; The contents of this file may alternatively be used under the terms
26; of the Common Development and Distribution License Version 1.0
27; (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
28; in the VirtualBox distribution, in which case the provisions of the
29; CDDL are applicable instead of those of the GPL.
30;
31; You may elect to license modified versions of this file under the
32; terms and conditions of either the GPL or the CDDL or both.
33;
34; SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
35;
36
37
38%include "iprt/asmdefs.mac"
39%include "iprt/x86.mac"
40%include "VBox/VMMDevTesting.mac"
41
42;
43; Include and execute the init code.
44;
45%define BS2_WITH_TRAPS
46%define BS2_INIT_RM
47%define BS2_INC_PE16
48%define BS2_INC_PE32
49%define BS2_INC_PP16
50%define BS2_INC_PP32
51%define BS2_INC_PAE32
52%define BS2_INC_PAE16
53%define BS2_INC_LM16
54%define BS2_INC_LM32
55%define BS2_INC_LM64
56%include "bootsector2-common-init-code.mac"
57
58
59;
60; The benchmark driver
61;
62BEGINPROC main
63 ;
64 ; Test prologue.
65 ;
66 mov ax, .s_szTstName
67 call TestInit_r86
68
69 ;
70 ; The actual tests.
71 ;
72 call TestBasic1_rm_rm
73 call TestBasic1_rm_pe16
74 call TestBasic1_rm_pe32
75 call TestBasic1_rm_pp32
76 call TestBasic1_rm_pp16
77 call TestBasic1_rm_pae16
78 call TestBasic1_rm_pae32
79 call TestBasic1_rm_lm64
80 call TestBasic1_rm_lm32
81 call TestBasic1_rm_lm16
82
83 ;
84 ; We're done.
85 ;
86 call TestTerm_r86
87 call Bs2Panic
88
89.s_szTstName:
90 db 'tstBasic1-1', 0
91.s_szInitialBasic1Status:
92 db 'Initial Basic1 state', 0
93ENDPROC main
94
95
96;
97; Instantiate the template code.
98;
99%include "bootsector2-template-footer.mac" ; reset the initial environemnt.
100
101%define TMPL_RM
102%include "bootsector2-cpu-basic-1-template.mac"
103;%define TMPL_CMN_V86
104;%include "bootsector2-cpu-basic-1-template.mac"
105%define TMPL_PE16
106%include "bootsector2-cpu-basic-1-template.mac"
107%define TMPL_PE32
108%include "bootsector2-cpu-basic-1-template.mac"
109%define TMPL_PP16
110%include "bootsector2-cpu-basic-1-template.mac"
111%define TMPL_PP32
112%include "bootsector2-cpu-basic-1-template.mac"
113%define TMPL_PAE16
114%include "bootsector2-cpu-basic-1-template.mac"
115%define TMPL_PAE32
116%include "bootsector2-cpu-basic-1-template.mac"
117%define TMPL_LM16
118%include "bootsector2-cpu-basic-1-template.mac"
119%define TMPL_LM32
120%include "bootsector2-cpu-basic-1-template.mac"
121%define TMPL_LM64
122%include "bootsector2-cpu-basic-1-template.mac"
123
124
125;
126; End sections and image.
127;
128%include "bootsector2-common-end.mac"
129
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use