On 6/5/24 20:45, Zhao Liu wrote:
@@ -1710,7 +1710,9 @@ void sev_es_set_reset_vector(CPUState *cpu) { X86CPU *x86; CPUX86State *env; - SevCommonState *sev_common = SEV_COMMON(MACHINE(qdev_get_machine())->cgs); + ConfidentialGuestSupport *cgs = MACHINE(qdev_get_machine())->cgs; + SevCommonState *sev_common = SEV_COMMON( + object_dynamic_cast(OBJECT(cgs), TYPE_SEV_COMMON));SEV_COMMON(object_dynamic_cast()) looks to be twice cast, we can just force to do conversion with pointer type: (SevCommonState *) object_dynamic_cast(OBJECT(cgs), TYPE_SEV_COMMON)
You don't need the explicit cast either, since C auto-converts from void*. sev_common = object_dynamic_cast(OBJECT(cgs), TYPE_SEV_COMMON); r~
