[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] blogposts: add post about the new check-tcg inf
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH] blogposts: add post about the new check-tcg infrastructure |
Date: |
Sat, 23 Jun 2018 12:07:27 +0100 |
User-agent: |
mu4e 1.1.0; emacs 26.1.50 |
Max Filippov <address@hidden> writes:
> On Fri, Jun 22, 2018 at 2:03 AM, Alex Bennée <address@hidden> wrote:
>>
>> Max Filippov <address@hidden> writes:
>>
>>> On Thu, Jun 21, 2018 at 11:41 AM, Alex Bennée <address@hidden> wrote:
>>>> Signed-off-by: Alex Bennée <address@hidden>
>>>> ---
>>>> _posts/2018-06-21-tcg-testing.md | 129 +++++++++++++++++++++++++++++++
>>>> 1 file changed, 129 insertions(+)
>>>> create mode 100644 _posts/2018-06-21-tcg-testing.md
>>>>
>>>> diff --git a/_posts/2018-06-21-tcg-testing.md
>>>> b/_posts/2018-06-21-tcg-testing.md
>>>
>>> [...]
>>>
>>>> +The `tests/tcg` directory still contains a number of source files we
>>>> +don't build. Notably the cris, lm32, mips, openrisc and xtensa targets
>>>> have
>>>> +a set of tests that need a system emulator. Now we have the
>>>> +infrastructure for compiling I hope we can get support for system
>>>> +tests added fairly quickly. There will need to be some work to figure
>>>> +out a nice common way to pass results back to the build-system. For
>>>> +linux-user this is simple as all programs can simply return their exit
>>>> +code however for system emulation this is a little more involved.
>>>
>>> xtensa tests pass exit codes to the build system through semihosting calls.
>>> If any of them fails make check fails as well.
>>
>> I've re-written that section as:
>>
>> The `tests/tcg` directory still contains a number of source files we
>> don't build.
>>
>> The cris and openrisc directories contain user-space tests which just
>> need the support of a toolchain and the relevant Makefile plumbing to
>> be added.
>>
>> The lm32, mips and xtensa targets have a set of tests that need a
>> system emulator. Aside from adding the compilers as docker images some
>> additional work is needed to handle the differences between plain
>> linux-user tests which can simply return an exit code to getting the
>> results from a qemu-system emulation. Some architectures have
>> semi-hosting support already for this while others report their test
>> status over a simple serial link which will need to be parsed and
>> handled in the `run-%:` test rule.
>>
>> How is that?
>
> 'run-%' goal is only present in xtensa Makefile, other test suites have
> explicit loop in the 'check' goal. Otherwise LGTM.
The TCG tests added a generic run-% rule:
run-%: %
$(call run-test, $<, $(QEMU) $<, "$< on $(TARGET_NAME)")
Although individual tests can override it.
>
>> Any chance you could look into what it would take to package up the
>> xtensa toolchain in a docker container?
>
> Can you point me to an example?
Well this was the base attempt:
https://github.com/stsquad/qemu/commit/daee9dc013b13b13e81f720176c5e379c05ed0e0
So I guess we need to add the overlay to the image?
>
>> Are they simply tarballs of binaries?
>
> Yes, we have that option:
>
> https://github.com/foss-xtensa/toolchain/releases
>
> Or they may be built from source.
--
Alex Bennée