openpower-isa.git
11 months agofix concat when the first argument is a FieldSelectableInt
Jacob Lifshay [Wed, 27 Sep 2023 03:28:16 +0000 (20:28 -0700)]
fix concat when the first argument is a FieldSelectableInt

11 months agofix wrong register in docs
Jacob Lifshay [Wed, 27 Sep 2023 01:56:03 +0000 (18:56 -0700)]
fix wrong register in docs

11 months ago256x256-bit mul no longer broken since bug #1161 was fixed
Jacob Lifshay [Wed, 27 Sep 2023 00:23:59 +0000 (17:23 -0700)]
256x256-bit mul no longer broken since bug #1161 was fixed

11 months agoadd MemMMap tests
Jacob Lifshay [Mon, 25 Sep 2023 22:57:23 +0000 (15:57 -0700)]
add MemMMap tests

11 months agoskip zero words when iterating words in MemMMap
Jacob Lifshay [Mon, 25 Sep 2023 22:29:25 +0000 (15:29 -0700)]
skip zero words when iterating words in MemMMap

11 months agoformat src/openpower/decoder/isa/test_mem.py
Jacob Lifshay [Mon, 25 Sep 2023 21:41:49 +0000 (14:41 -0700)]
format src/openpower/decoder/isa/test_mem.py

11 months agoadd basis of Context Manager for capturing which inputs and outputsa
Luke Kenneth Casson Leighton [Mon, 25 Sep 2023 13:59:33 +0000 (14:59 +0100)]
add basis of Context Manager for capturing which inputs and outputsa
are involved in a carry-roll-over math primitive.
also very useful to generate (automated) unit tests

11 months agominor alteration of reporting hash in mini-test of poly1305-donna.py
Luke Kenneth Casson Leighton [Sun, 24 Sep 2023 18:07:15 +0000 (19:07 +0100)]
minor alteration of reporting hash in mini-test of poly1305-donna.py

11 months agodetect if add arg2 is greater than 7 and ignore it for poly1305 tracking.
Luke Kenneth Casson Leighton [Sun, 24 Sep 2023 18:06:28 +0000 (19:06 +0100)]
detect if add arg2 is greater than 7 and ignore it for poly1305 tracking.
this allows narrowing down of some data for test purposes

11 months agoadd an intercept (on all poly1305-donna.py math primitives)
Luke Kenneth Casson Leighton [Sun, 24 Sep 2023 10:53:26 +0000 (11:53 +0100)]
add an intercept (on all poly1305-donna.py math primitives)
but only do a report on ADD and ADDLO, for now

11 months agoadd link to poly1305-design (really good)
Luke Kenneth Casson Leighton [Sun, 24 Sep 2023 10:04:42 +0000 (11:04 +0100)]
add link to poly1305-design (really good)

11 months agoallow intercept on dsrd (rename DSRD) in poly13005-donna.py
Luke Kenneth Casson Leighton [Sun, 24 Sep 2023 10:00:11 +0000 (11:00 +0100)]
allow intercept on dsrd (rename DSRD) in poly13005-donna.py

11 months agoprovide intercepts of 64/128-bit math primitives that still look
Luke Kenneth Casson Leighton [Sat, 23 Sep 2023 15:00:05 +0000 (16:00 +0100)]
provide intercepts of 64/128-bit math primitives that still look
like poly1305-donna-64bit.h

11 months agoconvert all use of "+" to ADD(a,b) in order to prepare to intercept
Luke Kenneth Casson Leighton [Sat, 23 Sep 2023 13:41:02 +0000 (14:41 +0100)]
convert all use of "+" to ADD(a,b) in order to prepare to intercept
it and make a note of any "carry-roll-over" in poly1305-donna.py

11 months agoswitch UTF-8 validation tests to use MemMMap so it gets some testing
Jacob Lifshay [Sat, 23 Sep 2023 01:25:21 +0000 (18:25 -0700)]
switch UTF-8 validation tests to use MemMMap so it gets some testing

