Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 13:01:22 +0000 (13:01 +0000)]
whitespace
Shriya Sharma [Fri, 17 Nov 2023 12:02:01 +0000 (12:02 +0000)]
Test case (all zeroes) for maxloc
Jacob Lifshay [Fri, 1 Dec 2023 09:17:05 +0000 (01:17 -0800)]
openpower/test/elf/simple_cases: add some simple ELF test cases
Jacob Lifshay [Fri, 1 Dec 2023 07:55:41 +0000 (23:55 -0800)]
add utilities for testing ELF files
Jacob Lifshay [Fri, 1 Dec 2023 07:54:48 +0000 (23:54 -0800)]
SimRunner: support running an ELFFile
Jacob Lifshay [Fri, 1 Dec 2023 07:51:08 +0000 (23:51 -0800)]
ISACaller: support loading an ELFFile
Jacob Lifshay [Fri, 1 Dec 2023 07:46:50 +0000 (23:46 -0800)]
mem.py: add load_elf
Jacob Lifshay [Fri, 1 Dec 2023 07:40:51 +0000 (23:40 -0800)]
mem.py: fix SIGBUS when accessing file mapped by mmap_syscall
this fixes SIGBUS errors caused by accessing beyond the end of a
file but still in the last page of the file, which is a valid thing to
do, except that we have to account for host pages having a different
size than emulated pages and map zeros to fill out the rest of the
emulated page.
Jacob Lifshay [Fri, 1 Dec 2023 07:29:18 +0000 (23:29 -0800)]
caller.py: implement write syscall
Jacob Lifshay [Fri, 1 Dec 2023 07:27:48 +0000 (23:27 -0800)]
caller.py: implement exit_group syscall
Jacob Lifshay [Fri, 1 Dec 2023 07:15:45 +0000 (23:15 -0800)]
ISACaller: fix syscall emulation
there were two bugs fixed:
1. sc emulation was missing a `return`, so it tried to run sc
again after running sc and rfid, giving the wrong CIA and
MSR values.
2. the code to replace and restore the instruction with rfid
had the wrong endian on the load, so it was corrupting the
instruction for the next time it was used. I just deleted
the save/replace/restore code since it isn't needed anymore.
I then changed the syscall tests to ensure both the
bugs above don't happen again.
Jacob Lifshay [Thu, 30 Nov 2023 03:04:26 +0000 (19:04 -0800)]
setup: add pyelftools v0.30 as dependency
Jacob Lifshay [Mon, 27 Nov 2023 05:43:46 +0000 (21:43 -0800)]
add g++-powerpc64le-linux-gnu to .gitlab-ci.yml
Jacob Lifshay [Mon, 27 Nov 2023 03:14:21 +0000 (19:14 -0800)]
add mmap_syscall tests
Jacob Lifshay [Mon, 27 Nov 2023 03:13:25 +0000 (19:13 -0800)]
implement MemMMap.mmap_syscall
Jacob Lifshay [Mon, 27 Nov 2023 03:11:35 +0000 (19:11 -0800)]
add ppc_flags.py so we can get the ppc versions of all the flags we need
tells gcc to dump all #defines, and parses that.
Jacob Lifshay [Thu, 16 Nov 2023 03:31:32 +0000 (19:31 -0800)]
msr and svstate default to None in TestCase, they're replaced with actual values in ISACaller
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:34:38 +0000 (14:34 +0000)]
no point defining nm=-1
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:33:03 +0000 (14:33 +0000)]
add 2nd maxloc case
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:18:20 +0000 (14:18 +0000)]
move maxloc to isacaller directory
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:17:09 +0000 (14:17 +0000)]
python conversion of maxloc.c
Jacob Lifshay [Thu, 9 Nov 2023 02:27:34 +0000 (18:27 -0800)]
add TRAP docs
Jacob Lifshay [Tue, 7 Nov 2023 04:54:52 +0000 (20:54 -0800)]
misc fixes for fallout of copying insn inputs
Jacob Lifshay [Tue, 7 Nov 2023 04:38:18 +0000 (20:38 -0800)]
System Call Interrupts do *not* set SRR1[TRAP]
See PowerISA v3.1B Book III 7.5.14
Jacob Lifshay [Tue, 7 Nov 2023 04:37:07 +0000 (20:37 -0800)]
support TRAP being called without setting a trap_bit
Jacob Lifshay [Tue, 7 Nov 2023 04:54:05 +0000 (20:54 -0800)]
only write outputs that have .ok == True
Jacob Lifshay [Tue, 7 Nov 2023 04:49:19 +0000 (20:49 -0800)]
use create_full_args to generate insn arg list
Jacob Lifshay [Tue, 7 Nov 2023 04:46:03 +0000 (20:46 -0800)]
add SelectableInt.ok
Jacob Lifshay [Tue, 7 Nov 2023 04:43:13 +0000 (20:43 -0800)]
helper for one-source-of-truth for insn argument list for ISACaller and parser
Jacob Lifshay [Tue, 7 Nov 2023 04:41:11 +0000 (20:41 -0800)]
copy_assign_rhs must retain subclasses of SelectableInt
Jacob Lifshay [Mon, 6 Nov 2023 02:14:29 +0000 (18:14 -0800)]
log load/stores to InstrInOuts
Jacob Lifshay [Thu, 2 Nov 2023 01:36:10 +0000 (18:36 -0700)]
format code
Jacob Lifshay [Wed, 1 Nov 2023 05:50:40 +0000 (22:50 -0700)]
misc AST correctness fixes
Luke Kenneth Casson Leighton [Tue, 14 Nov 2023 11:58:09 +0000 (11:58 +0000)]
fix maxloc
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:25:09 +0000 (20:25 +0000)]
add debug print
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:21:42 +0000 (20:21 +0000)]
whoole stack of whitespace corrections
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:17:54 +0000 (20:17 +0000)]
more crap removed
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:14:32 +0000 (20:14 +0000)]
remove unnecessary cruft from Makefile
Andrey Miroshnikov [Wed, 8 Nov 2023 16:37:57 +0000 (16:37 +0000)]
Removed unused include: bug #676
Andrey Miroshnikov [Wed, 8 Nov 2023 16:17:59 +0000 (16:17 +0000)]
Adding fortran C example for Shriya, bug #676
Jacob Lifshay [Mon, 6 Nov 2023 03:07:57 +0000 (19:07 -0800)]
rename all load/store update-shifted-post-increment to *upsx
https://bugs.libre-soc.org/show_bug.cgi?id=1048#c21
Jacob Lifshay [Mon, 6 Nov 2023 02:20:42 +0000 (18:20 -0800)]
fix instruction name conflicts
Jacob Lifshay [Mon, 6 Nov 2023 02:18:08 +0000 (18:18 -0800)]
remove lhaup from pifixedloadshift -- all pi-shift instructions are indexed X-Form rather than D-Form
Jacob Lifshay [Mon, 6 Nov 2023 02:15:03 +0000 (18:15 -0800)]
detect duplicate instructions
Luke Kenneth Casson Leighton [Mon, 6 Nov 2023 02:46:09 +0000 (02:46 +0000)]
rename pifpstore instructions, add "p" into names
Luke Kenneth Casson Leighton [Thu, 2 Nov 2023 07:27:50 +0000 (07:27 +0000)]
use of the word "Kind" is too irritating. replace all occurrences with "Type".
cannot replace lowercase "kind" with "type" as it is a python keyword.
have to think of a better (*short*) argument name
Luke Kenneth Casson Leighton [Thu, 2 Nov 2023 07:14:58 +0000 (07:14 +0000)]
comment on rfid doing a swap-backup of the program, must find
out why and fix it so that is not necessary
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:46:12 +0000 (15:46 +0100)]
add LSHIFT and RSHIFT operators to parser. reluctantly
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:45:52 +0000 (15:45 +0100)]
look for and allow blank lines in pseudocode as well
as english description. remove use of regex (too complex to understand)
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:31:12 +0000 (15:31 +0100)]
missing colon on end of "Description"
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:00:43 +0000 (15:00 +0100)]
remove use of regex (this code is REQUIRED to be SIMPLE)
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:56:50 +0000 (11:56 +0100)]
forgot title
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:55:38 +0000 (11:55 +0100)]
missing brackets in lhbrx
Shriya Sharma [Fri, 27 Oct 2023 10:50:50 +0000 (11:50 +0100)]
added english language description for lhbrsx instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:46:27 +0000 (11:46 +0100)]
missing brackets in lhbrx
Shriya Sharma [Fri, 27 Oct 2023 10:46:18 +0000 (11:46 +0100)]
added english language description for lhbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:44:32 +0000 (11:44 +0100)]
added english language description for ldsux instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:39:35 +0000 (11:39 +0100)]
replace (RA) with "the contents of RA"
Shriya Sharma [Fri, 27 Oct 2023 10:41:40 +0000 (11:41 +0100)]
added english language description for ldbrsx instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:38:09 +0000 (11:38 +0100)]
pifploadshift.mdwn, do one example english pseudocode operands
Shriya Sharma [Fri, 27 Oct 2023 10:40:24 +0000 (11:40 +0100)]
added english language description for lwbrsx instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:36:17 +0000 (11:36 +0100)]
do one example stfsux in pifpstoreshift, english pseudocode operands
Shriya Sharma [Fri, 27 Oct 2023 10:38:58 +0000 (11:38 +0100)]
added english language description for lhbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:37:56 +0000 (11:37 +0100)]
added english language description for ldsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:35:47 +0000 (11:35 +0100)]
added english language description for lwasux instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:33:02 +0000 (11:33 +0100)]
contents of RA again
Shriya Sharma [Fri, 27 Oct 2023 10:34:45 +0000 (11:34 +0100)]
added english language description for lwasx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:33:21 +0000 (11:33 +0100)]
added english language description for lwzsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:31:56 +0000 (11:31 +0100)]
added english language description for lwzsx instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:29:00 +0000 (11:29 +0100)]
use words "the contents of register RA instead of (RA)
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:28:06 +0000 (11:28 +0100)]
whitespace
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:27:30 +0000 (11:27 +0100)]
whitespace and
also use explicit "the contents of register RA
Shriya Sharma [Fri, 27 Oct 2023 10:30:00 +0000 (11:30 +0100)]
added english language description for lhasux instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:26:18 +0000 (11:26 +0100)]
whitespace
Shriya Sharma [Fri, 27 Oct 2023 10:28:41 +0000 (11:28 +0100)]
added english language description for lhasx instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:24:49 +0000 (11:24 +0100)]
whitespace
Shriya Sharma [Fri, 27 Oct 2023 10:27:09 +0000 (11:27 +0100)]
added english language description for lhzsux instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:24:10 +0000 (11:24 +0100)]
whitespace
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:22:32 +0000 (11:22 +0100)]
space-dot whitespace cleanup
Shriya Sharma [Fri, 27 Oct 2023 10:24:39 +0000 (11:24 +0100)]
added english language description for lhzsx instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:21:53 +0000 (11:21 +0100)]
big whitespace cleanup
Shriya Sharma [Fri, 27 Oct 2023 10:22:49 +0000 (11:22 +0100)]
added english language description for lbzsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:20:00 +0000 (11:20 +0100)]
added english language description for lbzsx instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:15:19 +0000 (11:15 +0100)]
whitespace cleanup
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:11:25 +0000 (11:11 +0100)]
whitespace cleanup
Shriya Sharma [Fri, 27 Oct 2023 10:13:02 +0000 (11:13 +0100)]
added commas
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:07:34 +0000 (11:07 +0100)]
add a comma to reduce ambiguity
Shriya Sharma [Fri, 27 Oct 2023 10:09:44 +0000 (11:09 +0100)]
added english language description for stdbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:08:45 +0000 (11:08 +0100)]
added english language description for stwbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:03:53 +0000 (11:03 +0100)]
added english language description for sthbrx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:02:05 +0000 (11:02 +0100)]
added english language description for stdsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:01:29 +0000 (11:01 +0100)]
added english language description for stdsx instruction
Shriya Sharma [Fri, 27 Oct 2023 09:59:52 +0000 (10:59 +0100)]
added english language description for stwsux instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 09:56:58 +0000 (10:56 +0100)]
remove immediate-versions of instructions for shifting
as there is no point shifting an immediate
Shriya Sharma [Fri, 27 Oct 2023 09:58:38 +0000 (10:58 +0100)]
added english language description for stwsx instruction
Shriya Sharma [Fri, 27 Oct 2023 09:57:04 +0000 (10:57 +0100)]
added english language description for sthsux instruction
Shriya Sharma [Fri, 27 Oct 2023 09:56:10 +0000 (10:56 +0100)]
added english language description for sthsx instruction
Shriya Sharma [Fri, 27 Oct 2023 09:54:53 +0000 (10:54 +0100)]
added english language description for stbsux instruction
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 09:51:34 +0000 (10:51 +0100)]
add pifpstoreshift.mdwn and pifploadshift.mdwn as
copies of their non-shifted variants
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 09:50:13 +0000 (10:50 +0100)]
add copy of pifixedstore.mdwn renamed to pifixedstoreshift.mdwn
modifications required to add "shifting"