Marcel's commit commit a53ae8e934cd54686875b5bcfc2f434244ee55d6 Author: Marcel Apfelbaum <marce...@redhat.com> Date: Mon Sep 16 11:21:16 2013 +0300
hw/pci: partially handle pci master abort has exposed a conflict (an unintended, unordered overlap) between the memory ranges "pci-hole" and "system.flash". When the boot firmware is passed with -pflash, the "pci-hole" region hides it, and the guest cannot execute the firmware. The test cases added by this series should help avoid regressions in this area. On top of v1.7.0-rc0, the "/i440fx/firmware/bios" test passes even without fixing the memory region conflict (consistently with the fact that we never noticed the conflict in practice due to using -bios exclusively). The "/i440fx/firmware/pflash" test catches the problem, unless one of the discussed fixes are applied (ie. shrinking "pci-hole", or explicitly ordering it under "system.flash"): $ tests/i440fx-test --verbose [...] GTest: run: /i440fx/firmware/bios (MSG: qemu cmdline: -S -display none -bios /tmp/fw_blob_MA3Y5W) GTest: result: OK GTest: run: /i440fx/firmware/pflash (MSG: qemu cmdline: -S -display none -pflash /tmp/fw_blob_ELLU5W) ** ERROR:tests/i440fx-test.c:368:test_i440fx_firmware: assertion failed (buf[i] == (char unsigned)i): (0x000000ff == 0x00000000) Aborted Laszlo Ersek (4): i440fx-test: qtest_start() should be paired with qtest_end() i440fx-test: give each GTest case its own qtest i440fx-test: generate temporary firmware blob i440fx-test: verify firmware under 4G and 1M, both -bios and -pflash tests/i440fx-test.c | 169 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 152 insertions(+), 17 deletions(-) -- 1.8.3.1