11 months agoadd MemMMap class
Jacob Lifshay [Sat, 23 Sep 2023 01:23:22 +0000 (18:23 -0700)]
add MemMMap class

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

11 months agosplit out most Mem methods into MemCommon base class
Jacob Lifshay [Fri, 22 Sep 2023 22:40:30 +0000 (15:40 -0700)]
split out most Mem methods into MemCommon base class

11 months agoformat mem.py
Jacob Lifshay [Fri, 22 Sep 2023 22:10:14 +0000 (15:10 -0700)]
format mem.py

11 months agosyscalls: fix syscall arguments
Dmitry Selyutin [Fri, 22 Sep 2023 18:31:16 +0000 (21:31 +0300)]
syscalls: fix syscall arguments

11 months agosyscalls: introduce syscall arguments length
Dmitry Selyutin [Fri, 22 Sep 2023 18:30:22 +0000 (21:30 +0300)]
syscalls: introduce syscall arguments length

11 months agosyscalls: fix sys_ni_syscall call
Dmitry Selyutin [Fri, 22 Sep 2023 18:10:25 +0000 (21:10 +0300)]
syscalls: fix sys_ni_syscall call

11 months agosyscalls: fix default table path
Dmitry Selyutin [Fri, 22 Sep 2023 18:08:57 +0000 (21:08 +0300)]
syscalls: fix default table path

11 months agomake scalar EXTRA2 encoding match between tables and algorithms
Jacob Lifshay [Wed, 20 Sep 2023 22:45:54 +0000 (15:45 -0700)]
make scalar EXTRA2 encoding match between tables and algorithms

corresponding libreriscv.git commit: 7a232bcca2
Fixes: https://bugs.libre-soc.org/show_bug.cgi?id=1161
11 months agoformat code
Jacob Lifshay [Wed, 20 Sep 2023 22:23:58 +0000 (15:23 -0700)]
format code

11 months agoRevert "fix PowerDecoder2 to properly decode scalar EXTRA2"
Jacob Lifshay [Wed, 20 Sep 2023 22:22:06 +0000 (15:22 -0700)]
Revert "fix PowerDecoder2 to properly decode scalar EXTRA2"

Luke wants all changes to EXTRA2/3 decoding to be in one commit, restore to original state

This reverts commit 630dfa6c8b6633d66d1a41368dfad927754846ed.

11 months agosyscalls: support ppc/ppc64 ecall generators
Dmitry Selyutin [Thu, 21 Sep 2023 21:31:11 +0000 (00:31 +0300)]
syscalls: support ppc/ppc64 ecall generators

11 months agosyscalls: introduce ecall generator
Dmitry Selyutin [Thu, 21 Sep 2023 21:27:47 +0000 (00:27 +0300)]
syscalls: introduce ecall generator

11 months agosyscalls: canonicalize entries
Dmitry Selyutin [Thu, 21 Sep 2023 21:27:22 +0000 (00:27 +0300)]
syscalls: canonicalize entries

11 months agosyscalls: reorder generic entries
Dmitry Selyutin [Thu, 21 Sep 2023 19:12:52 +0000 (22:12 +0300)]
syscalls: reorder generic entries

11 months agosyscalls: introduce generation mode
Dmitry Selyutin [Thu, 21 Sep 2023 17:53:37 +0000 (20:53 +0300)]
syscalls: introduce generation mode

11 months agosyscalls: support RISC-V architectures
Dmitry Selyutin [Thu, 21 Sep 2023 17:39:52 +0000 (20:39 +0300)]
syscalls: support RISC-V architectures

11 months agouse setuptools-scm from debian instead of pip
Jacob Lifshay [Wed, 20 Sep 2023 23:42:40 +0000 (16:42 -0700)]
use setuptools-scm from debian instead of pip

11 months agosyscalls: support generic system calls
Dmitry Selyutin [Wed, 20 Sep 2023 22:44:31 +0000 (01:44 +0300)]
syscalls: support generic system calls

