lkml.org 
[lkml]   [2011]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: FW: 2.6.38.3 and 2.6.39-rc4 hangs after "Booting the kernel" on quad Pentium Pro system
On 04/23/2011 06:52 AM, Thomas Meyer wrote:
>
> so your bios seems to report the size in AX/BX. the code in
> arch/x86/boot/memory.c move the return sizes from CX/DX into AX/BX, when
> CX or DX is not zero.
>
> Could you try to change the line:
>
> } else if (oreg.ax == 15*1024) {
> boot_params.alt_mem_k = (oreg.dx<< 6) + oreg.ax;
>
> to
> } else if (oreg.ax == 15*1024) {
> boot_params.alt_mem_k = (oreg.bx<< 6) + oreg.ax;
>
> That should fix your misdetection.
>
> The assembler code in arch/i386/boot/setup.S seemed to move AX/BX into
> CX/DX, when CX and(!) DX were zero. Then used CX/DX to calc the memory
> size.
>
> PS: gitk --follow arch/x86/boot/memory.c seems to react strangley...
>

Ah yes, this should have been bx; ax/bx and cx/dx forms pairs (unlike
the normal x86 convention of DX:AX and BX:CX forming pairs), and it
doesn't make sense to mix and match them.

-hpa


\
 
 \ /
  Last update: 2011-04-23 19:55    [from the cache]
©2003-2011 Jasper Spaans