On Wed, 2022-11-23 at 14:17 -0800, Dave Hansen wrote: > First, I think 'tdx_sysinfo' should probably be a local variable in > init_tdx_module() and have its address passed in here. Having global > variables always makes it more opaque about who is initializing it. Sorry I missed to respond this. Using local variable for 'tdx_sysinfo' will cause a build warning: https://lore.kernel.org/lkml/a6694c81b4e96a22557fd0af70a81bd2c2e4e3e7.camel@xxxxxxxxx/ So instead we can have a local variable for the pointer of 'tdx_sysinfo', and dynamically allocate memory for it. KVM will need to use it, though. So I think eventually we will need to have a global variable (either tdx_sysinfo itself, or the pointer of it). But this can be done in a separate patch. CMRs can be done in the same way (KVM doesn't need to use CMRs, but perhaps some day we may want to expose them to /sysfs, etc). What's your preference?