On 08/15/14 12:31, Reza Jelveh wrote: > On 15/08/14 09:30, Laszlo Ersek wrote: >> ... actually, I guess the goal of this patch is to enable AHCI mode ATA >> devices while keeping IDE mode ATA devices working. > Yes, this requires the IdeMode and SataController patches that come later. > Otherwise, IdeMode would not properly enumerate ide devices. > >> So, not only should we ensure that IDE mode ATA devices remain in >> working state wrt. device paths (ie. TranslateOfwNodes()) -- no >> regressions --, we should also see if (and how) the *new*, AHCI mode ATA >> devices are listed by QEMU, and listed by edk2. > The SataController patch ensures that the issue Sava mentioned earlier, namely > that only the first channel is detected, is fixed > >> IOW, the old OFW devpath -> UEFI devpath fragment should be kept working >> (for IDE mode devices), and (likely) a new mapping should be added for >> AHCI mode devices. > Any idea how I can test this?
Sure. First, by looking at (and maybe posting) the debug log section that I described before. Second, by creating a virtual machine as follows: - ATA disk in IDE or AHCI mode, with booindex spec - ATA CD-ROM in IDE or AHCI mode, with bootindex spec - virtio-net NIC, with bootindex spec, and also add ",romfile=" to stick with OVMF's builtin virtio-net driver for now, not the external oprom from the iPXE project (The above describes 2x2x1 == 4 hardware configurations, where each hardware configuration allows 3! = 6 full boot order possibilities; in total: 4 * 6 == 24 command lines.) The ISO image connected to the CD-ROM should contain a Linux installer or LiveCD (eg. Fedora). The virtual disk image (== the drive) under the ATA disk should contain an installed UEFI OS (eg. the same Fedora version that you have on the LiveCD). For the virtio-net NIC, you should set up a local PXE boot server. You can use qemu's builtin server (with -netdev user), or you can use dnsmasq. The PXE payload offered by the server should be a UEFI application -- it's easiest to pick the *old* EFI shell binary, from "EdkShellBinPkg/FullShell/X64/Shell_Full.efi". Then: for each hw config in 0 .. 2*2*1: for each boot order in 0 .. 3*2*1: boot it That is, for each hardware configuration out of the four possible, go through all six possible boot orders, and see if reality matches the expectations. You can verify how each works, looking at the debug log, and also (obviously) the bootindex=0 option should always boot. (You can distinguish the installed OS from the LiveCD from the old EFI shell.) (It's probably best to test this out first without applying your patch, ie. one hw config, where you have a traditional IDE disk and a traditional IDE cd-rom, and you just test the 6 boot orders.) Thanks, Laszlo ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel