[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC v1 5/8] x86/init: move ebda reservations into linker table
On Tue, Dec 15, 2015 at 02:16:34PM -0800, Luis R. Rodriguez wrote: > From: "Luis R. Rodriguez" <mcgrof@xxxxxxxx> > > This lets us annotate its requirements specifically for > PC and lguest subarchitectures. While at it since head.c > just has ebda data rename it. Since we're using linker tables > and both x86 32-bit and 64-bit have them we don't need > to declare a call for this separately. This lets us > also keep this declared static now. > > Since we're using linker tables and have support to annotate > subarchitecture do that instead. pv_legacy() is incorrect as > its really only for legacy PV guests. There's no need for > pv_legacy() check anymore now. <nods> > > Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> > --- > arch/x86/include/asm/bios_ebda.h | 2 -- > arch/x86/kernel/Makefile | 2 +- > arch/x86/kernel/{head.c => ebda.c} | 6 +++--- > arch/x86/kernel/head32.c | 2 -- > arch/x86/kernel/head64.c | 2 -- > 5 files changed, 4 insertions(+), 10 deletions(-) > rename arch/x86/kernel/{head.c => ebda.c} (94%) > > diff --git a/arch/x86/include/asm/bios_ebda.h > b/arch/x86/include/asm/bios_ebda.h > index aa6a3170ab5a..e63347eb3804 100644 > --- a/arch/x86/include/asm/bios_ebda.h > +++ b/arch/x86/include/asm/bios_ebda.h > @@ -38,8 +38,6 @@ static inline unsigned int get_bios_ebda_length(void) > return length; > } > > -void reserve_ebda_region(void); > - > #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION > /* > * This is obviously not a great place for this, but we want to be > diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile > index be167a0a5e2c..e7a43f08bccc 100644 > --- a/arch/x86/kernel/Makefile > +++ b/arch/x86/kernel/Makefile > @@ -2,7 +2,7 @@ > # Makefile for the linux kernel. > # > > -extra-y := head_$(BITS).o head$(BITS).o head.o vmlinux.lds > +extra-y := head_$(BITS).o head$(BITS).o ebda.o vmlinux.lds > > CPPFLAGS_vmlinux.lds += -U$(UTS_MACHINE) > > diff --git a/arch/x86/kernel/head.c b/arch/x86/kernel/ebda.c > similarity index 94% > rename from arch/x86/kernel/head.c > rename to arch/x86/kernel/ebda.c > index 279fad7288f8..defc2f07a80b 100644 > --- a/arch/x86/kernel/head.c > +++ b/arch/x86/kernel/ebda.c > @@ -4,6 +4,7 @@ > > #include <asm/setup.h> > #include <asm/bios_ebda.h> > +#include <asm/x86_init.h> > > /* > * The BIOS places the EBDA/XBDA at the top of conventional > @@ -26,7 +27,7 @@ > #define LOWMEM_CAP 0x9f000U /* Absolute maximum */ > #define INSANE_CUTOFF 0x20000U /* Less than this = > insane */ > > -void __init reserve_ebda_region(void) > +static void __init reserve_ebda_region(void) > { > unsigned int lowmem, ebda_addr; > > @@ -38,8 +39,6 @@ void __init reserve_ebda_region(void) > * that the paravirt case can handle memory setup > * correctly, without our help. > */ > - if (paravirt_legacy()) > - return; > > /* end of low (conventional) memory */ > lowmem = *(unsigned short *)__va(BIOS_LOWMEM_KILOBYTES); > @@ -69,3 +68,4 @@ void __init reserve_ebda_region(void) > /* reserve all memory between lowmem and the 1MB mark */ > memblock_reserve(lowmem, 0x100000 - lowmem); > } > +x86_init_early_pc_simple(reserve_ebda_region); > diff --git a/arch/x86/kernel/head32.c b/arch/x86/kernel/head32.c > index d93f3e42e61b..768fa3888066 100644 > --- a/arch/x86/kernel/head32.c > +++ b/arch/x86/kernel/head32.c > @@ -26,8 +26,6 @@ static void __init i386_default_early_setup(void) > /* Initialize 32bit specific setup functions */ > x86_init.resources.reserve_resources = i386_reserve_resources; > x86_init.mpparse.setup_ioapic_ids = setup_ioapic_ids_from_mpc; > - > - reserve_ebda_region(); > } > > asmlinkage __visible void __init i386_start_kernel(void) > diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c > index f83263a8d0ed..c913b7eb5056 100644 > --- a/arch/x86/kernel/head64.c > +++ b/arch/x86/kernel/head64.c > @@ -194,7 +194,5 @@ void __init x86_64_start_reservations(char > *real_mode_data) > x86_init_fn_init_tables(); > x86_init_fn_early_init(); > > - reserve_ebda_region(); > - Nice! Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > start_kernel(); > } > -- > 2.6.2 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |