On Wed, Sep 08, 2021 at 10:54:06AM +0200, Paolo Bonzini wrote: > On 08/09/21 10:19, Yang Zhong wrote: > >+ if (sgx_enabled) { > >+ MachineState *ms = MACHINE(qdev_get_machine()); > >+ X86MachineState *x86ms = X86_MACHINE(qdev_get_machine()); > >+ > > You can use object_dynamic_cast(ms, TYPE_PC_MACHINE), something like: > > > PCMachineState *pcms = > object_dynamic_cast(qdev_get_machine(), TYPE_PC_MACHINE); > X86MachineState *x86ms; > > if (!pcms) { > return NULL; > } > x86ms = X86_MACHINE(pcms); > if (!x86ms->sgx_epc_list) { > return NULL; > } > info = g_new0(SGXInfo, 1); > ... > return info; > > Also please squash this patch directly into patch 3 that introduces > sgx_get_info. >
Paolo, Good suggestion! This solution can avoid coredump. thanks! Yang > Paolo