On 4/24/21 8:36 PM, Jason Wang wrote:
>
> 在 2021/4/24 上午1:32, Dongli Zhang 写道:
>>
>> On 4/23/21 12:59 AM, Jason Wang wrote:
>>> 在 2021/4/23 下午12:47, Dongli Zhang 写道:
This patch is to add the HMP interface to dump MSI-X table and PBA, in
order to help diagnose the loss of IRQ issue in
On Mon, Apr 26, 2021 at 9:53 AM Richard Henderson
wrote:
>
> On 4/25/21 3:58 PM, Alistair Francis wrote:
> > On Sun, Apr 25, 2021 at 3:08 AM Richard Henderson
> > wrote:
> >>
> >> On 4/23/21 8:34 PM, Alistair Francis wrote:
> >>> --- a/target/riscv/translate.c
> >>> +++ b/target/riscv/translate.c
Peter Maydell writes:
> On Sat, 24 Apr 2021 at 14:04, Philippe Mathieu-Daudé wrote:
>> I now understand better the diag288 case, but I still don't understand
>> the TYPE_APIC one. It has no DeviceClass::reset(), its abstract parent
>> TYPE_APIC_COMMON register apic_reset_common() but being TYPE_
On Apr 23 07:21, Klaus Jensen wrote:
From: Klaus Jensen
Commit 1901b4967c3f changed the nvme device from using a bar exclusive
for MSI-x to sharing it on bar0.
Unfortunately, the msix_uninit_exclusive_bar() call remains in
nvme_exit() which causes havoc when the device is removed with, say,
de
Kernel on Xen is loaded via fw_cfg. Previously it used non-DMA version,
which loaded the kernel (and initramfs) byte by byte. Change this
to DMA, to load in bigger chunks.
This change alone reduces load time of a (big) kernel+initramfs from
~10s down to below 1s.
This change was suggested initiall
Public bug reported:
=== Stacktrace ===
qemu-fuzz-i386: ../hw/net/vmxnet3.c:1096: void vmxnet3_io_bar0_write(void *,
hwaddr, uint64_t, unsigned int): Assertion `tx_queue_idx <= s->txq_num' failed.
==602353== ERROR: libFuzzer: deadly signal
#5 0x7fe4b93a7ce0 in raise signal/../sysdeps/unix/sysv/l
Check that the input sp is 16 byte aligned, not 4.
Do that before the lock_user_struct check.
Validate the saved sp is 8 byte aligned.
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 19 +++
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/linux-us
The shape of the kernel's __siginfo_fpu_t is dependent on
the cpu type, not the abi. Which is weird, but there ya go.
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 36
1 file changed, 36 insertions(+)
diff --git a/linux-user/sparc/signal.
Clean up a goto label with a single use. Remove #if 0.
Remove useless parentheses. Fold constants into __put_user.
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 25 ++---
1 file changed, 6 insertions(+), 19 deletions(-)
diff --git a/linux-user/sparc/sign
On 4/25/21 7:53 PM, Richard Henderson wrote:
Supercedes:20210425155749.896330-1-richard.hender...@linaro.org
("linux-user/sparc64: Implement signals")
This time, in the lead-up, merge the sparc and sparc64 directories.
Implement rt signals for sparc32 as well, since there are only a few
differen
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 84 ---
1 file changed, 51 insertions(+), 33 deletions(-)
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index 57dbc72c99..59bb449512 100644
--- a/linux-user/sparc/signal.c
++
Signed-off-by: Richard Henderson
---
linux-user/sparc/target_signal.h | 2 ++
linux-user/sparc/signal.c| 27 ++-
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/linux-user/sparc/target_signal.h b/linux-user/sparc/target_signal.h
index 911a3f5af5..34
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 126 --
1 file changed, 122 insertions(+), 4 deletions(-)
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index 41a8b33bac..362993da02 100644
--- a/linux-user/sparc/signal.c
++
It's wrong anyway. Remove it for now.
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 11 ---
1 file changed, 11 deletions(-)
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index 3d068e0955..29c5e3b0c0 100644
--- a/linux-user/sparc/signal.c
+++ b/li
Move target_reg_window up and use it. Fold structptr and xxargs
into xargs -- the use of a host pointer was incorrect anyway.
Rename the structure to target_stackf for consistency.
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 38 +-
1 file
All of the source and header files already defer to sparc
via #include. The syscall.tbl and syscallhdr.sh files
could not do the same, but are identical.
Signed-off-by: Richard Henderson
---
.../targets/sparc64-linux-user.mak| 1 +
linux-user/sparc64/sockbits.h |
It passes now that we support signals properly.
Signed-off-by: Richard Henderson
---
tests/tcg/sparc64/Makefile.target | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/tests/tcg/sparc64/Makefile.target
b/tests/tcg/sparc64/Makefile.target
index 5bd7f90583..408dace783 100
Signed-off-by: Richard Henderson
---
linux-user/sparc64/termbits.h | 292 +-
1 file changed, 1 insertion(+), 291 deletions(-)
diff --git a/linux-user/sparc64/termbits.h b/linux-user/sparc64/termbits.h
index 1ab1e80db5..54ddfee3ba 100644
--- a/linux-user/sparc64/te
Move TARGET_STACK_BIAS from signal.c. Generic code cares about the
logical stack pointer, not the physical one that has a bias applied
for sparc64.
Signed-off-by: Richard Henderson
---
linux-user/sparc/target_cpu.h | 9 -
linux-user/sparc/signal.c | 2 --
2 files changed, 8 insertio
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 28
1 file changed, 28 deletions(-)
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index 76579093a8..3d068e0955 100644
--- a/linux-user/sparc/signal.c
+++ b/linux-user/sparc/signal.c
Stub it out to zero, but at least include it.
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 8
1 file changed, 8 insertions(+)
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index 59bb449512..4a0578ebf3 100644
--- a/linux-user/sparc/signal.c
+++ b
Replace __siginfo_t with target_pt_regs, and move si_mask
into target_signal_frame directly.
Extract save/restore functions for target_pt_regs. Adjust
for sparc64 tstate. Use proper get/put functions for psr.
Turns out we were already writing to si_mask twice, so no
need to handle that in the ne
Supercedes: 20210425155749.896330-1-richard.hender...@linaro.org
("linux-user/sparc64: Implement signals")
This time, in the lead-up, merge the sparc and sparc64 directories.
Implement rt signals for sparc32 as well, since there are only a few
differences between the two.
r~
Richard Henderson
Signed-off-by: Richard Henderson
---
linux-user/sparc/target_structs.h | 36 +++---
linux-user/sparc64/target_structs.h | 59 +
2 files changed, 15 insertions(+), 80 deletions(-)
diff --git a/linux-user/sparc/target_structs.h
b/linux-user/sparc/target_s
Remove inline; fix spacing and comment format.
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 13 +++--
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index 69fee5a76a..57dbc72c99 100644
--- a/linux-us
Signed-off-by: Richard Henderson
---
linux-user/sparc/signal.c | 19 +--
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
index 0d9305818f..69fee5a76a 100644
--- a/linux-user/sparc/signal.c
+++ b/linux-user/sparc/
In most cases we were already passing get_sp_from_cpustate
directly to the function. In other cases, we were passing
a local variable which already contained the same value.
In the rest of the cases, we were passing the stack pointer
out of env directly.
Reviewed by: Warner Losh
Signed-off-by: R
Now that we have exactly one call, it's easy to pass
in env instead of passing in the sp value.
Use target_save_altstack, which required env.
Signed-off-by: Richard Henderson
---
linux-user/qemu.h| 3 ++-
linux-user/signal.c | 11 ---
linux-user/syscall.c | 3 +--
3 files changed,
Signed-off-by: Richard Henderson
---
linux-user/sparc64/target_elf.h | 15 +--
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/linux-user/sparc64/target_elf.h b/linux-user/sparc64/target_elf.h
index d6e388f1cf..023b49b743 100644
--- a/linux-user/sparc64/target_elf.h
+++
There are only a few differences in sparc32 vs sparc64.
This fixes target_shmlba for sparc32plus, which is v9.
Signed-off-by: Richard Henderson
---
linux-user/sparc/target_syscall.h | 42 +
linux-user/sparc64/target_syscall.h | 36 +
2 files
Note that target_restore_altstack uses the host memory
pointer that we have already verified, so TARGET_EFAULT
is not a possible return value.
Note that using -EFAULT was a bug.
Signed-off-by: Richard Henderson
---
linux-user/aarch64/signal.c| 6 +-
linux-user/alpha/signal.c | 6 +-
Share code between sparc32 and sparc64, removing a bit of pointless
difference wrt psr/tstate. Use sizeof(abi_ulong) for allocating
initial register window. Use TARGET_STACK_BIAS.
Signed-off-by: Richard Henderson
---
linux-user/elfload.c | 33 +
1 file changed,
Create a function to match target_save_altstack.
Fix some style and unlock issues in do_sigaltstack.
Signed-off-by: Richard Henderson
---
linux-user/signal-common.h | 1 +
linux-user/signal.c| 115 +
2 files changed, 66 insertions(+), 50 deletions(-)
** Changed in: qemu
Status: New => Invalid
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1926052
Title:
qemu freezes during grub on arch cloudimg
Status in QEMU:
Invalid
Bug description:
On 4/25/21 3:58 PM, Alistair Francis wrote:
On Sun, Apr 25, 2021 at 3:08 AM Richard Henderson
wrote:
On 4/23/21 8:34 PM, Alistair Francis wrote:
--- a/target/riscv/translate.c
+++ b/target/riscv/translate.c
@@ -74,8 +74,6 @@ static inline bool has_ext(DisasContext *ctx, uint32_t ext)
#ifd
On Sun, Apr 25, 2021 at 3:14 AM Richard Henderson
wrote:
>
> On 4/23/21 8:34 PM, Alistair Francis wrote:
> > BugLink: https://gitlab.com/qemu-project/qemu/-/issues/6
>
> The issue got renumbered to 47, fwiw.
Thanks!
>
> Reviewed-by: Richard Henderson
>
> r~
>
> > Signed-off-by: Alistair Francis
On Sun, Apr 25, 2021 at 3:08 AM Richard Henderson
wrote:
>
> On 4/23/21 8:34 PM, Alistair Francis wrote:
> > --- a/target/riscv/translate.c
> > +++ b/target/riscv/translate.c
> > @@ -74,8 +74,6 @@ static inline bool has_ext(DisasContext *ctx, uint32_t
> > ext)
> >
> > #ifdef TARGET_RISCV32
> >
On Sat, Apr 24, 2021 at 1:28 PM Alistair Francis
wrote:
>
> This is another step towards running 32-bit CPU code on the 64-bit
> softmmu builds for RISC-V.
>
> I have tested this and am able to run some 32-bit code, but eventually
> hit some issue. This series doesn't allow users to use 32-bit CP
On Mon, Apr 26, 2021 at 4:21 AM Philippe Mathieu-Daudé wrote:
>
> Since its introduction in commit 5b85eabe68f ("acpi: add
> acpi_dsdt_add_gpex") we build gpex-acpi.c if ACPI is selected,
> even if the GPEX_HOST device isn't build. Add the missing
> Kconfig dependency.
>
> Signed-off-by: Philippe
Yep, there's a whole bunch that have been missed.
** Changed in: qemu
Assignee: (unassigned) => Richard Henderson (rth)
** Changed in: qemu
Status: New => In Progress
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https
** Tags removed: aarch64
** Tags added: arm
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1900122
Title:
Unsupported ioctl: cmd=0x80685600 when accessing /dev/video*
in aarch64 guest
Sta
** Tags removed: aarch64
** Tags added: arm
** Tags removed: 20h2 windows10arm
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1908416
Title:
qemu-system-aarch64 can't run Windows 10 for ARM version
** Tags removed: aarch64
** Tags added: arm
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1926044
Title:
QEMU-user doesn't report HWCAP2_MTE
Status in QEMU:
New
Bug description:
Reproducible
On Sat, 24 Apr 2021 at 17:22, Philippe Mathieu-Daudé wrote:
>
> The abstract PCMCIA_CARD is a bus-less TYPE_DEVICE, so devices
> implementing it are not reset automatically.
> Register a reset handler so children get reset on machine reset.
>
> Note, the DSCM-1 device (TYPE_DSCM1) which in
On Sat, 24 Apr 2021 at 14:04, Philippe Mathieu-Daudé wrote:
> I now understand better the diag288 case, but I still don't understand
> the TYPE_APIC one. It has no DeviceClass::reset(), its abstract parent
> TYPE_APIC_COMMON register apic_reset_common() but being TYPE_DEVICE it
> is not on a qbus.
Since its introduction in commit 5b85eabe68f ("acpi: add
acpi_dsdt_add_gpex") we build gpex-acpi.c if ACPI is selected,
even if the GPEX_HOST device isn't build. Add the missing
Kconfig dependency.
Signed-off-by: Philippe Mathieu-Daudé
---
The gpex*.c files aren't covered by any MAINTAINERS secti
On Sun, Apr 25, 2021 at 10:08 AM Richard Henderson <
richard.hender...@linaro.org> wrote:
> In most cases we were already passing get_sp_from_cpustate
> directly to the function. In other cases, we were passing
> a local variable which already contained the same value.
> In the rest of the cases,
On Sun, Apr 25, 2021 at 10:03 AM Richard Henderson <
richard.hender...@linaro.org> wrote:
> The bulk of the code goes to sparc64/signal.c, with
> TARGET_SPARC_BIAS going to target_cpu.h, as we will
> shortly need this define beyond signal.c.
>
> Signed-off-by: Richard Henderson
> ---
> linux-use
On 4/25/21 8:57 AM, Richard Henderson wrote:
We've been using the 32-bit sparc abi for 64-bit signals.
There's a surprising amount of difference, beginning with
the fact that 64-bit always uses rt signal frames.
Signed-off-by: Richard Henderson
---
linux-user/sparc/target_signal.h| 2 +
In most cases we were already passing get_sp_from_cpustate
directly to the function. In other cases, we were passing
a local variable which already contained the same value.
In the rest of the cases, we were passing the stack pointer
out of env directly.
Signed-off-by: Richard Henderson
---
lin
We've been using the 32-bit sparc abi for 64-bit signals.
There's a surprising amount of difference, beginning with
the fact that 64-bit always uses rt signal frames.
Signed-off-by: Richard Henderson
---
linux-user/sparc/target_signal.h| 2 +
linux-user/sparc64/target_syscall.h | 14 +-
l
Generic code cares about the logical stack pointer, not the
physical one that has a bias applied for sparc64.
Signed-off-by: Richard Henderson
---
linux-user/sparc/target_cpu.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/linux-user/sparc/target_cpu.h b/linux-user/sparc/
The bulk of the code goes to sparc64/signal.c, with
TARGET_SPARC_BIAS going to target_cpu.h, as we will
shortly need this define beyond signal.c.
Signed-off-by: Richard Henderson
---
linux-user/sparc/target_cpu.h | 6 +
linux-user/sparc/signal.c | 280 --
li
Share code between sparc32 and sparc64, removing a bit of pointless
difference wrt psr/tstate. Use sizeof(abi_ulong) for allocating
initial register window. Use TARGET_STACK_BIAS.
Signed-off-by: Richard Henderson
---
linux-user/elfload.c | 33 +
1 file changed,
Note that target_restore_altstack uses the host memory
pointer that we have already verified, so TARGET_EFAULT
is not a possible return value.
Note that using -EFAULT was a bug.
Signed-off-by: Richard Henderson
---
linux-user/aarch64/signal.c| 6 +-
linux-user/alpha/signal.c | 6 +-
Now that we have exactly one call, it's easy to pass
in env instead of passing in the sp value.
Use target_save_altstack, which required env.
Signed-off-by: Richard Henderson
---
linux-user/qemu.h| 3 ++-
linux-user/signal.c | 11 ---
linux-user/syscall.c | 3 +--
3 files changed,
We were re-using sparc32 signal handling for sparc64.
In the process, clean up the altstack handling in do_*_sigreturn.
r~
Richard Henderson (8):
linux-user: Split out target_restore_altstack
linux-user: Use target_restore_altstack in all sigreturn
linux-user: Pass CPUArchState to do_siga
Create a function to match target_save_altstack.
Fix some style and unlock issues in do_sigaltstack.
Signed-off-by: Richard Henderson
---
linux-user/signal-common.h | 1 +
linux-user/signal.c| 115 +
2 files changed, 66 insertions(+), 50 deletions(-)
Change the criteria for the initial CPU topology and maxcpus, user can
have more settings
Signed-off-by: Dongli Cao
---
hw/i386/pc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 8a84b25..ef2e819 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
John Snow writes:
> Signed-off-by: John Snow
>
> ---
>
> My hubris is infinite.
Score one of the three principal virtues of a programmer ;)
> OK, I only added a few -- to help me remember how the parser works at a
> glance.
>
> Signed-off-by: John Snow
> ---
> scripts/qapi/parser.py | 66 ++
John Snow writes:
> Annotations do not change runtime behavior.
> This commit *only* adds annotations.
>
> (Annotations for QAPIDoc are in a later commit.)
>
> Signed-off-by: John Snow
> ---
> scripts/qapi/parser.py | 61 --
> 1 file changed, 41 insertion
John Snow writes:
> TypeGuards wont exist in Python proper until 3.10. Ah well. We can hack
> up our own by declaring this function to return the type we claim it
> checks for and using this to safely downcast object -> List[str].
>
> In so doing, I bring this function in-line under _pragma so it
On 11.10.2020 01:30, Maciej S. Szmigiero wrote:
On 09.10.2020 23:33, Eduardo Habkost wrote:
On Fri, Oct 09, 2020 at 11:05:47PM +0200, Maciej S. Szmigiero wrote:
On 09.10.2020 22:07, Eduardo Habkost wrote:
Having properties registered conditionally makes QOM type
introspection difficult. Inste
From: "Maciej S. Szmigiero"
The get_vmstate_memory_region() method from PCDIMMDeviceClass is only
ever called from this class and is never overridden, so it can be converted
into an ordinary function.
This saves us from having to do an indirect call in order to reach it.
Signed-off-by: Maciej S.
John Snow writes:
> When the token can be None, we can't use 'x in "abc"' style membership
> tests to group types of tokens together, because 'None in "abc"' is a
> TypeError.
>
> Easy enough to fix, if not a little ugly.
>
> Signed-off-by: John Snow
> ---
> scripts/qapi/parser.py | 5 +++--
>
John Snow writes:
> Mypy cannot generally understand that these regex functions cannot
> possibly fail. Add a _nofail helper that clarifies this for mypy.
Convention wants a blank line here.
> Signed-off-by: John Snow
> ---
> scripts/qapi/common.py | 8 +++-
> scripts/qapi/main.py | 6
John Snow writes:
> The single quote token implies the value is a string. Assert this to be
> the case.
>
> Signed-off-by: John Snow
> ---
> scripts/qapi/parser.py | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py
> index 6b443b1247e..8d1
John Snow writes:
> get_expr can return many things, depending on where it is used. In the
> outer parsing loop, we expect and require it to return a dict.
>
> (It's (maybe) a bit involved to teach mypy that when nested is False,
> this is already always True. I'll look into it later, maybe.)
>
>
68 matches
Mail list logo