
On 08/30/2017 03:54 AM, Bin Meng wrote:
Hi Heinrich,
On Wed, Aug 30, 2017 at 4:26 AM, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
Hello Simon,
U-Boot HEAD qemu-86_defconfig cannot discover an IDE disk with one FAT partition in qemu-system-x86_64.
By bisection I found this patch.
b7c6baef2891ce8978cbfddb66e944943473ac21 x86: Convert MMC to driver model
With this patch I get
IDE: Bus 0: OK Bus 1: OK Device 0: Model: QEMU HARDDISK Firm: 2.5+ Ser#: QM00001 Type: Hard Disk Supports 48-bit addressing Capacity: 128.0 MB = 0.1 GB (262144 x 512) ** Can't read Driver Desriptor Block ** Device 1: not available Device 2: Model: QEMU Firm: 2.5+ Ser#: QEMU DVD-ROM Type: Removable CD ROM Capacity: not available Device 3: not available
=> ide info =>
Without the patch I get=> ide info Device 0: Model: QEMU HARDDISK Firm: 2.5+ Ser#: QM00001 Type: Hard Disk Supports 48-bit addressing Capacity: 128.0 MB = 0.1 GB (262144 x 512) Device 2: Model: QEMU Firm: 2.5+ Ser#: QEMU DVD-ROM Type: Removable CD ROM Capacity: not available
I think we observe two independent errors here:
- The hard disk Device 0 is not read.
- The ide command stops at the first device that is not available.
I guess only the first is caused by your patch.
Both logs look fine to me. The "Can't read Driver Desriptor Block" comes from part_mac.c. Did you verify the actual IDE read/write fails with current HEAD?
Regards, Bin
Hello Bin,
I have not checked block level read but used the shell commands for testing.
Before the patch I can read the directory of the drive:
=> ide info Device 0: Model: QEMU HARDDISK Firm: 2.5+ Ser#: QM00001 Type: Hard Disk Supports 48-bit addressing Capacity: 128.0 MB = 0.1 GB (262144 x 512) Device 2: Model: QEMU Firm: 2.5+ Ser#: QEMU DVD-ROM Type: Removable CD ROM Capacity: not available => fat2ls ide 0:1 Unknown command 'fat2ls' - try 'help' => fatls ide 0:1 164768 snp.efi 0 file1 0 file2
After the patch (including HEAD) I cannot read the directory and cannot load the file snp.efi either:
=> ide info => fatls ide 0:1 ** Bad device ide 0 ** => => fatls mmc 0:1 ** Bad device mmc 0 **
In both cases I have loaded the same image with:
export BUILD_ROM=y make distclean && make qemu-x86_defconfig && make -j6
qemu-system-x86_64 -m 1G -bios u-boot.rom -nographic \ -netdev \ user,id=eth0,tftp=tftp,net=192.168.76.0/24,dhcpstart=192.168.76.9 \ -device e1000,netdev=eth0 -machine pc-i440fx-2.8 -hda img
Best regards
Heinrich