On 19/02/16 13:08, Luis R. Rodriguez wrote: > Although hardware_subarch has been in place since the x86 boot > protocol 2.07 it hasn't been used much. Enumerate current possible > values to avoid misuses and help with semantics later at boot > time should this be used further. > > Cc: Andy Shevchenko <andriy.shevche...@linux.intel.com> > Signed-off-by: Luis R. Rodriguez <mcg...@kernel.org> > --- > arch/x86/include/uapi/asm/bootparam.h | 32 +++++++++++++++++++++++++++++++- > 1 file changed, 31 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/include/uapi/asm/bootparam.h > b/arch/x86/include/uapi/asm/bootparam.h > index 329254373479..dbfb9406436b 100644 > --- a/arch/x86/include/uapi/asm/bootparam.h > +++ b/arch/x86/include/uapi/asm/bootparam.h > @@ -157,7 +157,37 @@ struct boot_params { > __u8 _pad9[276]; /* 0xeec */ > } __attribute__((packed)); > > -enum { > +/** > + * enum x86_hardware_subarch - x86 hardware subarchitecture > + * > + * The x86 hardware_subarch and hardware_subarch_data were added as of the > x86 > + * boot protocol 2.07 to help distinguish and supports custom x86 boot > + * sequences. This enum represents accepted values for the x86 > + * hardware_subarch. Custom x86 boot sequences (not X86_SUBARCH_PC) do not > have > + * or simply do not make use of natural stubs like BIOS or EFI, the > + * hardware_subarch can be used on the Linux entry path to revector to a > + * subarchitecture stub when needed. This subarchitecture stub can be used to > + * set up Linux boot parameters or for special care to account for > nonstandard > + * handling of page tables.
This documentation reads like a plan for future implementation. Is this the level of documentation that is needed here? Also, "revector to a subarchitecture stub" is a rather odd way of saying "call a subarch-specific stub". David