On Wed, 2024-10-02 at 09:05 -0500, Noah Goldstein wrote:
> On Wed, Oct 2, 2024 at 3:08 AM Ilya Leoshkevich
> wrote:
> >
> > On Fri, 2024-08-30 at 15:36 -0700, Noah Goldstein wrote:
> > > The new option '-qemu-children' makes it so that on `execve` the
> &
On Wed, 2024-10-02 at 11:24 -0500, Noah Goldstein wrote:
> On Wed, Oct 2, 2024 at 11:14 AM Ilya Leoshkevich
> wrote:
> >
> > On Wed, 2024-10-02 at 10:10 -0500, Noah Goldstein wrote:
> > > On Wed, Oct 2, 2024 at 9:53 AM Ilya Leoshkevich
> > >
> > >
On Wed, 2024-10-02 at 10:10 -0500, Noah Goldstein wrote:
> On Wed, Oct 2, 2024 at 9:53 AM Ilya Leoshkevich
> wrote:
> >
> > On Wed, 2024-10-02 at 09:44 -0500, Noah Goldstein wrote:
> > > On Wed, Oct 2, 2024 at 9:38 AM Ilya Leoshkevich
> > >
> > > wro
On Wed, 2024-10-02 at 09:44 -0500, Noah Goldstein wrote:
> On Wed, Oct 2, 2024 at 9:38 AM Ilya Leoshkevich
> wrote:
> >
> > On Wed, 2024-10-02 at 16:08 +0200, Laurent Vivier wrote:
> > > Le 02/10/2024 à 10:08, Ilya Leoshkevich a écrit :
> > > > On Fri, 20
On Wed, 2024-10-02 at 16:08 +0200, Laurent Vivier wrote:
> Le 02/10/2024 à 10:08, Ilya Leoshkevich a écrit :
> > On Fri, 2024-08-30 at 15:36 -0700, Noah Goldstein wrote:
> > > The new option '-qemu-children' makes it so that on `execve` the
> > > child
>
x, addr, 1);
> }
> - qemu_log(", "TARGET_ABI_FMT_ld"%s", addrlen, get_comma(last));
> + qemu_log(","TARGET_ABI_FMT_ld"%s", addrlen, get_comma(last));
> }
>
> static void
I see why this works, but it feels a bit wrong semantically: addr is
not the last argument.
Wouldn't it be better to add commas to the preceding switch's cases?
Anyhow:
Acked-by: Ilya Leoshkevich
On Fri, 2024-08-30 at 15:36 -0700, Noah Goldstein wrote:
> The new option '-qemu-children' makes it so that on `execve` the
> child
> process will be launch by the same `qemu` executable that is
> currently
> running along with its current commandline arguments.
>
> The motivation for the change i
On Wed, 2024-08-07 at 14:43 +0200, Philippe Mathieu-Daudé wrote:
> Rather than 'raw param', display as pointer to get
> "NULL" instead of "0x".
>
> Signed-off-by: Philippe Mathieu-Daudé
> Reviewed-by: Richard Henderson
Reviewed-by: Ilya Leoshkevich
On Wed, 2024-08-07 at 14:43 +0200, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé
> ---
> linux-user/strace.c | 13 +
> 1 file changed, 9 insertions(+), 4 deletions(-)
Reviewed-by: Ilya Leoshkevich
, NULL, NULL, NULL },
The output looks reasonable:
607813
sendto(9,"\24\0\0\0\26\0\1\3\242\370\374f\0\0\0\0\0\0\0\0",20,0,{nl_fam
ily=AF_NETLINK,nl_pid=0,nl_groups=0},12) = 20
Reviewed-by: Ilya Leoshkevich
On Wed, 2024-08-07 at 14:43 +0200, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé
> ---
> linux-user/strace.c | 19 +++
> linux-user/strace.list | 2 +-
> 2 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/linux-user/strace.c b/linux-user
1ff0a0,0,(nil)) = 475837 (wstatus={WIFSIGNALED(s)
&& WTERMSIG(s) == SIGKILL})
1168 waitpid(1171,0x7f44eea00340,0) = 1171 (wstatus={WIFSIGNALED(s) &&
WTERMSIG(s) == SIGKILL})
Signed-off-by: Ilya Leoshkevich
---
linux-user/strace.c| 61 ++
sure there are no regressions.
[1] https://lists.gnu.org/archive/html/qemu-devel/2022-09/msg00034.html
Signed-off-by: Ilya Leoshkevich
---
v3:
https://lore.kernel.org/qemu-devel/20230316214711.318339-1-...@linux.ibm.com/
v3 -> v4: Rebase.
I've been looking into the .NET f
ed-off-by: Ilya Leoshkevich
---
tests/tcg/s390x/Makefile.target | 1 +
tests/tcg/s390x/ex-smc.c| 57 +
2 files changed, 58 insertions(+)
create mode 100644 tests/tcg/s390x/ex-smc.c
diff --git a/tests/tcg/s390x/Makefile.target b/tests/tcg/s390x/Makefile.
On Sat, 2024-09-28 at 17:40 -0300, Daniel Henrique Barboza wrote:
>
>
> On 9/28/24 8:34 AM, Peter Maydell wrote:
> > On Tue, 24 Sept 2024 at 23:18, Alistair Francis
> > wrote:
> > >
> > > The following changes since commit
> > > 01dc65a3bc262ab1bec8fe89775e9bbfa627becb:
> > >
> > > Merge ta
On Tue, 2024-09-24 at 13:46 +0200, Richard Henderson wrote:
> On 9/23/24 18:12, Ilya Leoshkevich wrote:
> > Hi,
> >
> > On reporting a breakpoint in a non-non-stop mode, GDB remotes must
> > stop
> > all threads. Currently qemu-user doesn't do that, breaking
On Tue, 2024-09-24 at 12:54 +0100, Alex Bennée wrote:
> Ilya Leoshkevich writes:
>
> (add Mahesh to CC)
>
> > GCC produces invalid code for microblaze atomics.
> >
> > The fix is unfortunately not upstream, so fetch it from an external
> > location and appl
On Mon, 2024-09-23 at 22:36 +0800, jie ren wrote:
> Hi, I have a question for help
> I recently Using ubuntu24.4 system qemu-system-aarch64 +gdb-
> multiarch to debug the kernel, setting breakpoints cannot be stopped.
> system information:
> ubuntu version: 22.04
> Debug ker
On Mon, 2024-09-23 at 18:12 +0200, Ilya Leoshkevich wrote:
> Hi,
>
> On reporting a breakpoint in a non-non-stop mode, GDB remotes must
> stop
> all threads. Currently qemu-user doesn't do that, breaking the
> debugging session for at least two reasons: concurrent access t
Stopped CPUs are parked until cpu_thread_is_idle() is true, so
implement it for qemu-user. Share a part of the qemu-system's
implementation.
Signed-off-by: Ilya Leoshkevich
---
accel/tcg/user-exec.c | 12
cpu-common.c | 19 +++
include/exe
linux-user and bsd-user have the same implementation.
Move it to user-exec.c.
Signed-off-by: Ilya Leoshkevich
---
accel/tcg/user-exec.c | 5 +
bsd-user/main.c | 5 -
linux-user/main.c | 5 -
3 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/accel/tcg/user
Move checking and setting allow_stop_reply into a function.
Signed-off-by: Ilya Leoshkevich
---
gdbstub/gdbstub.c | 15 +++
gdbstub/internals.h | 2 ++
gdbstub/system.c| 6 ++
gdbstub/user.c | 11 ---
4 files changed, 19 insertions(+), 15 deletions(-)
diff
Move the respective functions from sysemu to cpu-common.
Signed-off-by: Ilya Leoshkevich
---
accel/tcg/user-exec-stub.c | 4 --
accel/tcg/user-exec.c | 11 +++-
cpu-common.c | 115 +
include/exec/cpu-common.h | 7 +++
include/sysemu
Currently BQL is stubbed out in qemu-user. However, enabling the
ability to pause and resume CPUs requires BQL, so introduce it.
Signed-off-by: Ilya Leoshkevich
---
accel/tcg/user-exec.c | 2 ++
bsd-user/freebsd/os-syscall.c | 6
bsd-user/main.c | 2 ++
cpu
This is required by the GDB remote protocol.
Signed-off-by: Ilya Leoshkevich
---
gdbstub/gdbstub.c | 2 ++
gdbstub/user.c| 10 +-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/gdbstub/gdbstub.c b/gdbstub/gdbstub.c
index a096104b07a..be632f8b214 100644
--- a/gdbstub
Add a test to prevent regressions.
Signed-off-by: Ilya Leoshkevich
---
tests/tcg/multiarch/Makefile.target | 13 ++-
.../gdbstub/test-thread-breakpoint-stress.py | 28 ++
.../tcg/multiarch/thread-breakpoint-stress.c | 92 +++
3 files changed, 132 insertions(+), 1
Follow the convention that all the pieces of the global stub state must
be inside a single struct.
Signed-off-by: Ilya Leoshkevich
---
gdbstub/syscalls.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/gdbstub/syscalls.c b/gdbstub/syscalls.c
index
rting pause_all_vcpus() from qemu-system.
This in turn requires introducing BQL and a few stubs to qemu-user.
Best regards,
Ilya
[1] https://gitlab.com/qemu-project/qemu/-/issues/2465
Ilya Leoshkevich (18):
gdbstub: Make gdb_get_char() static
gdbstub: Move phy_memory_mode to GDBSystemState
gdbstub:
Allow static initialization of condition variables.
Signed-off-by: Ilya Leoshkevich
---
include/qemu/thread-posix.h | 2 ++
include/qemu/thread-win32.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/include/qemu/thread-posix.h b/include/qemu/thread-posix.h
index fc0846bfa7c..ed08181a9c6
All linux-user cpu_loop() implementations contain the same sequence
of function calls. Factor them out so that they can be changed in one
place.
Signed-off-by: Ilya Leoshkevich
---
accel/tcg/user-exec.c | 12
bsd-user/aarch64/target_arch_cpu.h | 6 +-
bsd-user/arm
qemu_plugin_get_registers() may be called before cpu_exec(), and it
requires current_cpu.
Signed-off-by: Ilya Leoshkevich
---
bsd-user/main.c | 1 +
linux-user/main.c| 1 +
linux-user/syscall.c | 1 +
3 files changed, 3 insertions(+)
diff --git a/bsd-user/main.c b/bsd-user/main.c
Allow static initialization of mutexes.
Signed-off-by: Ilya Leoshkevich
---
include/qemu/thread-posix.h | 6 ++
include/qemu/thread-win32.h | 6 ++
2 files changed, 12 insertions(+)
diff --git a/include/qemu/thread-posix.h b/include/qemu/thread-posix.h
index 5f2f3d1386b..fc0846bfa7c
Sharing pause_all_vcpus() with qemu-user requires providing no-op
definitions of replay mutex functions. Make these functions available
via replay-core.h and move the existing stubs to a separate file.
Signed-off-by: Ilya Leoshkevich
---
include/exec/replay-core.h | 13 +
include
Sharing pause_all_vcpus() with qemu-user requires a no-op
implementation of qemu_clock_enable().
Signed-off-by: Ilya Leoshkevich
---
stubs/meson.build | 4
stubs/qemu-timer.c | 6 ++
2 files changed, 10 insertions(+)
create mode 100644 stubs/qemu-timer.c
diff --git a/stubs
A qemu-system CPU is considered paused as a result of an external
request. A qemu-user CPU, in addition to that, should be considered
paused when it's executing a syscall.
Signed-off-by: Ilya Leoshkevich
---
accel/tcg/user-exec.c | 5 +
include/exec/cpu-common.h | 1 +
system/c
It's user-only since commit a7e0f9bd2ace ("gdbstub: abstract target
specific details from gdb_put_packet_binary").
Signed-off-by: Ilya Leoshkevich
---
gdbstub/internals.h | 2 --
gdbstub/user.c | 2 +-
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/gdbstu
Follow the convention that all the pieces of the global stub state must
be inside a single struct.
Signed-off-by: Ilya Leoshkevich
---
gdbstub/system.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/gdbstub/system.c b/gdbstub/system.c
index 1ad87fe7fdf
CPUs that execute syscalls should be considered paused by
all_vcpus_paused(). Lay the groundwork by introducing a bool field in
CPUState to track this. The field is not used by sysemu, but it's only
one byte, so it should not be a problem.
Signed-off-by: Ilya Leoshkevich
---
accel/tcg
| 2 +-
> > > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/target/ppc/translate/vsx-impl.c.inc
> > > > b/target/ppc/translate/vsx-impl.c.inc
> > > > index 40a87ddc4a..a869f30e86 100644
> > > >
GCC produces invalid code for microblaze atomics.
The fix is unfortunately not upstream, so fetch it from an external
location and apply it locally.
Suggested-by: Peter Maydell
Signed-off-by: Ilya Leoshkevich
---
.../debian-microblaze-cross.d/build-toolchain.sh | 8
tests
On Mon, 2024-08-12 at 10:53 +0200, Ilya Leoshkevich wrote:
> v1:
> https://lore.kernel.org/qemu-devel/20240731100953.14950-1-...@linux.ibm.com/
> v1 -> v2: Add R-bs and a targeted divd[u] patch.
>
> Hi,
>
> This series contains two fixes for the same issue: divd[u] touc
f-by: Alex Bennée
Acked-by: Ilya Leoshkevich
Copy XML files describing orig_ax from GDB and glue them with
CPUX86State.orig_ax.
Reviewed-by: Richard Henderson
Signed-off-by: Ilya Leoshkevich
---
configs/targets/i386-linux-user.mak | 2 +-
configs/targets/x86_64-linux-user.mak | 2 +-
gdb-xml/i386-32bit-linux.xml | 11
b, and
enables the existing test-proc-mappings.py on i386.
Best regards,
Ilya
Ilya Leoshkevich (5):
include/exec: Introduce env_cpu_const()
linux-user/i386: Emulate orig_ax
target/i386/gdbstub: Factor out gdb_get_reg() and gdb_write_reg()
target/i386/gdbstub: Expose orig_ax
tests/tcg: Ru
The kernel uses orig_rax/orig_eax to store the syscall number before
a syscall. One can see this value in core dumps and ptrace.
Reviewed-by: Richard Henderson
Signed-off-by: Ilya Leoshkevich
---
linux-user/elfload.c | 4 ++--
linux-user/i386/cpu_loop.c | 3 +++
linux-user/qemu.h
i386 gdbstub handles both i386 and x86_64. Factor out two functions
for reading and writing registers without knowing their bitness.
While at it, simplify the TARGET_LONG_BITS == 32 case.
Reviewed-by: Richard Henderson
Signed-off-by: Ilya Leoshkevich
---
target/i386/gdbstub.c | 51
Now that orig_ax is exposed and GDB is happy, don't skip
test-proc-mappings.py on i386. In fact, it's broken only on
m68k now, so skip only this architecture.
Acked-by: Alex Bennée
Signed-off-by: Ilya Leoshkevich
---
.../tcg/multiarch/gdbstub/test-proc-mappings.py | 17 ++
It's the same as env_cpu(), but for const objects.
Reviewed-by: Richard Henderson
Signed-off-by: Ilya Leoshkevich
---
include/exec/cpu-common.h | 13 -
linux-user/elfload.c | 2 +-
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/include/exec/cpu-commo
>
> Signed-off-by: Pierrick Bouvier
Acked-by: Ilya Leoshkevich
This is like commit 86e6202a57b1 ("target/ppc: Make divw[u] handler
method decodetree compatible."), but for gen_op_arith_divd().
Suggested-by: Richard Henderson
Signed-off-by: Ilya Leoshkevich
---
target/ppc/translate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
di
ctx->opcode.
Cc: qemu-sta...@nongnu.org
Fixes: 99082815f17f ("target/ppc: Add infrastructure for prefixed insns")
Reviewed-by: Richard Henderson
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Ilya Leoshkevich
---
target/ppc/translate.c | 3 +--
1 file changed, 1 insertion(+),
. IMHO
it's worth having something like this until the legacy decoder is
fully eliminated.
Patch 2 is a targeted fix for divd[u] only.
Best regards,
Ilya
Ilya Leoshkevich (2):
target/ppc: Set ctx->opcode for decode_insn32()
target/ppc: Make divd[u] handler method decodetree compatibl
On Fri, 2024-08-02 at 15:20 +0200, Philippe Mathieu-Daudé wrote:
> On 1/8/24 22:23, Ilya Leoshkevich wrote:
> > Analyzing qemu-produced core dumps of multi-threaded apps runs
> > into:
> >
> > (gdb) info threads
> > [...]
> > 21
Now that orig_ax is exposed and GDB is happy, don't skip
test-proc-mappings.py on i386. In fact, it's broken only on
m68k now, so skip only this architecture.
Signed-off-by: Ilya Leoshkevich
---
.../tcg/multiarch/gdbstub/test-proc-mappings.py | 17 ++---
1 file changed, 6
i386 gdbstub handles both i386 and x86_64. Factor out two functions
for reading and writing registers without knowing their bitness.
Signed-off-by: Ilya Leoshkevich
---
target/i386/gdbstub.c | 52 ++-
1 file changed, 31 insertions(+), 21 deletions
Copy XML files describing orig_ax from GDB and glue them with
CPUX86State.orig_ax.
Signed-off-by: Ilya Leoshkevich
---
configs/targets/i386-linux-user.mak | 2 +-
configs/targets/x86_64-linux-user.mak | 2 +-
gdb-xml/i386-32bit-linux.xml | 11 ++
gdb-xml/i386-64bit-linux.xml
The kernel uses orig_rax/orig_eax to store the syscall number before
a syscall. One can see this value in core dumps and ptrace.
Signed-off-by: Ilya Leoshkevich
---
linux-user/elfload.c | 4 ++--
linux-user/i386/cpu_loop.c | 3 +++
linux-user/qemu.h | 5 +
3 files changed, 10
It's the same as env_cpu(), but for const objects.
Signed-off-by: Ilya Leoshkevich
---
include/exec/cpu-common.h | 13 -
linux-user/elfload.c | 2 +-
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
amd64_linux_init_abi_common() -> linux_init_abi().
This series adds orig_ax support to the emulator and gdbstub, and
enables the existing test-proc-mappings.py on i386.
Best regards,
Ilya
Ilya Leoshkevich (5):
include/exec: Introduce env_cpu_const()
linux-user/i386: Emulate orig_ax
target/i386/gdbs
same
TaskState is used for all CPUs when generating NT_PRSTATUS notes.
Fix by using TaskStates associated with individual CPUs.
Cc: qemu-sta...@nongnu.org
Fixes: 243c47066253 ("linux-user/elfload: Write corefile elf header in one
block")
Signed-off-by: Ilya Leoshkevich
---
linux-use
On Wed, 2024-07-31 at 15:21 -0600, Warner Losh wrote:
> On Wed, Jul 31, 2024 at 8: 45 AM Ilya Leoshkevich
> wrote: While qemu-system can set tb-size using
> -accel tcg,tb-size=n, there is no similar knob for qemu-bsd-user. Add
> one in a way similar to how one-insn-per-tb is already
&
While qemu-system can set tb-size using -accel tcg,tb-size=n, there
is no similar knob for qemu-bsd-user. Add one in a way similar to how
one-insn-per-tb is already handled.
Suggested-by: Philippe Mathieu-Daudé
Signed-off-by: Ilya Leoshkevich
---
bsd-user/main.c | 9 +
1 file changed
aligned:
(gdb) p/x env->regs[5]
$1 = 0x822443b58
A quick experiment shows that the userspace entry point expects
misaligned rsp:
(gdb) starti
(gdb) p/x $rsp
$1 = 0x7fffeaa8
Emulate this behavior in bsd-user.
Signed-off-by: Ilya Leoshkevich
---
bsd-user/x86
ctx->opcode.
Cc: qemu-sta...@nongnu.org
Fixes: 99082815f17f ("target/ppc: Add infrastructure for prefixed insns")
Signed-off-by: Ilya Leoshkevich
---
target/ppc/translate.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/target/ppc/translate.c b/target/ppc/translate.
While qemu-system can set tb-size using -accel tcg,tb-size=n, there
is no similar knob for qemu-user. Add one in a way similar to how
one-insn-per-tb is already handled.
Signed-off-by: Ilya Leoshkevich
---
linux-user/main.c | 12
1 file changed, 12 insertions(+)
diff --git a/linux
On Thu, 2024-07-04 at 14:48 -0700, Richard Henderson wrote:
> On 7/4/24 08:18, Richard Henderson wrote:
> > On 7/4/24 07:50, Ilya Leoshkevich wrote:
> > > On Tue, 2024-07-02 at 16:41 -0700, Richard Henderson wrote:
> > > > While looking into Zoltan's attempt t
On Tue, 2024-07-02 at 16:41 -0700, Richard Henderson wrote:
> While looking into Zoltan's attempt to speed up ppc64 DCBZ
> (data cache block set to zero), I wondered what AArch64 was
> doing differently. It turned out that Arm is the only user
> of tlb_vaddr_to_host.
>
> None of the code sequence
Like TARGET_NR_setuid, TARGET_NR_setgroups should affect only the
calling thread, and not the entire process. Therefore, implement it
using a syscall, and not a libc call.
Cc: qemu-sta...@nongnu.org
Fixes: 19b84f3c35d7 ("added setgroups and getgroups syscalls")
Signed-off-by: Ilya L
y: Philippe Mathieu-Daudé
> ---
> Ideally we should only use trace events from current directory.
> ---
> target/s390x/tcg/mem_helper.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Acked-by: Ilya Leoshkevich
On Wed, 2024-05-01 at 22:44 -0700, Richard Henderson wrote:
> Drop from argument, since gbea has always been updated with
> this address. Add ilen argument for setting int_pgm_ilen.
> Use update_cc_op before calling per_branch.
>
> By raising the exception here, we need not call
> per_check_excep
| 10
> 4 files changed, 61 insertions(+), 34 deletions(-)
Reviewed-by: Ilya Leoshkevich
tions(+), 8 deletions(-)
Reviewed-by: Ilya Leoshkevich
On Wed, 2024-05-01 at 22:44 -0700, Richard Henderson wrote:
> Signed-off-by: Richard Henderson
> ---
> target/s390x/cpu.h | 23 ++-
> target/s390x/cpu.c | 22 ++
> 2 files changed, 24 insertions(+), 21 deletions(-)
Reviewed-by: Ilya Leoshkevich
When a PER interruption is caused by branch-
ing, the PER address identifies the branch
instruction (or execute-type instruction, as appro-
priate), whereas the old PSW points to the next
instruction to be executed.
whereas currently old PSW = unwind(GETPC()) = branch instruction.
Reviewed-by: Ilya Leoshkevich
gt; 2 files changed, 83 insertions(+)
> create mode 100644 tests/tcg/s390x/per.S
Acked-by: Ilya Leoshkevich
Tested-by: Ilya Leoshkevich
hitectures.
Signed-off-by: Ilya Leoshkevich
---
tests/tcg/s390x/Makefile.softmmu-target | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/tcg/s390x/Makefile.softmmu-target
b/tests/tcg/s390x/Makefile.softmmu-target
index 1078655dd31..4ca0dac7257 100644
--- a/tests
On Tue, Apr 30, 2024 at 09:00:17PM +0200, Philippe Mathieu-Daudé wrote:
> On 30/4/24 20:45, Philippe Mathieu-Daudé wrote:
> > Hi Ilya,
> >
> > On 30/4/24 19:55, Ilya Leoshkevich wrote:
> > > On Tue, Apr 30, 2024 at 02:27:54PM +0200, Philippe Mathieu-Daudé wrote:
&
On Tue, Apr 30, 2024 at 02:27:54PM +0200, Philippe Mathieu-Daudé wrote:
> Missing WASM testing by Ilya (branch available at
> https://gitlab.com/philmd/qemu/-/commits/tcg_flush_jmp_cache)
Hmm, it dies very early now:
# gdb --args ./qemu-s390x -L /usr/s390x-linux-gnu
/build/wasmtime/target/s390
s://lore.kernel.org/qemu-devel/20221027141856.w5umjgklawgu7pqv@heavy/
> to confirm. Ilya, do you mind testing? If so, we could
> squash this with the previous patch.
>
> Cc: Ilya Leoshkevich
> Signed-off-by: Philippe Mathieu-Daudé
> ---
> accel/tcg/translate-all.c | 8 +---
Henderson
Signed-off-by: Ilya Leoshkevich
---
linux-user/strace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux-user/strace.c b/linux-user/strace.c
index 660f942f599..54169096aa4 100644
--- a/linux-user/strace.c
+++ b/linux-user/strace.c
@@ -701,7 +701,7 @@
Add a small test to prevent regressions.
Reviewed-by: Richard Henderson
Signed-off-by: Ilya Leoshkevich
---
tests/tcg/multiarch/linux/linux-shmat-null.c | 38
1 file changed, 38 insertions(+)
create mode 100644 tests/tcg/multiarch/linux/linux-shmat-null.c
diff --git a
and adds a test.
Best regards,
Ilya
Ilya Leoshkevich (4):
linux-user: Fix semctl() strace
linux-user: Fix shmat() strace
linux-user: Fix shmat(NULL) for h != g
tests/tcg: Test shmat(NULL)
linux-user/mmap.c| 2 +-
linux-user/strace.c |
t;Fix warnings that would be caused by gcc flag
-Wwrite-strings")
Reviewed-by: Richard Henderson
Signed-off-by: Ilya Leoshkevich
---
linux-user/strace.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/linux-user/strace.c b/linux-user/strace.c
index 9934e2208e2..6
", which is set after
mmap_find_vma(), is true.
Fixes: 78bc8ed9a8f0 ("linux-user: Rewrite target_shmat")
Reviewed-by: Richard Henderson
Signed-off-by: Ilya Leoshkevich
---
linux-user/mmap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux-user/mmap.c b
Hi,
I noticed that while shmat() now works with /proc/self/maps,
shmat(NULL) got broken. This series fixes that along with two related
strace issues, and adds a test.
Best regards,
Ilya
Ilya Leoshkevich (4):
linux-user: Fix semctl() strace
linux-user: Fix shmat() strace
linux-user: Fix
The indices of arguments passed to print_shmat() are all off-by-1,
because arg1 is the ipc() command. Fix them.
New output for linux-shmat-maps test:
3501769 shmat(4784214,0x0080,SHM_RND) = 0
Fixes: 9f7c97324c27 ("linux-user: Add strace for shmat")
Signed-of
t;Fix warnings that would be caused by gcc flag
-Wwrite-strings")
Signed-off-by: Ilya Leoshkevich
---
linux-user/strace.c | 8 +++-
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/linux-user/strace.c b/linux-user/strace.c
index 9934e2208e2..9be71af4016 100644
--- a/linux-use
Add a small test to prevent regressions.
Signed-off-by: Ilya Leoshkevich
---
tests/tcg/multiarch/linux/linux-shmat-null.c | 38
1 file changed, 38 insertions(+)
create mode 100644 tests/tcg/multiarch/linux/linux-shmat-null.c
diff --git a/tests/tcg/multiarch/linux/linux
", which is set after
mmap_find_vma(), is true.
Fixes: 78bc8ed9a8f0 ("linux-user: Rewrite target_shmat")
Signed-off-by: Ilya Leoshkevich
---
linux-user/mmap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index e88faf1ab3d.
From: Ido Plat
Otherwise TCG would assume the register that holds t1 would be constant
and reuse whenever it needs the value within it.
Cc: qemu-sta...@nongnu.org
Fixes: f1ea739bd598 ("target/s390x: Use tcg_constant_* in local contexts")
Reviewed-by: Ilya Leoshkevich
Reviewed-b
Add a small test to prevent regressions.
Signed-off-by: Ilya Leoshkevich
---
tests/tcg/s390x/Makefile.target | 1 +
tests/tcg/s390x/ts.c| 35 +
2 files changed, 36 insertions(+)
create mode 100644 tests/tcg/s390x/ts.c
diff --git a/tests/tcg/s390x
Add a small test to prevent regressions.
Signed-off-by: Ilya Leoshkevich
---
tests/tcg/s390x/Makefile.target | 1 +
tests/tcg/s390x/ts.c| 35 +
2 files changed, 36 insertions(+)
create mode 100644 tests/tcg/s390x/ts.c
diff --git a/tests/tcg/s390x
From: Ido Plat
Otherwise TCG would assume the register that holds t1 would be constant
and reuse whenever it needs the value within it.
Reviewed-by: Ilya Leoshkevich
[iii: Adjust a newline and capitalization]
Signed-off-by: Ido Plat
---
target/s390x/tcg/translate.c | 3 ++-
1 file changed, 2
Currently DEBUG_REMAP is a macro that needs to be manually #defined to
be activated, which makes it hard to have separate build directories
dedicated to testing the code with it. Promote it to a meson option.
Signed-off-by: Ilya Leoshkevich
---
bsd-user/qemu.h | 6 ++
linux
returning - instead.
Fixes: Coverity CID 1539966
Fixes: d547e711a8a5 ("gdbstub: Implement follow-fork-mode child")
Signed-off-by: Ilya Leoshkevich
---
gdbstub/user.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gdbstub/user.c b/gdbstub/user.c
index 7f9f19a1249..0
On Wed, Jan 31, 2024 at 02:10:55PM +0100, Philippe Mathieu-Daudé wrote:
> On 31/1/24 01:18, Ilya Leoshkevich wrote:
> > Like TARGET_NR_setuid, TARGET_NR_setgroups should affect only the
> > calling thread, and not the entire process. Therefore, implement it
> > using a syscall
hmat() unless the address is sufficiently
> + * aligned for the host, we'll need to check both.
> + * TODO: Could be fixed with softmmu.
> + */
Are there any plans to introduce softmmu to qemu-user?
[...]
Reviewed-by: Ilya Leoshkevich
Please consider adding the reproducer to the
Currently ts_tid contains the parent tid after fork(), which is not
correct. So far it has not affected anything, but the upcoming
follow-fork-mode child support relies on the correct value, so fix it.
Reviewed-by: Alex Bennée
Signed-off-by: Ilya Leoshkevich
---
bsd-user/main.c | 1 +
linux
A CPU's TaskState is stored in the CPUState's void *opaque field,
accessing which is somewhat awkward due to having to use a cast.
Introduce a wrapper and use it everywhere.
Suggested-by: Alex Bennée
Signed-off-by: Ilya Leoshkevich
---
bsd-user/bsd-file.h | 2 +-
bsd-u
past exec() though). Patches 1-10
are preliminary refactorings, patch 11 is the implementation, and patch
12 is the test.
[1] https://lists.gnu.org/archive/html/qemu-devel/2024-01/msg06424.html
Best regards,
Ilya
Ilya Leoshkevich (12):
gdbstub: Support disablement in a multi-threaded process
{
1 - 100 of 1036 matches
Mail list logo