Message ID | 1453498558-6028-2-git-send-email-boris.ostrovsky@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 22/01/16 21:35, Boris Ostrovsky wrote:
> Xen's HVMlite guests will want to use them.
Please explain in detail why they are needed.
David
On 01/25/2016 05:53 AM, David Vrabel wrote: > On 22/01/16 21:35, Boris Ostrovsky wrote: >> Xen's HVMlite guests will want to use them. > Please explain in detail why they are needed. > Actually, start_secondary is not needed anymore, I removed its use at some point. initial_pg_pmd (together with initial_page_table) are not really required --- I just used them for temporary page tables in the hvmlite startup code instead of allocating dedicated pages for that. Perhaps there is other (Xen-specific) area that I can use for that. Once we jump to startup_32 these tables are no longer in use. -boris
On Mon, Jan 25, 2016 at 10:30:26AM -0500, Boris Ostrovsky wrote: > initial_pg_pmd (together with initial_page_table) are not really required > --- I just used them for temporary page tables in the hvmlite startup code > instead of allocating dedicated pages for that. Perhaps there is other > (Xen-specific) area that I can use for that. Once we jump to startup_32 > these tables are no longer in use. Then please create and use your own. There's no need for this short temporary dependency during boot, especially if one day we go and change things and break xen in the process.
diff --git a/arch/x86/include/asm/smp.h b/arch/x86/include/asm/smp.h index dfcf072..739abb0 100644 --- a/arch/x86/include/asm/smp.h +++ b/arch/x86/include/asm/smp.h @@ -147,6 +147,7 @@ void x86_idle_thread_init(unsigned int cpu, struct task_struct *idle); void smp_store_boot_cpu_info(void); void smp_store_cpu_info(int id); +void start_secondary(void *unused); #define cpu_physical_id(cpu) per_cpu(x86_cpu_to_apicid, cpu) #else /* !CONFIG_SMP */ diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index 6bc9ae2..eeb5c42 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S @@ -666,7 +666,7 @@ ENTRY(setup_once_ref) __PAGE_ALIGNED_BSS .align PAGE_SIZE #ifdef CONFIG_X86_PAE -initial_pg_pmd: +ENTRY(initial_pg_pmd) .fill 1024*KPMDS,4,0 #else ENTRY(initial_page_table) diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 24d57f7..cba00bc 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -199,7 +199,7 @@ static int enable_start_cpu0; /* * Activate a secondary processor. */ -static void notrace start_secondary(void *unused) +void notrace start_secondary(void *unused) { /* * Don't put *anything* before cpu_init(), SMP booting is too
Xen's HVMlite guests will want to use them. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> --- arch/x86/include/asm/smp.h | 1 + arch/x86/kernel/head_32.S | 2 +- arch/x86/kernel/smpboot.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-)