[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/traps: use only one stub function for l/cstar
>>> On 08.11.18 at 18:08, <wei.liu2@xxxxxxxxxx> wrote: > --- a/xen/arch/x86/x86_64/traps.c > +++ b/xen/arch/x86/x86_64/traps.c > @@ -298,19 +298,13 @@ static unsigned int write_stub_trampoline( > } > > DEFINE_PER_CPU(struct stubs, stubs); > - > -#ifdef CONFIG_PV > void lstar_enter(void); > void cstar_enter(void); > -#else > -static inline void lstar_enter(void) > -{ > - panic("%s called\n", __func__); > -} > > -static inline void cstar_enter(void) > +#ifndef CONFIG_PV > +static void __cold lcstar_enter(void) > { > - panic("%s called\n", __func__); > + panic("lstar/cstar\n"); > } > #endif /* CONFIG_PV */ While I'd be fine with this, ... > @@ -334,7 +328,9 @@ void subarch_percpu_traps_init(void) > wrmsrl(MSR_LSTAR, stub_va); > offset = write_stub_trampoline(stub_page + (stub_va & ~PAGE_MASK), > stub_va, stack_bottom, > - (unsigned long)lstar_enter); > + IS_ENABLED(CONFIG_PV) ? > + (unsigned long)lstar_enter : > + (unsigned long)lcstar_enter); > stub_va += offset; > > if ( boot_cpu_data.x86_vendor == X86_VENDOR_INTEL || > @@ -352,7 +348,9 @@ void subarch_percpu_traps_init(void) > wrmsrl(MSR_CSTAR, stub_va); > offset += write_stub_trampoline(stub_page + (stub_va & ~PAGE_MASK), > stub_va, stack_bottom, > - (unsigned long)cstar_enter); > + IS_ENABLED(CONFIG_PV) ? > + (unsigned long)cstar_enter : > + (unsigned long)lcstar_enter); ... to be honest I dislike this. Why not have a single star_enter() function with lstar_enter and cstar_enter being #define-s to it? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |