On 24/04/2023 07.58, Juan Quintela wrote:
"Zhang, Chen" wrote:
-Original Message-
From: Daniel P. Berrangé
Sent: Saturday, April 22, 2023 1:14 AM
To: qemu-devel@nongnu.org
Cc: qemu-bl...@nongnu.org; Paolo Bonzini ;
Thomas Huth ; John Snow ; Li
Zhijian ; Juan Quintela ;
Stefan Hajnoczi
On 4/24/23 08:33, Thomas Huth wrote:
On 20/04/2023 22.29, Cédric Le Goater wrote:
From: Cédric Le Goater
GCC13 reports an error :
../util/async.c: In function ‘aio_bh_poll’:
include/qemu/queue.h:303:22: error: storing the address of local variable
‘slice’ in ‘*ctx.bh_slice_list.sqh_last’ [-W
On 20/04/2023 22.29, Cédric Le Goater wrote:
From: Cédric Le Goater
GCC13 reports an error :
../util/async.c: In function ‘aio_bh_poll’:
include/qemu/queue.h:303:22: error: storing the address of local variable
‘slice’ in ‘*ctx.bh_slice_list.sqh_last’ [-Werror=dangling-pointer=]
303 |
The virt machine can have two UARTs and the second UART
can be used when host secure-mode support is enabled.
Signed-off-by: Yong Li
---
hw/riscv/virt.c | 4
include/hw/riscv/virt.h | 2 ++
2 files changed, 6 insertions(+)
diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c
index b38b41
On 4/20/23 09:06, Song Gao wrote:
This patch includes:
- VADDW{EV/OD}.{H.B/W.H/D.W/Q.D}[U];
- VSUBW{EV/OD}.{H.B/W.H/D.W/Q.D}[U];
- VADDW{EV/OD}.{H.BU.B/W.HU.H/D.WU.W/Q.DU.D}.
Signed-off-by: Song Gao
---
target/loongarch/disas.c| 43 ++
target/loongarch/helper.h
Interpret the variable argument placement in the caller. Pass data_type
instead of is64 -- there are several places where we already convert back
from bool to type. Clean things up by using type throughout.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Daniel Henrique Barboza
Signed-off-by:
Use tcg_out_st_helper_args. This eliminates the use of a tail call to
the store helper. This may or may not be an improvement, depending on
the call/return branch prediction of the host microarchitecture.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c.inc | 57 +++--
Merge tcg_out_tlb_load, add_qemu_ldst_label, tcg_out_test_alignment,
tcg_out_zext_addr_if_32_bit, and some code that lived in both
tcg_out_qemu_ld and tcg_out_qemu_st into one function that returns
HostAddress and TCGLabelQemuLdst structures.
Signed-off-by: Richard Henderson
---
tcg/loongarch64/
These constraints have not been used for quite some time.
Fixes: 77b73de67632 ("Use rem/div[u]_i32 drop div[u]2_i32")
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: Richard Henderson
---
tcg/ppc/tcg-target-con-str.h | 4
1 file changed, 4 deletions(-)
diff --git a/tcg/ppc/tcg-target-
"Zhang, Chen" wrote:
>> -Original Message-
>> From: Daniel P. Berrangé
>> Sent: Saturday, April 22, 2023 1:14 AM
>> To: qemu-devel@nongnu.org
>> Cc: qemu-bl...@nongnu.org; Paolo Bonzini ;
>> Thomas Huth ; John Snow ; Li
>> Zhijian ; Juan Quintela ;
>> Stefan Hajnoczi ; Zhang, Chen
>> ; La
The softmmu tlb uses TCG_REG_TMP[0-2], not any of the normally available
registers. Now that we handle overlap betwen inputs and helper arguments,
we can allow any allocatable reg.
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: Richard Henderson
---
tcg/riscv/tcg-target-con-set.h | 2 --
Merge tcg_out_tlb_load, add_qemu_ldst_label, tcg_out_test_alignment,
tcg_prepare_user_ldst, and some code that lived in both tcg_out_qemu_ld
and tcg_out_qemu_st into one function that returns HostAddress and
TCGLabelQemuLdst structures.
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.c
The softmmu tlb uses TCG_REG_TMP[0-2], not any of the normally available
registers. Now that we handle overlap betwen inputs and helper arguments,
we can allow any allocatable reg.
Signed-off-by: Richard Henderson
---
tcg/loongarch64/tcg-target-con-set.h | 2 --
tcg/loongarch64/tcg-target-con-
We need to set this in TCGLabelQemuLdst, so plumb this
all the way through from tcg_out_op.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.c.inc | 22 ++
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/tcg/s390x/t
Unify all computation of argument stack offset in one function.
This requires that we adjust ref_slot to be in the same units,
by adding max_reg_slots during init_call_layout.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/tcg.c | 29 +
In tcg_canonicalize_memop, we remove MO_SIGN from MO_32 operations
with TCG_TYPE_I32. Thus this is never set. We already have an
identical test just above which does not include is_64
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/sparc64/tcg-target.c.inc | 2 +-
Use tcg_out_ld_helper_args, tcg_out_ld_helper_ret,
and tcg_out_st_helper_args. This allows our local
tcg_out_arg_* infrastructure to be removed.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.c.inc | 140 +--
1 file changed, 18 insertions(+), 122 del
We need to set this in TCGLabelQemuLdst, so plumb this
all the way through from tcg_out_op.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/sparc64/tcg-target.c.inc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tcg/sparc64/tcg-target.c.in
Use tcg_out_ld_helper_args and tcg_out_ld_helper_ret.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c.inc | 71 +++
1 file changed, 28 insertions(+), 43 deletions(-)
diff --git a/tcg/i386/tcg-target.c.inc b/tcg/i386/tcg-target.c.inc
index fabb03cd7
Rather than zero-extend the guest address into a register,
use an add instruction which zero-extends the second input.
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.c.inc | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390
Merge tcg_out_tlb_load, add_qemu_ldst_label, tcg_out_test_alignment,
and some code that lived in both tcg_out_qemu_ld and tcg_out_qemu_st
into one function that returns HostAddress and TCGLabelQemuLdst structures.
Signed-off-by: Richard Henderson
---
tcg/mips/tcg-target.c.inc | 404 +
Use tcg_out_ld_helper_args, tcg_out_ld_helper_ret,
and tcg_out_st_helper_args.
Signed-off-by: Richard Henderson
---
tcg/aarch64/tcg-target.c.inc | 40 +++-
1 file changed, 16 insertions(+), 24 deletions(-)
diff --git a/tcg/aarch64/tcg-target.c.inc b/tcg/aarch64/t
Use tcg_out_ld_helper_args, tcg_out_ld_helper_ret,
and tcg_out_st_helper_args. This allows our local
tcg_out_arg_* infrastructure to be removed.
We are no longer filling the call or return branch
delay slots, nor are we tail-calling for the store,
but this seems a small price to pay.
Signed-off-
An inline function is safer than a macro, and REG_P
was rather too generic.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/tcg-internal.h | 4
tcg/tcg.c | 16 +---
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/tcg/tcg-in
Use tcg_out_ld_helper_args, tcg_out_ld_helper_ret,
and tcg_out_st_helper_args.
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: Richard Henderson
---
tcg/riscv/tcg-target.c.inc | 37 ++---
1 file changed, 10 insertions(+), 27 deletions(-)
diff --git a/tcg/ris
Use tcg_out_ld_helper_args, tcg_out_ld_helper_ret,
and tcg_out_st_helper_args.
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.c.inc | 35 ++-
1 file changed, 10 insertions(+), 25 deletions(-)
diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-targ
The softmmu tlb uses TCG_REG_TMP[0-3], not any of the normally available
registers. Now that we handle overlap betwen inputs and helper arguments,
and have eliminated use of A0, we can allow any allocatable reg.
Signed-off-by: Richard Henderson
---
tcg/mips/tcg-target-con-set.h | 13 +--
Since tcg_out_{ld,st}_helper_args, the slow path no longer requires
the address argument to be set up by the tlb load sequence. Use a
plain load for the addend and indexed addressing with the original
input address register.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c.inc | 25 ++
Use tcg_out_ld_helper_args, tcg_out_ld_helper_ret,
and tcg_out_st_helper_args.
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: Richard Henderson
---
tcg/ppc/tcg-target.c.inc | 88
1 file changed, 26 insertions(+), 62 deletions(-)
diff --git a/tcg/pp
On 4/20/23 09:06, Song Gao wrote:
Signed-off-by: Song Gao
---
target/loongarch/cpu.c | 2 ++
target/loongarch/cpu.h | 2 ++
target/loongarch/insn_trans/trans_lsx.c.inc | 11 +++
3 files changed, 15 insertions(+)
Reviewed-by: Richard Hende
While performing the load in the delay slot of the call to the common
bswap helper function is cute, it is not worth the added complexity.
Signed-off-by: Richard Henderson
---
tcg/mips/tcg-target.h | 4 +-
tcg/mips/tcg-target.c.inc | 284 ++
2 files chan
Adjust the softmmu tlb to use R0+R1, not any of the normally available
registers. Since we handle overlap betwen inputs and helper arguments,
we can allow any allocatable reg.
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target-con-set.h | 2 --
tcg/s390x/tcg-target-con-str.h | 1 -
tcg
Merge tcg_out_tlb_load, add_qemu_ldst_label, and some code that lived
in both tcg_out_qemu_ld and tcg_out_qemu_st into one function that
returns HostAddress and TCGLabelQemuLdst structures.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.c.inc | 351 ++
The softmmu tlb uses TCG_REG_{TMP1,TMP2,R0}, not any of the normally
available registers. Now that we handle overlap betwen inputs and
helper arguments, we can allow any allocatable reg.
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: Richard Henderson
---
tcg/ppc/tcg-target-con-set.h | 11
On 2023/4/24 10:42, LIU Zhiwei wrote:
On 2023/4/24 9:01, Yong Li wrote:
The virt machine can have two UARTs and the second UART
can be used when host secure-mode support is enabled.
Signed-off-by: Yong Li
Cc: "Zhiwei Liu"
Should cc other Maintainers and Reviewers. Get the list by running
While the old type was correct in the ideal sense, some ABIs require
the argument to be zero-extended. Using uint32_t for all such values
is a decent compromise.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
include/tcg/tcg-ldst.h | 10 +++---
accel/tcg/cputlb.c
Collect the parts of the host address, and condition, into a struct.
Merge tcg_out_qemu_*_{index,direct} and use it.
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.c.inc | 248 ++-
1 file changed, 115 insertions(+), 133 deletions(-)
diff --git a/tcg/
Collect the 4 potential parts of the host address into a struct.
Reorg tcg_out_qemu_{ld,st}_direct to use it.
Reorg guest_base handling to use it.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c.inc | 165 +-
1 file changed, 90 insertions(+), 75 del
Allocate TCG_REG_TMP2. Use R0, TMP1, TMP2 instead of any of
the normally allocated registers for the tlb load.
Reviewed-by: Daniel Henrique Barboza
Signed-off-by: Richard Henderson
---
tcg/ppc/tcg-target.c.inc | 84
1 file changed, 51 insertions(+), 33
Interpret the variable argument placement in the caller. Pass data_type
instead of is64 -- there are several places where we already convert back
from bool to type. Clean things up by using type throughout.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Daniel Henrique Barboza
Signed-off-by:
Merge tcg_out_tlb_load, add_qemu_ldst_label,
tcg_out_test_alignment, and some code that lived in both
tcg_out_qemu_ld and tcg_out_qemu_st into one function
that returns HostAddress and TCGLabelQemuLdst structures.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c.inc | 344 +
Merge tcg_out_tlb_load, add_qemu_ldst_label, tcg_out_test_alignment,
and some code that lived in both tcg_out_qemu_ld and tcg_out_qemu_st
into one function that returns HostAddress and TCGLabelQemuLdst structures.
Signed-off-by: Richard Henderson
---
tcg/aarch64/tcg-target.c.inc | 313 ++
Collect the 3 potential parts of the host address into a struct.
Reorg tcg_out_qemu_{ld,st}_direct to use it.
Signed-off-by: Richard Henderson
---
tcg/aarch64/tcg-target.c.inc | 86 +---
1 file changed, 59 insertions(+), 27 deletions(-)
diff --git a/tcg/aarch64/t
Interpret the variable argument placement in the caller. There are
several places where we already convert back from bool to type.
Clean things up by using type throughout.
Signed-off-by: Richard Henderson
---
tcg/mips/tcg-target.c.inc | 186 +++---
1 file change
Collect the parts of the host address into a struct.
Reorg tcg_out_qemu_{ld,st} to use it.
Signed-off-by: Richard Henderson
---
tcg/ppc/tcg-target.c.inc | 90 +---
1 file changed, 47 insertions(+), 43 deletions(-)
diff --git a/tcg/ppc/tcg-target.c.inc b/tcg/p
Compare the address vs the tlb entry with sign-extended values.
This simplifies the page+alignment mask constant, and the
generation of the last byte address for the misaligned test.
Move the tlb addend load up, and the zero-extension down.
This frees up a register, which allows us use TMP3 as th
Use tcg_out_ld_helper_args, tcg_out_ld_helper_ret,
and tcg_out_st_helper_args.
Signed-off-by: Richard Henderson
---
tcg/loongarch64/tcg-target.c.inc | 37 ++--
1 file changed, 11 insertions(+), 26 deletions(-)
diff --git a/tcg/loongarch64/tcg-target.c.inc b/tcg/loong
Add tcg_out_ld_helper_args, tcg_out_ld_helper_ret,
and tcg_out_st_helper_args. These and their subroutines
use the existing knowledge of the host function call abi
to load the function call arguments and return results.
These will be used to simplify the backends in turn.
Signed-off-by: Richard
Merge tcg_out_tlb_load, add_qemu_ldst_label, tcg_out_test_alignment,
and some code that lived in both tcg_out_qemu_ld and tcg_out_qemu_st
into one function that returns HostAddress and TCGLabelQemuLdst structures.
Signed-off-by: Richard Henderson
---
tcg/ppc/tcg-target.c.inc | 377 ++
Rename the 'ext' parameter 'data_type' to make the use clearer;
pass it to tcg_out_qemu_st as well to even out the interfaces.
Rename the 'otype' local 'addr_type' to make the use clearer.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/aarch64/tcg-target.c.inc | 36
Signed-off-by: Richard Henderson
---
tcg/tcg.c | 13 +
tcg/tcg-ldst.c.inc | 14 --
2 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index cfd3262a4a..6f5daaee5f 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -94,6 +94,19 @@ typedef
Since TCG_TYPE_I32 values are kept sign-extended in registers,
via ".w" instructions, we need not extend if the register matches.
This is already relied upon by comparisons.
Signed-off-by: Richard Henderson
---
tcg/loongarch64/tcg-target.c.inc | 4 +++-
1 file changed, 3 insertions(+), 1 deletio
Collect the 2 parts of the host address into a struct.
Reorg tcg_out_qemu_{ld,st}_direct to use it.
Signed-off-by: Richard Henderson
---
tcg/loongarch64/tcg-target.c.inc | 55 +---
1 file changed, 30 insertions(+), 25 deletions(-)
diff --git a/tcg/loongarch64/tcg-tar
Collect the 3 potential parts of the host address into a struct.
Reorg tcg_out_qemu_{ld,st}_direct to use it.
Signed-off-by: Richard Henderson
---
tcg/s390x/tcg-target.c.inc | 109 -
1 file changed, 60 insertions(+), 49 deletions(-)
diff --git a/tcg/s390x/tcg
Since TCG_TYPE_I32 values are kept sign-extended in registers, we need not
extend if the register matches. This is already relied upon by comparisons.
Signed-off-by: Richard Henderson
---
tcg/mips/tcg-target.c.inc | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tcg/mips/t
Merge tcg_out_tlb_load, add_qemu_ldst_label, tcg_out_test_alignment,
and some code that lived in both tcg_out_qemu_ld and tcg_out_qemu_st
into one function that returns TCGReg and TCGLabelQemuLdst.
Signed-off-by: Richard Henderson
---
tcg/riscv/tcg-target.c.inc | 253 +---
This is common code in most qemu_{ld,st} slow paths, moving two
registers when there may be overlap between sources and destinations.
At present, this is only used by 32-bit hosts for 64-bit data,
but will shortly be used for more than that.
Signed-off-by: Richard Henderson
---
tcg/tcg.c
Interpret the variable argument placement in the caller. Pass data_type
instead of is64 -- there are several places where we already convert back
from bool to type. Clean things up by using type throughout.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-
Interpret the variable argument placement in the caller.
Pass data_type instead of is_64. We need to set this in
TCGLabelQemuLdst, so plumb this all the way through from tcg_out_op.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.c.inc | 113
The port currently does not support "oversize" guests, which
means riscv32 can only target 32-bit guests. We will soon be
building TCG once for all guests. This implies that we can
only support riscv64.
Since all Linux distributions target riscv64 not riscv32,
this is not much of a restriction a
Use TCG_REG_L[01] constants directly.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c.inc | 32
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/tcg/i386/tcg-target.c.inc b/tcg/i386/tcg-target.c.inc
index b6750c364a..7a02f79f1b 100644
--
Split out a helper for choosing testb vs testl.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c.inc | 30 ++
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/tcg/i386/tcg-target.c.inc b/tcg/i386/tcg-target
Test for both base and index; use datahi as a temporary, overwritten
by the final load. Always perform the loads in ascending order, so
that any (user-only) fault sees the correct address.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c.inc | 31 +++
1 fil
Since TCG_TYPE_I32 values are kept zero-extended in registers, via
omission of the REXW bit, we need not extend if the register matches.
This is already relied upon by qemu_{ld,st}.
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.c.inc | 4 +++-
1 file changed, 3 insertions(+), 1 deleti
Interpret the variable argument placement in the caller. Shift some
code around slightly to share more between softmmu and user-only.
Signed-off-by: Richard Henderson
---
tcg/loongarch64/tcg-target.c.inc | 100 +--
1 file changed, 42 insertions(+), 58 deletions(-)
d
v1:
https://lore.kernel.org/qemu-devel/20230408024314.3357414-1-richard.hender...@linaro.org/
v2:
https://lore.kernel.org/qemu-devel/20230411010512.5375-1-richard.hender...@linaro.org/
There are several changes to the load/store helpers coming, and making
sure that those changes are properly ref
On 4/23/23 19:55, Philippe Mathieu-Daudé wrote:
On 11/4/23 03:04, Richard Henderson wrote:
Unify all computation of argument stack offset in one function.
This requires that we adjust ref_slot to be in the same units,
by adding max_reg_slots during init_call_layout.
Signed-off-by: Richard Hende
On 2023-04-21 14:29:38, Alex Bennée wrote:
>
> Kautuk Consul writes:
>
> > Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
> > boot_linux.py test-case due to which the code coverage for ppc
> > decreased by around 2%. As per the discussion on
> > https://lore.kernel.org/qemu-devel/8
Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
boot_linux.py test-case due to which the code coverage for ppc
decreased by around 2%. As per the discussion on
https://lore.kernel.org/qemu-devel/87sfdpqcy4@linaro.org/ it
was mentioned that the baseline test for ppc64 could be modif
Am 18.04.23 um 08:56 schrieb Volker Rümelin:
Windows sends an extra left control key up/down input event for
every right alt key up/down input event for keyboards with
international layout. Since commit 830473455f ("ui/sdl2: fix
handling of AltGr key on Windows") QEMU uses a Windows low level
ke
On 2023/4/24 9:01, Yong Li wrote:
The virt machine can have two UARTs and the second UART
can be used when host secure-mode support is enabled.
Signed-off-by: Yong Li
Cc: "Zhiwei Liu"
Should cc other Maintainers and Reviewers. Get the list by running the
script
./scripts/get_maintainer.pl
The virt machine can have two UARTs and the second UART
can be used when host secure-mode support is enabled.
Signed-off-by: Yong Li
Cc: "Zhiwei Liu"
---
hw/riscv/virt.c | 4
include/hw/riscv/virt.h | 2 ++
2 files changed, 6 insertions(+)
diff --git a/hw/riscv/virt.c b/hw/riscv/v
On Sun, 23 Apr 2023, Bernhard Beschow wrote:
Am 22. April 2023 21:10:14 UTC schrieb BALATON Zoltan :
On Sat, 22 Apr 2023, Bernhard Beschow wrote:
Allows to unexport pci_ide_{cmd,data}_le_ops and models TYPE_SII3112_PCI as a
standard-compliant PCI IDE device.
Signed-off-by: Bernhard Beschow
--
On Sun, 23 Apr 2023, Bernhard Beschow wrote:
Am 23. April 2023 17:41:33 UTC schrieb "Philippe Mathieu-Daudé"
:
On 22/4/23 17:07, Bernhard Beschow wrote:
Resolves redundant code in every PCI IDE device model.
---
include/hw/ide/pci.h | 1 -
hw/ide/cmd646.c | 15 ---
hw/ide
Am 22. April 2023 21:10:14 UTC schrieb BALATON Zoltan :
>On Sat, 22 Apr 2023, Bernhard Beschow wrote:
>> Allows to unexport pci_ide_{cmd,data}_le_ops and models TYPE_SII3112_PCI as a
>> standard-compliant PCI IDE device.
>>
>> Signed-off-by: Bernhard Beschow
>> ---
>> include/hw/ide/pci.h | 2
Am 23. April 2023 17:41:33 UTC schrieb "Philippe Mathieu-Daudé"
:
>On 22/4/23 17:07, Bernhard Beschow wrote:
>> Resolves redundant code in every PCI IDE device model.
>> ---
>> include/hw/ide/pci.h | 1 -
>> hw/ide/cmd646.c | 15 ---
>> hw/ide/pci.c | 25 ++
Am 23. April 2023 10:40:50 UTC schrieb BALATON Zoltan :
>On Sun, 23 Apr 2023, Bernhard Beschow wrote:
>> Am 22. April 2023 21:26:00 UTC schrieb BALATON Zoltan :
>>> On Sat, 22 Apr 2023, Bernhard Beschow wrote:
Extract bmdma_clear_status() mirroring bmdma_cmd_writeb().
>>>
>>> Is adding a t
Am 23. April 2023 17:43:22 UTC schrieb "Philippe Mathieu-Daudé"
:
>On 22/4/23 17:07, Bernhard Beschow wrote:
>> There are three private copies of bmdma_setup_bar() with small adaptions.
>> Consolidate them into one public implementation.
>>
>> While at it rename the function to bmdma_init_ops(
On 4/23/23 20:35, Alex Bennée wrote:
Richard Henderson writes:
On 4/23/23 18:29, Philippe Mathieu-Daudé wrote:
On 23/4/23 11:14, Richard Henderson wrote:
On 4/20/23 22:28, Anton Johansson wrote:
-void tb_invalidate_phys_addr(target_ulong addr)
+void tb_invalidate_phys_addr(vaddr addr)
Hm
On 4/20/23 09:06, Song Gao wrote:
diff --git a/target/loongarch/machine.c b/target/loongarch/machine.c
index b1e523ea72..a67b735a32 100644
--- a/target/loongarch/machine.c
+++ b/target/loongarch/machine.c
@@ -10,6 +10,112 @@
#include "migration/cpu.h"
#include "internals.h"
+/* FPU state *
Richard Henderson writes:
> On 4/23/23 18:29, Philippe Mathieu-Daudé wrote:
>> On 23/4/23 11:14, Richard Henderson wrote:
>>> On 4/20/23 22:28, Anton Johansson wrote:
-void tb_invalidate_phys_addr(target_ulong addr)
+void tb_invalidate_phys_addr(vaddr addr)
>>>
>>> Hmm. This isn't a
On 11/4/23 03:04, Richard Henderson wrote:
Interpret the variable argument placement in the caller.
Mark the argument register const, because they must be passed to
add_qemu_ldst_label unmodified. This requires a bit of local
variable renaming, because addrlo was being modified.
Pass data_type
On 11/4/23 03:04, Richard Henderson wrote:
Interpret the variable argument placement in the caller.
Mark the argument registers const, because they must be passed to
add_qemu_ldst_label unmodified.
Pass data_type instead of is64 -- there are several places where
we already convert back from bool
On 11/4/23 03:04, Richard Henderson wrote:
An inline function is safer than a macro, and REG_P
was rather too generic.
Signed-off-by: Richard Henderson
---
tcg/tcg-internal.h | 4
tcg/tcg.c | 16 +---
2 files changed, 13 insertions(+), 7 deletions(-)
Reviewed-by
On 11/4/23 03:04, Richard Henderson wrote:
The port currently does not support "oversize" guests, which
means riscv32 can only target 32-bit guests. We will soon be
building TCG once for all guests. This implies that we can
only support riscv64.
Since all Linux distributions target riscv64 not
On 11/4/23 03:04, Richard Henderson wrote:
Interpret the variable argument placement in the caller.
Mark the argument registers const, because they must be passed to
add_qemu_ldst_label unmodified.
Pass data_type instead of is_64. We need to set this in
TCGLabelQemuLdst, so plumb this all the w
On 11/4/23 03:04, Richard Henderson wrote:
Interpret the variable argument placement in the caller.
Mark the argument register const, because they must be passed to
add_qemu_ldst_label unmodified.
Pass data_type instead of is64 -- there are several places where
we already convert back from bool
On 11/4/23 03:04, Richard Henderson wrote:
Unify all computation of argument stack offset in one function.
This requires that we adjust ref_slot to be in the same units,
by adding max_reg_slots during init_call_layout.
Signed-off-by: Richard Henderson
---
tcg/tcg.c | 29 +-
On 11/4/23 03:04, Richard Henderson wrote:
While the old type was correct in the ideal sense,
some ABIs require the argument to be zero-extended.
Using uint32_t for all such values is a decent compromise.
Signed-off-by: Richard Henderson
---
include/tcg/tcg-ldst.h | 10 +++---
accel/tcg/
On 4/23/23 18:29, Philippe Mathieu-Daudé wrote:
On 23/4/23 11:14, Richard Henderson wrote:
On 4/20/23 22:28, Anton Johansson wrote:
-void tb_invalidate_phys_addr(target_ulong addr)
+void tb_invalidate_phys_addr(vaddr addr)
Hmm. This isn't a virtual address, so 'vaddr' isn't right.
I'm sure w
On 2023/04/24 3:37, Michael Tokarev wrote:
23.04.2023 21:33, Michael Tokarev пишет:
$ cd /tmp; printf '#include \nint
main(){puts("Hello!");return 0;}' > hello.c; cp /usr/bin/gcc .; ./gcc
hello.c; ./a.out ; ./gcc --version; ls -l gcc; cd /tmp
Hello!
execve("/tmp/../lib/gcc/x86_64-linux-gnu/
23.04.2023 21:33, Michael Tokarev пишет:
$ cd /tmp; printf '#include \nint main(){puts("Hello!");return 0;}' > hello.c; cp /usr/bin/gcc .; ./gcc hello.c; ./a.out ; ./gcc --version;
ls -l gcc; cd /tmp
Hello!
execve("/tmp/../lib/gcc/x86_64-linux-gnu/12/cc1", [...])
Since this is merged-usr sys
23.04.2023 21:24, Akihiko Odaki wrote:
The output ends with:
gcc: fatal error: cannot execute 'cc1': execvp: No such file or directory
compilation terminated.
$ cd /tmp; printf '#include \nint main(){puts("Hello!");return 0;}' > hello.c; cp /usr/bin/gcc .; ./gcc hello.c; ./a.out ; ./gcc --vers
On 2023/04/24 3:10, Michael Tokarev wrote:
23.04.2023 20:39, Akihiko Odaki пишет:
On 2023/04/23 22:22, Michael Tokarev wrote:
23.04.2023 14:47, Akihiko Odaki пишет:
https://salsa.debian.org/qemu-team/qemu/-/commit/e017f53a8550d0bcaaca81c6dacac8ec34295cf0
fwiw.
I seriously think you better co
23.04.2023 20:39, Akihiko Odaki пишет:
On 2023/04/23 22:22, Michael Tokarev wrote:
23.04.2023 14:47, Akihiko Odaki пишет:
https://salsa.debian.org/qemu-team/qemu/-/commit/e017f53a8550d0bcaaca81c6dacac8ec34295cf0
fwiw.
I seriously think you better consult GCC and other package maintainers to h
On 22/4/23 17:07, Bernhard Beschow wrote:
There is redundant code in cmd646 and via which can be extracted into the base
class. In case of piix and sii3112 this is currently unneccessary but shouldn't
interfere since the memory regions aren't mapped by those devices. In few
commits later this wil
On 22/4/23 17:07, Bernhard Beschow wrote:
There are three private copies of bmdma_setup_bar() with small adaptions.
Consolidate them into one public implementation.
While at it rename the function to bmdma_init_ops() to reflect that the memory
regions being initialized represent BMDMA operations
On 22/4/23 17:07, Bernhard Beschow wrote:
Resolves redundant code in every PCI IDE device model.
---
include/hw/ide/pci.h | 1 -
hw/ide/cmd646.c | 15 ---
hw/ide/pci.c | 25 -
hw/ide/piix.c| 19 ---
hw/ide/sii3112.c
On 2023/04/23 22:22, Michael Tokarev wrote:
23.04.2023 14:47, Akihiko Odaki пишет:
https://salsa.debian.org/qemu-team/qemu/-/commit/e017f53a8550d0bcaaca81c6dacac8ec34295cf0
fwiw.
I seriously think you better consult GCC and other package maintainers
to have consensus on handling this kind of
On 22/4/23 17:07, Bernhard Beschow wrote:
Every invocation of bmdma_init() is followed by `d->bmdma[i].bus = &d->bus[i]`.
Resolve this redundancy by extracting it into bmdma_init().
Signed-off-by: Bernhard Beschow
---
hw/ide/cmd646.c | 1 -
hw/ide/pci.c | 1 +
hw/ide/piix.c| 1 -
1 - 100 of 163 matches
Mail list logo