Messages in this thread | | | Date | Mon, 8 Dec 2003 22:23:22 -0600 | From | Matt Domsch <> | Subject | Re: 2.4.23-bk bogus edd changeset - Re: 2.4.23 compile error in edd |
| |
> 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/
| |