x86 bootblock: improve clang compatibility
Its linker doesn't like "." arithmetics, so use .org, while its assembler doesn't like data32 prefixes. Change-Id: I3f5bbb350493d6510b8013df15d44c44c5db63c7 Signed-off-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-on: http://review.coreboot.org/4714 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
This commit is contained in:
parent
0d0b3c5467
commit
938ef9fb8d
|
@ -105,7 +105,7 @@ _start:
|
||||||
lidt %cs:(%bx)
|
lidt %cs:(%bx)
|
||||||
movw $gdtptr16_offset, %bx
|
movw $gdtptr16_offset, %bx
|
||||||
subw %ax, %bx
|
subw %ax, %bx
|
||||||
data32 lgdt %cs:(%bx)
|
lgdtl %cs:(%bx)
|
||||||
|
|
||||||
movl %cr0, %eax
|
movl %cr0, %eax
|
||||||
andl $0x7FFAFFD1, %eax /* PG,AM,WP,NE,TS,EM,MP = 0 */
|
andl $0x7FFAFFD1, %eax /* PG,AM,WP,NE,TS,EM,MP = 0 */
|
||||||
|
@ -116,7 +116,7 @@ _start:
|
||||||
movl %ebp, %eax
|
movl %ebp, %eax
|
||||||
|
|
||||||
/* Now that we are in protected mode jump to a 32 bit code segment. */
|
/* Now that we are in protected mode jump to a 32 bit code segment. */
|
||||||
data32 ljmp $ROM_CODE_SEG, $__protected_start
|
ljmpl $ROM_CODE_SEG, $__protected_start
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The gdt is defined in entry32.inc, it has a 4 Gb code segment
|
* The gdt is defined in entry32.inc, it has a 4 Gb code segment
|
||||||
|
|
|
@ -10,7 +10,7 @@ reset_vector:
|
||||||
* instead of the weird 16 bit relocations that binutils does not
|
* instead of the weird 16 bit relocations that binutils does not
|
||||||
* handle consistenly between versions because they are used so rarely.
|
* handle consistenly between versions because they are used so rarely.
|
||||||
*/
|
*/
|
||||||
. = 0x8;
|
.org 0x8;
|
||||||
.code32
|
.code32
|
||||||
jmp protected_start
|
jmp protected_start
|
||||||
.previous
|
.previous
|
||||||
|
|
Loading…
Reference in New Issue