11 months agosyscalls: introduce Syscall class
Dmitry Selyutin [Tue, 19 Sep 2023 21:56:23 +0000 (00:56 +0300)]
syscalls: introduce Syscall class

11 months agosyscalls: fix ctypes syscall
Dmitry Selyutin [Tue, 19 Sep 2023 18:48:13 +0000 (21:48 +0300)]
syscalls: fix ctypes syscall

11 months agosyscalls: support identifiers iteration
Dmitry Selyutin [Tue, 19 Sep 2023 17:13:21 +0000 (20:13 +0300)]
syscalls: support identifiers iteration

11 months agosyscalls: support identifiers lookup
Dmitry Selyutin [Tue, 19 Sep 2023 17:14:20 +0000 (20:14 +0300)]
syscalls: support identifiers lookup

11 months agosyscalls: adjust syscall name
Dmitry Selyutin [Tue, 19 Sep 2023 17:23:44 +0000 (20:23 +0300)]
syscalls: adjust syscall name

11 months agofix bug I noticed while reading git history
Jacob Lifshay [Tue, 19 Sep 2023 00:55:16 +0000 (17:55 -0700)]
fix bug I noticed while reading git history

11 months agosyscalls: refactor calls chain
Dmitry Selyutin [Mon, 18 Sep 2023 20:24:27 +0000 (23:24 +0300)]
syscalls: refactor calls chain

11 months agosyscalls: refactor dispatcher call arguments
Dmitry Selyutin [Mon, 18 Sep 2023 19:38:43 +0000 (22:38 +0300)]
syscalls: refactor dispatcher call arguments

11 months agosyscalls: introduce dispatcher class
Dmitry Selyutin [Mon, 18 Sep 2023 19:22:07 +0000 (22:22 +0300)]
syscalls: introduce dispatcher class

11 months agosyscalls: generate proper name
Dmitry Selyutin [Mon, 18 Sep 2023 18:59:39 +0000 (21:59 +0300)]
syscalls: generate proper name

11 months agosyscalls: refactor module hierarchy
Dmitry Selyutin [Mon, 18 Sep 2023 14:44:31 +0000 (17:44 +0300)]
syscalls: refactor module hierarchy

11 months agoadd python-based implementation of dsrd to poly1305-donna.py
Luke Kenneth Casson Leighton [Mon, 18 Sep 2023 14:42:50 +0000 (15:42 +0100)]
add python-based implementation of dsrd to poly1305-donna.py
and also fix "5" bug. somehow managed to put a const "4" instead of 5

11 months agoillustrate the intermediary step of converting poly1305-donna.py
Luke Kenneth Casson Leighton [Sun, 17 Sep 2023 18:42:22 +0000 (19:42 +0100)]
illustrate the intermediary step of converting poly1305-donna.py
to a form that is "reasonably close" to how the SVP64 assembler,
using REMAP Indexed, would work.
https://bugs.libre-soc.org/show_bug.cgi?id=1157#c3 for details

11 months agoRevert "syscalls: commit a couple of autogenerated tables"
Dmitry Selyutin [Sun, 17 Sep 2023 18:31:53 +0000 (21:31 +0300)]
Revert "syscalls: commit a couple of autogenerated tables"

This reverts commit 48ec1783c5f7cc64629fba65575db2d3881e8026.

11 months agosyscalls: commit a couple of autogenerated tables
Dmitry Selyutin [Sun, 17 Sep 2023 18:00:32 +0000 (21:00 +0300)]
syscalls: commit a couple of autogenerated tables

11 months agosyscalls/lscmg: introduce Linux syscalls mapping generator
Dmitry Selyutin [Sun, 17 Sep 2023 17:49:47 +0000 (20:49 +0300)]
syscalls/lscmg: introduce Linux syscalls mapping generator

11 months agofirst revision port of https://github.com/floodyberry/poly1305-donna
Luke Kenneth Casson Leighton [Sun, 17 Sep 2023 17:24:31 +0000 (18:24 +0100)]
first revision port of https://github.com/floodyberry/poly1305-donna

