* [Qemu-devel] [PATCH 1/1] tcg/tci: Remove unnecessary TODO() for INDEX_op_bswap16_i64
[not found] <CGME20170712134924eucas1p128160f1573036dd5293f9167e190e9f8@eucas1p1.samsung.com>
@ 2017-07-12 13:49 ` Jaroslaw Pelczar
2017-07-12 20:10 ` Richard Henderson
0 siblings, 1 reply; 4+ messages in thread
From: Jaroslaw Pelczar @ 2017-07-12 13:49 UTC (permalink / raw)
To: qemu-devel
Running Ubuntu with systemd on AArch64 Cortex-A53 and qemu is compiled
with
./configure --target-list=aarch64-softmmu --enable-tcg-interpreter
System gives the following log:
Welcome to Ubuntu 16.04.1 LTS!
systemd[1]: Set hostname to <localhost.localdomain>.
TODO (...)/qemu/tcg/tci.c:1049: tcg_qemu_tb_exec()
(...)/qemu/tcg/tci.c:1049: tcg fatal error
Aborted (core dumped)
After investigation it turns out that TCG generates bswap16_i64
opcode, which looks fine in the implementation.
Signed-off-by: Jaroslaw Pelczar <j.pelczar@samsung.com>
---
tcg/tci.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/tcg/tci.c b/tcg/tci.c
index 4bdc645..f39bfb9 100644
--- a/tcg/tci.c
+++ b/tcg/tci.c
@@ -1046,7 +1046,6 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t
*tb_ptr)
break;
#if TCG_TARGET_HAS_bswap16_i64
case INDEX_op_bswap16_i64:
- TODO();
t0 = *tb_ptr++;
t1 = tci_read_r16(&tb_ptr);
tci_write_reg64(t0, bswap16(t1));
--
2.7.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH 1/1] tcg/tci: Remove unnecessary TODO() for INDEX_op_bswap16_i64
2017-07-12 13:49 ` [Qemu-devel] [PATCH 1/1] tcg/tci: Remove unnecessary TODO() for INDEX_op_bswap16_i64 Jaroslaw Pelczar
@ 2017-07-12 20:10 ` Richard Henderson
0 siblings, 0 replies; 4+ messages in thread
From: Richard Henderson @ 2017-07-12 20:10 UTC (permalink / raw)
To: Jaroslaw Pelczar, qemu-devel; +Cc: Philippe Mathieu-Daudé
On 07/12/2017 03:49 AM, Jaroslaw Pelczar wrote:
> @@ -1046,7 +1046,6 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t
> *tb_ptr)
>
> break;
>
> #if TCG_TARGET_HAS_bswap16_i64
>
> case INDEX_op_bswap16_i64:
>
> - TODO();
>
> t0 = *tb_ptr++;
>
> t1 = tci_read_r16(&tb_ptr);
>
> tci_write_reg64(t0, bswap16(t1));
An identical patch has already been submitted
https://patchwork.ozlabs.org/patch/774278/
and it is (now) waiting in the tcg-next queue.
r~
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH 1/1] tcg/tci: Remove unnecessary TODO() for INDEX_op_bswap16_i64
2017-07-12 13:52 ` Jaroslaw Pelczar
@ 2017-07-12 18:49 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 4+ messages in thread
From: Philippe Mathieu-Daudé @ 2017-07-12 18:49 UTC (permalink / raw)
To: Jaroslaw Pelczar, qemu-devel; +Cc: Stefan Weil
Hi Jaroslaw,
Thank for reporting this, however this fix has been reviewed:
http://patchwork.ozlabs.org/patch/781982/
On 07/12/2017 10:52 AM, Jaroslaw Pelczar wrote:
> Running Ubuntu with systemd on AArch64 Cortex-A53 and qemu is compiled
> with
>
> ./configure --target-list=aarch64-softmmu --enable-tcg-interpreter
>
> System gives the following log:
>
> Welcome to Ubuntu 16.04.1 LTS!
>
> systemd[1]: Set hostname to <localhost.localdomain>.
> TODO (...)/qemu/tcg/tci.c:1049: tcg_qemu_tb_exec()
> (...)/qemu/tcg/tci.c:1049: tcg fatal error
> Aborted (core dumped)
>
> After investigation it turns out that TCG generates bswap16_i64
> opcode, which looks fine in the implementation.
Indeed while correctly implemented, "that code part was simply never
executed, and [Stefan] only removed the TODO() statements from tested
code." as explained Stefan.
> Signed-off-by: Jaroslaw Pelczar <j.pelczar@samsung.com>
I can add your Signed-off-by there if you mind
> ---
> tcg/tci.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/tcg/tci.c b/tcg/tci.c
> index 4bdc645..f39bfb9 100644
> --- a/tcg/tci.c
> +++ b/tcg/tci.c
> @@ -1046,7 +1046,6 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t
> *tb_ptr)
> break;
> #if TCG_TARGET_HAS_bswap16_i64
> case INDEX_op_bswap16_i64:
> - TODO();
> t0 = *tb_ptr++;
> t1 = tci_read_r16(&tb_ptr);
> tci_write_reg64(t0, bswap16(t1));
>
Regards,
Phil.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] [PATCH 1/1] tcg/tci: Remove unnecessary TODO() for INDEX_op_bswap16_i64
[not found] <CGME20170712135227eucas1p1d5baf43182869329c6dd282e52143444@eucas1p1.samsung.com>
@ 2017-07-12 13:52 ` Jaroslaw Pelczar
2017-07-12 18:49 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 4+ messages in thread
From: Jaroslaw Pelczar @ 2017-07-12 13:52 UTC (permalink / raw)
To: qemu-devel
Running Ubuntu with systemd on AArch64 Cortex-A53 and qemu is compiled
with
./configure --target-list=aarch64-softmmu --enable-tcg-interpreter
System gives the following log:
Welcome to Ubuntu 16.04.1 LTS!
systemd[1]: Set hostname to <localhost.localdomain>.
TODO (...)/qemu/tcg/tci.c:1049: tcg_qemu_tb_exec()
(...)/qemu/tcg/tci.c:1049: tcg fatal error
Aborted (core dumped)
After investigation it turns out that TCG generates bswap16_i64
opcode, which looks fine in the implementation.
Signed-off-by: Jaroslaw Pelczar <j.pelczar@samsung.com>
---
tcg/tci.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/tcg/tci.c b/tcg/tci.c
index 4bdc645..f39bfb9 100644
--- a/tcg/tci.c
+++ b/tcg/tci.c
@@ -1046,7 +1046,6 @@ uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t
*tb_ptr)
break;
#if TCG_TARGET_HAS_bswap16_i64
case INDEX_op_bswap16_i64:
- TODO();
t0 = *tb_ptr++;
t1 = tci_read_r16(&tb_ptr);
tci_write_reg64(t0, bswap16(t1));
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-07-12 20:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CGME20170712134924eucas1p128160f1573036dd5293f9167e190e9f8@eucas1p1.samsung.com>
2017-07-12 13:49 ` [Qemu-devel] [PATCH 1/1] tcg/tci: Remove unnecessary TODO() for INDEX_op_bswap16_i64 Jaroslaw Pelczar
2017-07-12 20:10 ` Richard Henderson
[not found] <CGME20170712135227eucas1p1d5baf43182869329c6dd282e52143444@eucas1p1.samsung.com>
2017-07-12 13:52 ` Jaroslaw Pelczar
2017-07-12 18:49 ` Philippe Mathieu-Daudé
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.