qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 00/29] target/riscv: Convert to decodetree


From: Palmer Dabbelt
Subject: Re: [Qemu-devel] [PATCH v2 00/29] target/riscv: Convert to decodetree
Date: Fri, 26 Oct 2018 23:20:08 -0700 (PDT)

On Fri, 26 Oct 2018 03:53:11 PDT (-0700), address@hidden wrote:

On 10/25/18 12:21 AM, Palmer Dabbelt wrote:
On Sat, 20 Oct 2018 00:14:22 PDT (-0700),
address@hidden wrote:
Hi,

this patchset converts the RISC-V decoder to decodetree in three
major steps:

1) Convert 32-bit instructions to decodetree [Patch 1-14]:
    Many of the gen_* functions are called by the decode functions
for 16-bit
    and 32-bit functions. If we move translation code from the gen_*
    functions to the generated trans_* functions of decode-tree, we
get a lot of
    duplication. Therefore, we mostly generate calls to the old gen_*
function
    which are properly replaced after step 2).

    Each of the trans_ functions are grouped into files corresponding
to their
    ISA extension, e.g. addi which is in RV32I is translated in the file
    'trans_rvi.inc.c'.

2) Convert 16-bit instructions to decodetree [Patch 15-17]:
    All 16 bit instructions have a direct mapping to a 32 bit
instruction. Thus,
    we convert the arguments in the 16 bit trans_ function to the
arguments of
    the corresponding 32 bit instruction and call the 32 bit trans_
function.

3) Remove old manual decoding in gen_* function [Patch 17-28]:
    this move all manual translation code into the trans_*
instructions of
    decode tree, such that we can remove the old decode_* functions.

the full tree can be found here:
https://github.com/bkoppelmann/qemu/tree/riscv-dt-v2

Thanks!

I dropped this on top of master and it appears I'm getting a bunch of
oops when trying to boot Linux.  They're fairly far into the boot
process and may be a mistake on my end, I was just wondering if you'd
booted Linux?

Are there non fatal oops in booting Linux? I only checked whether I
could get a terminal on Fedora Linux.

Most of the stuff past early boot is, as if it's in a userspace process or kernel thread you can recover. My system eventually made it to a shell, but there was a lot of carnage on the way in -- most system services blew up.

I tested the same kernel+rootfs on master and it booted cleanly.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]