to python3

11 months agomake the poly1305 quick example identical to the poly1305-donna one
Luke Kenneth Casson Leighton [Sun, 17 Sep 2023 12:31:40 +0000 (13:31 +0100)]
make the poly1305 quick example identical to the poly1305-donna one

11 months agoadd a quick usage demo to poly1305.py, to serve later as a check
Luke Kenneth Casson Leighton [Sun, 17 Sep 2023 12:20:57 +0000 (13:20 +0100)]
add a quick usage demo to poly1305.py, to serve later as a check

11 months agoadd implementation of poly1305 pure python
Luke Kenneth Casson Leighton [Sun, 17 Sep 2023 12:13:57 +0000 (13:13 +0100)]
add implementation of poly1305 pure python
by Hubert Kario, LGPLv2.1 licensed

11 months agoadd code-comments to chacha20 svp64 unit test
Luke Kenneth Casson Leighton [Sat, 16 Sep 2023 10:43:45 +0000 (11:43 +0100)]
add code-comments to chacha20 svp64 unit test

11 months agoremove OpenSSL dependency, use own SHA512 hash
Konstantinos Margaritis [Sun, 17 Sep 2023 09:26:29 +0000 (09:26 +0000)]
remove OpenSSL dependency, use own SHA512 hash

11 months agoadd links copyright and funding notice to svp64 chacha20 test
Luke Kenneth Casson Leighton [Sat, 16 Sep 2023 09:56:59 +0000 (10:56 +0100)]
add links copyright and funding notice to svp64 chacha20 test

11 months agofix PowerDecoder2 to properly decode scalar EXTRA2
Jacob Lifshay [Fri, 15 Sep 2023 21:21:00 +0000 (14:21 -0700)]
fix PowerDecoder2 to properly decode scalar EXTRA2

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

11 months agoadd tests for checking if the simulator and assembler agree on SVP64 encodings
Jacob Lifshay [Fri, 15 Sep 2023 21:20:09 +0000 (14:20 -0700)]
add tests for checking if the simulator and assembler agree on SVP64 encodings

11 months agochange registers used to avoid r13-31 which are reserved/nonvolatile
Jacob Lifshay [Fri, 15 Sep 2023 03:07:18 +0000 (20:07 -0700)]
change registers used to avoid r13-31 which are reserved/nonvolatile

broken -- blocked on https://bugs.libre-soc.org/show_bug.cgi?id=1161

11 months agopass in stack pointer
Jacob Lifshay [Fri, 15 Sep 2023 03:06:59 +0000 (20:06 -0700)]
pass in stack pointer

11 months agolog more register read/writes to LogKind.InstrInOuts
Jacob Lifshay [Fri, 15 Sep 2023 03:04:55 +0000 (20:04 -0700)]
log more register read/writes to LogKind.InstrInOuts

11 months agoadd copyright stuff
Jacob Lifshay [Fri, 15 Sep 2023 00:28:42 +0000 (17:28 -0700)]
add copyright stuff

[skip ci]

11 months agosyscall_cases: Added link to ABI and write manpage
Andrey Miroshnikov [Thu, 14 Sep 2023 16:12:08 +0000 (16:12 +0000)]
syscall_cases: Added link to ABI and write manpage

11 months agosyscall_cases: Add license, copyright, NLnet message.
Andrey Miroshnikov [Thu, 14 Sep 2023 16:09:42 +0000 (16:09 +0000)]
syscall_cases: Add license, copyright, NLnet message.

11 months agoWIP: Initial attempt to port ed25519 to SVP64
Konstantinos Margaritis [Thu, 14 Sep 2023 11:56:53 +0000 (11:56 +0000)]
WIP: Initial attempt to port ed25519 to SVP64

11 months agoNeed to zero homeIsaDir before use
Konstantinos Margaritis [Thu, 14 Sep 2023 11:54:51 +0000 (11:54 +0000)]
Need to zero homeIsaDir before use

