summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/i386/include/librm.h5
-rw-r--r--src/arch/i386/transitions/librm.S2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/arch/i386/include/librm.h b/src/arch/i386/include/librm.h
index 4301ff521..fdcd25f1d 100644
--- a/src/arch/i386/include/librm.h
+++ b/src/arch/i386/include/librm.h
@@ -46,8 +46,11 @@ extern char *text16;
/* Variables in librm.S, present in the normal data segment */
extern uint16_t rm_sp;
extern uint16_t rm_ss;
-extern uint16_t rm_cs;
extern uint32_t pm_esp;
+extern uint16_t __data16 ( rm_cs );
+#define rm_cs __use_data16 ( rm_cs )
+extern uint16_t __text16 ( rm_ds );
+#define rm_ds __use_text16 ( rm_ds )
/* Functions that librm expects to be able to link to. Included here
* so that the compiler will catch prototype mismatches.
diff --git a/src/arch/i386/transitions/librm.S b/src/arch/i386/transitions/librm.S
index 3dca53ab1..1fba5c569 100644
--- a/src/arch/i386/transitions/librm.S
+++ b/src/arch/i386/transitions/librm.S
@@ -309,7 +309,9 @@ p2r_jump_target:
.section ".data16"
p2r_jump_vector:
.word p2r_jump_target
+ .globl rm_cs
rm_cs: .word 0
+ .globl rm_ds
.section ".text16.data"
rm_ds: .word 0