Message ID | d7ac370e-2e1f-5b7a-b832-63577689053c@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86: asm-offsets.h and !PV32 adjustments | expand |
On Wed, Nov 25, 2020 at 09:49:21AM +0100, Jan Beulich wrote: > This file has a long dependencies list and asm-offsets.h, generated from > it, has a long list of dependents. IOW if any of the former changes, all > of the latter will be rebuilt, even if there's no actual change to the > generated file. Therefore avoid including headers we don't actually need > (generally or configuration dependent). > > Signed-off-by: Jan Beulich <jbeulich@suse.com> > > --- a/xen/arch/x86/x86_64/asm-offsets.c > +++ b/xen/arch/x86/x86_64/asm-offsets.c > @@ -5,11 +5,13 @@ > */ > #define COMPILE_OFFSETS > > +#ifdef CONFIG_PERF_COUNTERS > #include <xen/perfc.h> > +#endif > #include <xen/sched.h> > -#include <xen/bitops.h> > +#ifdef CONFIG_PV > #include <compat/xen.h> > -#include <asm/fixmap.h> > +#endif > #include <asm/hardirq.h> > #include <xen/multiboot.h> > #include <xen/multiboot2.h> > @@ -101,7 +103,6 @@ void __dummy__(void) > #ifdef CONFIG_PV > OFFSET(DOMAIN_is_32bit_pv, struct domain, arch.pv.is_32bit); > BLANK(); > -#endif > > OFFSET(VCPUINFO_upcall_pending, struct vcpu_info, evtchn_upcall_pending); > OFFSET(VCPUINFO_upcall_mask, struct vcpu_info, evtchn_upcall_mask); > @@ -110,6 +111,7 @@ void __dummy__(void) > OFFSET(COMPAT_VCPUINFO_upcall_pending, struct compat_vcpu_info, evtchn_upcall_pending); > OFFSET(COMPAT_VCPUINFO_upcall_mask, struct compat_vcpu_info, evtchn_upcall_mask); > BLANK(); > +#endif Since you are playing with this, the TRAPINFO/TRAPBOUNCE also seem like ones to gate with CONFIG_PV. And the VCPU_svm/vmx could be gated on CONFIG_HVM AFAICT? Thanks, Roger.
On 28.12.2020 13:54, Roger Pau Monné wrote: > On Wed, Nov 25, 2020 at 09:49:21AM +0100, Jan Beulich wrote: >> This file has a long dependencies list and asm-offsets.h, generated from >> it, has a long list of dependents. IOW if any of the former changes, all >> of the latter will be rebuilt, even if there's no actual change to the >> generated file. Therefore avoid including headers we don't actually need >> (generally or configuration dependent). >> >> Signed-off-by: Jan Beulich <jbeulich@suse.com> >> >> --- a/xen/arch/x86/x86_64/asm-offsets.c >> +++ b/xen/arch/x86/x86_64/asm-offsets.c >> @@ -5,11 +5,13 @@ >> */ >> #define COMPILE_OFFSETS >> >> +#ifdef CONFIG_PERF_COUNTERS >> #include <xen/perfc.h> >> +#endif >> #include <xen/sched.h> >> -#include <xen/bitops.h> >> +#ifdef CONFIG_PV >> #include <compat/xen.h> >> -#include <asm/fixmap.h> >> +#endif >> #include <asm/hardirq.h> >> #include <xen/multiboot.h> >> #include <xen/multiboot2.h> >> @@ -101,7 +103,6 @@ void __dummy__(void) >> #ifdef CONFIG_PV >> OFFSET(DOMAIN_is_32bit_pv, struct domain, arch.pv.is_32bit); >> BLANK(); >> -#endif >> >> OFFSET(VCPUINFO_upcall_pending, struct vcpu_info, evtchn_upcall_pending); >> OFFSET(VCPUINFO_upcall_mask, struct vcpu_info, evtchn_upcall_mask); >> @@ -110,6 +111,7 @@ void __dummy__(void) >> OFFSET(COMPAT_VCPUINFO_upcall_pending, struct compat_vcpu_info, evtchn_upcall_pending); >> OFFSET(COMPAT_VCPUINFO_upcall_mask, struct compat_vcpu_info, evtchn_upcall_mask); >> BLANK(); >> +#endif > > Since you are playing with this, the TRAPINFO/TRAPBOUNCE also seem > like ones to gate with CONFIG_PV. And the VCPU_svm/vmx could be gated > on CONFIG_HVM AFAICT? Maybe. I didn't want to make too big a first step. Jan
--- a/xen/arch/x86/x86_64/asm-offsets.c +++ b/xen/arch/x86/x86_64/asm-offsets.c @@ -5,11 +5,13 @@ */ #define COMPILE_OFFSETS +#ifdef CONFIG_PERF_COUNTERS #include <xen/perfc.h> +#endif #include <xen/sched.h> -#include <xen/bitops.h> +#ifdef CONFIG_PV #include <compat/xen.h> -#include <asm/fixmap.h> +#endif #include <asm/hardirq.h> #include <xen/multiboot.h> #include <xen/multiboot2.h> @@ -101,7 +103,6 @@ void __dummy__(void) #ifdef CONFIG_PV OFFSET(DOMAIN_is_32bit_pv, struct domain, arch.pv.is_32bit); BLANK(); -#endif OFFSET(VCPUINFO_upcall_pending, struct vcpu_info, evtchn_upcall_pending); OFFSET(VCPUINFO_upcall_mask, struct vcpu_info, evtchn_upcall_mask); @@ -110,6 +111,7 @@ void __dummy__(void) OFFSET(COMPAT_VCPUINFO_upcall_pending, struct compat_vcpu_info, evtchn_upcall_pending); OFFSET(COMPAT_VCPUINFO_upcall_mask, struct compat_vcpu_info, evtchn_upcall_mask); BLANK(); +#endif OFFSET(CPUINFO_guest_cpu_user_regs, struct cpu_info, guest_cpu_user_regs); OFFSET(CPUINFO_verw_sel, struct cpu_info, verw_sel);
This file has a long dependencies list and asm-offsets.h, generated from it, has a long list of dependents. IOW if any of the former changes, all of the latter will be rebuilt, even if there's no actual change to the generated file. Therefore avoid including headers we don't actually need (generally or configuration dependent). Signed-off-by: Jan Beulich <jbeulich@suse.com>