diff --git a/monitor.c b/monitor.c index e960c3831b..598dbfe5f2 100644 --- a/monitor.c +++ b/monitor.c @@ -921,11 +921,14 @@ static void do_info_cpus(Monitor *mon, QObject **ret_data) *ret_data = QOBJECT(cpu_list); } -static void do_cpu_set(Monitor *mon, const QDict *qdict, QObject **ret_data) +static int do_cpu_set(Monitor *mon, const QDict *qdict, QObject **ret_data) { int index = qdict_get_int(qdict, "index"); - if (mon_set_cpu(index) < 0) + if (mon_set_cpu(index) < 0) { qemu_error_new(QERR_INVALID_PARAMETER, "index"); + return -1; + } + return 0; } static void do_info_jit(Monitor *mon) diff --git a/qemu-monitor.hx b/qemu-monitor.hx index c1bd77335a..835fd05730 100644 --- a/qemu-monitor.hx +++ b/qemu-monitor.hx @@ -604,7 +604,7 @@ ETEXI .params = "index", .help = "set the default CPU", .user_print = monitor_user_noop, - .mhandler.cmd_new = do_cpu_set, + .cmd_new_ret = do_cpu_set, }, STEXI