[PULL 00/19] Linux user for 5.1 patches

Laurent Vivier posted 19 patches 3 years, 11 months ago
Test docker-mingw@fedora passed
Test checkpatch passed
Test asan passed
Test docker-quick@centos7 passed
Test FreeBSD passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200605114700.1052050-1-laurent@vivier.eu
Maintainers: Laurent Vivier <laurent@vivier.eu>, Riku Voipio <riku.voipio@iki.fi>, Cornelia Huck <cohuck@redhat.com>
There is a newer version of this series
Makefile                   |  2 +-
arch_init.c                |  1 -
configure                  |  4 +++
exec.c                     |  4 ++-
hw/core/cpu.c              |  2 ++
include/hw/core/cpu.h      |  7 ++++-
linux-user/generic/fcntl.h |  4 +++
linux-user/mmap.c          |  2 +-
linux-user/strace.list     |  4 +--
linux-user/syscall.c       | 31 +++++++++++++++++---
stubs/Makefile.objs        | 52 +++++++++++++++++++--------------
target/i386/cpu.c          |  6 +++-
target/riscv/cpu.c         |  6 ++--
target/s390x/cpu.c         | 12 ++++----
tests/Makefile.include     | 18 ++++++------
util/Makefile.objs         | 59 ++++++++++++++++++++++++--------------
16 files changed, 142 insertions(+), 72 deletions(-)
[PULL 00/19] Linux user for 5.1 patches
Posted by Laurent Vivier 3 years, 11 months ago
The following changes since commit ddc760832fa8cf5e93b9d9e6e854a5114ac63510:

  Merge remote-tracking branch 'remotes/gkurz/tags/9p-next-2020-05-26' into s=
taging (2020-05-26 14:05:53 +0100)

are available in the Git repository at:

  git://github.com/vivier/qemu.git tags/linux-user-for-5.1-pull-request

for you to fetch changes up to aa3d2045d4ca760bd8c22935a2d73ee4f3480bd5:

  stubs: Restrict ui/win32-kbd-hook to system-mode (2020-06-05 11:36:00 +0200)

----------------------------------------------------------------
linux-user pull request 20200605

Implement F_OFD_ fcntl() command, /proc/cpuinfo for hppa
Fix socket(), prnctl() error codes, underflow in target_mremap,
    epoll_create() strace, oldumount for alpha
User-mode build dependencies improvement

----------------------------------------------------------------

Andreas Schwab (1):
  linux-user: implement OFD locks

Helge Deller (2):
  linux-user: return target error codes for socket() and prctl()
  linux-user: Add support for /proc/cpuinfo on hppa platform

Jonathan Marler (1):
  linux-user/mmap.c: fix integer underflow in target_mremap

Laurent Vivier (1):
  linux-user, alpha: fix oldumount syscall

Philippe Mathieu-Daud=C3=A9 (13):
  Makefile: Only build virtiofsd if system-mode is enabled
  configure: Avoid building TCG when not needed
  tests/Makefile: Only display TCG-related tests when TCG is available
  tests/Makefile: Restrict some softmmu-only tests
  util/Makefile: Reduce the user-mode object list
  stubs/Makefile: Reduce the user-mode object list
  target/riscv/cpu: Restrict CPU migration to system-mode
  exec: Assert CPU migration is not used on user-only build
  arch_init: Remove unused 'qapi-commands-misc.h' include
  target/i386: Restrict CpuClass::get_crash_info() to system-mode
  target/s390x: Restrict CpuClass::get_crash_info() to system-mode
  hw/core: Restrict CpuClass::get_crash_info() to system-mode
  stubs: Restrict ui/win32-kbd-hook to system-mode

Sergei Trofimovich (1):
  linux-user/strace.list: fix epoll_create{,1} -strace output

 Makefile                   |  2 +-
 arch_init.c                |  1 -
 configure                  |  4 +++
 exec.c                     |  4 ++-
 hw/core/cpu.c              |  2 ++
 include/hw/core/cpu.h      |  7 ++++-
 linux-user/generic/fcntl.h |  4 +++
 linux-user/mmap.c          |  2 +-
 linux-user/strace.list     |  4 +--
 linux-user/syscall.c       | 31 +++++++++++++++++---
 stubs/Makefile.objs        | 52 +++++++++++++++++++--------------
 target/i386/cpu.c          |  6 +++-
 target/riscv/cpu.c         |  6 ++--
 target/s390x/cpu.c         | 12 ++++----
 tests/Makefile.include     | 18 ++++++------
 util/Makefile.objs         | 59 ++++++++++++++++++++++++--------------
 16 files changed, 142 insertions(+), 72 deletions(-)

--=20
2.26.2


Re: [PULL 00/19] Linux user for 5.1 patches
Posted by Peter Maydell 3 years, 11 months ago
On Fri, 5 Jun 2020 at 12:48, Laurent Vivier <laurent@vivier.eu> wrote:
>
> The following changes since commit ddc760832fa8cf5e93b9d9e6e854a5114ac63510:
>
>   Merge remote-tracking branch 'remotes/gkurz/tags/9p-next-2020-05-26' into s=
> taging (2020-05-26 14:05:53 +0100)
>
> are available in the Git repository at:
>
>   git://github.com/vivier/qemu.git tags/linux-user-for-5.1-pull-request
>
> for you to fetch changes up to aa3d2045d4ca760bd8c22935a2d73ee4f3480bd5:
>
>   stubs: Restrict ui/win32-kbd-hook to system-mode (2020-06-05 11:36:00 +0200)
>
> ----------------------------------------------------------------
> linux-user pull request 20200605
>
> Implement F_OFD_ fcntl() command, /proc/cpuinfo for hppa
> Fix socket(), prnctl() error codes, underflow in target_mremap,
>     epoll_create() strace, oldumount for alpha
> User-mode build dependencies improvement
>
> ----------------------------------------------------------------

