okay, now it's reading the CF connected into IDE interface. but the problem is it's still not able to read the ELF kernel image in CF. i found a few strange things when it initializes the CF. it says sectors_per_track, num_heads and num_cylinders are of the same size:768. that was for IDE0. but what's more weird, it also initializes IDE1(why?), and this says sectors_per_track, num_heads and num_cylinders are (again) of the same size: 60524. my CF is 32mb big, its correct values are cylinders-984, head-16, and sector-4.
i changed "offset" in init_bytes in ide_fill_buf.c from 0xfe00 (it was hardcoded) to 0x0. and here's the log-trace snipped from serial. ---------------------------------------------------------------------------- ------------------ Wrote linuxbios table at: 00000500 - 00000670 checksum 98e3 Jumping to linuxbiosmain()... POST: 0xed, TSC Lo: 30, Hi: 30 Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.2 POST: 0xf8, TSC Lo: 1, Hi: 1 Trying polled ide Waiting for ide disks to spin up This is a hard coded delay and longer than necessary. ............... I am now initializing the ide system init_drive sectors_per_track=[768], num_heads=[768], num_cylinders=[768] IDE0 768/768/768 cap: 0301 l???????????????????? init_drive sectors_per_track=[60524], num_heads=[60524], num_cylinders=[60524] IDE1 60524/60524/60524 cap: ec6c ide_read count = 2000 ide_read offset = 0 ide_read block_num = 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ide_read offset = 200 ide_read block_num = 1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ THANKS in advance!
