openpower-isa.git
7 months agofix divmod
Jacob Lifshay [Thu, 28 Sep 2023 02:51:35 +0000 (19:51 -0700)]
fix divmod

7 months agoin divmod algorithm log regexes that match against expected register values
Jacob Lifshay [Thu, 28 Sep 2023 02:50:47 +0000 (19:50 -0700)]
in divmod algorithm log regexes that match against expected register values

7 months agotest python_divmod_algorithm
Jacob Lifshay [Thu, 28 Sep 2023 02:48:50 +0000 (19:48 -0700)]
test python_divmod_algorithm

7 months agoformat code
Jacob Lifshay [Thu, 28 Sep 2023 02:45:34 +0000 (19:45 -0700)]
format code

7 months agolog asmop to LogKind.InstrInOuts too since only printing `.long 0xFOOBAR` isn't very...
Jacob Lifshay [Thu, 28 Sep 2023 02:25:57 +0000 (19:25 -0700)]
log asmop to LogKind.InstrInOuts too since only printing `.long 0xFOOBAR` isn't very useful

7 months agoremove use of addc, use adde instead setting ca to zero.
Luke Kenneth Casson Leighton [Wed, 27 Sep 2023 19:13:16 +0000 (20:13 +0100)]
remove use of addc, use adde instead setting ca to zero.
eliminates one more unnecessary instruction.

7 months agoreduce 4-repeats of identical code down to 1 copy with indices in powmod.py
Luke Kenneth Casson Leighton [Wed, 27 Sep 2023 18:44:43 +0000 (19:44 +0100)]
reduce 4-repeats of identical code down to 1 copy with indices in powmod.py

7 months agoadd seeming-redundant addc/adde (actually part of big-mul-*add*)
Luke Kenneth Casson Leighton [Wed, 27 Sep 2023 18:13:47 +0000 (19:13 +0100)]
add seeming-redundant addc/adde (actually part of big-mul-*add*)
which completes the pattern for REMAP transformation

7 months agoconvert basic_pypowersim to hex rather than broken octal (?)
Luke Kenneth Casson Leighton [Wed, 27 Sep 2023 15:19:32 +0000 (16:19 +0100)]
convert basic_pypowersim to hex rather than broken octal (?)

7 months agocode-cleanup, bit of comments, copyright, blah blah, link to bugreport
Luke Kenneth Casson Leighton [Wed, 27 Sep 2023 10:25:43 +0000 (11:25 +0100)]
code-cleanup, bit of comments, copyright, blah blah, link to bugreport
all preparation before doing code-morph on simple-demo to work out how
to demonstrate REMAP Indexed (then BigMul) viability

7 months agoadd what is currently a duplicate of python_mul_algorithm, plan is to
Luke Kenneth Casson Leighton [Wed, 27 Sep 2023 10:18:53 +0000 (11:18 +0100)]
add what is currently a duplicate of python_mul_algorithm, plan is to
morph python_mul_algorithm2 to be "REMAP"-friendly

7 months agoworking on adding divmod 512x256 to 256x256
Jacob Lifshay [Wed, 27 Sep 2023 04:41:58 +0000 (21:41 -0700)]
working on adding divmod 512x256 to 256x256

7 months agolog writing CA[32]/OV[32] for OP_ADD
Jacob Lifshay [Wed, 27 Sep 2023 04:39:31 +0000 (21:39 -0700)]
log writing CA[32]/OV[32] for OP_ADD

7 months agoadd unit test for mcrxrx
Jacob Lifshay [Wed, 27 Sep 2023 03:34:39 +0000 (20:34 -0700)]
add unit test for mcrxrx

7 months agofix mcrxrx
Jacob Lifshay [Wed, 27 Sep 2023 03:34:25 +0000 (20:34 -0700)]
fix mcrxrx

7 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

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

7 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

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

7 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

7 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

7 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

7 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

7 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

7 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

7 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)

7 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

7 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

7 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

7 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

7 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

7 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

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

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

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

7 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

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

7 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
7 months agoformat code
Jacob Lifshay [Wed, 20 Sep 2023 22:23:58 +0000 (15:23 -0700)]
format code

7 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.

7 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

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

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

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

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

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

7 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

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

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

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

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

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

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

7 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

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

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

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

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

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

7 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

7 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

7 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.

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

7 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

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

7 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

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

[skip ci]

7 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

7 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.

7 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

7 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

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

7 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

7 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

7 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.

7 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).

7 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

7 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

7 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

7 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

7 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

7 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

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

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