[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Host riscv disas is broken
From: |
Alistair Francis |
Subject: |
Re: Host riscv disas is broken |
Date: |
Wed, 4 Dec 2024 11:45:19 +0900 |
On Thu, Oct 17, 2024 at 2:39 PM LIU Zhiwei <zhiwei_liu@linux.alibaba.com> wrote:
>
>
> On 2024/10/17 11:52, Richard Henderson wrote:
> > On 10/16/24 19:57, LIU Zhiwei wrote:
> >> Hi Richard,
> >>
> >> On 2024/10/17 02:38, Richard Henderson wrote:
> >>> 2595: if (dec->cfg->ext_zcmop) {
> >>> 2690: if (dec->cfg->ext_zcmp && ((inst >> 12) & 0b01)) {
> >>> 2716: if (!dec->cfg->ext_zcmt) {
> >>> 2726: if (!dec->cfg->ext_zcmp) {
> >>> 4028: if (dec->cfg->ext_zimop) {
> >>> 5044: if (dec->cfg->ext_zfinx) {
> >>> 5051: if (dec->cfg->ext_zfinx) {
> >>> 5058: if (dec->cfg->ext_zfinx) {
> >>> 5065: if (dec->cfg->ext_zfinx) {
> >>> 5371: if (guard_func(cfg)) {
> >>>
> >>> This structure comes from RISCVCPU, a target structure.
> >> Oops. We missed this.
> >>> There is no such structure for the host, causing null pointer
> >>> dereferences.
> >>>
> >>> The zfinx references can be changed to
> >>>
> >>> dec->cfg && dec->cfg->ext_zfinx
> >>>
> >>> but some of them can simply be removed, e.g. zcmop and zimop, which
> >>> are otherwise reserved encodings.
> Yes. Maybe it is better to disassemble them as usual even when there are
> disabled or not supported.
> >>
> >> Should we probe the host feature like what we do in tcg backend
> >> support and then do the right disassemble according to the probe result?
> >
> > I don't think there's anything that is currently checked in
> > disas/riscv.c that needs to know about the host. And, as I say above,
> > some of those checks can be eliminated.
> >
> > Host disassembly needs are limited to what tcg/riscv/ emits.
>
> Agree.
Hey Zhiwei,
Did you follow up on this?
Alistair
- Re: Host riscv disas is broken,
Alistair Francis <=