On 11/22/24 03:10, Adrian Hunter wrote: > +struct tdh_vp_enter_tdcall { > + u64 reg_mask : 32, > + vm_idx : 2, > + reserved_0 : 30; > + u64 data[TDX_ERR_DATA_PART_2]; > + u64 fn; /* Non-zero for hypercalls, zero otherwise */ > + u64 subfn; > + union { > + struct tdh_vp_enter_vmcall vmcall; > + struct tdh_vp_enter_gettdvmcallinfo gettdvmcallinfo; > + struct tdh_vp_enter_mapgpa mapgpa; > + struct tdh_vp_enter_getquote getquote; > + struct tdh_vp_enter_reportfatalerror reportfatalerror; > + struct tdh_vp_enter_cpuid cpuid; > + struct tdh_vp_enter_mmio mmio; > + struct tdh_vp_enter_hlt hlt; > + struct tdh_vp_enter_io io; > + struct tdh_vp_enter_rd rd; > + struct tdh_vp_enter_wr wr; > + }; > +}; Let's say someone declares this: struct tdh_vp_enter_mmio { u64 size; u64 mmio_addr; u64 direction; u64 value; }; How long is that going to take you to debug?