On Tue, Feb 16, 2021 at 11:15:35AM +0000, Huang, Kai wrote: > Sorry I am not sure I understand your question. Could you elaborate? > > IMHO it's better to put architectural staff (such as data structures > defined in SDM and used by hardware) into one header, and other > non-architectural staff into another header, so that the user can > include the one that is actually required, but doesn't have to include > one big header which includes all SGX related data structures and > functions. And including one big - (not sure about "big" - we have a lot bigger) - header is an actual problem because? 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. If you don't have such reasons, then it all is just unnecessary and not needed churn. And in that case, keeping it simple is the proper approach. Those headers can always be split later, when really needed. HTH. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette