Provide access to rm_cs and rm_ds from protected-mode code.
authorMichael Brown <mcb30@etherboot.org>
Sat, 13 May 2006 11:45:31 +0000 (11:45 +0000)
committerMichael Brown <mcb30@etherboot.org>
Sat, 13 May 2006 11:45:31 +0000 (11:45 +0000)
src/arch/i386/include/librm.h
src/arch/i386/transitions/librm.S

index 4301ff5..fdcd25f 100644 (file)
@@ -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.
index 3dca53a..1fba5c5 100644 (file)
@@ -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