Re: [Qemu-devel] [sw-dev] RFC: QEMU RISC-V modular ISA decoding

2017-07-26 Thread Michael Clark
> On 27 Jul 2017, at 8:58 AM, kr...@berkeley.edu wrote: > > > Given that one of the goals of RISC-V is extensibility, it would be > nice if the QEMU port was done in a way to make it easier to extend by > third parties, including other automated tools. I'm sure that, over > time, the preprocess

Re: [Qemu-devel] [PATCH v1 06/21] RISC-V FPU Support

2018-01-23 Thread Michael Clark
On Wed, Jan 3, 2018 at 12:10 PM, Richard Henderson < richard.hender...@linaro.org> wrote: > On 01/02/2018 04:44 PM, Michael Clark wrote: > > +/* convert RISC-V rounding mode to IEEE library numbers */ > > +unsigned int ieee_rm[] = { > > static const. Done. >

Re: [Qemu-devel] [PATCH v1 06/21] RISC-V FPU Support

2018-01-23 Thread Michael Clark
On Wed, Jan 3, 2018 at 12:10 PM, Richard Henderson < richard.hender...@linaro.org> wrote: > On 01/02/2018 04:44 PM, Michael Clark wrote: > > +/* convert RISC-V rounding mode to IEEE library numbers */ > > +unsigned int ieee_rm[] = { > > static const. > >

Re: [Qemu-devel] [PATCH v1 06/21] RISC-V FPU Support

2018-01-23 Thread Michael Clark
On Tue, Jan 23, 2018 at 3:15 PM, Michael Clark wrote: > > > On Wed, Jan 3, 2018 at 12:10 PM, Richard Henderson < > richard.hender...@linaro.org> wrote: > >> On 01/02/2018 04:44 PM, Michael Clark wrote: >> > +/* convert RISC-V rounding mode to IEEE library n

Re: [Qemu-devel] [PATCH v1 06/21] RISC-V FPU Support

2018-01-23 Thread Michael Clark
On Tue, Jan 23, 2018 at 4:01 PM, Richard Henderson < richard.hender...@linaro.org> wrote: > On 01/23/2018 01:37 PM, Michael Clark wrote: > > > > > > On Wed, Jan 3, 2018 at 12:10 PM, Richard Henderson > > mailto:richard.hender...@linaro.org>> > wrote: &

Re: [Qemu-devel] [PATCH v1 06/21] RISC-V FPU Support

2018-01-24 Thread Michael Clark
On Wed, Jan 24, 2018 at 8:16 AM, Richard Henderson < richard.hender...@linaro.org> wrote: > On 01/23/2018 05:31 PM, Michael Clark wrote: > > For the meantime we've greatly simplified cpu_mmu_index to just return > the > > processor mode as well as

Re: [Qemu-devel] [PATCH v2 03/21] RISC-V CPU Core Definition

2018-01-24 Thread Michael Clark
On Mon, Jan 15, 2018 at 5:44 AM, Igor Mammedov wrote: > On Wed, 10 Jan 2018 15:46:22 -0800 > Michael Clark wrote: > > > Add CPU state header, CPU definitions and initialization routines > > > > Signed-off-by: Michael Clark > > --- &

Re: [Qemu-devel] [PATCH v1 06/21] RISC-V FPU Support

2018-02-02 Thread Michael Clark
On Mon, Jan 29, 2018 at 12:33 PM, Jim Wilson wrote: > On Wed, Jan 24, 2018 at 3:47 PM, Richard Henderson > wrote: > > On 01/24/2018 10:58 AM, Jim Wilson wrote: > >> Although, looking at this again, I see another statement in a > >> different place that says: > >> > >> Except when otherwise state

Re: [Qemu-devel] [PATCH v1 21/21] RISC-V Build Infrastructure

2018-02-03 Thread Michael Clark
On Fri, Jan 5, 2018 at 7:22 PM, Michael Clark wrote: > > On Fri, 5 Jan 2018 at 5:55 AM, Antony Pavlov > wrote: > >> On Wed, 3 Jan 2018 13:44:25 +1300 >> Michael Clark wrote: >> >> > This adds RISC-V into the build system enabling the followi

Re: [Qemu-devel] [PULL 4/4] RISC-V: Respect fences for user-only emulators

2018-11-13 Thread Michael Clark
s I wrote, however perhaps thats just a matter style with respect to writing (or re-writing) history. Reviewed-by: Michael Clark --- > target/riscv/translate.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/target/riscv/translate.c b/target/riscv/translate.c > index f

Re: [Qemu-devel] [PR RFC] RISC-V Patches for 3.1-rc2

2018-11-13 Thread Michael Clark
On Wed, Nov 14, 2018 at 12:52 PM Palmer Dabbelt wrote: > The following changes since commit > cb968d275c145467c8b385a3618a207ec111eab1: > > Update version for v3.1.0-rc1 release (2018-11-13 18:16:14 +) > > are available in the Git repository at: > > git://github.com/riscv/riscv-qemu.git t

Re: [Qemu-devel] [PATCH v1 0/5] Misc RISC-V patches

2018-10-11 Thread Michael Clark
Hi All, On Thu, Oct 11, 2018 at 7:22 AM Palmer Dabbelt wrote: > On Wed, 10 Oct 2018 11:10:07 PDT (-0700), peter.mayd...@linaro.org wrote: > > On 10 October 2018 at 18:49, Palmer Dabbelt wrote: > >> we should really > >> get the ball rolling on our big patch backlog. > > > > Yes, please do. Soft

Re: [Qemu-devel] [PULL] First RISC-V Patch Set for the 3.1 Soft Freeze

2018-10-18 Thread Michael Clark
for you to fetch changes up to 7c28f4da20e5585dce7d575691dac5392b7c6f78: > >> > >>RISC-V: Don't add NULL bootargs to device-tree (2018-10-17 13:02:30 > -0700) > >> > >> -------- > >

Re: [Qemu-devel] [PATCH v2] riscv: remove define cpu_init()

2018-05-17 Thread Michael Clark
On Wed, May 16, 2018 at 4:00 AM, Igor Mammedov wrote: > cpu_init() was removed since 2.12, so drop the define that is now unused. > > Signed-off-by: Igor Mammedov > Reviewed-by: Philippe Mathieu-Daudé > Reviewed-by: Michael Clark --- > v2: > * refine commi

Re: [Qemu-devel] [PATCH v3 2/7] hw/riscv/sifive_e: Create a SiFive E SoC object

2018-05-17 Thread Michael Clark
On Tue, May 15, 2018 at 12:07 PM, Alistair Francis wrote: > Signed-off-by: Alistair Francis > Reviewed-by: Michael Clark > --- > hw/riscv/sifive_e.c | 97 +++-- > include/hw/riscv/sifive_e.h | 16 +- > 2 files changed, 86

Re: [Qemu-devel] [PATCH v3 4/7] hw/riscv/sifive_u: Set the soc device tree node as a simple-bus

2018-05-17 Thread Michael Clark
On Tue, May 15, 2018 at 12:07 PM, Alistair Francis wrote: > To allow Linux to ennumerate devices on the /soc/ node set it as a > "simple-bus". > > Signed-off-by: Alistair Francis > Reviewed-by: Michael Clark > --- > hw/riscv/sifive_u.c | 2 +- > 1 file c

Re: [Qemu-devel] [PATCH 5/9] target/riscv: Honor CPU_DUMP_FPU

2018-05-17 Thread Michael Clark
On Sun, May 13, 2018 at 12:52 PM, Philippe Mathieu-Daudé wrote: > On 05/11/2018 12:52 AM, Richard Henderson wrote: > > Cc: Michael Clark > > Cc: Palmer Dabbelt > > Cc: Sagar Karandikar > > Cc: Bastian Koppelmann > > Signed-off-by: Richard Henderson > &

Re: [Qemu-devel] [PATCH 4/9] target/riscv: Introduce cpu_riscv_get_fcsr

2018-05-17 Thread Michael Clark
On Fri, May 11, 2018 at 3:52 PM, Richard Henderson < richard.hender...@linaro.org> wrote: > Cc: Michael Clark > Cc: Palmer Dabbelt > Cc: Sagar Karandikar > Cc: Bastian Koppelmann > Signed-off-by: Richard Henderson > I'm not against this change but it conflicts w

Re: [Qemu-devel] [PATCH] RISC-V: make it possible to alter default reset vector

2018-05-17 Thread Michael Clark
to maintain reconfigurable hardware support in a SiFive tree. I'll leave the RFC proper for another email. This is just an abstract. BTW - there are plently of others you can get to accept this patch ;-) See the 'Cc. Signed-off-by: Antony Pavlov > Cc: Michael Clark > Cc: Palmer Da

[Qemu-devel] [PATCH v1 00/30] QEMU 2.13 RISC-V updates

2018-05-22 Thread Michael Clark
irt bbl/linux-4.16-rc2 board test: pass * sifive_e board test (HiFive1 binaries): pass * sifive_u board test (HiFive Unleashed): pass * riscv-tests: pass * checkpatch: pass Kito Cheng (1): RISC-V: linux-user support for RVE ABI Michael Clark (27): RISC-V: Update address bits to support sv39

[Qemu-devel] [PATCH v1 02/30] RISC-V: Improve page table walker spec compliance

2018-05-22 Thread Michael Clark
PTE X flag and mstatus.mxr - Use memory_region_is_ram in pte update Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Reviewed-by: Alistair Francis --- target/riscv/cpu_bits.h | 2 -- target/riscv/helper.c | 64

[Qemu-devel] [PATCH v1 04/30] RISC-V: Simplify riscv_cpu_local_irqs_pending

2018-05-22 Thread Michael Clark
This commit is intended to improve readability. There is no change to the logic. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Reviewed-by: Alistair Francis --- target/riscv/helper.c | 34

[Qemu-devel] [PATCH v1 08/30] RISC-V: Implement modular CSR helper interface

2018-05-22 Thread Michael Clark
Francis Signed-off-by: Michael Clark --- target/riscv/Makefile.objs | 2 +- target/riscv/cpu.h | 18 +- target/riscv/cpu_helper.c | 4 +- target/riscv/csr.c | 857 + target/riscv/gdbstub.c | 10 +- target/riscv/op_helper.c | 611

[Qemu-devel] [PATCH v1 01/30] RISC-V: Update address bits to support sv39 and sv48

2018-05-22 Thread Michael Clark
Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Palmer Dabbelt --- target/riscv/cpu.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 34abc383e3d4..e0608e6d5f08 100644

[Qemu-devel] [PATCH v1 07/30] RISC-V: Update CSR and interrupt definitions

2018-05-22 Thread Michael Clark
her paging mode and page table bit definitions. * Move together interrupt and exception cause definitions. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Reviewed-by: Alistair Francis --- target/riscv/cpu_bit

[Qemu-devel] [PATCH v1 13/30] RISC-V: Implement mstatus.TSR/TW/TVM

2018-05-22 Thread Michael Clark
This adds the necessary minimum to support S-mode virtualization for priv ISA >= v1.10 Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Cc: Matthew Suozzo Signed-off-by: Michael Clark Co-authored-by: Matthew Suozzo Co-authored-by: Michael Cl

[Qemu-devel] [PATCH v1 19/30] RISC-V: Allow interrupt controllers to claim interrupts

2018-05-22 Thread Michael Clark
r and software interrupts by other interrupt controller models. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark --- hw/riscv/sifive_plic.c| 13 + target/riscv/cpu.h| 2 ++ target/riscv/cpu_helper.c

[Qemu-devel] [PATCH v1 03/30] RISC-V: Use atomic_cmpxchg to update PLIC bitmaps

2018-05-22 Thread Michael Clark
the count of pending interrupts is not used. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark Reviewed-by: Richard Henderson --- hw/riscv/sifive_plic.c | 49 +++--- include/hw/riscv

[Qemu-devel] [PATCH v1 12/30] RISC-V: Mark mstatus.fs dirty

2018-05-22 Thread Michael Clark
tatus.FS so the bug in the first spin of this patch has been fixed in a prior commit. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Cc: Richard Henderson Signed-off-by: Michael Clark Reviewed-by: Michael Clark Co-authored-by: Richard Henderson Co-aut

[Qemu-devel] [PATCH v1 16/30] RISC-V: Use riscv prefix consistently on cpu helpers

2018-05-22 Thread Michael Clark
riscv_set_mode to riscv_cpu_set_mode Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- linux-user/riscv/signal.c | 4 ++-- target/riscv/cpu.h| 21 ++--- target/riscv/cpu_helper.c | 10 +- target/riscv

[Qemu-devel] [PATCH v1 05/30] RISC-V: Allow setting and clearing multiple irqs

2018-05-22 Thread Michael Clark
Francis Signed-off-by: Michael Clark --- hw/riscv/sifive_clint.c | 8 hw/riscv/sifive_plic.c | 4 ++-- target/riscv/cpu.h | 22 +- target/riscv/op_helper.c | 24 +++- 4 files changed, 34 insertions(+), 24 deletions(-) diff --git a/hw/riscv

[Qemu-devel] [PATCH v1 14/30] RISC-V: Add public API for the CSR dispatch table

2018-05-22 Thread Michael Clark
This allows hardware and/or derived cpu instances to override or implement new CSR operations. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/cpu.h | 18 ++ target/riscv/csr.c | 35

[Qemu-devel] [PATCH v1 17/30] RISC-V: Replace __builtin_popcount with ctpop8 in PLIC

2018-05-22 Thread Michael Clark
The mode variable only uses the lower 4-bits (M,H,S,U) so replace the GCC specific __builtin_popcount with ctpop8. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark --- hw/riscv/sifive_plic.c | 4 ++-- 1 file changed, 2

[Qemu-devel] [PATCH v1 15/30] RISC-V: Add hartid and \n to interrupt logging

2018-05-22 Thread Michael Clark
Add carriage return that was erroneously removed when converting to qemu_log. Change hard coded core number to the actual hartid. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/cpu_helper.c | 18

[Qemu-devel] [PATCH v1 06/30] RISC-V: Move non-ops from op_helper to cpu_helper

2018-05-22 Thread Michael Clark
This patch makes op_helper.c contain only instruction operation helpers used by translate.c and moves any unrelated cpu helpers into cpu_helper.c. No logic is changed by this patch. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael

[Qemu-devel] [PATCH v1 18/30] RISC-V: Add missing free for plic_hart_config

2018-05-22 Thread Michael Clark
Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark --- hw/riscv/virt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index ad03113e0f72..321fa6e8122a 100644 --- a/hw/riscv/virt.c +++ b/hw

[Qemu-devel] [PATCH v1 21/30] RISC-V: Add misa.MAFD checks to translate

2018-05-22 Thread Michael Clark
-off-by: Michael Clark --- target/riscv/translate.c | 158 +++ 1 file changed, 158 insertions(+) diff --git a/target/riscv/translate.c b/target/riscv/translate.c index fd21b133a5a4..e488101ff56d 100644 --- a/target/riscv/translate.c +++ b/target/riscv

[Qemu-devel] [PATCH v1 09/30] RISC-V: Implement atomic mip/sip CSR updates

2018-05-22 Thread Michael Clark
Use the new CSR read/modify/write interface to implement atomic updates to mip/sip. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/csr.c | 56 +++--- 1 file

[Qemu-devel] [PATCH v1 25/30] RISC-V: Enable second UART on sifive_e and sifive_u

2018-05-22 Thread Michael Clark
Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark --- hw/riscv/sifive_e.c | 4 ++-- hw/riscv/sifive_u.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index e4ecb7aa4bb6..159209199537 100644 --- a/hw

[Qemu-devel] [PATCH v1 23/30] RISC-V: Fix CLINT timecmp low 32-bit writes

2018-05-22 Thread Michael Clark
s are usually written first followed by the high order bits meaning the high order bits contained an invalid value between the timecmp_lo and timecmp_hi update. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Co-Authored-by: Johannes Haring Signed-off-by: Mi

[Qemu-devel] [PATCH v1 10/30] RISC-V: Implement existential predicates for CSRs

2018-05-22 Thread Michael Clark
s and processors that don't implement PMP will trap on accesses to pmp* CSRs. PMP checks are disabled in riscv_cpu_handle_mmu_fault when the PMP CPU feature is not present. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark -

[Qemu-devel] [PATCH v1 27/30] elf: Add RISC-V PSABI ELF header defines

2018-05-22 Thread Michael Clark
Refer to the RISC-V PSABI specification for details: - https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md Cc: Michael Tokarev Cc: Laurent Vivier Cc: Richard Henderson Cc: Alistair Francis Signed-off-by: Michael Clark --- include/elf.h | 8 1 file changed, 8

[Qemu-devel] [PATCH v1 24/30] RISC-V: Fix PLIC pending bitfield reads

2018-05-22 Thread Michael Clark
Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Reported-by: Vincent Siles Signed-off-by: Michael Clark --- hw/riscv/sifive_plic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index 28e28d932f7c

[Qemu-devel] [PATCH v1 11/30] RISC-V: Split out mstatus_fs from tb_flags

2018-05-22 Thread Michael Clark
From: Richard Henderson Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Cc: Richard Henderson Signed-off-by: Michael Clark Reviewed-by: Michael Clark --- target/riscv/cpu.h | 6 +++--- target/riscv/translate.c | 10 +- 2 files changed, 8

[Qemu-devel] [PATCH v1 20/30] RISC-V: Add misa to DisasContext

2018-05-22 Thread Michael Clark
gen methods should access state from DisasContext. Add misa field to the DisasContext struct and remove CPURISCVState argument from all gen methods. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Cc: Emilio G. Cota Signed-off-by: Michael Clark Reviewed

[Qemu-devel] [PATCH v1 22/30] RISC-V: Add misa runtime write support

2018-05-22 Thread Michael Clark
o consistency is taken by flushing the translation cache on misa writes. misa_mask is added to the CPU struct to store the original set of extensions. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/cpu.c | 2 +

[Qemu-devel] [PATCH v1 26/30] RISC-V: Remove unnecessary disassembler constraints

2018-05-22 Thread Michael Clark
Remove machine generated constraints that are not referenced by the pseudo-instruction constraints. Cc: Palmer Dabbelt Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Signed-off-by: Michael Clark --- disas/riscv.c | 138

[Qemu-devel] [PATCH v1 28/30] RISC-V: linux-user support for RVE ABI

2018-05-22 Thread Michael Clark
Karandikar Cc: Bastian Koppelmann Cc: Alistair Francis Co-authored-by: Kito Cheng Co-authored-by: Michael Clark Signed-off-by: Michael Clark --- linux-user/riscv/cpu_loop.c | 14 +- target/riscv/cpu.h | 4 target/riscv/cpu_user.h | 3 ++- 3 files changed, 19

[Qemu-devel] [PATCH v1 29/30] RISC-V: Don't add NULL bootargs to device-tree

2018-05-22 Thread Michael Clark
--- hw/riscv/sifive_u.c | 4 +++- hw/riscv/spike.c| 6 -- hw/riscv/virt.c | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 326b0f434cff..02721d43c474 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -

[Qemu-devel] [PATCH v1 30/30] RISC-V: Support separate firmware and kernel payload

2018-05-22 Thread Michael Clark
is Signed-off-by: Michael Clark --- hw/riscv/Makefile.objs | 1 + hw/riscv/boot.c | 172 hw/riscv/virt.c | 67 +++ include/hw/riscv/boot.h | 30 + 4 files changed, 213 insertions(+), 57 deletions(-) crea

Re: [Qemu-devel] [PATCH v1 02/30] RISC-V: Improve page table walker spec compliance

2018-05-23 Thread Michael Clark
to the MMU. Michael. On Wed, May 23, 2018 at 12:14 PM, Michael Clark wrote: > - Inline PTE_TABLE check for better readability > - Change access checks from ternary operator to if > - Improve readibility of User page U mode and SUM test > - Disallow non U mode from fetching from User p

Re: [Qemu-devel] [RISC-V] Coverity 1390849, Logically dead code

2018-05-24 Thread Michael Clark
On Fri, May 25, 2018 at 9:54 AM, Richard Henderson wrote: > In the latest Coverity scan, it reports > > 405if (csrno >= CSR_MHPMCOUNTER3 && csrno <= CSR_MHPMCOUNTER31) { > 406return 0; > 407} > 408#if defined(TARGET_RISCV32) > 409if (csrno >= CSR_MHPMCOUNTER3 && csrno <= CSR_M

[Qemu-devel] [PATCH] RISC-V: Correct typo in RV32 perf counters

2018-05-24 Thread Michael Clark
This patch enables mhpmcounter3h through mhpmcounter31h on RV32. Previously the RV32 h versions (high 32-bits of 64-bit counters) of these counters would trap with an illegal instruction instead of returning 0 as intended. Reported-by: Richard Henderson Signed-off-by: Michael Clark --- target

Re: [Qemu-devel] [PATCH v1 27/30] elf: Add RISC-V PSABI ELF header defines

2018-05-25 Thread Michael Clark
On Wed, May 23, 2018 at 6:44 PM, Laurent Vivier wrote: > Le 23/05/2018 à 02:15, Michael Clark a écrit : > > Refer to the RISC-V PSABI specification for details: > > > > - https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md > > > > Cc: Michae

[Qemu-devel] [PATCH v2] elf: Add RISC-V PSABI ELF header defines

2018-05-25 Thread Michael Clark
Refer to the RISC-V PSABI specification for details: - https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md Cc: Michael Tokarev Cc: Laurent Vivier Cc: Richard Henderson Cc: Alistair Francis Signed-off-by: Michael Clark --- include/elf.h | 8 1 file changed, 8

Re: [Qemu-devel] [PATCH v2] elf: Add RISC-V PSABI ELF header defines

2018-05-25 Thread Michael Clark
On Fri, May 25, 2018 at 7:53 PM, Laurent Vivier wrote: > Le 25/05/2018 à 09:22, Michael Clark a écrit : > > Refer to the RISC-V PSABI specification for details: > > > > - https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md > > > > Cc: Michae

Re: [Qemu-devel] qemu-riscv64 seg fault

2018-09-03 Thread Michael Clark
Thanks. I was just about to log an issue in the riscv-qemu issue tracker on GitHub. I reproduced it on my side. The fact that it is causes QEMU user to crash in translate.c is interesting. I ran your program with -d in_asm and it appears to crash in thread::join On Mon, Sep 3, 2018 at 7:58 PM, P

Re: [Qemu-devel] qemu-riscv64 seg fault

2018-09-03 Thread Michael Clark
On Mon, Sep 3, 2018 at 8:16 PM, Pranith Kumar wrote: > On Mon, Sep 3, 2018 at 1:07 AM Michael Clark wrote: > > > > Thanks. I was just about to log an issue in the riscv-qemu issue tracker > on GitHub. > > > > I reproduced it on my side. The fact that it is

Re: [Qemu-devel] [PULL v4 0/7] riscv-pull queue

2018-07-09 Thread Michael Clark
On Tue, Jul 10, 2018 at 9:52 AM, Alistair Francis wrote: > On Mon, Jul 9, 2018 at 3:00 AM, Andreas Schwab wrote: > > What is the state of the sifive_u emulation? When I tried to boot a bbl > > with an included kernel I get these errors: > > > > qemu-system-riscv64: plic: invalid register write:

Re: [Qemu-devel] [PATCH v2 6/6] riscv64-softmmu.mak: Build Virtio Block support

2018-07-09 Thread Michael Clark
On Tue, 10 Jul 2018 at 12:29 PM, Alistair Francis wrote: > Add build time support for the VirtIO block device. This allows us to > attach a drive using the virtio-blk-device. I’m not sure what has changed in master, but VirtIO block and net for both softmmu-riscv32 and softmmu-riscv64 were prev

Re: [Qemu-devel] [PATCH v1 1/5] sifive_e: Fix crash when introspecting the device

2018-07-17 Thread Michael Clark
On Wed, Jul 18, 2018 at 8:27 AM, Alistair Francis wrote: > Use the new object_initialize_child() and sysbus_init_child_obj() to > fix the issue. > > Signed-off-by: Alistair Francis > Reviewed-by: Michael Clark > --- > hw/riscv/sifive_e.c | 12 ++-- > 1 fi

Re: [Qemu-devel] [PATCH v1 4/5] riscv_hart: Fix crash when introspecting the device

2018-07-17 Thread Michael Clark
On Wed, Jul 18, 2018 at 8:28 AM, Alistair Francis wrote: > Use the new object_initialize_child() and sysbus_init_child_obj() to > fix the issue. > > Signed-off-by: Alistair Francis > Reviewed-by: Michael Clark > --- > hw/riscv/riscv_hart.c | 7 +++ > 1 file cha

Re: [Qemu-devel] [PATCH v1 3/5] virt: Fix crash when introspecting the device

2018-07-17 Thread Michael Clark
On Wed, Jul 18, 2018 at 8:28 AM, Alistair Francis wrote: > Use the new object_initialize_child() and sysbus_init_child_obj() to > fix the issue. > > Signed-off-by: Alistair Francis > Reviewed-by: Michael Clark > --- > hw/riscv/virt.c | 5 ++--- > 1 file cha

Re: [Qemu-devel] [PATCH v1 5/5] spike: Fix crash when introspecting the device

2018-07-17 Thread Michael Clark
On Wed, Jul 18, 2018 at 8:28 AM, Alistair Francis wrote: > Use the new object_initialize_child() and sysbus_init_child_obj() to > fix the issue. > > Signed-off-by: Alistair Francis > Reviewed-by: Michael Clark > --- > hw/riscv/spike.c | 10 -- > 1 file cha

Re: [Qemu-devel] [PATCH v1 2/5] sifive_u: Fix crash when introspecting the device

2018-07-17 Thread Michael Clark
On Wed, Jul 18, 2018 at 8:28 AM, Alistair Francis wrote: > Use the new object_initialize_child() and sysbus_init_child_obj() to > fix the issue. > > Signed-off-by: Alistair Francis > Reviewed-by: Michael Clark > --- > hw/riscv/sifive_u.c | 15 +++ > 1 fi

Re: [Qemu-devel] [PATCH] riscv: requires libfdt

2018-04-19 Thread Michael Clark
ealized that riscv32 use it too so I'll correct with > > riscv*-softmmu. > > Using "riscv*-softmmu": > Indeed. We had this fix in our tree before one of the rebases against upstream: https://github.com/riscv/riscv-qemu/commit/90cdfb86e81c54c1df42412b10b86fd83a6dee82 It must have somehow got dropped when we forward ported to QEMU master in December 2017. My apologies. Reviewed-by: Philippe Mathieu-Daudé > Reviewed-by: Michael Clark >> fdt_required=yes > >> ;; > >> esac > >> > > >

Re: [Qemu-devel] [sw-dev] The problem of write misa on QEMU and BBL

2018-04-19 Thread Michael Clark
On Thu, Apr 19, 2018 at 9:28 PM, Zong Li wrote: > 2018-04-19 12:43 GMT+08:00 Michael Clark : > > Hi Zong, > > > >> On 19/04/2018, at 2:40 PM, Zong Li wrote: > >> > >> Hi all, > >> > >> For BBL part, in fp_init at machine/minit.

Re: [Qemu-devel] [sw-dev] The problem of write misa on QEMU and BBL

2018-04-19 Thread Michael Clark
On Fri, Apr 20, 2018 at 12:05 PM, Michael Clark wrote: > > > On Thu, Apr 19, 2018 at 9:28 PM, Zong Li wrote: > >> 2018-04-19 12:43 GMT+08:00 Michael Clark : >> > Hi Zong, >> > >> >> On 19/04/2018, at 2:40 PM, Zong Li wrote: >> >> &

Re: [Qemu-devel] [sw-dev] The problem of write misa on QEMU and BBL

2018-04-19 Thread Michael Clark
On Fri, Apr 20, 2018 at 12:12 PM, Andrew Waterman wrote: > > > On Thu, Apr 19, 2018 at 5:11 PM, Michael Clark wrote: > >> >> >> On Fri, Apr 20, 2018 at 12:05 PM, Michael Clark wrote: >> >>> >>> >>> On Thu, Apr 19, 2018 at 9:28

Re: [Qemu-devel] [PATCH v1 2/2] riscv: htif: increase the priority of the htif subregion

2018-04-19 Thread Michael Clark
- (prio 0, i/o): system > -000f (prio 1, i/o): riscv.htif.uart > -00011fff (prio 0, ram): riscv.spike.bootrom > 0200-0200 (prio 0, i/o): riscv.sifive.clint >

[Qemu-devel] [PATCH v8 00/35] QEMU 2.13 Privileged ISA emulation updates

2018-04-25 Thread Michael Clark
table walker v1 * Initial post merge cleanup patch series Michael Clark (33): RISC-V: Replace hardcoded constants with enum values RISC-V: Make virt board description match spike RISC-V: Use ROM base address and size from memmap RISC-V: Remove identity_translate from load_elf RISC-V

[Qemu-devel] [PATCH v8 01/35] RISC-V: Replace hardcoded constants with enum values

2018-04-25 Thread Michael Clark
The RISC-V device-tree code has a number of hard-coded constants and this change moves them into header enums. Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt Reviewed-by: Philippe Mathieu-Daudé --- hw/riscv/sifive_clint.c | 9

[Qemu-devel] [PATCH v8 08/35] RISC-V: Make virt header comment title consistent

2018-04-25 Thread Michael Clark
Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt Reviewed-by: Philippe Mathieu-Daudé --- include/hw/riscv/virt.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/hw/riscv/virt.h b/include/hw/riscv/virt.h index

[Qemu-devel] [PATCH v8 03/35] RISC-V: Use ROM base address and size from memmap

2018-04-25 Thread Michael Clark
Another case of replacing hard coded constants, this time referring to the definition in the virt machine's memmap. Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt Reviewed-by: Philippe Mathieu-Daudé --- hw/riscv/virt.c

[Qemu-devel] [PATCH v8 02/35] RISC-V: Make virt board description match spike

2018-04-25 Thread Michael Clark
This makes 'qemu-system-riscv64 -machine help' output more tidy and consistent. Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt Reviewed-by: Philippe Mathieu-Daudé --- hw/riscv/virt.c | 2 +- 1 file changed, 1 insertion(+),

[Qemu-devel] [PATCH v8 09/35] RISC-V: Remove EM_RISCV ELF_MACHINE indirection

2018-04-25 Thread Michael Clark
Pointless indirection. Other ports use EM_ constants directly. Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt Reviewed-by: Philippe Mathieu-Daudé --- hw/riscv/sifive_e.c | 2 +- hw/riscv/sifive_u.c | 2 +- hw/riscv/spike.c| 2

[Qemu-devel] [PATCH v8 13/35] RISC-V: Improve page table walker spec compliance

2018-04-25 Thread Michael Clark
PTE X flag and mstatus.mxr - Use memory_region_is_ram in pte update Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/cpu_bits.h | 2 -- target/riscv/helper.c | 64

[Qemu-devel] [PATCH v8 04/35] RISC-V: Remove identity_translate from load_elf

2018-04-25 Thread Michael Clark
When load_elf is called with NULL as an argument to the address translate callback, it does an identity translation. This commit removes the redundant identity_translate callback. Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt Reviewed

[Qemu-devel] [PATCH v8 06/35] RISC-V: Include instruction hex in disassembly

2018-04-25 Thread Michael Clark
This was added to help debug issues using -d in_asm. It is useful to see the instruction bytes, as one can detect if one is trying to execute ASCII or device-tree magic. Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt Reviewed-by

[Qemu-devel] [PATCH v8 17/35] RISC-V: No traps on writes to misa, minstret, mcycle

2018-04-25 Thread Michael Clark
: Michael Clark --- target/riscv/op_helper.c | 26 +- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/target/riscv/op_helper.c b/target/riscv/op_helper.c index 828f20c..b81b9b6 100644 --- a/target/riscv/op_helper.c +++ b/target/riscv/op_helper.c @@ -213,17

[Qemu-devel] [PATCH v8 14/35] RISC-V: Update E order and I extension order

2018-04-25 Thread Michael Clark
are mutually exclusive, as the E extension will be added to the RISC-V port in the future. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/cpu.c | 2 +- target/riscv/cpu.h | 1 + 2 files changed, 2 insertions

[Qemu-devel] [PATCH v8 05/35] RISC-V: Remove unused class definitions

2018-04-25 Thread Michael Clark
plete unnecessary. Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt Reviewed-by: Philippe Mathieu-Daudé --- hw/riscv/riscv_hart.c | 6 -- hw/riscv/sifive_e.c | 25 - hw/riscv/sifive_u.c

[Qemu-devel] [PATCH v8 15/35] RISC-V: Hardwire satp to 0 for no-mmu case

2018-04-25 Thread Michael Clark
more complex trap handling code). Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/op_helper.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/target/riscv/op_helper.c b/target/riscv

[Qemu-devel] [PATCH v8 23/35] RISC-V: Simplify riscv_cpu_local_irqs_pending

2018-04-25 Thread Michael Clark
This commit is intended to improve readability. There is no change to the logic. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/helper.c | 34 -- 1 file changed, 12 insertions

[Qemu-devel] [PATCH v8 20/35] RISC-V: Use [ms]counteren CSRs when priv ISA >= v1.10

2018-04-25 Thread Michael Clark
ses generate illegal instructions when the privileged ISA <= v1.9.1 - Makes mscounteren and mucounteren CSR accesses generate illegal instructions when the privileged ISA >= v1.10 Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Mich

[Qemu-devel] [PATCH v8 07/35] RISC-V: Make some header guards more specific

2018-04-25 Thread Michael Clark
Cc: Sagar Karandikar Cc: Bastian Koppelmann Signed-off-by: Michael Clark Signed-off-by: Palmer Dabbelt Reviewed-by: Philippe Mathieu-Daudé --- include/hw/riscv/spike.h | 4 ++-- include/hw/riscv/virt.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/hw/riscv

[Qemu-devel] [PATCH v8 18/35] RISC-V: Clear mtval/stval on exceptions without info

2018-04-25 Thread Michael Clark
Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/helper.c | 8 1 file changed, 8 insertions(+) diff --git a/target/riscv/helper.c b/target/riscv/helper.c index 459fc97..3b57e13 100644 --- a/target/riscv/helper.c +++ b/target/riscv/helper.c

[Qemu-devel] [PATCH v8 21/35] RISC-V: Add mcycle/minstret support for -icount auto

2018-04-25 Thread Michael Clark
instructions will return the instruction count. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/op_helper.c | 24 target/riscv/translate.c | 2 ++ 2 files changed, 22 insertions(+), 4

[Qemu-devel] [PATCH v8 30/35] RISC-V: Split out mstatus_fs from tb_flags

2018-04-25 Thread Michael Clark
From: Richard Henderson Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Cc: Richard Henderson Signed-off-by: Michael Clark --- target/riscv/cpu.h | 6 +++--- target/riscv/translate.c | 10 +- 2 files changed, 8 insertions(+), 8 deletions

[Qemu-devel] [PATCH v8 10/35] RISC-V: Remove erroneous comment from translate.c

2018-04-25 Thread Michael Clark
Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/translate.c | 1 - 1 file changed, 1 deletion(-) diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 808eab7..c3a029a 100644 --- a/target

[Qemu-devel] [PATCH v8 26/35] RISC-V: Update CSR and interrupt definitions

2018-04-25 Thread Michael Clark
her paging mode and page table bit definitions. * Move together interrupt and exception cause definitions. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/cpu_bit

[Qemu-devel] [PATCH v8 24/35] RISC-V: Allow setting and clearing multiple irqs

2018-04-25 Thread Michael Clark
Francis Signed-off-by: Michael Clark --- hw/riscv/sifive_clint.c | 8 hw/riscv/sifive_plic.c | 4 ++-- target/riscv/cpu.h | 8 +++- target/riscv/op_helper.c | 23 ++- 4 files changed, 23 insertions(+), 20 deletions(-) diff --git a/hw/riscv/sifive_clint.c b

[Qemu-devel] [PATCH v8 11/35] RISC-V: Mark ROM read-only after copying in code

2018-04-25 Thread Michael Clark
Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- hw/riscv/sifive_e.c | 20 +++- hw/riscv/sifive_u.c | 46 ++- hw/riscv/spike.c| 64

[Qemu-devel] [PATCH v8 31/35] RISC-V: Mark mstatus.fs dirty

2018-04-25 Thread Michael Clark
tatus.FS so the bug in the first spin of this patch has been fixed in a prior commit. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Cc: Richard Henderson Signed-off-by: Michael Clark Co-authored-by: Richard Henderson Co-authored-by: Michael Clark ---

[Qemu-devel] [PATCH v8 29/35] RISC-V: Implement existential predicates for CSRs

2018-04-25 Thread Michael Clark
s and processors that don't implement PMP will trap on accesses to pmp* CSRs. PMP checks are disabled in riscv_cpu_handle_mmu_fault when the PMP CPU feature is not present. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark -

[Qemu-devel] [PATCH v8 34/35] RISC-V: Add hartid and \n to interrupt logging

2018-04-25 Thread Michael Clark
Add carriage return that was erroneously removed when converting to qemu_log. Change hard coded core number to the actual hartid. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/cpu_helper.c | 18

[Qemu-devel] [PATCH v8 33/35] RISC-V: Add public API for the CSR dispatch table

2018-04-25 Thread Michael Clark
This allows hardware and/or derived cpu instances to override or implement new CSR operations. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/cpu.h | 18 ++ target/riscv/csr.c | 35

[Qemu-devel] [PATCH v8 12/35] RISC-V: Update address bits to support sv39 and sv48

2018-04-25 Thread Michael Clark
Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Palmer Dabbelt --- target/riscv/cpu.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h index 9871e6f..f3f131b 100644 --- a/targ

[Qemu-devel] [PATCH v8 35/35] RISC-V: Use riscv prefix consistently on cpu helpers

2018-04-25 Thread Michael Clark
riscv_set_mode to riscv_cpu_set_mode Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- linux-user/signal.c | 4 ++-- target/riscv/cpu.h| 21 ++--- target/riscv/cpu_helper.c | 10 +- target/riscv

[Qemu-devel] [PATCH v8 16/35] RISC-V: Make mtvec/stvec ignore vectored traps

2018-04-25 Thread Michael Clark
) fields is to drop writes to unsupported bits. Cc: Sagar Karandikar Cc: Bastian Koppelmann Cc: Palmer Dabbelt Cc: Alistair Francis Signed-off-by: Michael Clark --- target/riscv/op_helper.c | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/target/riscv

  1   2   3   4   5   6   7   8   >