On 30.11.2024 18:15, Julien Grall wrote: > On 29/11/2024 22:12, Volodymyr Babchuk wrote: >> Jan Beulich <jbeul...@suse.com> writes: >>> On 29.11.2024 02:49, Volodymyr Babchuk wrote: >>>> --- a/config/arm64.mk >>>> +++ b/config/arm64.mk >>>> @@ -5,6 +5,10 @@ CONFIG_XEN_INSTALL_SUFFIX := >>>> >>>> CFLAGS += #-marm -march= -mcpu= etc >>>> >>>> +ifeq ($(clang),y) >>>> +CFLAGS += -target aarch64 -march=armv8-a >>>> +endif >>> >>> Why is this dependent on (just?) $(clang), not (also?) $(llvm)? >> >> Because this parameter is handled by clang only. There is no harm in >> providing it explicitly. When building on arm64, value of this parameter >> will match the default value for the platform. When building on x86, we >> need to tell clang that it should generate arm64 code anyways. There is >> no reason in trying to make ARM build with x86 instruction set. >> >>> Also >>> this affects both toolstack builds and hypervisor. Is applying -march >>> like this actually appropriate for the toolstack? >> >> This is a good question. I can't see why this can't be appropriate for >> toolstack. I.e. what bad can happen when building the toolstack. > > In the future, we may want to build the tools for Armv8-M. So I think > the -march should also applies for the toolstack.
Perhaps I don't know enough of the Arm world, but: Wouldn't it be possible to build a tool stack suitable for a wide range for Arm64 flavors, while requiring more targeted hypervisor binaries? Jan