sev.c (95a9457fd44ad97c518858a4e1586a5498f9773c) | sev.c (64a7b8de42aff54dce4d82585f25060a741531d1) |
---|---|
1/* 2 * QEMU SEV support 3 * 4 * Copyright Advanced Micro Devices 2016-2018 5 * 6 * Author: 7 * Brijesh Singh <brijesh.singh@amd.com> 8 * --- 253 unchanged lines hidden (view full) --- 262 qsev_guest_get_session_file, 263 qsev_guest_set_session_file, 264 NULL); 265 object_class_property_set_description(oc, "session-file", 266 "guest owners session parameters (encoded with base64)", NULL); 267} 268 269static void | 1/* 2 * QEMU SEV support 3 * 4 * Copyright Advanced Micro Devices 2016-2018 5 * 6 * Author: 7 * Brijesh Singh <brijesh.singh@amd.com> 8 * --- 253 unchanged lines hidden (view full) --- 262 qsev_guest_get_session_file, 263 qsev_guest_set_session_file, 264 NULL); 265 object_class_property_set_description(oc, "session-file", 266 "guest owners session parameters (encoded with base64)", NULL); 267} 268 269static void |
270qsev_guest_set_handle(Object *obj, Visitor *v, const char *name, 271 void *opaque, Error **errp) 272{ 273 QSevGuestInfo *sev = QSEV_GUEST_INFO(obj); 274 uint32_t value; 275 276 visit_type_uint32(v, name, &value, errp); 277 sev->handle = value; 278} 279 280static void 281qsev_guest_set_policy(Object *obj, Visitor *v, const char *name, 282 void *opaque, Error **errp) 283{ 284 QSevGuestInfo *sev = QSEV_GUEST_INFO(obj); 285 uint32_t value; 286 287 visit_type_uint32(v, name, &value, errp); 288 sev->policy = value; 289} 290 291static void 292qsev_guest_set_cbitpos(Object *obj, Visitor *v, const char *name, 293 void *opaque, Error **errp) 294{ 295 QSevGuestInfo *sev = QSEV_GUEST_INFO(obj); 296 uint32_t value; 297 298 visit_type_uint32(v, name, &value, errp); 299 sev->cbitpos = value; 300} 301 302static void 303qsev_guest_set_reduced_phys_bits(Object *obj, Visitor *v, const char *name, 304 void *opaque, Error **errp) 305{ 306 QSevGuestInfo *sev = QSEV_GUEST_INFO(obj); 307 uint32_t value; 308 309 visit_type_uint32(v, name, &value, errp); 310 sev->reduced_phys_bits = value; 311} 312 313static void 314qsev_guest_get_policy(Object *obj, Visitor *v, const char *name, 315 void *opaque, Error **errp) 316{ 317 uint32_t value; 318 QSevGuestInfo *sev = QSEV_GUEST_INFO(obj); 319 320 value = sev->policy; 321 visit_type_uint32(v, name, &value, errp); 322} 323 324static void 325qsev_guest_get_handle(Object *obj, Visitor *v, const char *name, 326 void *opaque, Error **errp) 327{ 328 uint32_t value; 329 QSevGuestInfo *sev = QSEV_GUEST_INFO(obj); 330 331 value = sev->handle; 332 visit_type_uint32(v, name, &value, errp); 333} 334 335static void 336qsev_guest_get_cbitpos(Object *obj, Visitor *v, const char *name, 337 void *opaque, Error **errp) 338{ 339 uint32_t value; 340 QSevGuestInfo *sev = QSEV_GUEST_INFO(obj); 341 342 value = sev->cbitpos; 343 visit_type_uint32(v, name, &value, errp); 344} 345 346static void 347qsev_guest_get_reduced_phys_bits(Object *obj, Visitor *v, const char *name, 348 void *opaque, Error **errp) 349{ 350 uint32_t value; 351 QSevGuestInfo *sev = QSEV_GUEST_INFO(obj); 352 353 value = sev->reduced_phys_bits; 354 visit_type_uint32(v, name, &value, errp); 355} 356 357static void | |
358qsev_guest_init(Object *obj) 359{ 360 QSevGuestInfo *sev = QSEV_GUEST_INFO(obj); 361 362 sev->sev_device = g_strdup(DEFAULT_SEV_DEVICE); 363 sev->policy = DEFAULT_GUEST_POLICY; | 270qsev_guest_init(Object *obj) 271{ 272 QSevGuestInfo *sev = QSEV_GUEST_INFO(obj); 273 274 sev->sev_device = g_strdup(DEFAULT_SEV_DEVICE); 275 sev->policy = DEFAULT_GUEST_POLICY; |
364 object_property_add(obj, "policy", "uint32", qsev_guest_get_policy, 365 qsev_guest_set_policy, NULL, NULL, NULL); 366 object_property_add(obj, "handle", "uint32", qsev_guest_get_handle, 367 qsev_guest_set_handle, NULL, NULL, NULL); 368 object_property_add(obj, "cbitpos", "uint32", qsev_guest_get_cbitpos, 369 qsev_guest_set_cbitpos, NULL, NULL, NULL); 370 object_property_add(obj, "reduced-phys-bits", "uint32", 371 qsev_guest_get_reduced_phys_bits, 372 qsev_guest_set_reduced_phys_bits, NULL, NULL, NULL); | 276 object_property_add_uint32_ptr(obj, "policy", &sev->policy, 277 OBJ_PROP_FLAG_READWRITE, NULL); 278 object_property_add_uint32_ptr(obj, "handle", &sev->handle, 279 OBJ_PROP_FLAG_READWRITE, NULL); 280 object_property_add_uint32_ptr(obj, "cbitpos", &sev->cbitpos, 281 OBJ_PROP_FLAG_READWRITE, NULL); 282 object_property_add_uint32_ptr(obj, "reduced-phys-bits", 283 &sev->reduced_phys_bits, 284 OBJ_PROP_FLAG_READWRITE, NULL); |
373} 374 375/* sev guest info */ 376static const TypeInfo qsev_guest_info = { 377 .parent = TYPE_OBJECT, 378 .name = TYPE_QSEV_GUEST_INFO, 379 .instance_size = sizeof(QSevGuestInfo), 380 .instance_finalize = qsev_guest_finalize, --- 460 unchanged lines hidden --- | 285} 286 287/* sev guest info */ 288static const TypeInfo qsev_guest_info = { 289 .parent = TYPE_OBJECT, 290 .name = TYPE_QSEV_GUEST_INFO, 291 .instance_size = sizeof(QSevGuestInfo), 292 .instance_finalize = qsev_guest_finalize, --- 460 unchanged lines hidden --- |