Re: 2.4.23-bk bogus edd changeset - Re: 2.4.23 compile error in edd

From: Matt Domsch (Matt_Domsch_at_dell.com)
Date: 12/09/03

  • Next message: Nakajima, Jun: "RE: [PATCH][RFC] make cpu_sibling_map a cpumask_t"
    Date:	Mon, 8 Dec 2003 22:23:22 -0600
    To: Anton Altaparmakov <aia21@cam.ac.uk>
    
    

    > With latest 2.4-BK which includes your compile fix, compiling the kernel
    > with the attached .config, installing and attempting to boot the kernel
    > causes immediate reboot on my workstation.
    >
    > Disabling EDD in the .config, recompiling and installing the kernel
    > makes it boot just fine.
    >
    > Let me know if you want me to test any patches, need any more
    > information, etc...

    Ok, I'm betting that your BIOS doesn't like the int13 call in setup.S for some
    reason.

    #if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)
    # Read the first sector of device 80h and store the 4-byte signature
            movl $0xFFFFFFFF, %eax
            movl %eax, (DISK80_SIG_BUFFER) # assume failure
            movb $READ_SECTORS, %ah
            movb $1, %al # read 1 sector
            movb $0x80, %dl # from device 80
            movb $0, %dh # at head 0
            movw $1, %cx # cylinder 0, sector 0
            pushw %es
            pushw %ds
            popw %es
            movw $EDDBUF, %bx
            int $0x13
            jc disk_sig_done
            movl (EDDBUF+MBR_SIG_OFFSET), %eax
            movl %eax, (DISK80_SIG_BUFFER) # store success
    disk_sig_done:
            popw %es

    To test this, would you mind #if 0'ing everything starting with
    movb $READ_SECTORS, %ah through the popw %es at the end? That
    should leave you with a file in /proc/bios/int13_dev80/mbr_signature
    that says 0xFFFFFFFF, but a booting system.

    I'm wondering if %eax shouldn't be zeroed before the int13. The
    bottom word gets set properly, but the top word is 0xFFFF which your
    BIOS may not like? That would be another test, add an

     xor %eax, %eax

    before the movb $READ_SECTORS, %ah.

    My BIOSs I've seen this on work, so it could be BIOS-dependent;
    clearing eax before setting the lower bytes would be OK if that fixes
    it.

    I'm travelling Monday and Tuesday, but will respond ASAP.

    Thanks,
    Matt

    -- 
    Matt Domsch
    Sr. Software Engineer, Lead Engineer
    Dell Linux Solutions www.dell.com/linux
    Linux on Dell mailing lists @ http://lists.us.dell.com
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    

  • Next message: Nakajima, Jun: "RE: [PATCH][RFC] make cpu_sibling_map a cpumask_t"

    Relevant Pages

    • Re: kernel-package system: install a boot block using the existing /etc/lilo.conf?
      ... > yes rebooting the system when the script finished would boot the old kernel. ... The symlinks are relatively ... that installing a new boot block referring to the new kernel ...
      (Debian-User)
    • RE: Boot hangs after fresh install
      ... You could try installing Red Hat 9 and see if that boots. ... Fedora Core (or rather kernel 2.6.x+) is incompatible with your hardware ... >> the boot process hung at exactly the same point. ...
      (Fedora)
    • Re: Dmesg garbage after kernel recompile
      ... But after boot if I run dmesg it only displays about one character ... I mean we configured the kernel from ... They boot happily with the stock Debian kernel, ... menuconfig was run, to produce an acceptable .config file, but no ...
      (Debian-User)
    • Re: log-buf-len dynamic
      ... proposed to keep the default size in order to be able to catch all boot ... the config option can go away. ... >>not like a distro kernel with everything included. ... Andrea, I'm not *that* selfish! ...
      (Linux-Kernel)
    • Re: Dell Latitude D510
      ... > I have tried installing the following on a partition: ... If you could boot the laptop with a custom kernel without any FireWire ...
      (freebsd-stable)