On Wed, Oct 13, 2021 at 11:25:35PM +0200, Thomas Gleixner wrote:
So this ends up in doing:Oh, I heartily agree.
use();
init();
Can you spot what's wrong with that?
That's a clear violation of common sense and is simply not going to
happen. Why? If you think about deep defensive programming then use()
will look like this:
use()
{
assert(initialized);
}
which is not something made up. It's a fundamental principle of
programming and some languages enforce that for very good reasons.
Just because it can be done in C is no justification.
What's wrong with:I like simple more than anyone, so sure, I'd prefer that a lot more.
x86_64_start_kernel()
tdx_early_init();
copy_bootdata();
tdx_late_init();
Absolutely nothing. It's clear, simple and well defined.
And so the options parsing would need to happen early using, say,
cmdline_find_option() or so, like sme_enable() does.
--
Hmmm.