I'm afraid -boot regressed in 1.4, specifically commit e4ada29e. This series fixes it, along with related bugs, and tops off with test cases.
The first three patches fix the regression, the fourth cleans up afterwards. I'm nominating these four for stable even though the regression fix isn't exactly minimal. I'm refraining from nominating the next two. They make -no-fd-bootchk behave more sanely, but the old behavior hasn't changed in quite a few releases, and nobody complained. Feel free to take it into stable anyway, along with the tests. v2: * New PATCH 7 to make testing -boot once possible * Old PATCH 5 reworked and extended became PATCH 8 * Writing more tests uncovered -no-fd-bootchk weirdness, cleaned up in new PATCH 5+6 Markus Armbruster (8): vl: Clean up parsing of -boot option argument qemu-option: check_params() is now unused, drop it vl: Fix -boot order and once regressions, and related bugs vl: Rename *boot_devices to *boot_order, for consistency pc: Make -no-fd-bootchk stick across boot order changes pc: Drop ref to Bochs from -no-fd-bootchk documentation qtest: Don't reset on qtest chardev connect qtest: Add boot order test hw/hw.h | 4 +- hw/pc.c | 7 ++-- include/qemu/option.h | 2 - qemu-options.hx | 3 +- qtest.c | 7 +++- tests/Makefile | 2 + tests/boot-order-test.c | 71 +++++++++++++++++++++++++++++++ util/qemu-option.c | 30 -------------- vl.c | 108 ++++++++++++++++++------------------------------ 9 files changed, 126 insertions(+), 108 deletions(-) create mode 100644 tests/boot-order-test.c -- 1.7.11.7