cpu/amd: remove .intel_syntax

Replace with the more familiar AT&T syntax.
Tested by sha1sum(1)ing the object files, and checking the objdump that
the code in question was actually compiled.

Change-Id: Ibdc024ad90c178c4846d82c5308a146dd1405165
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: https://review.coreboot.org/13133
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Patrick Georgi 2016-01-22 12:26:52 +01:00 committed by Patrick Georgi
parent 0302b060b6
commit 4a30ab9096
2 changed files with 60 additions and 66 deletions

View File

@ -63,62 +63,59 @@ cache_as_ram_setup:
#ifdef __x86_64__
/* switch to 64 bit long mode */
.intel_syntax noprefix
mov %esi, %ecx
add $0, %ecx # core number
xor %eax, %eax
lea (0x1000+0x23)(%ecx), %edi
mov %edi, (%ecx)
mov %eax, 4(%ecx)
mov ecx, esi
add ecx, 0 # core number
xor eax, eax
lea edi, [ecx+0x1000+0x23]
mov dword ptr [ecx+0], edi
mov dword ptr [ecx+4], eax
lea edi, [ecx+0x1000]
mov dword ptr [edi+0x00], 0x000000e3
mov dword ptr [edi+0x04], eax
mov dword ptr [edi+0x08], 0x400000e3
mov dword ptr [edi+0x0c], eax
mov dword ptr [edi+0x10], 0x800000e3
mov dword ptr [edi+0x14], eax
mov dword ptr [edi+0x18], 0xc00000e3
mov dword ptr [edi+0x1c], eax
lea 0x1000(%ecx), %edi
movl $0x000000e3, 0x00(%edi)
movl %eax, 0x04(%edi)
movl $0x400000e3, 0x08(%edi)
movl %eax, 0x0c(%edi)
movl $0x800000e3, 0x10(%edi)
movl %eax, 0x14(%edi)
movl $0xc00000e3, 0x18(%edi)
movl %eax, 0x1c(%edi)
# load rom based identity mapped page tables
mov eax, ecx
mov cr3,eax
mov %ecx, %eax
mov %eax, %cr3
# enable PAE
mov eax, cr4
bts eax, 5
mov cr4, eax
mov %cr4, %eax
bts $5, %eax
mov %eax, %cr4
# enable long mode
mov ecx, 0xC0000080
mov $0xC0000080, %ecx
rdmsr
bts eax, 8
bts $8, %eax
wrmsr
# enable paging
mov eax, cr0
bts eax, 31
mov cr0, eax
mov %cr0, %eax
bts $31, %eax
mov %eax, %cr0
# use call far to switch to 64-bit code segment
jmp 0x18,.+7
ljmp $0x18, $1f
1:
/* Pass the BIST result */
cvtsd2si esi, xmm1
cvtsd2si %xmm1, %esi
/* Pass the cpu_init_detected */
cvtsd2si edi, xmm0
cvtsd2si %xmm0, %edi
/* align the stack */
and esp, 0xFFFFFFF0
and $0xFFFFFFF0, %esp
.code64
call cache_as_ram_main
.code32
.att_syntax prefix
#else
AMD_ENABLE_STACK

View File

@ -64,62 +64,59 @@ cache_as_ram_setup:
AMD_ENABLE_STACK
#ifdef __x86_64__
/* switch to 64 bit long mode */
.intel_syntax noprefix
mov %esi, %ecx
add $0, %ecx # core number
xor %eax, %eax
lea (0x1000+0x23)(%ecx), %edi
mov %edi, (%ecx)
mov %eax, 4(%ecx)
mov ecx, esi
add ecx, 0 # core number
xor eax, eax
lea edi, [ecx+0x1000+0x23]
mov dword ptr [ecx+0], edi
mov dword ptr [ecx+4], eax
lea edi, [ecx+0x1000]
mov dword ptr [edi+0x00], 0x000000e3
mov dword ptr [edi+0x04], eax
mov dword ptr [edi+0x08], 0x400000e3
mov dword ptr [edi+0x0c], eax
mov dword ptr [edi+0x10], 0x800000e3
mov dword ptr [edi+0x14], eax
mov dword ptr [edi+0x18], 0xc00000e3
mov dword ptr [edi+0x1c], eax
lea 0x1000(%ecx), %edi
movl $0x000000e3, 0x00(%edi)
movl %eax, 0x04(%edi)
movl $0x400000e3, 0x08(%edi)
movl %eax, 0x0c(%edi)
movl $0x800000e3, 0x10(%edi)
movl %eax, 0x14(%edi)
movl $0xc00000e3, 0x18(%edi)
movl %eax, 0x1c(%edi)
# load rom based identity mapped page tables
mov eax, ecx
mov cr3,eax
mov %ecx, %eax
mov %eax, %cr3
# enable PAE
mov eax, cr4
bts eax, 5
mov cr4, eax
mov %cr4, %eax
bts $5, %eax
mov %eax, %cr4
# enable long mode
mov ecx, 0xC0000080
mov $0xC0000080, %ecx
rdmsr
bts eax, 8
bts $8, %eax
wrmsr
# enable paging
mov eax, cr0
bts eax, 31
mov cr0, eax
mov %cr0, %eax
bts $31, %eax
mov %eax, %cr0
# use call far to switch to 64-bit code segment
jmp 0x18,.+7
ljmp $0x18, $1f
1:
/* Pass the BIST result */
cvtsd2si esi, xmm1
cvtsd2si %xmm1, %esi
/* Pass the cpu_init_detected */
cvtsd2si edi, xmm0
cvtsd2si %xmm0, %edi
/* align the stack */
and esp, 0xFFFFFFF0
and $0xFFFFFFF0, %esp
.code64
call cache_as_ram_main
.code32
.att_syntax prefix
#else
/* Restore the BIST result */
cvtsd2si %xmm0, %edx