[libre-riscv-dev] [Bug 241] OpenPOWER SImulation is needed of standards
bugzilla-daemon at libre-riscv.org
bugzilla-daemon at libre-riscv.org
Sun Mar 15 16:17:04 GMT 2020
http://bugs.libre-riscv.org/show_bug.cgi?id=241
--- Comment #6 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Luke Kenneth Casson Leighton from comment #5)
> http://pearpc.sourceforge.net/
>
> another one to investigate
pear is, honestly, looking a lot simpler to work with, although it's going to
take some unit tests like those in riscv-isa-tests to get it into shape.
see
http://lists.libre-riscv.org/pipermail/libre-riscv-dev/2020-March/005091.html
to get whatever we need into shape it will go like this:
* get "basic" (non-GUI) ability to run "bare-metal" programs. this involves
either overloading a system call (writing one), peek/poke to a memory address
and having the emulator say "writes to this address are directed to stdout,
reads from this address result in characters from stdin being accepted".
* start writing some *really* simple unit tests (20-50 lines of assembler) that
test "addic", "mul", etc. etc.
* begin the process of allowing dynamic (runtime) emulation of 64-bit
instructions (not a static emulator-compile-time option)
* *recompile* the unit tests using a 64-bit ppc compiler and test that those
still work
* start adding "basic" SimpleV support (a 48-bit instruction with the 16-bit
"SV" Prefix) which does *NOT* support element-width. just a straight for-loop
on integer math.
* write unit tests - in assembler - for SVPrefix add, addic, mul etc.
* move slowly forward adding full IEEE754 FP support (using Jacob's algorithmic
library, so that we have *proper* POWER IEEE754 emulation, not "x86" IEEE754
rules)
* add in elwidth support, predication, and so on, basically replicate the
traillazing done in the spike-sv emulator.
at the same time:
* add support for dynamic LE and BE (unit tests for the same)
* attempt to compile up more recent linux kernels, boot loaders (yaboot), in
particular track down why Debian 8.0 PPC ISO cannot recognise (find) yaboot
files on the ISO
* see if the MMU (TLB) code is adequate to run a 64-bit OS
* after the 64-bit bare-metal unit tests all pass, attempt to run larger
programs and even a linux kernel.
we *might* also want to consider porting the spike pk library to powerpc. it's
a "bare minimum POSIX environment" which will allow the absolute bare minimum
of POSIX applications to function. or, finding something else suitable to
port.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-riscv-dev
mailing list