[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 11/15] target/cris: Add DISAS_DBRANCH
From: |
Edgar E. Iglesias |
Subject: |
Re: [PATCH v3 11/15] target/cris: Add DISAS_DBRANCH |
Date: |
Wed, 23 Jun 2021 16:17:21 +0200 |
On Wed, Jun 23, 2021 at 06:55:49AM -0700, Richard Henderson wrote:
> On 6/23/21 6:43 AM, Edgar E. Iglesias wrote:
> > On Tue, Jun 22, 2021 at 08:48:16AM -0700, Richard Henderson wrote:
> > > Move delayed branch handling to tb_stop, where we can re-use other
> > > end-of-tb code, e.g. the evaluation of flags. Honor single stepping.
> > > Validate that we aren't losing state by overwriting is_jmp.
> >
> > Hi Richard,
> >
> > This patch breaks my kernel boot test:
> >
> > edgar@zapote:cris-axisdev88$ ./qemu-run.sh
> > + MACH=-M axis-dev88
> > + QEMU_BUILD_PATH=/home/edgar/src/c/qemu/build-qemu/
> > + QEMU=/home/edgar/src/c/qemu/build-qemu//cris-softmmu/qemu-system-cris
> > + KERNEL=-kernel kimage
> > + NIC0=-netdev user,id=net0,hostfwd=tcp::2256-10.0.2.15:21 -net
> > nic,netdev=net0
> > + /home/edgar/src/c/qemu/build-qemu//cris-softmmu/qemu-system-cris -M
> > axis-dev88 -netdev user,id=net0,hostfwd=tcp::2256-10.0.2.15:21 -net
> > nic,netdev=net0 -serial stdio -display none -kernel kimage
> > Linux version 2.6.33 (edgar@edde) (gcc version 4.3.1 20080521 (prerelease)
> > [gcc-4_3-branch revision 135713] (GCC 4.3.1 Axis release R93/1.93) ) #4 Thu
> > Jan 13 15:11:20 CET 2011
> > bootconsole [early0] enabled
> > ROM fs in RAM, size 6946816 bytes
> > Setting up paging and the MMU.
> > Linux/CRISv32 port on ETRAX FS (C) 2003, 2004 Axis Communications AB
> > Built 1 zonelists in Zone order, mobility grouping on. Total pages: 4080
> > Kernel command line: root=/dev/mtdblock3 init=/linuxrc rootfstype=jffs2
> > mmc_core.use_spi_crc=0 mmc_spi.spi_mode=3
> > PID hash table entries: 128 (order: -4, 512 bytes)
> > Dentry cache hash table entries: 4096 (order: 1, 16384 bytes)
> > Inode-cache hash table entries: 2048 (order: 0, 8192 bytes)
> > Memory: 22864k/32768k available (2260k kernel code, 9904k reserved, 504k
> > data, 80k init)
> > Hierarchical RCU implementation.
> > NR_IRQS:80
> > Enabling watchdog...
> > Calibrating delay loop... qemu-system-cris:
> > ../qemu/target/cris/translate.c:3236: cris_tr_translate_insn: Assertion
> > `dc->base.is_jmp == DISAS_NEXT || dc->cpustate_changed' failed.
> > Aborted (core dumped)
>
> Ach, I see it -- rfe and rfn set DISAS_UPDATE without cpustate_changed.
> Could you try adding dc->cpustate_changed = 1 in dec_rfe_etc, please.
>
Great, that fixes it! This now passes all my tests.
With that fix, on the full series:
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Cheers,
Edgar
- [PATCH v3 00/15] target/cris: Convert to TranslatorOps, Richard Henderson, 2021/06/22
- [PATCH v3 01/15] target/cris: Add DisasContextBase to DisasContext, Richard Henderson, 2021/06/22
- [PATCH v3 04/15] target/cris: Mark exceptions as DISAS_NORETURN, Richard Henderson, 2021/06/22
- [PATCH v3 07/15] target/cris: Mark helper_raise_exception noreturn, Richard Henderson, 2021/06/22
- [PATCH v3 05/15] target/cris: Fix use_goto_tb, Richard Henderson, 2021/06/22
- [PATCH v3 10/15] target/cris: Add DISAS_UPDATE_NEXT, Richard Henderson, 2021/06/22
- [PATCH v3 11/15] target/cris: Add DISAS_DBRANCH, Richard Henderson, 2021/06/22
[PATCH v3 14/15] target/cris: Remove dc->flagx_known, Richard Henderson, 2021/06/22
[PATCH v3 13/15] target/cris: Improve JMP_INDIRECT, Richard Henderson, 2021/06/22
[PATCH v3 02/15] target/cris: Remove DISAS_SWI, Richard Henderson, 2021/06/22
[PATCH v3 03/15] target/cris: Replace DISAS_TB_JUMP with DISAS_NORETURN, Richard Henderson, 2021/06/22
[PATCH v3 06/15] target/cris: Convert to TranslatorOps, Richard Henderson, 2021/06/22
[PATCH v3 09/15] target/cris: Fold unhandled X_FLAG changes into cpustate_changed, Richard Henderson, 2021/06/22
[PATCH v3 08/15] target/cris: Mark static arrays const, Richard Henderson, 2021/06/22
[PATCH v3 15/15] target/cris: Do not exit tb for X_FLAG changes, Richard Henderson, 2021/06/22
[PATCH v3 12/15] target/cris: Use tcg_gen_lookup_and_goto_ptr, Richard Henderson, 2021/06/22