openpower-isa.git
9 months agoadd cut/paste copy of strncpy example as basis for pospopcount
Luke Kenneth Casson Leighton [Tue, 21 Nov 2023 12:39:28 +0000 (12:39 +0000)]
add cut/paste copy of strncpy example as basis for pospopcount
https://bugs.libre-soc.org/show_bug.cgi?id=672

9 months agofix vertical-first sv.bc
Jacob Lifshay [Tue, 21 Nov 2023 01:45:23 +0000 (17:45 -0800)]
fix vertical-first sv.bc

https://bugs.libre-soc.org/show_bug.cgi?id=1210

9 months agoAdded sv.bc in vertical-first test
Andrey Miroshnikov [Fri, 17 Nov 2023 14:55:52 +0000 (14:55 +0000)]
Added sv.bc in vertical-first test

9 months agoadd Z-23 to RT FRS FRT
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 15:42:07 +0000 (15:42 +0000)]
add Z-23 to RT FRS FRT

9 months agoAdded English language description for stdupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:38:47 +0000 (15:38 +0000)]
Added English language description for stdupsx instruction

9 months agoAdded English language description for sthupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:38:13 +0000 (15:38 +0000)]
Added English language description for sthupsx instruction

9 months agoAdded English language description for sthupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:36:11 +0000 (15:36 +0000)]
Added English language description for sthupsx instruction

9 months agoAdded English language description for stbupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:35:39 +0000 (15:35 +0000)]
Added English language description for stbupsx instruction

9 months agoAdded English language description for ldupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:34:20 +0000 (15:34 +0000)]
Added English language description for ldupsx instruction

9 months agoadd RS/FRT/FRS to Z-23 Form for ls004
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 15:30:33 +0000 (15:30 +0000)]
add RS/FRT/FRS to Z-23 Form for ls004
https://bugs.libre-soc.org/show_bug.cgi?id=1055

9 months agoAdded English language description for lwaupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:33:42 +0000 (15:33 +0000)]
Added English language description for lwaupsx instruction

9 months agoAdded English language description for lwzupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:32:56 +0000 (15:32 +0000)]
Added English language description for lwzupsx instruction

9 months agoAdded English language description for lhaupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:32:18 +0000 (15:32 +0000)]
Added English language description for lhaupsx instruction

9 months agoAdded English language description for lhzupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:31:08 +0000 (15:31 +0000)]
Added English language description for lhzupsx instruction

9 months agochange ld/st shift to Z23-Form
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 15:27:48 +0000 (15:27 +0000)]
change ld/st shift to Z23-Form

9 months agoAdded English language description for lfdupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:29:12 +0000 (15:29 +0000)]
Added English language description for lfdupsx instruction

9 months agoAdded English language description for lbzupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:27:31 +0000 (15:27 +0000)]
Added English language description for lbzupsx instruction

9 months agoAdded English language description for stfdux instruction
Shriya Sharma [Fri, 17 Nov 2023 15:24:36 +0000 (15:24 +0000)]
Added English language description for stfdux instruction

9 months agoadd comment/header on ld/st shift instructions
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 15:20:37 +0000 (15:20 +0000)]
add comment/header on ld/st shift instructions

9 months agoAdded English language description for lfdupsx instruction
Shriya Sharma [Fri, 17 Nov 2023 15:22:08 +0000 (15:22 +0000)]
Added English language description for lfdupsx instruction

9 months agoTest case (all same nos) for maxloc
Shriya Sharma [Fri, 17 Nov 2023 13:11:09 +0000 (13:11 +0000)]
Test case (all same nos) for maxloc

9 months agoadd asserts to check results
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 13:02:10 +0000 (13:02 +0000)]
add asserts to check results

9 months agowhitespace
Luke Kenneth Casson Leighton [Fri, 17 Nov 2023 13:01:22 +0000 (13:01 +0000)]
whitespace

9 months agoTest case (all zeroes) for maxloc
Shriya Sharma [Fri, 17 Nov 2023 12:02:01 +0000 (12:02 +0000)]
Test case (all zeroes) for maxloc

9 months agoopenpower/test/elf/simple_cases: add some simple ELF test cases
Jacob Lifshay [Fri, 1 Dec 2023 09:17:05 +0000 (01:17 -0800)]
openpower/test/elf/simple_cases: add some simple ELF test cases

9 months agoadd utilities for testing ELF files
Jacob Lifshay [Fri, 1 Dec 2023 07:55:41 +0000 (23:55 -0800)]
add utilities for testing ELF files

9 months agoSimRunner: support running an ELFFile
Jacob Lifshay [Fri, 1 Dec 2023 07:54:48 +0000 (23:54 -0800)]
SimRunner: support running an ELFFile

9 months agoISACaller: support loading an ELFFile
Jacob Lifshay [Fri, 1 Dec 2023 07:51:08 +0000 (23:51 -0800)]
ISACaller: support loading an ELFFile

