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