11 months agoadd .gitignore files
Konstantinos Margaritis [Thu, 7 Sep 2023 17:50:00 +0000 (17:50 +0000)]
add .gitignore files

11 months agoadd SVP64 256x256->512-bit multiply
Jacob Lifshay [Thu, 14 Sep 2023 06:24:12 +0000 (23:24 -0700)]
add SVP64 256x256->512-bit multiply

11 months agogeneralize assemble() fn so other test cases can easily use it
Jacob Lifshay [Thu, 14 Sep 2023 06:22:33 +0000 (23:22 -0700)]
generalize assemble() fn so other test cases can easily use it

11 months agosyscall_cases: Aded expected values for SRR0/1, MSR, NIA. Failing.
Andrey Miroshnikov [Wed, 13 Sep 2023 18:45:54 +0000 (18:45 +0000)]
syscall_cases: Aded expected values for SRR0/1, MSR, NIA. Failing.

11 months agoAdding syscall ISACaller test case (not working yet).
Andrey Miroshnikov [Tue, 12 Sep 2023 13:32:43 +0000 (13:32 +0000)]
Adding syscall ISACaller test case (not working yet).

11 months agoremove grev, leaving unit tests for later use by grevlut
Jacob Lifshay [Tue, 12 Sep 2023 01:16:50 +0000 (18:16 -0700)]
remove grev, leaving unit tests for later use by grevlut

11 months agomark madd* as skipped in soc.git
Jacob Lifshay [Mon, 11 Sep 2023 21:30:18 +0000 (14:30 -0700)]
mark madd* as skipped in soc.git

11 months agofilter out v3.1 insns when soc flag set -- soc.git doesn't yet support them
Jacob Lifshay [Mon, 11 Sep 2023 20:16:38 +0000 (13:16 -0700)]
filter out v3.1 insns when soc flag set -- soc.git doesn't yet support them

11 months agofilter out addex when soc flag set
Jacob Lifshay [Mon, 11 Sep 2023 20:16:13 +0000 (13:16 -0700)]
filter out addex when soc flag set

11 months agoadd support for filtering tests using flags
Jacob Lifshay [Mon, 11 Sep 2023 20:15:06 +0000 (13:15 -0700)]
add support for filtering tests using flags

so soc.git can filter out all the insns it doesn't yet support

11 months agomake soc test_pipe_caller tests pass again
Jacob Lifshay [Mon, 11 Sep 2023 18:06:48 +0000 (11:06 -0700)]
make soc test_pipe_caller tests pass again

11 months agopypowersim_wrapper_common.h: Home path no longer hard-coded.
Andrey Miroshnikov [Sun, 10 Sep 2023 17:59:10 +0000 (17:59 +0000)]
pypowersim_wrapper_common.h: Home path no longer hard-coded.
chacha20/Makefile: Create bin dir if doesn't exist.

11 months agoinorder.py: Moved return statements to new line.
Andrey Miroshnikov [Thu, 31 Aug 2023 10:32:05 +0000 (10:32 +0000)]
inorder.py: Moved return statements to new line.

11 months agoinorder.py: Invert checks to reduce indentation.
Andrey Miroshnikov [Tue, 22 Aug 2023 09:14:24 +0000 (09:14 +0000)]
inorder.py: Invert checks to reduce indentation.

11 months agoinorder.py: Reverse pipeline processing order.
Andrey Miroshnikov [Tue, 22 Aug 2023 09:10:24 +0000 (09:10 +0000)]
inorder.py: Reverse pipeline processing order.

11 months agoRevert "inorder.py: Use insn_trace more consistently."
Andrey Miroshnikov [Tue, 22 Aug 2023 08:54:43 +0000 (08:54 +0000)]
Revert "inorder.py: Use insn_trace more consistently."

This reverts commit 755b918d6dad6fc2d1a2a75beb1fdd39223679c7.

