qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V9 2/4] tests/migration: Support cross compilati


From: Juan Quintela
Subject: Re: [Qemu-devel] [PATCH V9 2/4] tests/migration: Support cross compilation in generating boot header file
Date: Mon, 10 Sep 2018 18:59:15 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Alex Bennée <address@hidden> wrote:
D> Wei Huang <address@hidden> writes:
>
>> Recently a new configure option, CROSS_CC_GUEST, was added to
>> $(TARGET)-softmmu/config-target.mak to support TCG-related tests. This
>> patch tries to leverage this option to support cross compilation when the
>> migration boot block file is being re-generated:
>>
>>  * The x86 related files are moved to a new sub-dir (named ./i386).
>>  * A new top-layer Makefile is created in tests/migration/ directory.
>>    This Makefile searches and parses CROSS_CC_GUEST to generate CROSS_PREFIX.
>>    The CROSS_PREFIX, if available, is then passed to 
>> migration/$ARCH/Makefile.
>>
>> Reviewed-by: Juan Quintela <address@hidden>
>> Signed-off-by: Wei Huang <address@hidden>


>> -.PHONY: all clean
>> -all: x86-a-b-bootblock.h
>> -
>> -x86-a-b-bootblock.h: x86.bootsect
>> -    echo "$$__note" > header.tmp
>> -    xxd -i $< | sed -e 's/.*int.*//' >> header.tmp
>> -    mv header.tmp $@
>> +find-arch-cross-cc = $(lastword $(shell grep -h "CROSS_CC_GUEST=" 
>> $(wildcard $(SRC_PATH)/$(patsubst 
>> i386,*86*,$(1))-softmmu/config-target.mak)))
>> +parse-cross-prefix = $(subst gcc,,$(patsubst cc,gcc,$(patsubst 
>> CROSS_CC_GUEST="%",%,$(call find-arch-cross-cc,$(1)))))
>> +gen-cross-prefix = $(patsubst %-,CROSS_PREFIX=%-,$(call
>> parse-cross-prefix,$(1)))
>
> This all seems awfully fiddly compared to moving the code to tests/tcg
> and building with the existing machinery. You don't even get the docker
> fall-back this way.
>
> The aim being to have the ability to build the binary and manually
> update the .hex/.S encoded version actually used in the test when you
> don't have cross compilers available right?
>
> I've got some TODOs in tests/tcg to start building the various system
> tests. Perhaps I should port the various migration kernels when I get to
> that?

One only needs to run the compiler when they modify the aarch64 test,
and that should be almost never.  And if anyone does, it is expected to
be an arm developer being runing on an ARM host or having a propper
cross-compiler.  I.e. that code is not intended to be part of a normal
build.

I guess that in general would be useful to have a way to tell Makefile:
I want to compile this with an arm compiler (native or cross), or any
other architecture.  But this case is a quite simple case that is not
supposed to be run often.  To put things in prespective,  I think that
we haven't ever changed the x86-64 migration test code.  I can be wrong,
but we are talking in less than a run for each qemu release.

Later, Juan.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]