1 | /* AUTOMATICALLY GENERATED, DO NOT MODIFY */ |
2 | |
3 | /* |
4 | * Schema-defined QAPI visitors |
5 | * |
6 | * Copyright IBM, Corp. 2011 |
7 | * Copyright (C) 2014-2018 Red Hat, Inc. |
8 | * |
9 | * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. |
10 | * See the COPYING.LIB file in the top-level directory. |
11 | */ |
12 | |
13 | #include "qemu/osdep.h" |
14 | #include "qapi/error.h" |
15 | #include "qapi/qmp/qerror.h" |
16 | #include "qapi-visit-misc-target.h" |
17 | |
18 | #if defined(TARGET_ALPHA) || defined(TARGET_ARM) || defined(TARGET_HPPA) || defined(TARGET_I386) || defined(TARGET_MIPS) || defined(TARGET_MIPS64) || defined(TARGET_MOXIE) || defined(TARGET_PPC) || defined(TARGET_PPC64) || defined(TARGET_S390X) || defined(TARGET_SH4) || defined(TARGET_SPARC) |
19 | void visit_type_q_obj_RTC_CHANGE_arg_members(Visitor *v, q_obj_RTC_CHANGE_arg *obj, Error **errp) |
20 | { |
21 | Error *err = NULL; |
22 | |
23 | visit_type_int(v, "offset" , &obj->offset, &err); |
24 | if (err) { |
25 | goto out; |
26 | } |
27 | |
28 | out: |
29 | error_propagate(errp, err); |
30 | } |
31 | #endif /* defined(TARGET_ALPHA) || defined(TARGET_ARM) || defined(TARGET_HPPA) || defined(TARGET_I386) || defined(TARGET_MIPS) || defined(TARGET_MIPS64) || defined(TARGET_MOXIE) || defined(TARGET_PPC) || defined(TARGET_PPC64) || defined(TARGET_S390X) || defined(TARGET_SH4) || defined(TARGET_SPARC) */ |
32 | |
33 | #if defined(TARGET_I386) |
34 | void visit_type_SevState(Visitor *v, const char *name, SevState *obj, Error **errp) |
35 | { |
36 | int value = *obj; |
37 | visit_type_enum(v, name, &value, &SevState_lookup, errp); |
38 | *obj = value; |
39 | } |
40 | #endif /* defined(TARGET_I386) */ |
41 | |
42 | #if defined(TARGET_I386) |
43 | void visit_type_SevInfo_members(Visitor *v, SevInfo *obj, Error **errp) |
44 | { |
45 | Error *err = NULL; |
46 | |
47 | visit_type_bool(v, "enabled" , &obj->enabled, &err); |
48 | if (err) { |
49 | goto out; |
50 | } |
51 | visit_type_uint8(v, "api-major" , &obj->api_major, &err); |
52 | if (err) { |
53 | goto out; |
54 | } |
55 | visit_type_uint8(v, "api-minor" , &obj->api_minor, &err); |
56 | if (err) { |
57 | goto out; |
58 | } |
59 | visit_type_uint8(v, "build-id" , &obj->build_id, &err); |
60 | if (err) { |
61 | goto out; |
62 | } |
63 | visit_type_uint32(v, "policy" , &obj->policy, &err); |
64 | if (err) { |
65 | goto out; |
66 | } |
67 | visit_type_SevState(v, "state" , &obj->state, &err); |
68 | if (err) { |
69 | goto out; |
70 | } |
71 | visit_type_uint32(v, "handle" , &obj->handle, &err); |
72 | if (err) { |
73 | goto out; |
74 | } |
75 | |
76 | out: |
77 | error_propagate(errp, err); |
78 | } |
79 | |
80 | void visit_type_SevInfo(Visitor *v, const char *name, SevInfo **obj, Error **errp) |
81 | { |
82 | Error *err = NULL; |
83 | |
84 | visit_start_struct(v, name, (void **)obj, sizeof(SevInfo), &err); |
85 | if (err) { |
86 | goto out; |
87 | } |
88 | if (!*obj) { |
89 | goto out_obj; |
90 | } |
91 | visit_type_SevInfo_members(v, *obj, &err); |
92 | if (err) { |
93 | goto out_obj; |
94 | } |
95 | visit_check_struct(v, &err); |
96 | out_obj: |
97 | visit_end_struct(v, (void **)obj); |
98 | if (err && visit_is_input(v)) { |
99 | qapi_free_SevInfo(*obj); |
100 | *obj = NULL; |
101 | } |
102 | out: |
103 | error_propagate(errp, err); |
104 | } |
105 | #endif /* defined(TARGET_I386) */ |
106 | |
107 | #if defined(TARGET_I386) |
108 | void visit_type_SevLaunchMeasureInfo_members(Visitor *v, SevLaunchMeasureInfo *obj, Error **errp) |
109 | { |
110 | Error *err = NULL; |
111 | |
112 | visit_type_str(v, "data" , &obj->data, &err); |
113 | if (err) { |
114 | goto out; |
115 | } |
116 | |
117 | out: |
118 | error_propagate(errp, err); |
119 | } |
120 | |
121 | void visit_type_SevLaunchMeasureInfo(Visitor *v, const char *name, SevLaunchMeasureInfo **obj, Error **errp) |
122 | { |
123 | Error *err = NULL; |
124 | |
125 | visit_start_struct(v, name, (void **)obj, sizeof(SevLaunchMeasureInfo), &err); |
126 | if (err) { |
127 | goto out; |
128 | } |
129 | if (!*obj) { |
130 | goto out_obj; |
131 | } |
132 | visit_type_SevLaunchMeasureInfo_members(v, *obj, &err); |
133 | if (err) { |
134 | goto out_obj; |
135 | } |
136 | visit_check_struct(v, &err); |
137 | out_obj: |
138 | visit_end_struct(v, (void **)obj); |
139 | if (err && visit_is_input(v)) { |
140 | qapi_free_SevLaunchMeasureInfo(*obj); |
141 | *obj = NULL; |
142 | } |
143 | out: |
144 | error_propagate(errp, err); |
145 | } |
146 | #endif /* defined(TARGET_I386) */ |
147 | |
148 | #if defined(TARGET_I386) |
149 | void visit_type_SevCapability_members(Visitor *v, SevCapability *obj, Error **errp) |
150 | { |
151 | Error *err = NULL; |
152 | |
153 | visit_type_str(v, "pdh" , &obj->pdh, &err); |
154 | if (err) { |
155 | goto out; |
156 | } |
157 | visit_type_str(v, "cert-chain" , &obj->cert_chain, &err); |
158 | if (err) { |
159 | goto out; |
160 | } |
161 | visit_type_int(v, "cbitpos" , &obj->cbitpos, &err); |
162 | if (err) { |
163 | goto out; |
164 | } |
165 | visit_type_int(v, "reduced-phys-bits" , &obj->reduced_phys_bits, &err); |
166 | if (err) { |
167 | goto out; |
168 | } |
169 | |
170 | out: |
171 | error_propagate(errp, err); |
172 | } |
173 | |
174 | void visit_type_SevCapability(Visitor *v, const char *name, SevCapability **obj, Error **errp) |
175 | { |
176 | Error *err = NULL; |
177 | |
178 | visit_start_struct(v, name, (void **)obj, sizeof(SevCapability), &err); |
179 | if (err) { |
180 | goto out; |
181 | } |
182 | if (!*obj) { |
183 | goto out_obj; |
184 | } |
185 | visit_type_SevCapability_members(v, *obj, &err); |
186 | if (err) { |
187 | goto out_obj; |
188 | } |
189 | visit_check_struct(v, &err); |
190 | out_obj: |
191 | visit_end_struct(v, (void **)obj); |
192 | if (err && visit_is_input(v)) { |
193 | qapi_free_SevCapability(*obj); |
194 | *obj = NULL; |
195 | } |
196 | out: |
197 | error_propagate(errp, err); |
198 | } |
199 | #endif /* defined(TARGET_I386) */ |
200 | |
201 | #if defined(TARGET_S390X) |
202 | void visit_type_q_obj_dump_skeys_arg_members(Visitor *v, q_obj_dump_skeys_arg *obj, Error **errp) |
203 | { |
204 | Error *err = NULL; |
205 | |
206 | visit_type_str(v, "filename" , &obj->filename, &err); |
207 | if (err) { |
208 | goto out; |
209 | } |
210 | |
211 | out: |
212 | error_propagate(errp, err); |
213 | } |
214 | #endif /* defined(TARGET_S390X) */ |
215 | |
216 | #if defined(TARGET_ARM) |
217 | void visit_type_GICCapability_members(Visitor *v, GICCapability *obj, Error **errp) |
218 | { |
219 | Error *err = NULL; |
220 | |
221 | visit_type_int(v, "version" , &obj->version, &err); |
222 | if (err) { |
223 | goto out; |
224 | } |
225 | visit_type_bool(v, "emulated" , &obj->emulated, &err); |
226 | if (err) { |
227 | goto out; |
228 | } |
229 | visit_type_bool(v, "kernel" , &obj->kernel, &err); |
230 | if (err) { |
231 | goto out; |
232 | } |
233 | |
234 | out: |
235 | error_propagate(errp, err); |
236 | } |
237 | |
238 | void visit_type_GICCapability(Visitor *v, const char *name, GICCapability **obj, Error **errp) |
239 | { |
240 | Error *err = NULL; |
241 | |
242 | visit_start_struct(v, name, (void **)obj, sizeof(GICCapability), &err); |
243 | if (err) { |
244 | goto out; |
245 | } |
246 | if (!*obj) { |
247 | goto out_obj; |
248 | } |
249 | visit_type_GICCapability_members(v, *obj, &err); |
250 | if (err) { |
251 | goto out_obj; |
252 | } |
253 | visit_check_struct(v, &err); |
254 | out_obj: |
255 | visit_end_struct(v, (void **)obj); |
256 | if (err && visit_is_input(v)) { |
257 | qapi_free_GICCapability(*obj); |
258 | *obj = NULL; |
259 | } |
260 | out: |
261 | error_propagate(errp, err); |
262 | } |
263 | #endif /* defined(TARGET_ARM) */ |
264 | |
265 | #if defined(TARGET_ARM) |
266 | void visit_type_GICCapabilityList(Visitor *v, const char *name, GICCapabilityList **obj, Error **errp) |
267 | { |
268 | Error *err = NULL; |
269 | GICCapabilityList *tail; |
270 | size_t size = sizeof(**obj); |
271 | |
272 | visit_start_list(v, name, (GenericList **)obj, size, &err); |
273 | if (err) { |
274 | goto out; |
275 | } |
276 | |
277 | for (tail = *obj; tail; |
278 | tail = (GICCapabilityList *)visit_next_list(v, (GenericList *)tail, size)) { |
279 | visit_type_GICCapability(v, NULL, &tail->value, &err); |
280 | if (err) { |
281 | break; |
282 | } |
283 | } |
284 | |
285 | if (!err) { |
286 | visit_check_list(v, &err); |
287 | } |
288 | visit_end_list(v, (void **)obj); |
289 | if (err && visit_is_input(v)) { |
290 | qapi_free_GICCapabilityList(*obj); |
291 | *obj = NULL; |
292 | } |
293 | out: |
294 | error_propagate(errp, err); |
295 | } |
296 | #endif /* defined(TARGET_ARM) */ |
297 | |
298 | /* Dummy declaration to prevent empty .o file */ |
299 | char qapi_dummy_qapi_visit_misc_target_c; |
300 | |