summaryrefslogtreecommitdiff
path: root/src/cpu/x86/16bit
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2020-11-21 17:59:41 +0200
committerHung-Te Lin <hungte@chromium.org>2020-12-16 06:31:03 +0000
commitdc873cc0c6402f289f34090f0fdb34588a04a9c0 (patch)
treebc60ff1b392d8e0a77800048e9a2177e46f3e08d /src/cpu/x86/16bit
parent5283c337bf6627c7893f4e8203da4b2921951293 (diff)
arch/x86: Clean up bootblock assembly
We have identical gdtptr16 and gdtptr. The reference in gdtptr_offset calculation is not accounted for when considering --gc-sections, so to support linking gdt_init.S separately add dummy use of gdtptr symbol. Realmode execution already accessed gdt that was located outside [_start16bit,_estart16bit] region. Remove latter symbol as the former was not really a start of region, but entry point symbol. With the romcc bootblock solution, entry32.inc may have been linked into romstage before, but the !ENV_BOOTBLOCK case seems obsolete now. Change-Id: I0a3f6aeb217ca4e38b936b8c9ec8b0b69732cbb9 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/47964 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src/cpu/x86/16bit')
-rw-r--r--src/cpu/x86/16bit/entry16.inc13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/cpu/x86/16bit/entry16.inc b/src/cpu/x86/16bit/entry16.inc
index 13d12beb66..2665cc69ae 100644
--- a/src/cpu/x86/16bit/entry16.inc
+++ b/src/cpu/x86/16bit/entry16.inc
@@ -108,7 +108,7 @@ _start16bit:
movw $nullidt_offset, %bx
subw %ax, %bx
lidt %cs:(%bx)
- movw $gdtptr16_offset, %bx
+ movw $gdtptr_offset, %bx
subw %ax, %bx
lgdtl %cs:(%bx)
@@ -127,11 +127,8 @@ _start16bit:
* The gdt is defined in entry32.inc, it has a 4 Gb code segment
* at 0x08, and a 4 GB data segment at 0x10;
*/
-.align 4
-.globl gdtptr16
-gdtptr16:
- .word gdt_end - gdt -1 /* compute the table limit */
- .long gdt /* we know the offset */
+__gdtptr:
+ .long gdtptr
.align 4
.globl nullidt
@@ -139,7 +136,3 @@ nullidt:
.word 0 /* limit */
.long 0
.word 0
-
-.globl _estart16bit
-_estart16bit:
- .code32