summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/i386/prefix/libprefix.S8
-rw-r--r--src/arch/i386/transitions/librm.S17
2 files changed, 8 insertions, 17 deletions
diff --git a/src/arch/i386/prefix/libprefix.S b/src/arch/i386/prefix/libprefix.S
index 9e6ba6f07..ecef56d8b 100644
--- a/src/arch/i386/prefix/libprefix.S
+++ b/src/arch/i386/prefix/libprefix.S
@@ -263,14 +263,14 @@ gdt:
gdt_limit: .word gdt_length - 1
gdt_base: .long 0
.word 0 /* padding */
-pm_cs: /* 16-bit protected-mode code segment */
+pm_cs: /* 16-bit protected-mode flat code segment */
.equ PM_CS, pm_cs - gdt
.word 0xffff, 0
- .byte 0, 0x9b, 0x00, 0
-pm_ss: /* 16-bit protected-mode stack segment */
+ .byte 0, 0x9b, 0x8f, 0
+pm_ss: /* 16-bit protected-mode flat stack segment */
.equ PM_SS, pm_ss - gdt
.word 0xffff, 0
- .byte 0, 0x93, 0x00, 0
+ .byte 0, 0x93, 0x8f, 0
pm_ds: /* 32-bit protected-mode flat data segment */
.equ PM_DS, pm_ds - gdt
.word 0xffff, 0
diff --git a/src/arch/i386/transitions/librm.S b/src/arch/i386/transitions/librm.S
index cb27ef355..a07ffc502 100644
--- a/src/arch/i386/transitions/librm.S
+++ b/src/arch/i386/transitions/librm.S
@@ -28,9 +28,6 @@ FILE_LICENCE ( GPL2_OR_LATER )
* Call init_librm to set up the GDT before attempting to use any
* protected-mode code.
*
- * Define FLATTEN_REAL_MODE if you want to use so-called "flat real
- * mode" with 4GB limits instead.
- *
* NOTE: This must be located before prot_to_real, otherwise gas
* throws a "can't handle non absolute segment in `ljmp'" error due to
* not knowing the value of REAL_CS when the ljmp is encountered.
@@ -40,12 +37,6 @@ FILE_LICENCE ( GPL2_OR_LATER )
* "non absolute segment" error. This is most probably a bug in gas.
****************************************************************************
*/
-
-#ifdef FLATTEN_REAL_MODE
-#define RM_LIMIT_16_19__AVL__SIZE__GRANULARITY 0x8f
-#else
-#define RM_LIMIT_16_19__AVL__SIZE__GRANULARITY 0x00
-#endif
.section ".data16", "aw", @progbits
.align 16
gdt:
@@ -75,14 +66,14 @@ physical_ds: /* 32 bit protected mode data segment, physical addresses */
.byte 0, 0x93, 0xcf, 0
.org gdt + REAL_CS, 0
-real_cs: /* 16 bit real mode code segment */
+real_cs: /* 16 bit flat real mode code segment */
.word 0xffff, 0
- .byte 0, 0x9b, RM_LIMIT_16_19__AVL__SIZE__GRANULARITY, 0
+ .byte 0, 0x9b, 0x8f, 0
.org gdt + REAL_DS
-real_ds: /* 16 bit real mode data segment */
+real_ds: /* 16 bit flat real mode data segment */
.word 0xffff, 0
- .byte 0, 0x93, RM_LIMIT_16_19__AVL__SIZE__GRANULARITY, 0
+ .byte 0, 0x93, 0x8f, 0
gdt_end:
.equ gdt_length, gdt_end - gdt