aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/font.c2
-rw-r--r--src/misc.c18
-rw-r--r--src/types.h8
3 files changed, 14 insertions, 14 deletions
diff --git a/src/font.c b/src/font.c
index 3f8662f..67e5d46 100644
--- a/src/font.c
+++ b/src/font.c
@@ -7,7 +7,7 @@
* found at ftp://ftp.simtel.net/pub/simtelnet/msdos/screen/fntcol16.zip
* This font is public domain
*/
-u8 vgafont8[128*8] VAR16FIXED(0xfa6e) = {
+u8 vgafont8[128*8] VARFSEGFIXED(0xfa6e) = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7e, 0x81, 0xa5, 0x81, 0xbd, 0x99, 0x81, 0x7e,
0x7e, 0xff, 0xdb, 0xff, 0xc3, 0xe7, 0xff, 0x7e,
diff --git a/src/misc.c b/src/misc.c
index 889064a..8caaf31 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -117,7 +117,7 @@ handle_75(void)
// INT 16/AH=09h (keyboard functionality) supported
#define CBT_F2_INT1609 (1<<6)
-struct bios_config_table_s BIOS_CONFIG_TABLE VAR16FIXED(0xe6f5) = {
+struct bios_config_table_s BIOS_CONFIG_TABLE VARFSEGFIXED(0xe6f5) = {
.size = sizeof(BIOS_CONFIG_TABLE) - 2,
.model = BUILD_MODEL_ID,
.submodel = BUILD_SUBMODEL_ID,
@@ -182,22 +182,22 @@ struct descloc_s rombios32_gdt_48 VARFSEG = {
****************************************************************/
// BIOS build date
-char BiosDate[] VAR16FIXED(0xfff5) = "06/23/99";
+char BiosDate[] VARFSEGFIXED(0xfff5) = "06/23/99";
-u8 BiosModelId VAR16FIXED(0xfffe) = BUILD_MODEL_ID;
+u8 BiosModelId VARFSEGFIXED(0xfffe) = BUILD_MODEL_ID;
-u8 BiosChecksum VAR16FIXED(0xffff);
+u8 BiosChecksum VARFSEGFIXED(0xffff);
-struct floppy_dbt_s diskette_param_table VAR16FIXED(0xefc7);
+struct floppy_dbt_s diskette_param_table VARFSEGFIXED(0xefc7);
// Old Fixed Disk Parameter Table (newer tables are in the ebda).
-struct fdpt_s OldFDPT VAR16FIXED(0xe401);
+struct fdpt_s OldFDPT VARFSEGFIXED(0xe401);
// XXX - Baud Rate Generator Table
-u8 BaudTable[16] VAR16FIXED(0xe729);
+u8 BaudTable[16] VARFSEGFIXED(0xe729);
// XXX - Initial Interrupt Vector Offsets Loaded by POST
-u8 InitVectors[13] VAR16FIXED(0xfef3);
+u8 InitVectors[13] VARFSEGFIXED(0xfef3);
// XXX - INT 1D - SYSTEM DATA - VIDEO PARAMETER TABLES
-u8 VideoParams[88] VAR16FIXED(0xf0a4);
+u8 VideoParams[88] VARFSEGFIXED(0xf0a4);
diff --git a/src/types.h b/src/types.h
index 3466b3a..097372c 100644
--- a/src/types.h
+++ b/src/types.h
@@ -62,14 +62,14 @@ extern void __force_link_error__only_in_16bit(void) __noreturn;
# define VISIBLE32SEG
// Designate a variable as (only) visible to 16bit code.
# define VAR16 __section(".data16." UNIQSEC)
-// Designate a variable at a specific 16bit address
-# define VAR16FIXED(addr) __aligned(1) __VISIBLE __section(".fixedaddr." __stringify(addr))
// Designate a variable as (only) visible to 32bit segmented code.
# define VAR32SEG __section(".discard.var32seg." UNIQSEC)
// Designate a variable as visible and located in the e-segment.
# define VARLOW __section(".discard.varlow." UNIQSEC) __VISIBLE __weak
// Designate a variable as visible and located in the f-segment.
# define VARFSEG __section(".discard.varfseg." UNIQSEC) __VISIBLE __weak
+// Designate a variable at a specific address in the f-segment.
+# define VARFSEGFIXED(addr) __section(".discard.varfixed." UNIQSEC) __VISIBLE __weak
// Verify a variable is only accessable via 32bit "init" functions
# define VARVERIFY32INIT __section(".discard.varinit." UNIQSEC)
// Designate top-level assembler as 16bit only.
@@ -86,10 +86,10 @@ extern void __force_link_error__only_in_16bit(void) __noreturn;
# define VISIBLE32INIT
# define VISIBLE32SEG __VISIBLE
# define VAR16 __section(".discard.var16." UNIQSEC)
-# define VAR16FIXED(addr) VAR16 __VISIBLE __weak
# define VAR32SEG __section(".data32seg." UNIQSEC)
# define VARLOW __section(".discard.varlow." UNIQSEC) __VISIBLE __weak
# define VARFSEG __section(".discard.varfseg." UNIQSEC) __VISIBLE __weak
+# define VARFSEGFIXED(addr) __section(".discard.varfixed." UNIQSEC) __VISIBLE __weak
# define VARVERIFY32INIT __section(".discard.varinit." UNIQSEC)
# define ASM16(code)
# define ASM32FLAT(code)
@@ -102,10 +102,10 @@ extern void __force_link_error__only_in_16bit(void) __noreturn;
# define VISIBLE32INIT __section(".text.init." UNIQSEC) __VISIBLE
# define VISIBLE32SEG
# define VAR16 __section(".discard.var16." UNIQSEC)
-# define VAR16FIXED(addr) VAR16 __VISIBLE __weak
# define VAR32SEG __section(".discard.var32seg." UNIQSEC)
# define VARLOW __section(".data.varlow." UNIQSEC) __VISIBLE __weak
# define VARFSEG __section(".data.varfseg." UNIQSEC) __VISIBLE
+# define VARFSEGFIXED(addr) __section(".fixedaddr." __stringify(addr)) __VISIBLE __aligned(1)
# define VARVERIFY32INIT __section(".data.varinit." UNIQSEC)
# define ASM16(code)
# define ASM32FLAT(code) __ASM(code)