On 2/16/21 3:48 AM, Borislav Petkov wrote: > What I'm trying to point you at is, to not give some artificial reasons > why the headers should be separate - artificial as the SDM says it > is architectural and so on - but give a reason from software design > perspective why the separation is needed: better build times, less > symbols exposed to modules, blabla and so on. I think I actually suggested this sgx_arch.h split for SGX in the first place. I was reading the patches and I had a really hard time separating the hardware and software structures. There would be a 'struct sgx_foo {}' and some chit chat about what it did... and I still had no idea if it was an architectural structure or not. This way, it's 100% crystal clear what Linux is defining and what the hardware defines from the diff context.