openpower-isa.git
13 months agoadd svshape3 reservation in minor_22.csv,
Luke Kenneth Casson Leighton [Fri, 6 Oct 2023 09:06:20 +0000 (10:06 +0100)]
add svshape3 reservation in minor_22.csv,
see https://bugs.libre-soc.org/show_bug.cgi?id=1155#c6

13 months agoadd error message showing which instructions have been barfed
Luke Kenneth Casson Leighton [Tue, 3 Oct 2023 14:37:37 +0000 (15:37 +0100)]
add error message showing which instructions have been barfed

13 months agofixed another serious bug, C should output to CSV
Sadoon Albader [Tue, 3 Oct 2023 18:29:38 +0000 (21:29 +0300)]
fixed another serious bug, C should output to CSV

13 months agoadd rudementary test script
Sadoon Albader [Tue, 3 Oct 2023 18:22:49 +0000 (21:22 +0300)]
add rudementary test script

13 months agoadd python poly1305 test that uses random data input
Sadoon Albader [Tue, 3 Oct 2023 18:19:52 +0000 (21:19 +0300)]
add python poly1305 test that uses random data input

13 months agofix huge bug with C poly1305 function call
Sadoon Albader [Tue, 3 Oct 2023 18:18:42 +0000 (21:18 +0300)]
fix huge bug with C poly1305 function call

13 months agoadded poly1305 random message tester
Sadoon Albader [Tue, 3 Oct 2023 16:33:17 +0000 (19:33 +0300)]
added poly1305 random message tester

13 months agooptional read of "Description" in pagereader.py
Luke Kenneth Casson Leighton [Tue, 3 Oct 2023 14:34:35 +0000 (15:34 +0100)]
optional read of "Description" in pagereader.py

13 months agomove repeated code block to mini function for reading indented lines
Luke Kenneth Casson Leighton [Tue, 3 Oct 2023 14:29:55 +0000 (15:29 +0100)]
move repeated code block to mini function for reading indented lines

13 months agowhoops should be 5x3 comment not 5x3
Luke Kenneth Casson Leighton [Sun, 1 Oct 2023 15:05:30 +0000 (16:05 +0100)]
whoops should be 5x3 comment not 5x3

13 months agomanually revert damaged caused by jacob to pseudocode parser
Luke Kenneth Casson Leighton [Sun, 1 Oct 2023 10:12:55 +0000 (11:12 +0100)]
manually revert damaged caused by jacob to pseudocode parser
the purpose of the parser database is to preserve precisely and exactly
the data that is read in, such that it is possible to re-write it
precisely and exactly

jacob had destroyed that extremely important requirement by making
unauthorized modifications to this fundamental low-level code.

jacobs task is now to review the reversions and re-implement the
otherwise extremely valuable enhancements, but this time in a
way that listens to the project leader and administrators

13 months agoRevert "demo moving pseudocode to separate file"
Luke Kenneth Casson Leighton [Sun, 1 Oct 2023 09:45:43 +0000 (10:45 +0100)]
Revert "demo moving pseudocode to separate file"

This reverts commit b5d9084971dd761683a3a164af24c673a608aa23.

13 months agoRevert "add support for pseudocode being a [[!inline]] directive"
Luke Kenneth Casson Leighton [Sun, 1 Oct 2023 09:40:43 +0000 (10:40 +0100)]
Revert "add support for pseudocode being a [[!inline]] directive"

This reverts commit 43152e91f4530ddaef5cef2614b41e022c57fced.

13 months agoRevert "ignore indented comments too"
Luke Kenneth Casson Leighton [Sun, 1 Oct 2023 09:40:34 +0000 (10:40 +0100)]
Revert "ignore indented comments too"

This reverts commit 60f9f523f78cae9e357b61e6bc55ca1b323dfa14.

13 months agoskip blank lines in pagereader.py pprint_ops()
Luke Kenneth Casson Leighton [Sat, 30 Sep 2023 13:30:02 +0000 (14:30 +0100)]
skip blank lines in pagereader.py pprint_ops()

13 months agocode-comments
Luke Kenneth Casson Leighton [Fri, 29 Sep 2023 18:31:38 +0000 (19:31 +0100)]
code-comments

13 months agomoving the temp array (t) along, so that adding to y is the same size
Luke Kenneth Casson Leighton [Fri, 29 Sep 2023 18:23:59 +0000 (19:23 +0100)]
moving the temp array (t) along, so that adding to y is the same size
in bigmul python-based code. idea is to make everything line up
and be as uniform as possible, reduce number of instructions to bare min.
,

13 months agofirst attempt to create an Indexed Schedule, for bigmul powmod,
Luke Kenneth Casson Leighton [Fri, 29 Sep 2023 17:46:51 +0000 (18:46 +0100)]
first attempt to create an Indexed Schedule, for bigmul powmod,
but it is not perfect. needs thought

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

13 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

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

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

13 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

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

13 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

13 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

13 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 (?)

13 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

13 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

13 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

13 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

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

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

13 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

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

13 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

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

13 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

13 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

13 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

13 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

13 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

13 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

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

13 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

13 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

13 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

14 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

14 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

14 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

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

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

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

14 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

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

14 months agomake scalar EXTRA2 encoding match between tables and algorithms fix-scalar-extra2
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
14 months agoformat code
Jacob Lifshay [Wed, 20 Sep 2023 22:23:58 +0000 (15:23 -0700)]
format code

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

14 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

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

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

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

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

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

14 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

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

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

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

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

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

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

14 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

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

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

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

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

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

14 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

14 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

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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

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

14 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

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

[skip ci]

14 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

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

14 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

14 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

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