9 months agomem.py: add load_elf
Jacob Lifshay [Fri, 1 Dec 2023 07:46:50 +0000 (23:46 -0800)]
mem.py: add load_elf

9 months agomem.py: fix SIGBUS when accessing file mapped by mmap_syscall
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.

9 months agocaller.py: implement write syscall
Jacob Lifshay [Fri, 1 Dec 2023 07:29:18 +0000 (23:29 -0800)]
caller.py: implement write syscall

9 months agocaller.py: implement exit_group syscall
Jacob Lifshay [Fri, 1 Dec 2023 07:27:48 +0000 (23:27 -0800)]
caller.py: implement exit_group syscall

9 months agoISACaller: fix syscall emulation
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.

9 months agosetup: add pyelftools v0.30 as dependency
Jacob Lifshay [Thu, 30 Nov 2023 03:04:26 +0000 (19:04 -0800)]
setup: add pyelftools v0.30 as dependency

9 months agoadd g++-powerpc64le-linux-gnu to .gitlab-ci.yml
Jacob Lifshay [Mon, 27 Nov 2023 05:43:46 +0000 (21:43 -0800)]
add g++-powerpc64le-linux-gnu to .gitlab-ci.yml

9 months agoadd mmap_syscall tests
Jacob Lifshay [Mon, 27 Nov 2023 03:14:21 +0000 (19:14 -0800)]
add mmap_syscall tests

9 months agoimplement MemMMap.mmap_syscall
Jacob Lifshay [Mon, 27 Nov 2023 03:13:25 +0000 (19:13 -0800)]
implement MemMMap.mmap_syscall

9 months agoadd ppc_flags.py so we can get the ppc versions of all the flags we need
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.

10 months agomsr and svstate default to None in TestCase, they're replaced with actual values...
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

10 months agono point defining nm=-1
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:34:38 +0000 (14:34 +0000)]
no point defining nm=-1

10 months agoadd 2nd maxloc case
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:33:03 +0000 (14:33 +0000)]
add 2nd maxloc case

10 months agomove maxloc to isacaller directory
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:18:20 +0000 (14:18 +0000)]
move maxloc to isacaller directory

10 months agopython conversion of maxloc.c
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:17:09 +0000 (14:17 +0000)]
python conversion of maxloc.c

10 months agoadd TRAP docs programmerjake/bug-1177
Jacob Lifshay [Thu, 9 Nov 2023 02:27:34 +0000 (18:27 -0800)]
add TRAP docs

10 months agomisc fixes for fallout of copying insn inputs
Jacob Lifshay [Tue, 7 Nov 2023 04:54:52 +0000 (20:54 -0800)]
misc fixes for fallout of copying insn inputs

10 months agoSystem Call Interrupts do *not* set SRR1[TRAP]
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

10 months agosupport TRAP being called without setting a trap_bit
Jacob Lifshay [Tue, 7 Nov 2023 04:37:07 +0000 (20:37 -0800)]
support TRAP being called without setting a trap_bit

10 months agoonly write outputs that have .ok == True
Jacob Lifshay [Tue, 7 Nov 2023 04:54:05 +0000 (20:54 -0800)]
only write outputs that have .ok == True

10 months agouse create_full_args to generate insn arg list
Jacob Lifshay [Tue, 7 Nov 2023 04:49:19 +0000 (20:49 -0800)]
use create_full_args to generate insn arg list

10 months agoadd SelectableInt.ok
Jacob Lifshay [Tue, 7 Nov 2023 04:46:03 +0000 (20:46 -0800)]
add SelectableInt.ok

10 months agohelper for one-source-of-truth for insn argument list for ISACaller and parser
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

10 months agocopy_assign_rhs must retain subclasses of SelectableInt
Jacob Lifshay [Tue, 7 Nov 2023 04:41:11 +0000 (20:41 -0800)]
copy_assign_rhs must retain subclasses of SelectableInt

10 months agolog load/stores to InstrInOuts
Jacob Lifshay [Mon, 6 Nov 2023 02:14:29 +0000 (18:14 -0800)]
log load/stores to InstrInOuts

10 months agoformat code
Jacob Lifshay [Thu, 2 Nov 2023 01:36:10 +0000 (18:36 -0700)]
format code

10 months agomisc AST correctness fixes
Jacob Lifshay [Wed, 1 Nov 2023 05:50:40 +0000 (22:50 -0700)]
misc AST correctness fixes

10 months agofix maxloc
Luke Kenneth Casson Leighton [Tue, 14 Nov 2023 11:58:09 +0000 (11:58 +0000)]
fix maxloc

10 months agoadd debug print
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:25:09 +0000 (20:25 +0000)]
add debug print

10 months agowhoole stack of whitespace corrections
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:21:42 +0000 (20:21 +0000)]
whoole stack of whitespace corrections

10 months agomore crap removed
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:17:54 +0000 (20:17 +0000)]
more crap removed

10 months agoremove unnecessary cruft from Makefile
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:14:32 +0000 (20:14 +0000)]
remove unnecessary cruft from Makefile

