"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "hw/core/machine.c" between
qemu-6.0.0-rc1.tar.xz and qemu-6.0.0-rc2.tar.xz

About: QEMU is a generic machine/processor emulator and virtualizer. Release candidate.

machine.c  (qemu-6.0.0-rc1.tar.xz):machine.c  (qemu-6.0.0-rc2.tar.xz)
skipping to change at line 56 skipping to change at line 56
GlobalProperty hw_compat_5_1[] = { GlobalProperty hw_compat_5_1[] = {
{ "vhost-scsi", "num_queues", "1"}, { "vhost-scsi", "num_queues", "1"},
{ "vhost-user-blk", "num-queues", "1"}, { "vhost-user-blk", "num-queues", "1"},
{ "vhost-user-scsi", "num_queues", "1"}, { "vhost-user-scsi", "num_queues", "1"},
{ "virtio-blk-device", "num-queues", "1"}, { "virtio-blk-device", "num-queues", "1"},
{ "virtio-scsi-device", "num_queues", "1"}, { "virtio-scsi-device", "num_queues", "1"},
{ "nvme", "use-intel-id", "on"}, { "nvme", "use-intel-id", "on"},
{ "pvpanic", "events", "1"}, /* PVPANIC_PANICKED */ { "pvpanic", "events", "1"}, /* PVPANIC_PANICKED */
{ "pl011", "migrate-clk", "off" }, { "pl011", "migrate-clk", "off" },
{ "virtio-pci", "x-ats-page-aligned", "off"},
}; };
const size_t hw_compat_5_1_len = G_N_ELEMENTS(hw_compat_5_1); const size_t hw_compat_5_1_len = G_N_ELEMENTS(hw_compat_5_1);
GlobalProperty hw_compat_5_0[] = { GlobalProperty hw_compat_5_0[] = {
{ "pci-host-bridge", "x-config-reg-migration-enabled", "off" }, { "pci-host-bridge", "x-config-reg-migration-enabled", "off" },
{ "virtio-balloon-device", "page-poison", "false" }, { "virtio-balloon-device", "page-poison", "false" },
{ "vmport", "x-read-set-eax", "off" }, { "vmport", "x-read-set-eax", "off" },
{ "vmport", "x-signal-unsupported-cmd", "off" }, { "vmport", "x-signal-unsupported-cmd", "off" },
{ "vmport", "x-report-vmx-type", "off" }, { "vmport", "x-report-vmx-type", "off" },
{ "vmport", "x-cmds-v2", "off" }, { "vmport", "x-cmds-v2", "off" },
skipping to change at line 532 skipping to change at line 533
g_free(nvdimms_state->persistence_string); g_free(nvdimms_state->persistence_string);
nvdimms_state->persistence_string = g_strdup(value); nvdimms_state->persistence_string = g_strdup(value);
} }
void machine_class_allow_dynamic_sysbus_dev(MachineClass *mc, const char *type) void machine_class_allow_dynamic_sysbus_dev(MachineClass *mc, const char *type)
{ {
QAPI_LIST_PREPEND(mc->allowed_dynamic_sysbus_devices, g_strdup(type)); QAPI_LIST_PREPEND(mc->allowed_dynamic_sysbus_devices, g_strdup(type));
} }
static void validate_sysbus_device(SysBusDevice *sbdev, void *opaque) bool device_is_dynamic_sysbus(MachineClass *mc, DeviceState *dev)
{ {
MachineState *machine = opaque;
MachineClass *mc = MACHINE_GET_CLASS(machine);
bool allowed = false; bool allowed = false;
strList *wl; strList *wl;
Object *obj = OBJECT(dev);
if (!object_dynamic_cast(obj, TYPE_SYS_BUS_DEVICE)) {
return false;
}
for (wl = mc->allowed_dynamic_sysbus_devices; for (wl = mc->allowed_dynamic_sysbus_devices;
!allowed && wl; !allowed && wl;
wl = wl->next) { wl = wl->next) {
allowed |= !!object_dynamic_cast(OBJECT(sbdev), wl->value); allowed |= !!object_dynamic_cast(obj, wl->value);
} }
if (!allowed) { return allowed;
}
static void validate_sysbus_device(SysBusDevice *sbdev, void *opaque)
{
MachineState *machine = opaque;
MachineClass *mc = MACHINE_GET_CLASS(machine);
if (!device_is_dynamic_sysbus(mc, DEVICE(sbdev))) {
error_report("Option '-device %s' cannot be handled by this machine", error_report("Option '-device %s' cannot be handled by this machine",
object_class_get_name(object_get_class(OBJECT(sbdev)))); object_class_get_name(object_get_class(OBJECT(sbdev))));
exit(1); exit(1);
} }
} }
static char *machine_get_memdev(Object *obj, Error **errp) static char *machine_get_memdev(Object *obj, Error **errp)
{ {
MachineState *ms = MACHINE(obj); MachineState *ms = MACHINE(obj);
 End of changes. 6 change blocks. 
5 lines changed or deleted 17 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)