if (!monitor_has_error(mon)) {
/* success response */
if (data) {
+ assert(qobject_type(data) == QTYPE_QDICT);
qobject_incref(data);
qdict_put_obj(qmp, "return", data);
} else {
{
if (balloon_get_value()) {
/* ballooning is active */
- ram_addr_t value = qdict_get_int(qdict, "value");
- qemu_balloon(value << 20);
+ qemu_balloon(qdict_get_int(qdict, "value"));
}
}
break;
case 'i':
case 'l':
+ case 'M':
{
int64_t val;
monitor_printf(mon, "\'%s\' has failed: ", cmdname);
monitor_printf(mon, "integer is for 32-bit values\n");
goto fail;
+ } else if (c == 'M') {
+ val <<= 20;
}
qdict_put(qdict, key, qint_from_int(val));
}
}
case 'i':
case 'l':
+ case 'M':
if (qobject_type(value) != QTYPE_QINT) {
qemu_error_new(QERR_INVALID_PARAMETER_TYPE, name, "int");
return -1;