[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 1/8] x86: determine HAVE_AS_* just once
On 06.01.2020 17:41, Andrew Cooper wrote: > On 06/01/2020 16:34, Jan Beulich wrote: >> With the exception of HAVE_AS_QUOTED_SYM, populate the results into a >> generated header instead of (at least once per [sub]directory) into >> CFLAGS. This results in proper rebuilds (via make dependencies) in case >> the compiler used changes between builds. It additionally eases >> inspection of which assembler features were actually found usable. >> >> Some trickery is needed to avoid header generation itself to try to >> include the to-be/not-yet-generated header. >> >> Since the definitions in generated/config.h, previously having been >> command line options, might even affect xen/config.h or its descendants, >> move adding of the -include option for the latter after inclusion of the >> per-arch Rules.mk. Use the occasion to also move the most general -I >> option to the common Rules.mk. >> >> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >> --- >> v4: New. > > Is it v3 or v4? v4, as said in reply to the cover letter. > Also, is it intended for just backport? It is largely redundant with > Anthony's Kconfig/Kbuild efforts, as moving these (and other checks) > into the Kconfig step is the ultimate goal. Is it? Looking at current Linux I still see e.g. # do binutils support CFI? cfi := $(call as-instr,.cfi_startproc\n.cfi_rel_offset $(sp-y)$(comma)0\n.cfi_endproc,-DCONFIG_AS_CFI=1) # is .cfi_signal_frame supported too? cfi-sigframe := $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1) cfi-sections := $(call as-instr,.cfi_sections .debug_frame,-DCONFIG_AS_CFI_SECTIONS=1) # does binutils support specific instructions? asinstr += $(call as-instr,pshufb %xmm0$(comma)%xmm0,-DCONFIG_AS_SSSE3=1) avx_instr := $(call as-instr,vxorps %ymm0$(comma)%ymm1$(comma)%ymm2,-DCONFIG_AS_AVX=1) avx2_instr :=$(call as-instr,vpbroadcastb %xmm0$(comma)%ymm1,-DCONFIG_AS_AVX2=1) avx512_instr :=$(call as-instr,vpmovm2b %k1$(comma)%zmm5,-DCONFIG_AS_AVX512=1) sha1_ni_instr :=$(call as-instr,sha1msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA1_NI=1) sha256_ni_instr :=$(call as-instr,sha256msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA256_NI=1) KBUILD_AFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections) $(asinstr) $(avx_instr) $(avx2_instr) $(avx512_instr) $(sha1_ni_instr) $(sha256_ni_instr) KBUILD_CFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections) $(asinstr) $(avx_instr) $(avx2_instr) $(avx512_instr) $(sha1_ni_instr) $(sha256_ni_instr) in arch/x86/Makefile. I am, btw, also unconvinced that such belongs into .config in the first place: The configuration doesn't change if I swap my tool chain. Of course I realized there's the grey area of user visible options depending on tool chain capabilities (if one means to allow such). 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 |