mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2016-02-09' into staging
QAPI patches for 2016-02-09 # gpg: Signature made Tue 09 Feb 2016 10:55:51 GMT using RSA key ID EB918653 # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" * remotes/armbru/tags/pull-qapi-2016-02-09: (31 commits) qapi: Add missing JSON files in build dependencies qapi: Fix compilation failure on MIPS and SPARC qmp: Don't abuse stack to track qmp-output root qmp: Fix reference-counting of qnull on empty output visit qapi: Drop unused error argument for list and implicit struct qapi: Tighten qmp_input_end_list() qapi: Drop unused 'kind' for struct/enum visit qapi: Swap 'name' in visit_* callbacks to match public API qom: Swap 'name' next to visitor in ObjectPropertyAccessor qapi: Swap visit_* arguments for consistent 'name' placement qom: Use typedef for Visitor qapi: Don't cast Enum* to int* qapi: Consolidate visitor small integer callbacks qapi: Make all visitors supply uint64 callbacks qapi: Prefer type_int64 over type_int in visitors qapi-visit: Kill unused visit_end_union() qapi: Track all failures between visit_start/stop qapi: Improve generated event use of qapi visitor balloon: Improve use of qapi visitor vl: Ensure qapi visitor properly ends struct visit ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
@@ -272,7 +272,8 @@ $(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-commands.py $(qapi-py)
|
||||
qapi-modules = $(SRC_PATH)/qapi-schema.json $(SRC_PATH)/qapi/common.json \
|
||||
$(SRC_PATH)/qapi/block.json $(SRC_PATH)/qapi/block-core.json \
|
||||
$(SRC_PATH)/qapi/event.json $(SRC_PATH)/qapi/introspect.json \
|
||||
$(SRC_PATH)/qapi/crypto.json
|
||||
$(SRC_PATH)/qapi/crypto.json $(SRC_PATH)/qapi/rocker.json \
|
||||
$(SRC_PATH)/qapi/trace.json
|
||||
|
||||
qapi-types.c qapi-types.h :\
|
||||
$(qapi-modules) $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)
|
||||
|
||||
+12
-12
@@ -27,18 +27,18 @@ QEMU_BUILD_BUG_ON(HOST_MEM_POLICY_INTERLEAVE != MPOL_INTERLEAVE);
|
||||
#endif
|
||||
|
||||
static void
|
||||
host_memory_backend_get_size(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
host_memory_backend_get_size(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
HostMemoryBackend *backend = MEMORY_BACKEND(obj);
|
||||
uint64_t value = backend->size;
|
||||
|
||||
visit_type_size(v, &value, name, errp);
|
||||
visit_type_size(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void
|
||||
host_memory_backend_set_size(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
host_memory_backend_set_size(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
HostMemoryBackend *backend = MEMORY_BACKEND(obj);
|
||||
Error *local_err = NULL;
|
||||
@@ -49,7 +49,7 @@ host_memory_backend_set_size(Object *obj, Visitor *v, void *opaque,
|
||||
goto out;
|
||||
}
|
||||
|
||||
visit_type_size(v, &value, name, &local_err);
|
||||
visit_type_size(v, name, &value, &local_err);
|
||||
if (local_err) {
|
||||
goto out;
|
||||
}
|
||||
@@ -64,8 +64,8 @@ out:
|
||||
}
|
||||
|
||||
static void
|
||||
host_memory_backend_get_host_nodes(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
host_memory_backend_get_host_nodes(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
HostMemoryBackend *backend = MEMORY_BACKEND(obj);
|
||||
uint16List *host_nodes = NULL;
|
||||
@@ -92,18 +92,18 @@ host_memory_backend_get_host_nodes(Object *obj, Visitor *v, void *opaque,
|
||||
node = &(*node)->next;
|
||||
} while (true);
|
||||
|
||||
visit_type_uint16List(v, &host_nodes, name, errp);
|
||||
visit_type_uint16List(v, name, &host_nodes, errp);
|
||||
}
|
||||
|
||||
static void
|
||||
host_memory_backend_set_host_nodes(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
host_memory_backend_set_host_nodes(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
#ifdef CONFIG_NUMA
|
||||
HostMemoryBackend *backend = MEMORY_BACKEND(obj);
|
||||
uint16List *l = NULL;
|
||||
|
||||
visit_type_uint16List(v, &l, name, errp);
|
||||
visit_type_uint16List(v, name, &l, errp);
|
||||
|
||||
while (l) {
|
||||
bitmap_set(backend->host_nodes, l->value, 1);
|
||||
|
||||
+1
-1
@@ -641,7 +641,7 @@ void bdrv_image_info_specific_dump(fprintf_function func_fprintf, void *f,
|
||||
QmpOutputVisitor *ov = qmp_output_visitor_new();
|
||||
QObject *obj, *data;
|
||||
|
||||
visit_type_ImageInfoSpecific(qmp_output_get_visitor(ov), &info_spec, NULL,
|
||||
visit_type_ImageInfoSpecific(qmp_output_get_visitor(ov), NULL, &info_spec,
|
||||
&error_abort);
|
||||
obj = qmp_output_get_qobject(ov);
|
||||
assert(qobject_type(obj) == QTYPE_QDICT);
|
||||
|
||||
+2
-2
@@ -3860,8 +3860,8 @@ void qmp_blockdev_add(BlockdevOptions *options, Error **errp)
|
||||
}
|
||||
}
|
||||
|
||||
visit_type_BlockdevOptions(qmp_output_get_visitor(ov),
|
||||
&options, NULL, &local_err);
|
||||
visit_type_BlockdevOptions(qmp_output_get_visitor(ov), NULL, &options,
|
||||
&local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
goto fail;
|
||||
|
||||
+6
-6
@@ -271,21 +271,21 @@ typedef struct {
|
||||
DeviceState *dev;
|
||||
} BootIndexProperty;
|
||||
|
||||
static void device_get_bootindex(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void device_get_bootindex(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
BootIndexProperty *prop = opaque;
|
||||
visit_type_int32(v, prop->bootindex, name, errp);
|
||||
visit_type_int32(v, name, prop->bootindex, errp);
|
||||
}
|
||||
|
||||
static void device_set_bootindex(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void device_set_bootindex(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
BootIndexProperty *prop = opaque;
|
||||
int32_t boot_index;
|
||||
Error *local_err = NULL;
|
||||
|
||||
visit_type_int32(v, &boot_index, name, &local_err);
|
||||
visit_type_int32(v, name, &boot_index, &local_err);
|
||||
if (local_err) {
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -1576,13 +1576,13 @@ CpuInfoList *qmp_query_cpus(Error **errp)
|
||||
info->value->u.ppc->nip = env->nip;
|
||||
#elif defined(TARGET_SPARC)
|
||||
info->value->arch = CPU_INFO_ARCH_SPARC;
|
||||
info->value->u.sparc = g_new0(CpuInfoSPARC, 1);
|
||||
info->value->u.sparc->pc = env->pc;
|
||||
info->value->u.sparc->npc = env->npc;
|
||||
info->value->u.q_sparc = g_new0(CpuInfoSPARC, 1);
|
||||
info->value->u.q_sparc->pc = env->pc;
|
||||
info->value->u.q_sparc->npc = env->npc;
|
||||
#elif defined(TARGET_MIPS)
|
||||
info->value->arch = CPU_INFO_ARCH_MIPS;
|
||||
info->value->u.mips = g_new0(CpuInfoMIPS, 1);
|
||||
info->value->u.mips->PC = env->active_tc.PC;
|
||||
info->value->u.q_mips = g_new0(CpuInfoMIPS, 1);
|
||||
info->value->u.q_mips->PC = env->active_tc.PC;
|
||||
#elif defined(TARGET_TRICORE)
|
||||
info->value->arch = CPU_INFO_ARCH_TRICORE;
|
||||
info->value->u.tricore = g_new0(CpuInfoTricore, 1);
|
||||
|
||||
@@ -319,11 +319,13 @@ void hmp_info_cpus(Monitor *mon, const QDict *qdict)
|
||||
monitor_printf(mon, " nip=0x%016" PRIx64, cpu->value->u.ppc->nip);
|
||||
break;
|
||||
case CPU_INFO_ARCH_SPARC:
|
||||
monitor_printf(mon, " pc=0x%016" PRIx64, cpu->value->u.sparc->pc);
|
||||
monitor_printf(mon, " npc=0x%016" PRIx64, cpu->value->u.sparc->npc);
|
||||
monitor_printf(mon, " pc=0x%016" PRIx64,
|
||||
cpu->value->u.q_sparc->pc);
|
||||
monitor_printf(mon, " npc=0x%016" PRIx64,
|
||||
cpu->value->u.q_sparc->npc);
|
||||
break;
|
||||
case CPU_INFO_ARCH_MIPS:
|
||||
monitor_printf(mon, " PC=0x%016" PRIx64, cpu->value->u.mips->PC);
|
||||
monitor_printf(mon, " PC=0x%016" PRIx64, cpu->value->u.q_mips->PC);
|
||||
break;
|
||||
case CPU_INFO_ARCH_TRICORE:
|
||||
monitor_printf(mon, " PC=0x%016" PRIx64, cpu->value->u.tricore->PC);
|
||||
@@ -1657,9 +1659,9 @@ void hmp_object_add(Monitor *mon, const QDict *qdict)
|
||||
QemuOpts *opts;
|
||||
char *type = NULL;
|
||||
char *id = NULL;
|
||||
void *dummy = NULL;
|
||||
OptsVisitor *ov;
|
||||
QDict *pdict;
|
||||
Visitor *v;
|
||||
|
||||
opts = qemu_opts_from_qdict(qemu_find_opts("object"), qdict, &err);
|
||||
if (err) {
|
||||
@@ -1668,28 +1670,29 @@ void hmp_object_add(Monitor *mon, const QDict *qdict)
|
||||
|
||||
ov = opts_visitor_new(opts);
|
||||
pdict = qdict_clone_shallow(qdict);
|
||||
v = opts_get_visitor(ov);
|
||||
|
||||
visit_start_struct(opts_get_visitor(ov), &dummy, NULL, NULL, 0, &err);
|
||||
visit_start_struct(v, NULL, NULL, 0, &err);
|
||||
if (err) {
|
||||
goto out_clean;
|
||||
}
|
||||
|
||||
qdict_del(pdict, "qom-type");
|
||||
visit_type_str(opts_get_visitor(ov), &type, "qom-type", &err);
|
||||
visit_type_str(v, "qom-type", &type, &err);
|
||||
if (err) {
|
||||
goto out_end;
|
||||
}
|
||||
|
||||
qdict_del(pdict, "id");
|
||||
visit_type_str(opts_get_visitor(ov), &id, "id", &err);
|
||||
visit_type_str(v, "id", &id, &err);
|
||||
if (err) {
|
||||
goto out_end;
|
||||
}
|
||||
|
||||
object_add(type, id, pdict, opts_get_visitor(ov), &err);
|
||||
object_add(type, id, pdict, v, &err);
|
||||
|
||||
out_end:
|
||||
visit_end_struct(opts_get_visitor(ov), &err_end);
|
||||
visit_end_struct(v, &err_end);
|
||||
if (!err && err_end) {
|
||||
qmp_object_del(id, NULL);
|
||||
}
|
||||
@@ -1701,7 +1704,6 @@ out_clean:
|
||||
qemu_opts_del(opts);
|
||||
g_free(id);
|
||||
g_free(type);
|
||||
g_free(dummy);
|
||||
|
||||
out:
|
||||
hmp_handle_error(mon, &err);
|
||||
@@ -1948,8 +1950,8 @@ void hmp_info_memdev(Monitor *mon, const QDict *qdict)
|
||||
|
||||
while (m) {
|
||||
ov = string_output_visitor_new(false);
|
||||
visit_type_uint16List(string_output_get_visitor(ov),
|
||||
&m->value->host_nodes, NULL, NULL);
|
||||
visit_type_uint16List(string_output_get_visitor(ov), NULL,
|
||||
&m->value->host_nodes, NULL);
|
||||
monitor_printf(mon, "memory backend: %d\n", i);
|
||||
monitor_printf(mon, " size: %" PRId64 "\n", m->value->size);
|
||||
monitor_printf(mon, " merge: %s\n",
|
||||
|
||||
+2
-2
@@ -243,7 +243,7 @@ void acpi_table_add(const QemuOpts *opts, Error **errp)
|
||||
OptsVisitor *ov;
|
||||
|
||||
ov = opts_visitor_new(opts);
|
||||
visit_type_AcpiTableOptions(opts_get_visitor(ov), &hdrs, NULL, &err);
|
||||
visit_type_AcpiTableOptions(opts_get_visitor(ov), NULL, &hdrs, &err);
|
||||
opts_visitor_cleanup(ov);
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ out:
|
||||
QapiDeallocVisitor *dv;
|
||||
|
||||
dv = qapi_dealloc_visitor_new();
|
||||
visit_type_AcpiTableOptions(qapi_dealloc_get_visitor(dv), &hdrs, NULL,
|
||||
visit_type_AcpiTableOptions(qapi_dealloc_get_visitor(dv), NULL, &hdrs,
|
||||
NULL);
|
||||
qapi_dealloc_visitor_cleanup(dv);
|
||||
}
|
||||
|
||||
+21
-28
@@ -283,14 +283,13 @@ void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm,
|
||||
}
|
||||
}
|
||||
|
||||
static void ich9_pm_get_gpe0_blk(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
static void ich9_pm_get_gpe0_blk(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
ICH9LPCPMRegs *pm = opaque;
|
||||
uint32_t value = pm->pm_io_base + ICH9_PMIO_GPE0_STS;
|
||||
|
||||
visit_type_uint32(v, &value, name, errp);
|
||||
visit_type_uint32(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static bool ich9_pm_get_memory_hotplug_support(Object *obj, Error **errp)
|
||||
@@ -308,25 +307,23 @@ static void ich9_pm_set_memory_hotplug_support(Object *obj, bool value,
|
||||
s->pm.acpi_memory_hotplug.is_enabled = value;
|
||||
}
|
||||
|
||||
static void ich9_pm_get_disable_s3(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
static void ich9_pm_get_disable_s3(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
ICH9LPCPMRegs *pm = opaque;
|
||||
uint8_t value = pm->disable_s3;
|
||||
|
||||
visit_type_uint8(v, &value, name, errp);
|
||||
visit_type_uint8(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void ich9_pm_set_disable_s3(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
static void ich9_pm_set_disable_s3(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
ICH9LPCPMRegs *pm = opaque;
|
||||
Error *local_err = NULL;
|
||||
uint8_t value;
|
||||
|
||||
visit_type_uint8(v, &value, name, &local_err);
|
||||
visit_type_uint8(v, name, &value, &local_err);
|
||||
if (local_err) {
|
||||
goto out;
|
||||
}
|
||||
@@ -335,25 +332,23 @@ out:
|
||||
error_propagate(errp, local_err);
|
||||
}
|
||||
|
||||
static void ich9_pm_get_disable_s4(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
static void ich9_pm_get_disable_s4(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
ICH9LPCPMRegs *pm = opaque;
|
||||
uint8_t value = pm->disable_s4;
|
||||
|
||||
visit_type_uint8(v, &value, name, errp);
|
||||
visit_type_uint8(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void ich9_pm_set_disable_s4(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
static void ich9_pm_set_disable_s4(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
ICH9LPCPMRegs *pm = opaque;
|
||||
Error *local_err = NULL;
|
||||
uint8_t value;
|
||||
|
||||
visit_type_uint8(v, &value, name, &local_err);
|
||||
visit_type_uint8(v, name, &value, &local_err);
|
||||
if (local_err) {
|
||||
goto out;
|
||||
}
|
||||
@@ -362,25 +357,23 @@ out:
|
||||
error_propagate(errp, local_err);
|
||||
}
|
||||
|
||||
static void ich9_pm_get_s4_val(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
static void ich9_pm_get_s4_val(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
ICH9LPCPMRegs *pm = opaque;
|
||||
uint8_t value = pm->s4_val;
|
||||
|
||||
visit_type_uint8(v, &value, name, errp);
|
||||
visit_type_uint8(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void ich9_pm_set_s4_val(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
static void ich9_pm_set_s4_val(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
ICH9LPCPMRegs *pm = opaque;
|
||||
Error *local_err = NULL;
|
||||
uint8_t value;
|
||||
|
||||
visit_type_uint8(v, &value, name, &local_err);
|
||||
visit_type_uint8(v, name, &value, &local_err);
|
||||
if (local_err) {
|
||||
goto out;
|
||||
}
|
||||
|
||||
+12
-12
@@ -34,14 +34,14 @@ static void machine_set_accel(Object *obj, const char *value, Error **errp)
|
||||
}
|
||||
|
||||
static void machine_set_kernel_irqchip(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
Error *err = NULL;
|
||||
MachineState *ms = MACHINE(obj);
|
||||
OnOffSplit mode;
|
||||
|
||||
visit_type_OnOffSplit(v, &mode, name, &err);
|
||||
visit_type_OnOffSplit(v, name, &mode, &err);
|
||||
if (err) {
|
||||
error_propagate(errp, err);
|
||||
return;
|
||||
@@ -69,24 +69,24 @@ static void machine_set_kernel_irqchip(Object *obj, Visitor *v,
|
||||
}
|
||||
|
||||
static void machine_get_kvm_shadow_mem(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
MachineState *ms = MACHINE(obj);
|
||||
int64_t value = ms->kvm_shadow_mem;
|
||||
|
||||
visit_type_int(v, &value, name, errp);
|
||||
visit_type_int(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void machine_set_kvm_shadow_mem(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
MachineState *ms = MACHINE(obj);
|
||||
Error *error = NULL;
|
||||
int64_t value;
|
||||
|
||||
visit_type_int(v, &value, name, &error);
|
||||
visit_type_int(v, name, &value, &error);
|
||||
if (error) {
|
||||
error_propagate(errp, error);
|
||||
return;
|
||||
@@ -171,24 +171,24 @@ static void machine_set_dumpdtb(Object *obj, const char *value, Error **errp)
|
||||
}
|
||||
|
||||
static void machine_get_phandle_start(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
MachineState *ms = MACHINE(obj);
|
||||
int64_t value = ms->phandle_start;
|
||||
|
||||
visit_type_int(v, &value, name, errp);
|
||||
visit_type_int(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void machine_set_phandle_start(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
MachineState *ms = MACHINE(obj);
|
||||
Error *error = NULL;
|
||||
int64_t value;
|
||||
|
||||
visit_type_int(v, &value, name, &error);
|
||||
visit_type_int(v, name, &value, &error);
|
||||
if (error) {
|
||||
error_propagate(errp, error);
|
||||
return;
|
||||
|
||||
@@ -31,7 +31,7 @@ static void get_pointer(Object *obj, Visitor *v, Property *prop,
|
||||
char *p;
|
||||
|
||||
p = *ptr ? print(*ptr) : g_strdup("");
|
||||
visit_type_str(v, &p, name, errp);
|
||||
visit_type_str(v, name, &p, errp);
|
||||
g_free(p);
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ static void set_pointer(Object *obj, Visitor *v, Property *prop,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_str(v, &str, name, &local_err);
|
||||
visit_type_str(v, name, &str, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
@@ -112,14 +112,14 @@ static char *print_drive(void *ptr)
|
||||
return g_strdup(blk_name(ptr));
|
||||
}
|
||||
|
||||
static void get_drive(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_drive(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
get_pointer(obj, v, opaque, print_drive, name, errp);
|
||||
}
|
||||
|
||||
static void set_drive(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_drive(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
set_pointer(obj, v, opaque, parse_drive, name, errp);
|
||||
}
|
||||
@@ -173,14 +173,14 @@ static char *print_chr(void *ptr)
|
||||
return g_strdup(val);
|
||||
}
|
||||
|
||||
static void get_chr(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_chr(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
get_pointer(obj, v, opaque, print_chr, name, errp);
|
||||
}
|
||||
|
||||
static void set_chr(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_chr(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
set_pointer(obj, v, opaque, parse_chr, name, errp);
|
||||
}
|
||||
@@ -194,20 +194,20 @@ PropertyInfo qdev_prop_chr = {
|
||||
};
|
||||
|
||||
/* --- netdev device --- */
|
||||
static void get_netdev(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_netdev(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
NICPeers *peers_ptr = qdev_get_prop_ptr(dev, prop);
|
||||
char *p = g_strdup(peers_ptr->ncs[0] ? peers_ptr->ncs[0]->name : "");
|
||||
|
||||
visit_type_str(v, &p, name, errp);
|
||||
visit_type_str(v, name, &p, errp);
|
||||
g_free(p);
|
||||
}
|
||||
|
||||
static void set_netdev(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_netdev(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -223,7 +223,7 @@ static void set_netdev(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_str(v, &str, name, &local_err);
|
||||
visit_type_str(v, name, &str, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
@@ -293,8 +293,8 @@ static int print_vlan(DeviceState *dev, Property *prop, char *dest, size_t len)
|
||||
return snprintf(dest, len, "<null>");
|
||||
}
|
||||
|
||||
static void get_vlan(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_vlan(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -308,11 +308,11 @@ static void get_vlan(Object *obj, Visitor *v, void *opaque,
|
||||
}
|
||||
}
|
||||
|
||||
visit_type_int32(v, &id, name, errp);
|
||||
visit_type_int32(v, name, &id, errp);
|
||||
}
|
||||
|
||||
static void set_vlan(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_vlan(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -327,7 +327,7 @@ static void set_vlan(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_int32(v, &id, name, &local_err);
|
||||
visit_type_int32(v, name, &id, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
|
||||
+89
-91
@@ -42,19 +42,18 @@ void *qdev_get_prop_ptr(DeviceState *dev, Property *prop)
|
||||
return ptr;
|
||||
}
|
||||
|
||||
static void get_enum(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_enum(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
int *ptr = qdev_get_prop_ptr(dev, prop);
|
||||
|
||||
visit_type_enum(v, ptr, prop->info->enum_table,
|
||||
prop->info->name, prop->name, errp);
|
||||
visit_type_enum(v, prop->name, ptr, prop->info->enum_table, errp);
|
||||
}
|
||||
|
||||
static void set_enum(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_enum(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -65,8 +64,7 @@ static void set_enum(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_enum(v, ptr, prop->info->enum_table,
|
||||
prop->info->name, prop->name, errp);
|
||||
visit_type_enum(v, prop->name, ptr, prop->info->enum_table, errp);
|
||||
}
|
||||
|
||||
/* Bit */
|
||||
@@ -88,19 +86,19 @@ static void bit_prop_set(DeviceState *dev, Property *props, bool val)
|
||||
}
|
||||
}
|
||||
|
||||
static void prop_get_bit(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void prop_get_bit(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
uint32_t *p = qdev_get_prop_ptr(dev, prop);
|
||||
bool value = (*p & qdev_get_prop_mask(prop)) != 0;
|
||||
|
||||
visit_type_bool(v, &value, name, errp);
|
||||
visit_type_bool(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void prop_set_bit(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void prop_set_bit(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -112,7 +110,7 @@ static void prop_set_bit(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_bool(v, &value, name, &local_err);
|
||||
visit_type_bool(v, name, &value, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
@@ -146,19 +144,19 @@ static void bit64_prop_set(DeviceState *dev, Property *props, bool val)
|
||||
}
|
||||
}
|
||||
|
||||
static void prop_get_bit64(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void prop_get_bit64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
uint64_t *p = qdev_get_prop_ptr(dev, prop);
|
||||
bool value = (*p & qdev_get_prop_mask64(prop)) != 0;
|
||||
|
||||
visit_type_bool(v, &value, name, errp);
|
||||
visit_type_bool(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void prop_set_bit64(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void prop_set_bit64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -170,7 +168,7 @@ static void prop_set_bit64(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_bool(v, &value, name, &local_err);
|
||||
visit_type_bool(v, name, &value, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
@@ -187,18 +185,18 @@ PropertyInfo qdev_prop_bit64 = {
|
||||
|
||||
/* --- bool --- */
|
||||
|
||||
static void get_bool(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_bool(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
bool *ptr = qdev_get_prop_ptr(dev, prop);
|
||||
|
||||
visit_type_bool(v, ptr, name, errp);
|
||||
visit_type_bool(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
static void set_bool(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_bool(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -209,7 +207,7 @@ static void set_bool(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_bool(v, ptr, name, errp);
|
||||
visit_type_bool(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
PropertyInfo qdev_prop_bool = {
|
||||
@@ -220,18 +218,18 @@ PropertyInfo qdev_prop_bool = {
|
||||
|
||||
/* --- 8bit integer --- */
|
||||
|
||||
static void get_uint8(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
uint8_t *ptr = qdev_get_prop_ptr(dev, prop);
|
||||
|
||||
visit_type_uint8(v, ptr, name, errp);
|
||||
visit_type_uint8(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
static void set_uint8(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_uint8(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -242,7 +240,7 @@ static void set_uint8(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_uint8(v, ptr, name, errp);
|
||||
visit_type_uint8(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
PropertyInfo qdev_prop_uint8 = {
|
||||
@@ -253,18 +251,18 @@ PropertyInfo qdev_prop_uint8 = {
|
||||
|
||||
/* --- 16bit integer --- */
|
||||
|
||||
static void get_uint16(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_uint16(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
uint16_t *ptr = qdev_get_prop_ptr(dev, prop);
|
||||
|
||||
visit_type_uint16(v, ptr, name, errp);
|
||||
visit_type_uint16(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
static void set_uint16(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_uint16(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -275,7 +273,7 @@ static void set_uint16(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_uint16(v, ptr, name, errp);
|
||||
visit_type_uint16(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
PropertyInfo qdev_prop_uint16 = {
|
||||
@@ -286,18 +284,18 @@ PropertyInfo qdev_prop_uint16 = {
|
||||
|
||||
/* --- 32bit integer --- */
|
||||
|
||||
static void get_uint32(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_uint32(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
uint32_t *ptr = qdev_get_prop_ptr(dev, prop);
|
||||
|
||||
visit_type_uint32(v, ptr, name, errp);
|
||||
visit_type_uint32(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
static void set_uint32(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_uint32(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -308,21 +306,21 @@ static void set_uint32(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_uint32(v, ptr, name, errp);
|
||||
visit_type_uint32(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
static void get_int32(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_int32(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
int32_t *ptr = qdev_get_prop_ptr(dev, prop);
|
||||
|
||||
visit_type_int32(v, ptr, name, errp);
|
||||
visit_type_int32(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
static void set_int32(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_int32(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -333,7 +331,7 @@ static void set_int32(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_int32(v, ptr, name, errp);
|
||||
visit_type_int32(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
PropertyInfo qdev_prop_uint32 = {
|
||||
@@ -350,18 +348,18 @@ PropertyInfo qdev_prop_int32 = {
|
||||
|
||||
/* --- 64bit integer --- */
|
||||
|
||||
static void get_uint64(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_uint64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
uint64_t *ptr = qdev_get_prop_ptr(dev, prop);
|
||||
|
||||
visit_type_uint64(v, ptr, name, errp);
|
||||
visit_type_uint64(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
static void set_uint64(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_uint64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -372,7 +370,7 @@ static void set_uint64(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_uint64(v, ptr, name, errp);
|
||||
visit_type_uint64(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
PropertyInfo qdev_prop_uint64 = {
|
||||
@@ -389,8 +387,8 @@ static void release_string(Object *obj, const char *name, void *opaque)
|
||||
g_free(*(char **)qdev_get_prop_ptr(DEVICE(obj), prop));
|
||||
}
|
||||
|
||||
static void get_string(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_string(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -398,14 +396,14 @@ static void get_string(Object *obj, Visitor *v, void *opaque,
|
||||
|
||||
if (!*ptr) {
|
||||
char *str = (char *)"";
|
||||
visit_type_str(v, &str, name, errp);
|
||||
visit_type_str(v, name, &str, errp);
|
||||
} else {
|
||||
visit_type_str(v, ptr, name, errp);
|
||||
visit_type_str(v, name, ptr, errp);
|
||||
}
|
||||
}
|
||||
|
||||
static void set_string(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_string(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -418,7 +416,7 @@ static void set_string(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_str(v, &str, name, &local_err);
|
||||
visit_type_str(v, name, &str, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
@@ -448,8 +446,8 @@ PropertyInfo qdev_prop_ptr = {
|
||||
* 01:02:03:04:05:06
|
||||
* 01-02-03-04-05-06
|
||||
*/
|
||||
static void get_mac(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_mac(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -461,11 +459,11 @@ static void get_mac(Object *obj, Visitor *v, void *opaque,
|
||||
mac->a[0], mac->a[1], mac->a[2],
|
||||
mac->a[3], mac->a[4], mac->a[5]);
|
||||
|
||||
visit_type_str(v, &p, name, errp);
|
||||
visit_type_str(v, name, &p, errp);
|
||||
}
|
||||
|
||||
static void set_mac(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_mac(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -479,7 +477,7 @@ static void set_mac(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_str(v, &str, name, &local_err);
|
||||
visit_type_str(v, name, &str, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
@@ -558,8 +556,8 @@ PropertyInfo qdev_prop_fdc_drive_type = {
|
||||
/*
|
||||
* bus-local address, i.e. "$slot" or "$slot.$fn"
|
||||
*/
|
||||
static void set_pci_devfn(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_pci_devfn(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -573,11 +571,11 @@ static void set_pci_devfn(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_str(v, &str, name, &local_err);
|
||||
visit_type_str(v, name, &str, &local_err);
|
||||
if (local_err) {
|
||||
error_free(local_err);
|
||||
local_err = NULL;
|
||||
visit_type_int32(v, &value, name, &local_err);
|
||||
visit_type_int32(v, name, &value, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
} else if (value < -1 || value > 255) {
|
||||
@@ -629,8 +627,8 @@ PropertyInfo qdev_prop_pci_devfn = {
|
||||
|
||||
/* --- blocksize --- */
|
||||
|
||||
static void set_blocksize(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_blocksize(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -644,7 +642,7 @@ static void set_blocksize(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_uint16(v, &value, name, &local_err);
|
||||
visit_type_uint16(v, name, &value, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
@@ -676,8 +674,8 @@ PropertyInfo qdev_prop_blocksize = {
|
||||
|
||||
/* --- pci host address --- */
|
||||
|
||||
static void get_pci_host_devaddr(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -690,15 +688,15 @@ static void get_pci_host_devaddr(Object *obj, Visitor *v, void *opaque,
|
||||
addr->domain, addr->bus, addr->slot, addr->function);
|
||||
assert(rc == sizeof(buffer) - 1);
|
||||
|
||||
visit_type_str(v, &p, name, errp);
|
||||
visit_type_str(v, name, &p, errp);
|
||||
}
|
||||
|
||||
/*
|
||||
* Parse [<domain>:]<bus>:<slot>.<func>
|
||||
* if <domain> is not supplied, it's assumed to be 0.
|
||||
*/
|
||||
static void set_pci_host_devaddr(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_pci_host_devaddr(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -715,7 +713,7 @@ static void set_pci_host_devaddr(Object *obj, Visitor *v, void *opaque,
|
||||
return;
|
||||
}
|
||||
|
||||
visit_type_str(v, &str, name, &local_err);
|
||||
visit_type_str(v, name, &str, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
@@ -811,8 +809,8 @@ static void array_element_release(Object *obj, const char *name, void *opaque)
|
||||
g_free(p);
|
||||
}
|
||||
|
||||
static void set_prop_arraylen(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_prop_arraylen(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
/* Setter for the property which defines the length of a
|
||||
* variable-sized property array. As well as actually setting the
|
||||
@@ -837,7 +835,7 @@ static void set_prop_arraylen(Object *obj, Visitor *v, void *opaque,
|
||||
name);
|
||||
return;
|
||||
}
|
||||
visit_type_uint32(v, alenptr, name, &local_err);
|
||||
visit_type_uint32(v, name, alenptr, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
@@ -1094,24 +1092,24 @@ void qdev_prop_set_globals(DeviceState *dev)
|
||||
|
||||
/* --- 64bit unsigned int 'size' type --- */
|
||||
|
||||
static void get_size(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void get_size(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
uint64_t *ptr = qdev_get_prop_ptr(dev, prop);
|
||||
|
||||
visit_type_size(v, ptr, name, errp);
|
||||
visit_type_size(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
static void set_size(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void set_size(Object *obj, Visitor *v, const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
uint64_t *ptr = qdev_get_prop_ptr(dev, prop);
|
||||
|
||||
visit_type_size(v, ptr, name, errp);
|
||||
visit_type_size(v, name, ptr, errp);
|
||||
}
|
||||
|
||||
PropertyInfo qdev_prop_size = {
|
||||
|
||||
+4
-3
@@ -893,8 +893,9 @@ char *qdev_get_dev_path(DeviceState *dev)
|
||||
* Legacy property handling
|
||||
*/
|
||||
|
||||
static void qdev_get_legacy_property(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void qdev_get_legacy_property(Object *obj, Visitor *v,
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
Property *prop = opaque;
|
||||
@@ -903,7 +904,7 @@ static void qdev_get_legacy_property(Object *obj, Visitor *v, void *opaque,
|
||||
char *ptr = buffer;
|
||||
|
||||
prop->info->print(dev, prop, buffer, sizeof(buffer));
|
||||
visit_type_str(v, &ptr, name, errp);
|
||||
visit_type_str(v, name, &ptr, errp);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+22
-21
@@ -1741,34 +1741,35 @@ static HotplugHandler *pc_get_hotpug_handler(MachineState *machine,
|
||||
}
|
||||
|
||||
static void
|
||||
pc_machine_get_hotplug_memory_region_size(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
pc_machine_get_hotplug_memory_region_size(Object *obj, Visitor *v,
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
PCMachineState *pcms = PC_MACHINE(obj);
|
||||
int64_t value = memory_region_size(&pcms->hotplug_memory.mr);
|
||||
|
||||
visit_type_int(v, &value, name, errp);
|
||||
visit_type_int(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void pc_machine_get_max_ram_below_4g(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
PCMachineState *pcms = PC_MACHINE(obj);
|
||||
uint64_t value = pcms->max_ram_below_4g;
|
||||
|
||||
visit_type_size(v, &value, name, errp);
|
||||
visit_type_size(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
PCMachineState *pcms = PC_MACHINE(obj);
|
||||
Error *error = NULL;
|
||||
uint64_t value;
|
||||
|
||||
visit_type_size(v, &value, name, &error);
|
||||
visit_type_size(v, name, &value, &error);
|
||||
if (error) {
|
||||
error_propagate(errp, error);
|
||||
return;
|
||||
@@ -1790,21 +1791,21 @@ static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v,
|
||||
pcms->max_ram_below_4g = value;
|
||||
}
|
||||
|
||||
static void pc_machine_get_vmport(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void pc_machine_get_vmport(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
PCMachineState *pcms = PC_MACHINE(obj);
|
||||
OnOffAuto vmport = pcms->vmport;
|
||||
|
||||
visit_type_OnOffAuto(v, &vmport, name, errp);
|
||||
visit_type_OnOffAuto(v, name, &vmport, errp);
|
||||
}
|
||||
|
||||
static void pc_machine_set_vmport(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void pc_machine_set_vmport(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
PCMachineState *pcms = PC_MACHINE(obj);
|
||||
|
||||
visit_type_OnOffAuto(v, &pcms->vmport, name, errp);
|
||||
visit_type_OnOffAuto(v, name, &pcms->vmport, errp);
|
||||
}
|
||||
|
||||
bool pc_machine_is_smm_enabled(PCMachineState *pcms)
|
||||
@@ -1832,21 +1833,21 @@ bool pc_machine_is_smm_enabled(PCMachineState *pcms)
|
||||
return false;
|
||||
}
|
||||
|
||||
static void pc_machine_get_smm(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void pc_machine_get_smm(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
PCMachineState *pcms = PC_MACHINE(obj);
|
||||
OnOffAuto smm = pcms->smm;
|
||||
|
||||
visit_type_OnOffAuto(v, &smm, name, errp);
|
||||
visit_type_OnOffAuto(v, name, &smm, errp);
|
||||
}
|
||||
|
||||
static void pc_machine_set_smm(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void pc_machine_set_smm(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
PCMachineState *pcms = PC_MACHINE(obj);
|
||||
|
||||
visit_type_OnOffAuto(v, &pcms->smm, name, errp);
|
||||
visit_type_OnOffAuto(v, name, &pcms->smm, errp);
|
||||
}
|
||||
|
||||
static bool pc_machine_get_nvdimm(Object *obj, Error **errp)
|
||||
|
||||
+6
-6
@@ -200,22 +200,22 @@ static int ide_dev_initfn(IDEDevice *dev, IDEDriveKind kind)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ide_dev_get_bootindex(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void ide_dev_get_bootindex(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
IDEDevice *d = IDE_DEVICE(obj);
|
||||
|
||||
visit_type_int32(v, &d->conf.bootindex, name, errp);
|
||||
visit_type_int32(v, name, &d->conf.bootindex, errp);
|
||||
}
|
||||
|
||||
static void ide_dev_set_bootindex(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void ide_dev_set_bootindex(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
IDEDevice *d = IDE_DEVICE(obj);
|
||||
int32_t boot_index;
|
||||
Error *local_err = NULL;
|
||||
|
||||
visit_type_int32(v, &boot_index, name, &local_err);
|
||||
visit_type_int32(v, name, &boot_index, &local_err);
|
||||
if (local_err) {
|
||||
goto out;
|
||||
}
|
||||
|
||||
+10
-10
@@ -89,24 +89,24 @@ static void xics_common_reset(DeviceState *d)
|
||||
device_reset(DEVICE(icp->ics));
|
||||
}
|
||||
|
||||
static void xics_prop_get_nr_irqs(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name, Error **errp)
|
||||
static void xics_prop_get_nr_irqs(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
XICSState *icp = XICS_COMMON(obj);
|
||||
int64_t value = icp->nr_irqs;
|
||||
|
||||
visit_type_int(v, &value, name, errp);
|
||||
visit_type_int(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void xics_prop_set_nr_irqs(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name, Error **errp)
|
||||
static void xics_prop_set_nr_irqs(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
XICSState *icp = XICS_COMMON(obj);
|
||||
XICSStateClass *info = XICS_COMMON_GET_CLASS(icp);
|
||||
Error *error = NULL;
|
||||
int64_t value;
|
||||
|
||||
visit_type_int(v, &value, name, &error);
|
||||
visit_type_int(v, name, &value, &error);
|
||||
if (error) {
|
||||
error_propagate(errp, error);
|
||||
return;
|
||||
@@ -123,17 +123,17 @@ static void xics_prop_set_nr_irqs(Object *obj, Visitor *v,
|
||||
}
|
||||
|
||||
static void xics_prop_get_nr_servers(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
XICSState *icp = XICS_COMMON(obj);
|
||||
int64_t value = icp->nr_servers;
|
||||
|
||||
visit_type_int(v, &value, name, errp);
|
||||
visit_type_int(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void xics_prop_set_nr_servers(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
const char *name, void *opaque,
|
||||
Error **errp)
|
||||
{
|
||||
XICSState *icp = XICS_COMMON(obj);
|
||||
@@ -141,7 +141,7 @@ static void xics_prop_set_nr_servers(Object *obj, Visitor *v,
|
||||
Error *error = NULL;
|
||||
int64_t value;
|
||||
|
||||
visit_type_int(v, &value, name, &error);
|
||||
visit_type_int(v, name, &value, &error);
|
||||
if (error) {
|
||||
error_propagate(errp, error);
|
||||
return;
|
||||
|
||||
+3
-4
@@ -570,14 +570,13 @@ Object *ich9_lpc_find(void)
|
||||
return o;
|
||||
}
|
||||
|
||||
static void ich9_lpc_get_sci_int(Object *obj, Visitor *v,
|
||||
void *opaque, const char *name,
|
||||
Error **errp)
|
||||
static void ich9_lpc_get_sci_int(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
ICH9LPCState *lpc = ICH9_LPC_DEVICE(obj);
|
||||
uint32_t value = ich9_lpc_sci_irq(lpc);
|
||||
|
||||
visit_type_uint32(v, &value, name, errp);
|
||||
visit_type_uint32(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void ich9_lpc_add_properties(ICH9LPCState *lpc)
|
||||
|
||||
+3
-3
@@ -373,8 +373,8 @@ static Property pc_dimm_properties[] = {
|
||||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
static void pc_dimm_get_size(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void pc_dimm_get_size(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
int64_t value;
|
||||
MemoryRegion *mr;
|
||||
@@ -383,7 +383,7 @@ static void pc_dimm_get_size(Object *obj, Visitor *v, void *opaque,
|
||||
mr = host_memory_backend_get_memory(dimm->hostmem, errp);
|
||||
value = memory_region_size(mr);
|
||||
|
||||
visit_type_int(v, &value, name, errp);
|
||||
visit_type_int(v, name, &value, errp);
|
||||
}
|
||||
|
||||
static void pc_dimm_check_memdev_is_busy(Object *obj, const char *name,
|
||||
|
||||
+3
-3
@@ -363,12 +363,12 @@ static void pci_edu_uninit(PCIDevice *pdev)
|
||||
timer_del(&edu->dma_timer);
|
||||
}
|
||||
|
||||
static void edu_obj_uint64(Object *obj, struct Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void edu_obj_uint64(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
uint64_t *val = opaque;
|
||||
|
||||
visit_type_uint64(v, val, name, errp);
|
||||
visit_type_uint64(v, name, val, errp);
|
||||
}
|
||||
|
||||
static void edu_instance_init(Object *obj)
|
||||
|
||||
+6
-6
@@ -53,26 +53,26 @@ static void tmp105_alarm_update(TMP105State *s)
|
||||
tmp105_interrupt_update(s);
|
||||
}
|
||||
|
||||
static void tmp105_get_temperature(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void tmp105_get_temperature(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
TMP105State *s = TMP105(obj);
|
||||
int64_t value = s->temperature * 1000 / 256;
|
||||
|
||||
visit_type_int(v, &value, name, errp);
|
||||
visit_type_int(v, name, &value, errp);
|
||||
}
|
||||
|
||||
/* Units are 0.001 centigrades relative to 0 C. s->temperature is 8.8
|
||||
* fixed point, so units are 1/256 centigrades. A simple ratio will do.
|
||||
*/
|
||||
static void tmp105_set_temperature(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
static void tmp105_set_temperature(Object *obj, Visitor *v, const char *name,
|
||||
void *opaque, Error **errp)
|
||||
{
|
||||
TMP105State *s = TMP105(obj);
|
||||
Error *local_err = NULL;
|
||||
int64_t temp;
|
||||
|
||||
visit_type_int(v, &temp, name, &local_err);
|
||||
visit_type_int(v, name, &temp, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user