[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56C7167C.3010701@suse.com>
Date: Fri, 19 Feb 2016 14:19:56 +0100
From: Juergen Gross <jgross@...e.com>
To: "Luis R. Rodriguez" <mcgrof@...nel.org>, bp@...en8.de
Cc: rusty@...tcorp.com.au, x86@...nel.org,
linux-kernel@...r.kernel.org, luto@...capital.net,
xen-devel@...ts.xensource.com, david.vrabel@...rix.com,
boris.ostrovsky@...cle.com,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Subject: Re: [Xen-devel] [PATCH 1/9] x86/boot: enumerate documentation for the
x86 hardware_subarch
On 19/02/16 14: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.shevchenko@...ux.intel.com>
> Signed-off-by: Luis R. Rodriguez <mcgrof@...nel.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.
> + *
> + * KVM and Xen HVM do not have a subarch as these are expected to follow
> + * standard x86 boot entries. If there is a genuine need for "hypervisor" type
> + * that should be considered separately in the future.
> + *
> + * @X86_SUBARCH_PC: Should be used if the hardware is enumerable using standard
> + * PC mechanisms (PCI, ACPI) and doesn't need a special boot flow.
> + * @X86_SUBARCH_LGUEST: Used for x86 hypervisor demo, lguest
> + * @X86_SUBARCH_LGUEST: Used for x86 hypervisor demo, lguest
Double line
> + * @X86_SUBARCH_XEN: Used for Xen guest types which follow the PV boot path,
> + * which start at asm startup_xen() entry point and later jump to the C
> + * xen_start_kernel() entry point.
> + * @X86_SUBARCH_INTEL_MID: Used for Intel MID (Mobile nternet Device) platform
s/nternet/Internet/
> + * systems which do not have the PCI legacy interfaces.
> + * @X86_SUBARCH_CE4100: Used for Intel CE media processor (CE4100) SOC for
> + * for settop boxes and media devices, the use of a subarch for CE4100
> + * is more of a hack...
> + */
> +enum x86_hardware_subarch {
> X86_SUBARCH_PC = 0,
> X86_SUBARCH_LGUEST,
> X86_SUBARCH_XEN,
>
Juergen
Powered by blists - more mailing lists