10 months agoRemoved unused include: bug #676
Andrey Miroshnikov [Wed, 8 Nov 2023 16:37:57 +0000 (16:37 +0000)]
Removed unused include: bug #676

10 months agoAdding fortran C example for Shriya, bug #676
Andrey Miroshnikov [Wed, 8 Nov 2023 16:17:59 +0000 (16:17 +0000)]
Adding fortran C example for Shriya, bug #676

10 months agorename all load/store update-shifted-post-increment to *upsx
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

10 months agofix instruction name conflicts
Jacob Lifshay [Mon, 6 Nov 2023 02:20:42 +0000 (18:20 -0800)]
fix instruction name conflicts

10 months agoremove lhaup from pifixedloadshift -- all pi-shift instructions are indexed X-Form...
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

10 months agodetect duplicate instructions
Jacob Lifshay [Mon, 6 Nov 2023 02:15:03 +0000 (18:15 -0800)]
detect duplicate instructions

10 months agorename pifpstore instructions, add "p" into names
Luke Kenneth Casson Leighton [Mon, 6 Nov 2023 02:46:09 +0000 (02:46 +0000)]
rename pifpstore instructions, add "p" into names

10 months agouse of the word "Kind" is too irritating. replace all occurrences with "Type".
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

10 months agocomment on rfid doing a swap-backup of the program, must find
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

10 months agoadd LSHIFT and RSHIFT operators to parser. reluctantly
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:46:12 +0000 (15:46 +0100)]
add LSHIFT and RSHIFT operators to parser. reluctantly

10 months agolook for and allow blank lines in pseudocode as well
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)

10 months agomissing colon on end of "Description"
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:31:12 +0000 (15:31 +0100)]
missing colon on end of "Description"

10 months agoremove use of regex (this code is REQUIRED to be SIMPLE)
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)

10 months agoforgot title
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:56:50 +0000 (11:56 +0100)]
forgot title

10 months agomissing brackets in lhbrx
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:55:38 +0000 (11:55 +0100)]
missing brackets in lhbrx

10 months agoadded english language description for lhbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:50:50 +0000 (11:50 +0100)]
added english language description for lhbrsx instruction

10 months agomissing brackets in lhbrx
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:46:27 +0000 (11:46 +0100)]
missing brackets in lhbrx

10 months agoadded english language description for lhbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:46:18 +0000 (11:46 +0100)]
added english language description for lhbrsx instruction

10 months agoadded english language description for ldsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:44:32 +0000 (11:44 +0100)]
added english language description for ldsux instruction

10 months agoreplace (RA) with "the contents of RA"
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:39:35 +0000 (11:39 +0100)]
replace (RA) with "the contents of RA"

10 months agoadded english language description for ldbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:41:40 +0000 (11:41 +0100)]
added english language description for ldbrsx instruction

10 months agopifploadshift.mdwn, do one example english pseudocode operands
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:38:09 +0000 (11:38 +0100)]
pifploadshift.mdwn, do one example english pseudocode operands

10 months agoadded english language description for lwbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:40:24 +0000 (11:40 +0100)]
added english language description for lwbrsx instruction

10 months agodo one example stfsux in pifpstoreshift, english pseudocode operands
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:36:17 +0000 (11:36 +0100)]
do one example stfsux in pifpstoreshift, english pseudocode operands

10 months agoadded english language description for lhbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:38:58 +0000 (11:38 +0100)]
added english language description for lhbrsx instruction

10 months agoadded english language description for ldsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:37:56 +0000 (11:37 +0100)]
added english language description for ldsx instruction

10 months agoadded english language description for lwasux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:35:47 +0000 (11:35 +0100)]
added english language description for lwasux instruction

10 months agocontents of RA again
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:33:02 +0000 (11:33 +0100)]
contents of RA again

10 months agoadded english language description for lwasx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:34:45 +0000 (11:34 +0100)]
added english language description for lwasx instruction

10 months agoadded english language description for lwzsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:33:21 +0000 (11:33 +0100)]
added english language description for lwzsux instruction

10 months agoadded english language description for lwzsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:31:56 +0000 (11:31 +0100)]
added english language description for lwzsx instruction

10 months agouse words "the contents of register RA instead of (RA)
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)

10 months agowhitespace
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:28:06 +0000 (11:28 +0100)]
whitespace

10 months agowhitespace and
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

10 months agoadded english language description for lhasux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:30:00 +0000 (11:30 +0100)]
added english language description for lhasux instruction

10 months agowhitespace
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:26:18 +0000 (11:26 +0100)]
whitespace

10 months agoadded english language description for lhasx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:28:41 +0000 (11:28 +0100)]
added english language description for lhasx instruction

10 months agowhitespace
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:24:49 +0000 (11:24 +0100)]
whitespace

10 months agoadded english language description for lhzsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:27:09 +0000 (11:27 +0100)]
added english language description for lhzsux instruction

10 months agowhitespace
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:24:10 +0000 (11:24 +0100)]
whitespace