qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 719fab: qemu-binfmt-conf.sh: fix -F option


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 719fab: qemu-binfmt-conf.sh: fix -F option
Date: Thu, 06 Jan 2022 13:15:12 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 719fab3afad22f34f0c812a8956adc88ab3242ce
      
https://github.com/qemu/qemu/commit/719fab3afad22f34f0c812a8956adc88ab3242ce
  Author: Martin Wilck <mwilck@suse.com>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M scripts/qemu-binfmt-conf.sh

  Log Message:
  -----------
  qemu-binfmt-conf.sh: fix -F option

qemu-binfmt-conf.sh should use "-F" as short option for "--qemu-suffix".
Fix the getopt call to make this work.

Fixes: 7155be7cda5c ("qemu-binfmt-conf.sh: allow to provide a suffix to the 
interpreter name")
Signed-off-by: Martin Wilck <mwilck@suse.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20211129135100.3934-1-mwilck@suse.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: be23b0eb475e53bf0e346c20dd5277e3d96c66d7
      
https://github.com/qemu/qemu/commit/be23b0eb475e53bf0e346c20dd5277e3d96c66d7
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  linux-user/hexagon: Use generic target_stat64 structure

Linux Hexagon port doesn't define a specific 'struct stat'
but uses the generic one (see Linux commit 6103ec56c65c [*]
"asm-generic: add generic ABI headers" which predates the
introduction of the Hexagon port).

Remove the target specific target_stat (which in fact is the
target_stat64 structure but uses incorrect target_long and
ABI unsafe long long types) and use the generic target_stat64
instead.

[*] 
https://github.com/torvalds/linux/commit/6103ec56c65c3#diff-5f59b07b38273b7d6a74193bc81a8cd18928c688276eae20cb10c569de3253ee

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
Tested-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20211116210919.2823206-1-f4bug@amsat.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: f93d0af88d8e4b4771144c14195dd97a5b55e149
      
https://github.com/qemu/qemu/commit/f93d0af88d8e4b4771144c14195dd97a5b55e149
  Author: Philippe Mathieu-Daudé <f4bug@amsat.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/user-internals.h

  Log Message:
  -----------
  linux-user: Mark cpu_loop() with noreturn attribute

cpu_loop() never exits, so mark it with QEMU_NORETURN.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-By: Warner Losh <imp@bsdimp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Warner Losh <imp@bsdimp.com>
Message-Id: <20211106113916.544587-1-f4bug@amsat.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: e068b57d01bff8a6fe8ab04d0a489407557d0a1c
      
https://github.com/qemu/qemu/commit/e068b57d01bff8a6fe8ab04d0a489407557d0a1c
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/aarch64/target_signal.h
    M linux-user/arm/target_signal.h
    M linux-user/cris/target_signal.h
    M linux-user/generic/signal.h
    M linux-user/hexagon/target_signal.h
    M linux-user/i386/target_signal.h
    M linux-user/m68k/target_signal.h
    M linux-user/microblaze/target_signal.h
    M linux-user/nios2/target_signal.h
    M linux-user/openrisc/target_signal.h
    M linux-user/ppc/target_signal.h
    M linux-user/riscv/target_signal.h
    M linux-user/s390x/target_signal.h
    M linux-user/sh4/target_signal.h
    M linux-user/x86_64/target_signal.h
    M linux-user/xtensa/target_signal.h

  Log Message:
  -----------
  linux-user: Move target_signal.h generic definitions to generic/signal.h

No code change

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <1637893388-10282-2-git-send-email-gaosong@loongson.cn>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: f9d0707182fcf65593b55479fa891867192ebeef
      
https://github.com/qemu/qemu/commit/f9d0707182fcf65593b55479fa891867192ebeef
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/aarch64/target_syscall.h
    M linux-user/alpha/target_syscall.h
    M linux-user/arm/target_syscall.h
    M linux-user/cris/target_syscall.h
    M linux-user/hppa/target_syscall.h
    M linux-user/i386/target_syscall.h
    M linux-user/m68k/target_syscall.h
    M linux-user/microblaze/target_syscall.h
    M linux-user/mips/target_syscall.h
    M linux-user/mips64/target_syscall.h
    M linux-user/nios2/target_syscall.h
    M linux-user/openrisc/target_syscall.h
    M linux-user/ppc/target_syscall.h
    M linux-user/riscv/target_syscall.h
    M linux-user/s390x/target_syscall.h
    M linux-user/sh4/target_syscall.h
    M linux-user/sparc/target_syscall.h
    M linux-user/x86_64/target_syscall.h

  Log Message:
  -----------
  linux-user: target_syscall.h remove definition TARGET_MINSIGSTKSZ

TARGET_MINSIGSTKSZ has been defined in generic/signal.h
or target_signal.h, We don't need to define it again.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <1637893388-10282-3-git-send-email-gaosong@loongson.cn>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: c1e8e3a746f6e4fb90ae65c715a4f79f6b4b6cf6
      
https://github.com/qemu/qemu/commit/c1e8e3a746f6e4fb90ae65c715a4f79f6b4b6cf6
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/alpha/target_signal.h
    M linux-user/generic/signal.h
    M linux-user/hppa/target_signal.h
    M linux-user/mips/target_signal.h
    M linux-user/mips64/target_signal.h
    M linux-user/sparc/target_signal.h

  Log Message:
  -----------
  linux-user: Remove TARGET_SIGSTKSZ

TARGET_SIGSTKSZ is not used, we should remove it.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <1637893388-10282-4-git-send-email-gaosong@loongson.cn>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 87e9bf23236d3c9da84f2b6164e06be3ecfd45e0
      
https://github.com/qemu/qemu/commit/87e9bf23236d3c9da84f2b6164e06be3ecfd45e0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    A linux-user/aarch64/target_prctl.h
    M linux-user/aarch64/target_syscall.h
    A linux-user/alpha/target_prctl.h
    A linux-user/arm/target_prctl.h
    A linux-user/cris/target_prctl.h
    A linux-user/hexagon/target_prctl.h
    A linux-user/hppa/target_prctl.h
    A linux-user/i386/target_prctl.h
    A linux-user/m68k/target_prctl.h
    A linux-user/microblaze/target_prctl.h
    A linux-user/mips/target_prctl.h
    M linux-user/mips/target_syscall.h
    A linux-user/mips64/target_prctl.h
    M linux-user/mips64/target_syscall.h
    A linux-user/nios2/target_prctl.h
    A linux-user/openrisc/target_prctl.h
    A linux-user/ppc/target_prctl.h
    A linux-user/riscv/target_prctl.h
    A linux-user/s390x/target_prctl.h
    A linux-user/sh4/target_prctl.h
    A linux-user/sparc/target_prctl.h
    M linux-user/syscall.c
    A linux-user/x86_64/target_prctl.h
    A linux-user/xtensa/target_prctl.h

  Log Message:
  -----------
  linux-user: Split out do_prctl and subroutines

Since the prctl constants are supposed to be generic, supply
any that are not provided by the host.

Split out subroutines for PR_GET_FP_MODE, PR_SET_FP_MODE,
PR_GET_VL, PR_SET_VL, PR_RESET_KEYS, PR_SET_TAGGED_ADDR_CTRL,
PR_GET_TAGGED_ADDR_CTRL.  Return EINVAL for guests that do
not support these options rather than pass them on to the host.

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211227150127.2659293-2-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 220717a6f46a99031a5b1af964bbf4dec1310440
      
https://github.com/qemu/qemu/commit/220717a6f46a99031a5b1af964bbf4dec1310440
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: Disable more prctl subcodes

Create a list of subcodes that we want to pass on, a list of
subcodes that should not be passed on because they would affect
the running qemu itself, and a list that probably could be
implemented but require extra work. Do not pass on unknown subcodes.

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211227150127.2659293-3-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 6e8dcacd0840b3c38e7ec664bb9adbccc2108fdd
      
https://github.com/qemu/qemu/commit/6e8dcacd0840b3c38e7ec664bb9adbccc2108fdd
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M cpu.c
    M include/hw/core/cpu.h
    A linux-user/generic/target_prctl_unalign.h
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: Add code for PR_GET/SET_UNALIGN

This requires extra work for each target, but adds the
common syscall code, and the necessary flag in CPUState.

Reviewed-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211227150127.2659293-4-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: fed142461780f714e83123833a8d9682c32f68ee
      
https://github.com/qemu/qemu/commit/fed142461780f714e83123833a8d9682c32f68ee
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/alpha/target_prctl.h
    M target/alpha/cpu.h
    M target/alpha/translate.c

  Log Message:
  -----------
  target/alpha: Implement prctl_unalign_sigbus

Leave TARGET_ALIGNED_ONLY set, but use the new CPUState
flag to set MO_UNALN for the instructions that the kernel
handles in the unaligned trap.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20211227150127.2659293-5-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 217d1a5ef887c2013dc7446adff856e795cd8488
      
https://github.com/qemu/qemu/commit/217d1a5ef887c2013dc7446adff856e795cd8488
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/hppa/target_prctl.h
    M target/hppa/cpu.h
    M target/hppa/translate.c

  Log Message:
  -----------
  target/hppa: Implement prctl_unalign_sigbus

Leave TARGET_ALIGNED_ONLY set, but use the new CPUState
flag to set MO_UNALN for the instructions that the kernel
handles in the unaligned trap.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20211227150127.2659293-6-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 4da06fb306276946e227669bfc4df2077a8fa6c9
      
https://github.com/qemu/qemu/commit/4da06fb306276946e227669bfc4df2077a8fa6c9
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/sh4/target_prctl.h
    M target/sh4/cpu.h
    M target/sh4/translate.c

  Log Message:
  -----------
  target/sh4: Implement prctl_unalign_sigbus

Leave TARGET_ALIGNED_ONLY set, but use the new CPUState
flag to set MO_UNALN for the instructions that the kernel
handles in the unaligned trap.

The Linux kernel does not handle all memory operations: no
floating-point and no MAC.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20211227150127.2659293-7-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 139e5de7c883522b7307e26d4b7dce489b53e307
      
https://github.com/qemu/qemu/commit/139e5de7c883522b7307e26d4b7dce489b53e307
  Author: Matthias Schiffer <mschiffer@universe-factory.net>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/signal.c

  Log Message:
  -----------
  linux-user/signal: Map exit signals in SIGCHLD siginfo_t

When converting a siginfo_t from waitid(), the interpretation of si_status
depends on the value of si_code: For CLD_EXITED, it is an exit code and
should be copied verbatim. For other codes, it is a signal number
(possibly with additional high bits from ptrace) that should be mapped.

This code was previously changed in commit 1c3dfb506ea3
("linux-user/signal: Decode waitid si_code"), but the fix was
incomplete.

Tested with the following test program:

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <sys/wait.h>

    int main() {
        pid_t pid = fork();
        if (pid == 0) {
                exit(12);
        } else {
                siginfo_t siginfo = {};
                waitid(P_PID, pid, &siginfo, WEXITED);
                printf("Code: %d, status: %d\n", (int)siginfo.si_code, 
(int)siginfo.si_status);
        }

        pid = fork();
        if (pid == 0) {
                raise(SIGUSR2);
        } else {
                siginfo_t siginfo = {};
                waitid(P_PID, pid, &siginfo, WEXITED);
                printf("Code: %d, status: %d\n", (int)siginfo.si_code, 
(int)siginfo.si_status);
        }
    }

Output with an x86_64 host and mips64el target before 1c3dfb506ea3
(incorrect: exit code 12 is translated like a signal):

    Code: 1, status: 17
    Code: 2, status: 17

After 1c3dfb506ea3 (incorrect: signal number is not translated):

    Code: 1, status: 12
    Code: 2, status: 12

With this patch:

    Code: 1, status: 12
    Code: 2, status: 17

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: 
<81534fde7cdfc6acea4889d886fbefdd606630fb.1635019124.git.mschiffer@universe-factory.net>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 45ad761c27dfb571d9a1ab3af80e8034d36d1b59
      
https://github.com/qemu/qemu/commit/45ad761c27dfb571d9a1ab3af80e8034d36d1b59
  Author: Tonis Tiigi <tonistiigi@gmail.com>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/syscall.c
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  linux-user: add sched_getattr support

These syscalls are not exposed by glibc. The struct type need to be
redefined as it can't be included directly before
https://lkml.org/lkml/2020/5/28/810 .

sched_attr type can grow in future kernel versions. When client sends
values that QEMU does not understand it will return E2BIG with same
semantics as old kernel would so client can retry with smaller inputs.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Message-Id: <20220105041819.24160-2-tonistiigi@gmail.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 407a119bfd350101a8ef947a9edd58b01644ec89
      
https://github.com/qemu/qemu/commit/407a119bfd350101a8ef947a9edd58b01644ec89
  Author: Tonis Tiigi <tonistiigi@gmail.com>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/syscall.c
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  linux-user: call set/getscheduler set/getparam directly

There seems to be difference in syscall and libc definition of these
methods and therefore musl does not implement them (1e21e78bf7). Call
syscall directly to ensure the behavior of the libc of user application,
not the libc that was used to build QEMU.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Message-Id: <20220105041819.24160-3-tonistiigi@gmail.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: e13685a6e5c92612c6eeeb8a17c052539c0f9da5
      
https://github.com/qemu/qemu/commit/e13685a6e5c92612c6eeeb8a17c052539c0f9da5
  Author: Andrey Kazmin <a.kazmin@partner.samsung.com>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user/syscall.c: fix missed flag for shared memory in open_self_maps

The possible variants for region type in /proc/self/maps are either
private "p" or shared "s". In the current implementation,
we mark shared regions as "-". It could break memory mapping parsers
such as included into ASan/HWASan sanitizers.

Fixes: 01ef6b9e4e4e ("linux-user: factor out reading of /proc/self/maps")
Signed-off-by: Andrey Kazmin <a.kazmin@partner.samsung.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Acked-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20211227125048.22610-1-a.kazmin@partner.samsung.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 87d7bfdba1d4a963e9a89052c38a32327fa25473
      
https://github.com/qemu/qemu/commit/87d7bfdba1d4a963e9a89052c38a32327fa25473
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/nios2/cpu_loop.c
    M target/nios2/cpu.h
    M target/nios2/translate.c

  Log Message:
  -----------
  linux-user/nios2: Properly emulate EXCP_TRAP

The real kernel has to load the instruction and extract
the imm5 field; for qemu, modify the translator to do this.

The use of R_AT for this in cpu_loop was a bug.  Handle
the other trap numbers as per the kernel's trap_table.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20211221025012.1057923-2-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 80c6e9d4aea4252c3201719299adde1d55ee539e
      
https://github.com/qemu/qemu/commit/80c6e9d4aea4252c3201719299adde1d55ee539e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/nios2/signal.c

  Log Message:
  -----------
  linux-user/nios2: Fixes for signal frame setup

Do not confuse host and guest addresses.  Lock and unlock
the target_rt_sigframe structure in setup_rt_sigframe.

Since rt_setup_ucontext always returns 0, drop the return
value entirely.  This eliminates the only write to the err
variable in setup_rt_sigframe.

Always copy the siginfo structure.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211221025012.1057923-3-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 66346faf3200a0607a5498684e14e84c718dc233
      
https://github.com/qemu/qemu/commit/66346faf3200a0607a5498684e14e84c718dc233
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user/elfload: Rename ARM_COMMPAGE to HI_COMMPAGE

Arm will no longer be the only target requiring a commpage,
but it will continue to be the only target placing the page
at the high end of the address space.

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211221025012.1057923-4-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: f5ef0e518d0331920cef0fb6f6c1141695ffab7b
      
https://github.com/qemu/qemu/commit/f5ef0e518d0331920cef0fb6f6c1141695ffab7b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/elfload.c
    M linux-user/nios2/cpu_loop.c
    M target/nios2/translate.c

  Log Message:
  -----------
  linux-user/nios2: Map a real kuser page

The first word of page1 is data, so the whole thing
can't be implemented with emulation of addresses.
Use init_guest_commpage for the allocation.

Hijack trap number 16 to implement cmpxchg.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20211221025012.1057923-5-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 8222d8ba6f62aaab2da81618e56c5055ccbc7be0
      
https://github.com/qemu/qemu/commit/8222d8ba6f62aaab2da81618e56c5055ccbc7be0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/nios2/cpu_loop.c
    M linux-user/nios2/signal.c

  Log Message:
  -----------
  linux-user/nios2: Fix EA vs PC confusion

The real kernel will talk about the user PC as EA,
because that's where the hardware will have copied it,
and where it expects to put it to then use ERET.
But qemu does not emulate all of the exception stuff
while emulating user-only.  Manipulate PC directly.

This fixes signal entry and return, and eliminates
some slight confusion from target_cpu_copy_regs.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20211221025012.1057923-6-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 7a83cbb0b0ef46e17f953bd972a1abb899d5d56e
      
https://github.com/qemu/qemu/commit/7a83cbb0b0ef46e17f953bd972a1abb899d5d56e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/nios2/signal.c

  Log Message:
  -----------
  linux-user/nios2: Fix sigmask in setup_rt_frame

Do not cast the signal mask elements; trust __put_user.

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211221025012.1057923-7-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 155fff93f8e7720fa476f2f9a5c08bdad2076b8b
      
https://github.com/qemu/qemu/commit/155fff93f8e7720fa476f2f9a5c08bdad2076b8b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/nios2/signal.c
    M linux-user/signal.c

  Log Message:
  -----------
  linux-user/nios2: Use set_sigmask in do_rt_sigreturn

Using do_sigprocmask directly was incorrect, as it will
leave the signal blocked by the outer layers of linux-user.

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211221025012.1057923-8-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 7a5626a1d8a193106dc709608273ed48729967d5
      
https://github.com/qemu/qemu/commit/7a5626a1d8a193106dc709608273ed48729967d5
  Author: Ahmed Abouzied <email@aabouzied.com>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user/syscall.c: malloc to g_try_malloc

Use g_try_malloc instead of malloc to alocate the target ifconfig.
Also replace the corresponding free with g_free.

Signed-off-by: Ahmed Abouzied <email@aabouzied.com>
Message-Id: <20220104143841.25116-1-email@aabouzied.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 312aef98ae3bd0685445dfbae089c559bdd0335f
      
https://github.com/qemu/qemu/commit/312aef98ae3bd0685445dfbae089c559bdd0335f
  Author: Laurent Vivier <laurent@vivier.eu>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/fd-trans.c

  Log Message:
  -----------
  linux-user: netlink: update IFLA entries

Add IFLA_PHYS_PORT_ID, IFLA_PARENT_DEV_NAME, IFLA_PARENT_DEV_BUS_NAME

  # QEMU_LOG=unimp ip a
  Unknown host QEMU_IFLA type: 56
  Unknown host QEMU_IFLA type: 57
  Unknown host QEMU_IFLA type: 34

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211219154514.2165728-1-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: a99478672c0db904c07f8c7aadc94f13f5ab32f4
      
https://github.com/qemu/qemu/commit/a99478672c0db904c07f8c7aadc94f13f5ab32f4
  Author: Laurent Vivier <laurent@vivier.eu>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/fd-trans.c

  Log Message:
  -----------
  linux-user: netlink: Add IFLA_VFINFO_LIST

# QEMU_LOG=unimp ip a
  Unknown host QEMU_IFLA type: 22

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211219154514.2165728-2-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: f0effdbc2a5b43422bc4c9c22641ef9dafa0c7ae
      
https://github.com/qemu/qemu/commit/f0effdbc2a5b43422bc4c9c22641ef9dafa0c7ae
  Author: Laurent Vivier <laurent@vivier.eu>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M linux-user/fd-trans.c

  Log Message:
  -----------
  linux-user: netlink: update IFLA_BRPORT entries

add IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT and IFLA_BRPORT_MCAST_EHT_HOSTS_CNT

  # QEMU_LOG=unimp ip a
  Unknown QEMU_IFLA_BRPORT type 37
  Unknown QEMU_IFLA_BRPORT type 38

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211219154514.2165728-3-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>


  Commit: 41fb4c14ee500125dc0ce6fb573cf84b8db29ed0
      
https://github.com/qemu/qemu/commit/41fb4c14ee500125dc0ce6fb573cf84b8db29ed0
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-01-06 (Thu, 06 Jan 2022)

  Changed paths:
    M cpu.c
    M include/hw/core/cpu.h
    A linux-user/aarch64/target_prctl.h
    M linux-user/aarch64/target_signal.h
    M linux-user/aarch64/target_syscall.h
    A linux-user/alpha/target_prctl.h
    M linux-user/alpha/target_signal.h
    M linux-user/alpha/target_syscall.h
    A linux-user/arm/target_prctl.h
    M linux-user/arm/target_signal.h
    M linux-user/arm/target_syscall.h
    A linux-user/cris/target_prctl.h
    M linux-user/cris/target_signal.h
    M linux-user/cris/target_syscall.h
    M linux-user/elfload.c
    M linux-user/fd-trans.c
    M linux-user/generic/signal.h
    A linux-user/generic/target_prctl_unalign.h
    A linux-user/hexagon/target_prctl.h
    M linux-user/hexagon/target_signal.h
    A linux-user/hppa/target_prctl.h
    M linux-user/hppa/target_signal.h
    M linux-user/hppa/target_syscall.h
    A linux-user/i386/target_prctl.h
    M linux-user/i386/target_signal.h
    M linux-user/i386/target_syscall.h
    A linux-user/m68k/target_prctl.h
    M linux-user/m68k/target_signal.h
    M linux-user/m68k/target_syscall.h
    A linux-user/microblaze/target_prctl.h
    M linux-user/microblaze/target_signal.h
    M linux-user/microblaze/target_syscall.h
    A linux-user/mips/target_prctl.h
    M linux-user/mips/target_signal.h
    M linux-user/mips/target_syscall.h
    A linux-user/mips64/target_prctl.h
    M linux-user/mips64/target_signal.h
    M linux-user/mips64/target_syscall.h
    M linux-user/nios2/cpu_loop.c
    M linux-user/nios2/signal.c
    A linux-user/nios2/target_prctl.h
    M linux-user/nios2/target_signal.h
    M linux-user/nios2/target_syscall.h
    A linux-user/openrisc/target_prctl.h
    M linux-user/openrisc/target_signal.h
    M linux-user/openrisc/target_syscall.h
    A linux-user/ppc/target_prctl.h
    M linux-user/ppc/target_signal.h
    M linux-user/ppc/target_syscall.h
    A linux-user/riscv/target_prctl.h
    M linux-user/riscv/target_signal.h
    M linux-user/riscv/target_syscall.h
    A linux-user/s390x/target_prctl.h
    M linux-user/s390x/target_signal.h
    M linux-user/s390x/target_syscall.h
    A linux-user/sh4/target_prctl.h
    M linux-user/sh4/target_signal.h
    M linux-user/sh4/target_syscall.h
    M linux-user/signal.c
    A linux-user/sparc/target_prctl.h
    M linux-user/sparc/target_signal.h
    M linux-user/sparc/target_syscall.h
    M linux-user/syscall.c
    M linux-user/syscall_defs.h
    M linux-user/user-internals.h
    A linux-user/x86_64/target_prctl.h
    M linux-user/x86_64/target_signal.h
    M linux-user/x86_64/target_syscall.h
    A linux-user/xtensa/target_prctl.h
    M linux-user/xtensa/target_signal.h
    M scripts/qemu-binfmt-conf.sh
    M target/alpha/cpu.h
    M target/alpha/translate.c
    M target/hppa/cpu.h
    M target/hppa/translate.c
    M target/nios2/cpu.h
    M target/nios2/translate.c
    M target/sh4/cpu.h
    M target/sh4/translate.c

  Log Message:
  -----------
  Merge tag 'linux-user-for-7.0-pull-request' of 
https://gitlab.com/laurent_vivier/qemu into staging

linux-user pull request 20220106

update netlink entries
nios2 fixes
/proc/self/maps fixes
set/getscheduler update
prctl cleanup and fixes
target_signal.h cleanup
and some trivial fixes

# gpg: Signature made Thu 06 Jan 2022 02:41:07 AM PST
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [undefined]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [undefined]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" 
[undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* tag 'linux-user-for-7.0-pull-request' of 
https://gitlab.com/laurent_vivier/qemu: (27 commits)
  linux-user: netlink: update IFLA_BRPORT entries
  linux-user: netlink: Add IFLA_VFINFO_LIST
  linux-user: netlink: update IFLA entries
  linux-user/syscall.c: malloc to g_try_malloc
  linux-user/nios2: Use set_sigmask in do_rt_sigreturn
  linux-user/nios2: Fix sigmask in setup_rt_frame
  linux-user/nios2: Fix EA vs PC confusion
  linux-user/nios2: Map a real kuser page
  linux-user/elfload: Rename ARM_COMMPAGE to HI_COMMPAGE
  linux-user/nios2: Fixes for signal frame setup
  linux-user/nios2: Properly emulate EXCP_TRAP
  linux-user/syscall.c: fix missed flag for shared memory in open_self_maps
  linux-user: call set/getscheduler set/getparam directly
  linux-user: add sched_getattr support
  linux-user/signal: Map exit signals in SIGCHLD siginfo_t
  target/sh4: Implement prctl_unalign_sigbus
  target/hppa: Implement prctl_unalign_sigbus
  target/alpha: Implement prctl_unalign_sigbus
  linux-user: Add code for PR_GET/SET_UNALIGN
  linux-user: Disable more prctl subcodes
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/7d4ae4d49780...41fb4c14ee50



reply via email to

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