Hi; this failed to compile on s390 and ppc when building hppa-linux-user:

/home/ubuntu/qemu/linux-user/syscall.c: In function ‘do_openat’:
/home/ubuntu/qemu/linux-user/syscall.c:7484:42: error: ‘is_proc’
undeclared (first use in this function); did you mean ‘
is_error’?
         { "/proc/cpuinfo", open_cpuinfo, is_proc },
                                          ^~~~~~~
                                          is_error
/home/ubuntu/qemu/linux-user/syscall.c:7484:42: note: each undeclared
identifier is reported only once for each function
 it appears in
/home/ubuntu/qemu/rules.mak:69: recipe for target 'linux-user/syscall.o' failed

Looks like this is because the #if condition guarding the
is_proc() definition doesn't line up with the uses (missing
a check on TARGET_HPPA).

thanks
-- PMM

Re: [PULL 00/19] Linux user for 5.1 patches
Posted by Laurent Vivier 3 years, 11 months ago
Le 05/06/2020 à 18:45, Peter Maydell a écrit :
> On Fri, 5 Jun 2020 at 12:48, Laurent Vivier <laurent@vivier.eu> wrote:
>>
>> The following changes since commit ddc760832fa8cf5e93b9d9e6e854a5114ac63510:
>>
>>   Merge remote-tracking branch 'remotes/gkurz/tags/9p-next-2020-05-26' into s=
>> taging (2020-05-26 14:05:53 +0100)
>>
>> are available in the Git repository at:
>>
>>   git://github.com/vivier/qemu.git tags/linux-user-for-5.1-pull-request
>>
>> for you to fetch changes up to aa3d2045d4ca760bd8c22935a2d73ee4f3480bd5:
>>
>>   stubs: Restrict ui/win32-kbd-hook to system-mode (2020-06-05 11:36:00 +0200)
>>
>> ----------------------------------------------------------------
>> linux-user pull request 20200605
>>
>> Implement F_OFD_ fcntl() command, /proc/cpuinfo for hppa
>> Fix socket(), prnctl() error codes, underflow in target_mremap,
>>     epoll_create() strace, oldumount for alpha
>> User-mode build dependencies improvement
>>
>> ----------------------------------------------------------------
> 
> Hi; this failed to compile on s390 and ppc when building hppa-linux-user:
> 
> /home/ubuntu/qemu/linux-user/syscall.c: In function ‘do_openat’:
> /home/ubuntu/qemu/linux-user/syscall.c:7484:42: error: ‘is_proc’
> undeclared (first use in this function); did you mean ‘
> is_error’?
>          { "/proc/cpuinfo", open_cpuinfo, is_proc },
>                                           ^~~~~~~
>                                           is_error
> /home/ubuntu/qemu/linux-user/syscall.c:7484:42: note: each undeclared
> identifier is reported only once for each function
>  it appears in
> /home/ubuntu/qemu/rules.mak:69: recipe for target 'linux-user/syscall.o' failed
> 
> Looks like this is because the #if condition guarding the
> is_proc() definition doesn't line up with the uses (missing
> a check on TARGET_HPPA).

You're right.

I was thinking this kind of problem would be detected by the travis-ci
builds, but in fact ppc64 and s390 builds don't build other architecture
linux-user targets.

I update my PR.

Thanks,
Laurent

Re: [PULL 00/19] Linux user for 5.1 patches
Posted by Peter Maydell 3 years, 11 months ago
On Fri, 5 Jun 2020 at 20:20, Laurent Vivier <laurent@vivier.eu> wrote:
> I was thinking this kind of problem would be detected by the travis-ci
> builds, but in fact ppc64 and s390 builds don't build other architecture
> linux-user targets.

That's an unfortunate gap in the CI -- we should ideally cover
the whole tree with at least one big-endian platform.

thanks
-- PMM

Re: [PULL 00/19] Linux user for 5.1 patches
Posted by Richard Henderson 3 years, 11 months ago
On 6/5/20 1:32 PM, Peter Maydell wrote:
> On Fri, 5 Jun 2020 at 20:20, Laurent Vivier <laurent@vivier.eu> wrote:
>> I was thinking this kind of problem would be detected by the travis-ci
>> builds, but in fact ppc64 and s390 builds don't build other architecture
>> linux-user targets.
> 
> That's an unfortunate gap in the CI -- we should ideally cover
> the whole tree with at least one big-endian platform.

Indeed.  Hopefully we can do this with our pending gitlab setup.

For travis, IIRC we only build this restricted set because we had problems with
timeouts on those machines.


r~

Re: [PULL 00/19] Linux user for 5.1 patches
Posted by Thomas Huth 3 years, 11 months ago
On 05/06/2020 23.48, Richard Henderson wrote:
> On 6/5/20 1:32 PM, Peter Maydell wrote:
>> On Fri, 5 Jun 2020 at 20:20, Laurent Vivier <laurent@vivier.eu> wrote:
>>> I was thinking this kind of problem would be detected by the travis-ci
>>> builds, but in fact ppc64 and s390 builds don't build other architecture
>>> linux-user targets.
>>
>> That's an unfortunate gap in the CI -- we should ideally cover
>> the whole tree with at least one big-endian platform.
> 
> Indeed.  Hopefully we can do this with our pending gitlab setup.
> 
> For travis, IIRC we only build this restricted set because we had problems with
> timeouts on those machines.

Right. But we could add one more tests with
--target-list-exclude=${MAIN_SOFTMMU_TARGETS} --enable-user in Travis
... I'll have a look...

 Thomas