[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] target/riscv: Exit current TB after an sfence.vma
From: |
Atish Patra |
Subject: |
Re: [PATCH] target/riscv: Exit current TB after an sfence.vma |
Date: |
Wed, 30 Mar 2022 00:28:28 -0700 |
On Tue, Mar 29, 2022 at 11:15 PM Idan Horowitz <idan.horowitz@gmail.com> wrote:
>
> On Wed, 30 Mar 2022 at 02:16, Atish Patra <atishp@atishpatra.org> wrote:
> >
> > This is in for-next on Alistair's tree and fails to boot the kernel
> > with the following error (found -d in_asm mode).
> > Reverting the patch solves the issue.
> >
> > ----------------
> > IN:
> > Priv: 1; Virt: 0
> > 0x0000000080201040: 18051073 csrrw zero,satp,a0
> >
> > ----------------
> > IN:
> > Priv: 1; Virt: 0
> > 0x0000000080201044: Address 0x80201044 is out of bounds.
> >
> > 0x0000000080201049: Address 0x80201049 is out of bounds.
> >
> > 0x000000008020104e: Address 0x8020104e is out of bounds.
> >
> > Disassembler disagrees with translator over instruction decoding
> > Please report this to qemu-devel@nongnu.org
> >
> > ----------------
> > IN:
> > Priv: 1; Virt: 0
> > 0x0000000080201050: Address 0x80201050 is out of bounds.
> >
> > 0x0000000080201055: Address 0x80201055 is out of bounds.
> >
> > 0x000000008020105a: Address 0x8020105a is out of bounds.
> >
> > Disassembler disagrees with translator over instruction decoding
> > Please report this to qemu-devel@nongnu.org
> >
> > ----------------
> > IN:
> > Priv: 1; Virt: 0
> > 0x000000008020105c: Address 0x8020105c is out of bounds.
> >
> > Disassembler disagrees with translator over instruction decoding
> > Please report this to qemu-devel@nongnu.org
> >
> > --
> > Regards,
> > Atish
>
> Do you have more specific information about which kernel image doesn't boot?
I tested on v5.17 built from defconfig for rv64.
> The errors you're seeing simply mean that these addresses are not
> translated by the new address translation context set by the write to
> the satp.
> To be honest I don't immediately see how this could be caused by the
> patch, as it modifies the behaviour of the sfence.vma instruction, and
> there are none in your trace.
>
There was a sfence.vma. I just did not share the detailed trace before.
Here is the kernel code executing sfence.vma
https://elixir.bootlin.com/linux/v5.17/source/arch/riscv/kernel/head.S#L122
Here is the detailed trace that should provide more information.
------------------------------------------------------------------------------------------------------------------------------
----------------
IN:
Priv: 1; Virt: 0
0x0000000080a04664: 70e2 ld ra,56(sp)
0x0000000080a04666: 7442 ld s0,48(sp)
0x0000000080a04668: 74a2 ld s1,40(sp)
0x0000000080a0466a: 7902 ld s2,32(sp)
0x0000000080a0466c: 69e2 ld s3,24(sp)
0x0000000080a0466e: 6a42 ld s4,16(sp)
0x0000000080a04670: 6aa2 ld s5,8(sp)
0x0000000080a04672: 6121 addi sp,sp,64
0x0000000080a04674: 8082 ret
----------------
IN:
Priv: 1; Virt: 0
0x0000000080201132: 00a05517 auipc a0,10506240
# 0x80c06132
0x0000000080201136: ece50513 addi a0,a0,-306
0x000000008020113a: ec7ff0ef jal ra,-314
# 0x80201000
----------------
IN:
Priv: 1; Virt: 0
0x0000000080201000: 00d95597 auipc a1,14241792
# 0x80f96000
0x0000000080201004: 38858593 addi a1,a1,904
0x0000000080201008: 658c ld a1,8(a1)
0x000000008020100a: fffff617 auipc a2,-4096
# 0x8020000a
0x000000008020100e: ff660613 addi a2,a2,-10
0x0000000080201012: 8d91 sub a1,a1,a2
0x0000000080201014: 90ae add ra,ra,a1
0x0000000080201016: 00000617 auipc a2,0
# 0x80201016
0x000000008020101a: 02e60613 addi a2,a2,46
0x000000008020101e: 962e add a2,a2,a1
0x0000000080201020: 10561073 csrrw zero,stvec,a2
----------------
IN:
Priv: 1; Virt: 0
0x0000000080201024: 00c55613 srli a2,a0,12
0x0000000080201028: 83018593 addi a1,gp,-2000
0x000000008020102c: 618c ld a1,0(a1)
0x000000008020102e: 8e4d or a2,a2,a1
0x0000000080201030: 010f7517 auipc a0,17788928
# 0x812f8030
0x0000000080201034: fd050513 addi a0,a0,-48
0x0000000080201038: 8131 srli a0,a0,12
0x000000008020103a: 8d4d or a0,a0,a1
0x000000008020103c: 12000073 sfence.vma zero,zero
----------------
IN:
Priv: 1; Virt: 0
0x0000000080201040: 18051073 csrrw zero,satp,a0
----------------
IN:
Priv: 1; Virt: 0
0x0000000080201044: Address 0x80201044 is out of bounds.
0x0000000080201049: Address 0x80201049 is out of bounds.
0x000000008020104e: Address 0x8020104e is out of bounds.
Disassembler disagrees with translator over instruction decoding
Please report this to qemu-devel@nongnu.org
----------------
IN:
Priv: 1; Virt: 0
0x0000000080201050: Address 0x80201050 is out of bounds.
0x0000000080201055: Address 0x80201055 is out of bounds.
0x000000008020105a: Address 0x8020105a is out of bounds.
Disassembler disagrees with translator over instruction decoding
Please report this to qemu-devel@nongnu.org
----------------
IN:
Priv: 1; Virt: 0
0x000000008020105c: Address 0x8020105c is out of bounds.
Disassembler disagrees with translator over instruction decoding
Please report this to qemu-devel@nongnu.org
------------------------------------------------------------------------------------------------------------------------------
> Idan Horowitz
--
Regards,
Atish
- [PATCH] target/riscv: Exit current TB after an sfence.vma, Idan Horowitz, 2022/03/15
- Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, phantom, 2022/03/16
- Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, Atish Patra, 2022/03/29
- Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, Idan Horowitz, 2022/03/30
- Re: [PATCH] target/riscv: Exit current TB after an sfence.vma,
Atish Patra <=
- Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, Idan Horowitz, 2022/03/30
- Re: Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, phantom, 2022/03/30
- Re: Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, Palmer Dabbelt, 2022/03/30
- Re: Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, Palmer Dabbelt, 2022/03/30
- Re: Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, Idan Horowitz, 2022/03/30
- Re: Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, Alistair Francis, 2022/03/30
- Re: Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, Palmer Dabbelt, 2022/03/31
- Re: Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, Alistair Francis, 2022/03/31
- Re: Re: [PATCH] target/riscv: Exit current TB after an sfence.vma, Palmer Dabbelt, 2022/03/31