[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC 05/48] pc: Fix error reporting for -boot once
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH RFC 05/48] pc: Fix error reporting for -boot once |
Date: |
Wed, 24 Feb 2010 18:55:17 +0100 |
Commit 0ecdffbb created pc_boot_set() for use from monitor command
"boot_set", via qemu_boot_set(). pc_boot_set() reports errors to
cur_mon, which works fine for monitor code.
Commit e0f084bf reused the function int reset handler
restore_boot_devices(). Use of cur_mon is problematic in that
context. For instance, the "Too many boot devices for PC" error for
"-boot order=abcdefgh,once=c" goes to the monitor instead of stderr.
The monitor may not even exist.
Fix by switching to qemu_error().
Signed-off-by: Markus Armbruster <address@hidden>
---
hw/pc.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/hw/pc.c b/hw/pc.c
index 4f6a522..d94980b 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -234,7 +234,6 @@ static int boot_device2nibble(char boot_device)
and used there as well */
static int pc_boot_set(void *opaque, const char *boot_device)
{
- Monitor *mon = cur_mon;
#define PC_MAX_BOOT_DEVICES 3
RTCState *s = (RTCState *)opaque;
int nbds, bds[3] = { 0, };
@@ -242,14 +241,14 @@ static int pc_boot_set(void *opaque, const char
*boot_device)
nbds = strlen(boot_device);
if (nbds > PC_MAX_BOOT_DEVICES) {
- monitor_printf(mon, "Too many boot devices for PC\n");
+ qemu_error("Too many boot devices for PC\n");
return(1);
}
for (i = 0; i < nbds; i++) {
bds[i] = boot_device2nibble(boot_device[i]);
if (bds[i] == 0) {
- monitor_printf(mon, "Invalid boot device for PC: '%c'\n",
- boot_device[i]);
+ qemu_error("Invalid boot device for PC: '%c'\n",
+ boot_device[i]);
return(1);
}
}
--
1.6.6
- [Qemu-devel] [PATCH RFC 35/48] monitor: New in_qmp_mon(), (continued)
- [Qemu-devel] [PATCH RFC 35/48] monitor: New in_qmp_mon(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 38/48] error: New QERR_BUS_NO_HOTPLUG, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 11/48] error: Move qemu_error & friends into their own header, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 09/48] block: Simplify usb_msd_initfn() test for "can read bdrv key", Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 06/48] pc: Factor common code out of pc_boot_set() and cmos_init(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 08/48] monitor: Separate "default monitor" and "current monitor" cleanly, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 15/48] error: Don't abuse qemu_error() for non-error in qdev_device_help(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 05/48] pc: Fix error reporting for -boot once,
Markus Armbruster <=
- [Qemu-devel] [PATCH RFC 07/48] tools: Remove unused cur_mon from qemu-tool.c, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 32/48] error: New QERR_DEVICE_MULTIPLE_BUSSES, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 34/48] qdev: Convert qbus_find() to QError, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 33/48] error: New QERR_DEVICE_NO_BUS, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 14/48] error: Don't abuse qemu_error() for non-error in scsi_hot_add(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 12/48] error: New error_printf() and error_vprintf(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 41/48] Revert "qdev: Use QError for 'device not found' error", Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 20/48] QemuOpts: Fix qemu_config_parse() to catch file read errors, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 40/48] error: New QERR_NO_BUS_FOR_DEVICE, Markus Armbruster, 2010/02/24