aboutsummaryrefslogtreecommitdiff
path: root/src/biosvar.h
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2009-01-17 18:49:20 -0500
committerKevin O'Connor <kevin@koconnor.net>2009-01-17 18:49:20 -0500
commit308537650feeabcd953283e828cf7f51495c11c5 (patch)
treec4cfb8b1e44679ac41abe68e25071a549a41c329 /src/biosvar.h
parent095e89bc0b9238ae88383484ca006a3e7af873ad (diff)
downloadseabios-hppa-308537650feeabcd953283e828cf7f51495c11c5.zip
seabios-hppa-308537650feeabcd953283e828cf7f51495c11c5.tar.gz
seabios-hppa-308537650feeabcd953283e828cf7f51495c11c5.tar.bz2
Move variables from assembler to C code.
Define macro VAR16FIXED for declaring a variable at a fixed location. Introduce new file src/misc.c, and move non int15 calls from system.c to it. Implement all fixed location variables in C code. Move IDT/GDT defs to misc.c. Remove unused gdt entry 1.
Diffstat (limited to 'src/biosvar.h')
-rw-r--r--src/biosvar.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/biosvar.h b/src/biosvar.h
index 5105696..5dc113f 100644
--- a/src/biosvar.h
+++ b/src/biosvar.h
@@ -15,18 +15,18 @@
* Interupt vector table
****************************************************************/
-struct ivec {
+struct rmode_IVT {
union {
struct {
u16 offset;
u16 seg;
};
u32 segoff;
- };
+ } ivec[256];
};
#define SET_IVT(vector, seg, off) \
- SET_FARVAR(SEG_IVT, ((struct ivec *)0)[vector].segoff, ((seg) << 16) | (off))
+ SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector].segoff, ((seg) << 16) | (off))
/****************************************************************
@@ -284,6 +284,6 @@ struct bios_config_table_s {
u8 feature1, feature2, feature3, feature4, feature5;
} PACKED;
-extern struct bios_config_table_s BIOS_CONFIG_TABLE;
+extern struct bios_config_table_s BIOS_CONFIG_TABLE __aligned(1);
#endif // __BIOSVAR_H