11 months agoinorder.py: Use insn_trace more consistently.
Andrey Miroshnikov [Mon, 21 Aug 2023 16:38:37 +0000 (16:38 +0000)]
inorder.py: Use insn_trace more consistently.

11 months agoinorder.py: Enough additions and fixes to get the test case to run all the way.
Andrey Miroshnikov [Mon, 21 Aug 2023 16:35:29 +0000 (16:35 +0000)]
inorder.py: Enough additions and fixes to get the test case to run all the way.

11 months agodon't warn for directories
Jacob Lifshay [Tue, 1 Aug 2023 04:52:56 +0000 (21:52 -0700)]
don't warn for directories

11 months agoignore indented comments too
Jacob Lifshay [Tue, 1 Aug 2023 04:49:57 +0000 (21:49 -0700)]
ignore indented comments too

11 months agodemo moving pseudocode to separate file
Jacob Lifshay [Tue, 1 Aug 2023 02:52:05 +0000 (19:52 -0700)]
demo moving pseudocode to separate file

11 months agoadd support for pseudocode being a [[!inline]] directive
Jacob Lifshay [Tue, 1 Aug 2023 02:44:00 +0000 (19:44 -0700)]
add support for pseudocode being a [[!inline]] directive

11 months agoput reason for checking for old files in error msg
Jacob Lifshay [Mon, 31 Jul 2023 01:31:51 +0000 (18:31 -0700)]
put reason for checking for old files in error msg

11 months agomove generated files to .../decoder/isa/generated
Jacob Lifshay [Mon, 31 Jul 2023 01:23:01 +0000 (18:23 -0700)]
move generated files to .../decoder/isa/generated

add code to check for old generated files and prompt you to remove
them, to avoid accidentally commiting them.
doesn't move all.py so we don't need to change all the imports

11 months agosplit testcase for separate maddrs/msubrs
Konstantinos Margaritis [Tue, 25 Jul 2023 08:40:38 +0000 (08:40 +0000)]
split testcase for separate maddrs/msubrs

11 months agofix set[n]bc[r]
Jacob Lifshay [Tue, 25 Jul 2023 03:34:22 +0000 (20:34 -0700)]
fix set[n]bc[r]

11 months agodon't convert CR[BI] to CR.BI
Jacob Lifshay [Tue, 25 Jul 2023 03:33:34 +0000 (20:33 -0700)]
don't convert CR[BI] to CR.BI

11 months agoadd set[n]bc[r] -- tests broken
Jacob Lifshay [Tue, 25 Jul 2023 02:51:46 +0000 (19:51 -0700)]
add set[n]bc[r] -- tests broken

11 months agoadd missing test_caller_cr.py
Jacob Lifshay [Tue, 25 Jul 2023 02:50:12 +0000 (19:50 -0700)]
add missing test_caller_cr.py

11 months agoformat code
Jacob Lifshay [Tue, 25 Jul 2023 02:10:37 +0000 (19:10 -0700)]
format code

11 months agorestore use of ? : operator in bfp_ROUND_TO_BFP32/64 pseudocode
Jacob Lifshay [Tue, 25 Jul 2023 01:54:45 +0000 (18:54 -0700)]
restore use of ? : operator in bfp_ROUND_TO_BFP32/64 pseudocode

this changes it to match the PowerISA spec. better

11 months agoadd support for C conditional operator
Jacob Lifshay [Tue, 25 Jul 2023 01:42:27 +0000 (18:42 -0700)]
add support for C conditional operator

its used by setbc's pseudocode and by the bfp_* functions

11 months agoshortened variable names,
Luke Kenneth Casson Leighton [Sat, 22 Jul 2023 11:35:51 +0000 (12:35 +0100)]
shortened variable names,
used itertools.product to get indentation down
used temporary variables rather than unnatural-looking indentation
replaced PHP-style string formatting with project-standard "%" format

11 months agoadd SVP64 test for byte reverse insns
Jacob Lifshay [Sat, 22 Jul 2023 01:47:34 +0000 (18:47 -0700)]
add SVP64 test for byte reverse insns