mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-29 08:00:26 +09:00
x86: Fix sc520 memory size reporting
There is an error in how the assembler version of the sc520 memory size reporting code works. As a result, it will only ever report at most the size of one bank of RAM Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
This commit is contained in:
parent
9e08efcfee
commit
4dba333b3c
@ -503,38 +503,37 @@ dram_done:
|
|||||||
|
|
||||||
movl $DRCBENDADR, %edi /* DRAM ending address register */
|
movl $DRCBENDADR, %edi /* DRAM ending address register */
|
||||||
|
|
||||||
movl (%edi), %eax
|
bank0: movl (%edi), %eax
|
||||||
movl %eax, %ecx
|
movl %eax, %ecx
|
||||||
andl $0x80000000, %ecx
|
andl $0x00000080, %ecx
|
||||||
jz bank2
|
|
||||||
andl $0x7f000000, %eax
|
|
||||||
shrl $2, %eax
|
|
||||||
movl %eax, %ebx
|
|
||||||
|
|
||||||
bank2: movl (%edi), %eax
|
|
||||||
movl %eax, %ecx
|
|
||||||
andl $0x00800000, %ecx
|
|
||||||
jz bank1
|
jz bank1
|
||||||
andl $0x007f0000, %eax
|
andl $0x0000007f, %eax
|
||||||
shll $6, %eax
|
shll $22, %eax
|
||||||
movl %eax, %ebx
|
movl %eax, %ebx
|
||||||
|
|
||||||
bank1: movl (%edi), %eax
|
bank1: movl (%edi), %eax
|
||||||
movl %eax, %ecx
|
movl %eax, %ecx
|
||||||
andl $0x00008000, %ecx
|
andl $0x00008000, %ecx
|
||||||
jz bank0
|
jz bank2
|
||||||
andl $0x00007f00, %eax
|
andl $0x00007f00, %eax
|
||||||
shll $14, %eax
|
shll $14, %eax
|
||||||
movl %eax, %ebx
|
movl %eax, %ebx
|
||||||
|
|
||||||
bank0: movl (%edi), %eax
|
bank2: movl (%edi), %eax
|
||||||
movl %eax, %ecx
|
movl %eax, %ecx
|
||||||
andl $0x00000080, %ecx
|
andl $0x00800000, %ecx
|
||||||
jz done
|
jz bank3
|
||||||
andl $0x0000007f, %eax
|
andl $0x007f0000, %eax
|
||||||
shll $22, %eax
|
shll $6, %eax
|
||||||
movl %eax, %ebx
|
movl %eax, %ebx
|
||||||
|
|
||||||
|
bank3: movl (%edi), %eax
|
||||||
|
movl %eax, %ecx
|
||||||
|
andl $0x80000000, %ecx
|
||||||
|
jz done
|
||||||
|
andl $0x7f000000, %eax
|
||||||
|
shrl $2, %eax
|
||||||
|
movl %eax, %ebx
|
||||||
|
|
||||||
done:
|
done:
|
||||||
movl %ebx, %eax
|
movl %ebx, %eax
|
||||||
|
Loading…
Reference in New Issue
Block a user