lkml.org 
[lkml]   [2011]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: FW: 2.6.38.3 and 2.6.39-rc4 hangs after "Booting the kernel" on quad Pentium Pro system
    From
    Date
    Am Samstag, den 23.04.2011, 03:47 -0700 schrieb Yuhong Bao:
    > FYI, I walked Chris on how to use DOS DEBUG via private email, and below is the results after the INT 15, using the instruction sequence I posted on the mailing list.Notice HIMEM was not loaded.
    >
    > ----------------------------------------
    > > From: chris@csamuel.org
    > > To: yuhongbao_386@hotmail.com
    > > Subject: Re: 2.6.38.3 and 2.6.39-rc4 hangs after "Booting the kernel" on quad Pentium Pro system
    > > Date: Sat, 23 Apr 2011 18:55:44 +1000
    > >
    > > On Sat, 23 Apr 2011 06:28:26 PM Yuhong Bao wrote:
    > >
    > >> Actually, execute with G instead, and do it without HIMEM.SYS
    > >> loaded.
    > >
    > > I couldn't see any HIMEM.SYS on the FreeDOS floppy (including
    > > looking for hidden files) so I'm presuming it's not there. There
    > > was a HIMEM.EXE so I've renamed it to NOHIMEM.OFF in the hope
    > > that it won't get executed, even in the safe mode I was using.
    > >
    > > Using G instead of A I now get:
    > >
    > > -G
    > > Unexpected breakpoint interrupt.
    > > AX=3C00 BX=0F00 CX=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
    > > DS=2890 ES=2890 SS=2890 CS=2890 IP=0106 NV UP DI PL NZ NA PE NC
    > > 2890:0106 0000 ADD [BX+SI], AL D:0F00=00
    > > -
    > >

    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...




    \
     
     \ /
      Last update: 2011-04-23 15:55    [W:0.058 / U:0.600 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site