From: Atish Patra <atishp@atishpatra.org> To: Idan Horowitz <idan.horowitz@gmail.com> Cc: Alistair Francis <Alistair.Francis@wdc.com>, phantom@zju.edu.cn, "open list:RISC-V" <qemu-riscv@nongnu.org>, "qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org> Subject: Re: [PATCH] target/riscv: Exit current TB after an sfence.vma Date: Wed, 30 Mar 2022 00:28:28 -0700 [thread overview] Message-ID: <CAOnJCU+ZMnLoi2GNDdKz24KJbHpEBQT1=Qo5LbSE1xz=WvwbrA@mail.gmail.com> (raw) In-Reply-To: <CA+4MfE+hFQhRYEgEXy-u10=MBhnmA5f7MdRFjW7Xc0dLPSiLXw@mail.gmail.com> 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
WARNING: multiple messages have this Message-ID (diff)
From: Atish Patra <atishp@atishpatra.org> To: Idan Horowitz <idan.horowitz@gmail.com> Cc: phantom@zju.edu.cn, "open list:RISC-V" <qemu-riscv@nongnu.org>, Alistair Francis <Alistair.Francis@wdc.com>, "qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org> Subject: Re: [PATCH] target/riscv: Exit current TB after an sfence.vma Date: Wed, 30 Mar 2022 00:28:28 -0700 [thread overview] Message-ID: <CAOnJCU+ZMnLoi2GNDdKz24KJbHpEBQT1=Qo5LbSE1xz=WvwbrA@mail.gmail.com> (raw) In-Reply-To: <CA+4MfE+hFQhRYEgEXy-u10=MBhnmA5f7MdRFjW7Xc0dLPSiLXw@mail.gmail.com> 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
next prev parent reply other threads:[~2022-03-30 7:37 UTC|newest] Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-03-16 17:22 [PATCH] target/riscv: Exit current TB after an sfence.vma phantom 2022-03-29 23:15 ` Atish Patra 2022-03-29 23:15 ` Atish Patra 2022-03-30 6:15 ` Idan Horowitz 2022-03-30 6:15 ` Idan Horowitz 2022-03-30 7:28 ` Atish Patra [this message] 2022-03-30 7:28 ` Atish Patra 2022-03-30 7:35 ` Idan Horowitz 2022-03-30 7:35 ` Idan Horowitz 2022-03-30 12:38 ` phantom 2022-03-30 12:38 ` phantom 2022-03-30 16:11 ` Palmer Dabbelt 2022-03-30 16:11 ` Palmer Dabbelt 2022-03-30 16:11 ` Palmer Dabbelt 2022-03-30 17:06 ` Palmer Dabbelt 2022-03-30 17:06 ` Palmer Dabbelt 2022-03-30 17:06 ` Palmer Dabbelt 2022-03-30 17:10 ` Idan Horowitz 2022-03-30 17:10 ` Idan Horowitz 2022-03-30 17:10 ` Idan Horowitz 2022-03-31 3:23 ` Alistair Francis 2022-03-31 3:23 ` Alistair Francis 2022-03-31 3:23 ` Alistair Francis 2022-03-31 4:36 ` Palmer Dabbelt 2022-03-31 4:36 ` Palmer Dabbelt 2022-03-31 4:36 ` Palmer Dabbelt 2022-03-31 5:13 ` Alistair Francis 2022-03-31 5:13 ` Alistair Francis 2022-03-31 5:13 ` Alistair Francis 2022-03-31 19:54 ` Palmer Dabbelt 2022-03-31 19:54 ` Palmer Dabbelt 2022-03-31 19:54 ` Palmer Dabbelt -- strict thread matches above, loose matches on Subject: below -- 2022-03-15 19:23 Idan Horowitz 2022-03-15 19:23 ` Idan Horowitz 2022-03-15 19:37 ` Richard Henderson 2022-03-15 19:37 ` Richard Henderson 2022-03-15 22:52 ` Alistair Francis 2022-03-15 22:52 ` Alistair Francis 2022-03-15 23:42 ` Alistair Francis 2022-03-15 23:42 ` Alistair Francis 2022-03-30 6:09 ` Alistair Francis 2022-03-30 6:09 ` Alistair Francis
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAOnJCU+ZMnLoi2GNDdKz24KJbHpEBQT1=Qo5LbSE1xz=WvwbrA@mail.gmail.com' \ --to=atishp@atishpatra.org \ --cc=Alistair.Francis@wdc.com \ --cc=idan.horowitz@gmail.com \ --cc=phantom@zju.edu.cn \ --cc=qemu-devel@nongnu.org \ --cc=qemu-riscv@nongnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.