VirtualBox

source: vbox/trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-instantiate-common.h@ 77922

Last change on this file since 77922 was 76553, checked in by vboxsync, 6 years ago

scm --update-copyright-year

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.1 KB
Line 
1/* $Id: bs3-cmn-instantiate-common.h 76553 2019-01-01 01:45:53Z vboxsync $ */
2/** @file
3 * BS3Kit - Common template instantiator body.
4 */
5
6/*
7 * Copyright (C) 2007-2019 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 *
17 * The contents of this file may alternatively be used under the terms
18 * of the Common Development and Distribution License Version 1.0
19 * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20 * VirtualBox OSE distribution, in which case the provisions of the
21 * CDDL are applicable instead of those of the GPL.
22 *
23 * You may elect to license modified versions of this file under the
24 * terms and conditions of either the GPL or the CDDL or both.
25 */
26
27
28/*
29 * Instantiating common code (c16, c32, c64).
30 * This must be done first.
31 */
32
33/** @def BS3_INSTANTIATING_CMN
34 * @ingroup grp_bs3kit_tmpl
35 * Indicates that we're instantiating common code (c16, c32, c64).
36 */
37#define BS3_INSTANTIATING_CMN
38
39#ifdef BS3_CMN_INSTANTIATE_FILE1
40
41# define BS3_CMN_INSTANTIATE_FILE1_B <BS3_CMN_INSTANTIATE_FILE1>
42
43# if ARCH_BITS == 16 /* 16-bit - real mode. */
44# define TMPL_MODE BS3_MODE_RM
45# include <bs3kit/bs3kit-template-header.h>
46# include BS3_CMN_INSTANTIATE_FILE1_B
47# include <bs3kit/bs3kit-template-footer.h>
48# endif
49
50# if ARCH_BITS == 32 /* 32-bit - paged protected mode. */
51# define TMPL_MODE BS3_MODE_PP32
52# include <bs3kit/bs3kit-template-header.h>
53# include BS3_CMN_INSTANTIATE_FILE1_B
54# include <bs3kit/bs3kit-template-footer.h>
55# endif
56
57# if ARCH_BITS == 64 /* 64-bit. */
58# define TMPL_MODE BS3_MODE_LM64
59# include <bs3kit/bs3kit-template-header.h>
60# include BS3_CMN_INSTANTIATE_FILE1_B
61# include <bs3kit/bs3kit-template-footer.h>
62# endif
63
64#endif
65
66#undef BS3_INSTANTIATING_CMN
67
68
69/*
70 * Instantiating code for each individual mode (rm, pe16, pe16_32, ...).
71 */
72
73/** @def BS3_INSTANTIATING_MODE
74 * @ingroup grp_bs3kit_tmpl
75 * Indicates that we're instantiating mode specific code (rm, pe16, ...).
76 */
77#define BS3_INSTANTIATING_MODE
78
79#ifdef BS3_MODE_INSTANTIATE_FILE1
80
81# define BS3_MODE_INSTANTIATE_FILE1_B <BS3_MODE_INSTANTIATE_FILE1>
82
83# if ARCH_BITS == 16 /* 16-bit */
84
85# define TMPL_MODE BS3_MODE_RM
86# include <bs3kit/bs3kit-template-header.h>
87# include BS3_MODE_INSTANTIATE_FILE1_B
88# include <bs3kit/bs3kit-template-footer.h>
89
90# define TMPL_MODE BS3_MODE_PE16
91# include <bs3kit/bs3kit-template-header.h>
92# include BS3_MODE_INSTANTIATE_FILE1_B
93# include <bs3kit/bs3kit-template-footer.h>
94
95# define TMPL_MODE BS3_MODE_PE16_V86
96# include <bs3kit/bs3kit-template-header.h>
97# include BS3_MODE_INSTANTIATE_FILE1_B
98# include <bs3kit/bs3kit-template-footer.h>
99
100# define TMPL_MODE BS3_MODE_PE32_16
101# include <bs3kit/bs3kit-template-header.h>
102# include BS3_MODE_INSTANTIATE_FILE1_B
103# include <bs3kit/bs3kit-template-footer.h>
104
105# define TMPL_MODE BS3_MODE_PEV86
106# include <bs3kit/bs3kit-template-header.h>
107# include BS3_MODE_INSTANTIATE_FILE1_B
108# include <bs3kit/bs3kit-template-footer.h>
109
110# define TMPL_MODE BS3_MODE_PP16
111# include <bs3kit/bs3kit-template-header.h>
112# include BS3_MODE_INSTANTIATE_FILE1_B
113# include <bs3kit/bs3kit-template-footer.h>
114
115# define TMPL_MODE BS3_MODE_PP16_V86
116# include <bs3kit/bs3kit-template-header.h>
117# include BS3_MODE_INSTANTIATE_FILE1_B
118# include <bs3kit/bs3kit-template-footer.h>
119
120# define TMPL_MODE BS3_MODE_PP32_16
121# include <bs3kit/bs3kit-template-header.h>
122# include BS3_MODE_INSTANTIATE_FILE1_B
123# include <bs3kit/bs3kit-template-footer.h>
124
125# define TMPL_MODE BS3_MODE_PPV86
126# include <bs3kit/bs3kit-template-header.h>
127# include BS3_MODE_INSTANTIATE_FILE1_B
128# include <bs3kit/bs3kit-template-footer.h>
129
130# define TMPL_MODE BS3_MODE_PAE16
131# include <bs3kit/bs3kit-template-header.h>
132# include BS3_MODE_INSTANTIATE_FILE1_B
133# include <bs3kit/bs3kit-template-footer.h>
134
135# define TMPL_MODE BS3_MODE_PAE16_V86
136# include <bs3kit/bs3kit-template-header.h>
137# include BS3_MODE_INSTANTIATE_FILE1_B
138# include <bs3kit/bs3kit-template-footer.h>
139
140# define TMPL_MODE BS3_MODE_PAE32_16
141# include <bs3kit/bs3kit-template-header.h>
142# include BS3_MODE_INSTANTIATE_FILE1_B
143# include <bs3kit/bs3kit-template-footer.h>
144
145# define TMPL_MODE BS3_MODE_PAEV86
146# include <bs3kit/bs3kit-template-header.h>
147# include BS3_MODE_INSTANTIATE_FILE1_B
148# include <bs3kit/bs3kit-template-footer.h>
149
150# define TMPL_MODE BS3_MODE_LM16
151# include <bs3kit/bs3kit-template-header.h>
152# include BS3_MODE_INSTANTIATE_FILE1_B
153# include <bs3kit/bs3kit-template-footer.h>
154
155# endif
156
157# if ARCH_BITS == 32 /* 32-bit */
158
159# define TMPL_MODE BS3_MODE_PE16_32
160# include <bs3kit/bs3kit-template-header.h>
161# include BS3_MODE_INSTANTIATE_FILE1_B
162# include <bs3kit/bs3kit-template-footer.h>
163
164# define TMPL_MODE BS3_MODE_PE32
165# include <bs3kit/bs3kit-template-header.h>
166# include BS3_MODE_INSTANTIATE_FILE1_B
167# include <bs3kit/bs3kit-template-footer.h>
168
169# define TMPL_MODE BS3_MODE_PP16_32
170# include <bs3kit/bs3kit-template-header.h>
171# include BS3_MODE_INSTANTIATE_FILE1_B
172# include <bs3kit/bs3kit-template-footer.h>
173
174# define TMPL_MODE BS3_MODE_PP32
175# include <bs3kit/bs3kit-template-header.h>
176# include BS3_MODE_INSTANTIATE_FILE1_B
177# include <bs3kit/bs3kit-template-footer.h>
178
179# define TMPL_MODE BS3_MODE_PAE16_32
180# include <bs3kit/bs3kit-template-header.h>
181# include BS3_MODE_INSTANTIATE_FILE1_B
182# include <bs3kit/bs3kit-template-footer.h>
183
184# define TMPL_MODE BS3_MODE_PAE32
185# include <bs3kit/bs3kit-template-header.h>
186# include BS3_MODE_INSTANTIATE_FILE1_B
187# include <bs3kit/bs3kit-template-footer.h>
188
189# define TMPL_MODE BS3_MODE_LM32
190# include <bs3kit/bs3kit-template-header.h>
191# include BS3_MODE_INSTANTIATE_FILE1_B
192# include <bs3kit/bs3kit-template-footer.h>
193
194# endif
195
196# if ARCH_BITS == 64 /* 64-bit. */
197# define TMPL_MODE BS3_MODE_LM64
198# include <bs3kit/bs3kit-template-header.h>
199# include BS3_MODE_INSTANTIATE_FILE1_B
200# include <bs3kit/bs3kit-template-footer.h>
201# endif
202
203#endif
204
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