On Tue, Aug 31, 2021 at 06:22:44PM +0200, Borislav Petkov wrote: > On Fri, Aug 27, 2021 at 01:32:40PM -0500, Michael Roth wrote: > > If the memory is allocated in boot/compressed/mem_encrypt.S, wouldn't > > kernel proper still need to create a static buffer for its copy? > > Just like the other variables like sme_me_mask etc that file allocates > at the bottom. Or do you have a better idea? What did you think of the suggestion of defining it in sev-shared.c as a static buffer/struct as __ro_after_init? It would be nice to declare/reserve the memory in one place. Another benefit is it doesn't need to be exported, and could just be local with all the other snp_cpuid* helpers that access it in sev-shared.c > > > Would that be a reasonable approach for v6? > > I don't like the ifdeffery one bit, TBH. I guess you should split it > and have a boot/compressed page and a kernel proper one and keep 'em > separate. That should make everything nice and clean at the cost of 2*4K > which is nothing nowadays. I think I can address the ifdeffery by splitting the boot/proper routines into separate self-contained routines (and maybe move them out into boot/compressed/sev.c and kernel/sev.c, respectively), then having them just initialize the table pointer and create the copy using a common setter function, e.g. snp_cpuid_table_create(cc_blob, fixup_offset) and for boot/compressed.c fixup_offset would just be passed in as 0. > > Thx. > > -- > Regards/Gruss, > Boris. > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpeople.kernel.org%2Ftglx%2Fnotes-about-netiquette&data=04%7C01%7CMichael.Roth%40amd.com%7Cb4adf700d33e42ffe4be08d96c9b7fe6%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637660237404006013%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=nVGIpG0WAcqcHZWXK1%2BQoaPBoeCLwtkqgs8Mfgz%2Fr04%3D&reserved=0