grml...
[seabios.git] / src / pirtable.c
index 777a94bb402f05e36cd1d23bb352e70ad28ade93..4c3f1ffc486d7afc725f43687c63f0f1138da5d0 100644 (file)
@@ -9,7 +9,7 @@
 #include "util.h" // checksum
 #include "biosvar.h" // SET_EBDA
 
-u16 PirOffset VAR16_32;
+u16 PirOffset VAR16VISIBLE;
 
 struct pir_table {
     struct pir_header pir;
@@ -18,7 +18,7 @@ struct pir_table {
 
 extern struct pir_table PIR_TABLE;
 #if CONFIG_PIRTABLE && !CONFIG_COREBOOT
-struct pir_table PIR_TABLE __aligned(16) VAR16_32 = {
+struct pir_table PIR_TABLE __aligned(16) VAR16EXPORT = {
     .pir = {
         .version = 0x0100,
         .size = sizeof(struct pir_table),
@@ -92,7 +92,7 @@ struct pir_table PIR_TABLE __aligned(16) VAR16_32 = {
 #endif // CONFIG_PIRTABLE && !CONFIG_COREBOOT
 
 void
-create_pirtable()
+create_pirtable(void)
 {
     if (! CONFIG_PIRTABLE)
         return;
@@ -100,6 +100,6 @@ create_pirtable()
     dprintf(3, "init PIR table\n");
 
     PIR_TABLE.pir.signature = PIR_SIGNATURE;
-    PIR_TABLE.pir.checksum = -checksum(&PIR_TABLE, sizeof(PIR_TABLE));
+    PIR_TABLE.pir.checksum -= checksum(&PIR_TABLE, sizeof(PIR_TABLE));
     PirOffset = (u32)&PIR_TABLE.pir - BUILD_BIOS_ADDR;
 }