openpower-isa.git
11 months agoAdded english language description, spaces and brackets for lhzx instruction
Shriya Sharma [Tue, 26 Sep 2023 10:22:11 +0000 (11:22 +0100)]
Added english language description, spaces and brackets for lhzx instruction

11 months agoAdded english language description, spaces and brackets for lhz instruction
Shriya Sharma [Tue, 26 Sep 2023 10:20:28 +0000 (11:20 +0100)]
Added english language description, spaces and brackets for lhz instruction

11 months agoAdded english language description, spaces and brackets for lbzx instruction
Shriya Sharma [Tue, 26 Sep 2023 10:18:21 +0000 (11:18 +0100)]
Added english language description, spaces and brackets for lbzx instruction

11 months agoadd lbzup english description based on lbzu
Luke Kenneth Casson Leighton [Mon, 25 Sep 2023 17:40:51 +0000 (18:40 +0100)]
add lbzup english description based on lbzu

11 months agoAdded english language description, spaces and brackets for lhaux instruction
Shriya Sharma [Mon, 25 Sep 2023 17:36:48 +0000 (18:36 +0100)]
Added english language description, spaces and brackets for lhaux instruction

11 months agoAdded english language description, spaces and brackets for lhau instruction
Shriya Sharma [Mon, 25 Sep 2023 17:33:52 +0000 (18:33 +0100)]
Added english language description, spaces and brackets for lhau instruction

11 months agoAdded english language description, spaces and brackets for lhzux instruction
Shriya Sharma [Mon, 25 Sep 2023 17:29:29 +0000 (18:29 +0100)]
Added english language description, spaces and brackets for lhzux instruction

11 months agoAdded spaces and brackets for lhzu instruction
Shriya Sharma [Mon, 25 Sep 2023 17:22:51 +0000 (18:22 +0100)]
Added spaces and brackets for lhzu instruction

11 months agoindent lbz instruction description
Luke Kenneth Casson Leighton [Mon, 25 Sep 2023 17:19:36 +0000 (18:19 +0100)]
indent lbz instruction description

11 months agoAdded spaces and brackets for lbzux instruction
Shriya Sharma [Mon, 25 Sep 2023 17:20:01 +0000 (18:20 +0100)]
Added spaces and brackets for lbzux instruction

11 months agoindent text of lbzu description
Luke Kenneth Casson Leighton [Mon, 25 Sep 2023 17:15:35 +0000 (18:15 +0100)]
indent text of lbzu description

11 months agowhitespace additions on lbzu to make more like PDF,
Luke Kenneth Casson Leighton [Mon, 25 Sep 2023 16:57:19 +0000 (17:57 +0100)]
whitespace additions on lbzu to make more like PDF,
also added brackets around regs

11 months agoAdded english description for lhzu instruction
Shriya Sharma [Tue, 19 Sep 2023 15:44:56 +0000 (16:44 +0100)]
Added english description for lhzu instruction

11 months agoAdded english description for lhzu instruction
Shriya Sharma [Tue, 19 Sep 2023 15:42:48 +0000 (16:42 +0100)]
Added english description for lhzu instruction

11 months agoAdded english description for lbzu instruction
Shriya Sharma [Tue, 19 Sep 2023 15:40:30 +0000 (16:40 +0100)]
Added english description for lbzu instruction

11 months agoAdded english description for lbzux instruction
Shriya Sharma [Tue, 19 Sep 2023 15:37:20 +0000 (16:37 +0100)]
Added english description for lbzux instruction

11 months agoAdded english description to lbz instruction
Shriya Sharma [Tue, 19 Sep 2023 15:30:46 +0000 (16:30 +0100)]
Added english description to lbz instruction

11 months agomove DEFAULT_MSR handling from add_case to ISACaller
Jacob Lifshay [Thu, 26 Oct 2023 22:44:27 +0000 (15:44 -0700)]
move DEFAULT_MSR handling from add_case to ISACaller

11 months agosyscall: improve architecture detection
Dmitry Selyutin [Wed, 25 Oct 2023 19:49:11 +0000 (22:49 +0300)]
syscall: improve architecture detection

11 months agoinstall pytest-subtests==0.11.0
Jacob Lifshay [Wed, 25 Oct 2023 03:18:48 +0000 (20:18 -0700)]
install pytest-subtests==0.11.0

11 months agogenerate syscalls.json
Jacob Lifshay [Wed, 25 Oct 2023 03:18:27 +0000 (20:18 -0700)]
generate syscalls.json

11 months agowhitespace cleanup
Luke Kenneth Casson Leighton [Tue, 24 Oct 2023 17:16:06 +0000 (18:16 +0100)]
whitespace cleanup

11 months agoRevert "skip broken test"
Jacob Lifshay [Fri, 20 Oct 2023 01:57:00 +0000 (18:57 -0700)]
Revert "skip broken test"

requested by luke:
https://bugs.libre-soc.org/show_bug.cgi?id=1193#c1

This reverts commit e0a4f19b2c90be84a77a4aa584c6d60e508d92f5.

11 months agoRevert "Revert "fix bug where pseudo-code assignments modify more than just the varia...
Jacob Lifshay [Fri, 20 Oct 2023 01:18:51 +0000 (18:18 -0700)]
Revert "Revert "fix bug where pseudo-code assignments modify more than just the variable being assigned to""

we need copy_assign_rhs

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

This reverts commit bd3b54e83101217dc32da09083c6a3858fd7c600.

11 months agoRevert "fix bug introduced by having to revert unauthorized addition of"
Jacob Lifshay [Fri, 20 Oct 2023 01:17:20 +0000 (18:17 -0700)]
Revert "fix bug introduced by having to revert unauthorized addition of"

we need copy_assign_rhs

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

This reverts commit 9dab88318a2938f14873804d83bf85ef9ae2fb93.

11 months agoskip broken test
Jacob Lifshay [Fri, 20 Oct 2023 01:00:55 +0000 (18:00 -0700)]
skip broken test

it wasn't obvious how to fix it, see https://bugs.libre-soc.org/show_bug.cgi?id=1193

11 months agofill in manually verified expected state for TrapTestCase.case_2_kaivb_test
Jacob Lifshay [Fri, 20 Oct 2023 00:49:04 +0000 (17:49 -0700)]
fill in manually verified expected state for TrapTestCase.case_2_kaivb_test

based on the Programming Note on left side of PowerISA v3.1B page 1289 (1315)

11 months agoformat code
Jacob Lifshay [Fri, 20 Oct 2023 00:37:34 +0000 (17:37 -0700)]
format code

11 months agoreduce mmap BLOCK_SIZE to 1 << 28 so it works on armv7a
Jacob Lifshay [Mon, 23 Oct 2023 23:09:51 +0000 (16:09 -0700)]
reduce mmap BLOCK_SIZE to 1 << 28 so it works on armv7a

11 months agosyscall: handle architecture aliases
Dmitry Selyutin [Mon, 23 Oct 2023 20:32:57 +0000 (23:32 +0300)]
syscall: handle architecture aliases

11 months agosyscall: handle arm and aarch64 architectures
Dmitry Selyutin [Mon, 23 Oct 2023 20:23:08 +0000 (23:23 +0300)]
syscall: handle arm and aarch64 architectures

11 months agotest_syscall: hardcode MSR validation
Dmitry Selyutin [Mon, 23 Oct 2023 06:17:55 +0000 (09:17 +0300)]
test_syscall: hardcode MSR validation

11 months agotest_syscall: check MSR; update expected PC
Dmitry Selyutin [Sun, 22 Oct 2023 13:14:55 +0000 (16:14 +0300)]
test_syscall: check MSR; update expected PC

11 months agoisa/test_runner: support initial_msr parameter
Dmitry Selyutin [Sun, 22 Oct 2023 06:44:37 +0000 (09:44 +0300)]
isa/test_runner: support initial_msr parameter

11 months agoisa/caller: return from interrupt upon syscall emulation
Dmitry Selyutin [Sun, 22 Oct 2023 06:29:50 +0000 (09:29 +0300)]
isa/caller: return from interrupt upon syscall emulation

11 months agotest_syscall: provide code for future SPR checks
Dmitry Selyutin [Fri, 20 Oct 2023 17:16:22 +0000 (20:16 +0300)]
test_syscall: provide code for future SPR checks

11 months agoisa/caller: refactor sc logic
Dmitry Selyutin [Fri, 20 Oct 2023 17:15:12 +0000 (20:15 +0300)]
isa/caller: refactor sc logic

11 months agotest_caller: introduce syscall tests
Dmitry Selyutin [Wed, 18 Oct 2023 17:11:51 +0000 (20:11 +0300)]
test_caller: introduce syscall tests

11 months agoisa/caller: enable host-backed memory for scemu
Dmitry Selyutin [Wed, 18 Oct 2023 15:32:37 +0000 (18:32 +0300)]
isa/caller: enable host-backed memory for scemu

11 months agotest/runner: introduce use_syscall_emu parameter
Dmitry Selyutin [Wed, 18 Oct 2023 15:26:14 +0000 (18:26 +0300)]
test/runner: introduce use_syscall_emu parameter

11 months agoisa/caller: introduce use_syscall_emu parameter
Dmitry Selyutin [Wed, 18 Oct 2023 15:24:31 +0000 (18:24 +0300)]
isa/caller: introduce use_syscall_emu parameter

11 months agoisa/test_runner: support additional parameters
Dmitry Selyutin [Wed, 18 Oct 2023 17:06:17 +0000 (20:06 +0300)]
isa/test_runner: support additional parameters

11 months agoisa/caller: remove redundant check
Dmitry Selyutin [Wed, 18 Oct 2023 15:33:02 +0000 (18:33 +0300)]
isa/caller: remove redundant check

11 months agoisa/caller: provide sc and scv instructions wrapper
Dmitry Selyutin [Fri, 22 Sep 2023 19:08:10 +0000 (22:08 +0300)]
isa/caller: provide sc and scv instructions wrapper

11 months agoadd extra comments to sc-rfid test
Luke Kenneth Casson Leighton [Sat, 21 Oct 2023 18:10:23 +0000 (18:10 +0000)]
add extra comments to sc-rfid test

11 months agoadd a test which does both sc and rfid, and does rudimentary
Luke Kenneth Casson Leighton [Fri, 20 Oct 2023 21:09:22 +0000 (22:09 +0100)]
add a test which does both sc and rfid, and does rudimentary
checking that they are executed in expected order by setting some GPRs.
a whole bunch of NOPs were added to get the assembler to start at 0xc00
with a jump right at the start. terrible hack but does the job.

11 months agoAdded assert to check inner/outer results match
Andrey Miroshnikov [Thu, 19 Oct 2023 10:05:05 +0000 (10:05 +0000)]
Added assert to check inner/outer results match

11 months agoReplace flatten func with builtin reduce()
Andrey Miroshnikov [Thu, 19 Oct 2023 09:25:17 +0000 (09:25 +0000)]
Replace flatten func with builtin reduce()

11 months agoReadded the flatten func (removed accidentally)
Andrey Miroshnikov [Thu, 19 Oct 2023 06:49:14 +0000 (06:49 +0000)]
Readded the flatten func (removed accidentally)

11 months agoadd expected results to "sc" instruction in TrapTestCase.
Luke Kenneth Casson Leighton [Wed, 18 Oct 2023 21:05:52 +0000 (22:05 +0100)]
add expected results to "sc" instruction in TrapTestCase.
this demonstrates how "sc" is meant to work in standard (system) mode.
this *may* be exactly what TestIssuer does, it will have to be checked

11 months agoadd SRR0 and SRR1 to list of special_regs in parser
Luke Kenneth Casson Leighton [Wed, 18 Oct 2023 21:04:33 +0000 (22:04 +0100)]
add SRR0 and SRR1 to list of special_regs in parser
which are not treated as "create on assign".

11 months agoannoying - call the TRAP() function in system.mdwn "sc" instruction.
Luke Kenneth Casson Leighton [Wed, 18 Oct 2023 21:03:38 +0000 (22:03 +0100)]
annoying - call the TRAP() function in system.mdwn "sc" instruction.
setting NIA and MSR is tricky, it involves reading some english text
that is very unclear (Book III section 4.3.1 which then in turn says
"go to section 7.5 page 1076").
given that we are not implementing hypervisor or LEV=1/2/3 it is just
simpler to call TRAP(0xc00)

11 months agofix bug introduced by having to revert unauthorized addition of
Luke Kenneth Casson Leighton [Wed, 18 Oct 2023 20:30:43 +0000 (21:30 +0100)]
fix bug introduced by having to revert unauthorized addition of
copy_assign_rhs

11 months agoRevert "fix bug where pseudo-code assignments modify more than just the variable...
Luke Kenneth Casson Leighton [Wed, 18 Oct 2023 20:24:04 +0000 (21:24 +0100)]
Revert "fix bug where pseudo-code assignments modify more than just the variable being assigned to"

This reverts commit 4e701a851536bba6648779c183293ba75e7ea7b8.

adding copy_assign_rhs was added without authorization or discussion and
is damaging the simulator

11 months agoadd sc test to TestTrapCases
Luke Kenneth Casson Leighton [Wed, 18 Oct 2023 20:21:48 +0000 (21:21 +0100)]
add sc test to TestTrapCases

11 months agoadd test_caller_trap.py which stunningly actually works reasonably well
Luke Kenneth Casson Leighton [Wed, 18 Oct 2023 19:56:40 +0000 (20:56 +0100)]
add test_caller_trap.py which stunningly actually works reasonably well
(TrapTestCase has only previously been run on TestIssuer)

11 months agopower_enums: mention sc and scv instructions
Dmitry Selyutin [Fri, 22 Sep 2023 19:07:40 +0000 (22:07 +0300)]
power_enums: mention sc and scv instructions

11 months agoadd "is_idle" capability to inorder.py so that after adding
Luke Kenneth Casson Leighton [Wed, 18 Oct 2023 14:52:30 +0000 (15:52 +0100)]
add "is_idle" capability to inorder.py so that after adding
instructions the pipeline continues to propagate

11 months agosettting pushed_to_decode true
Shriya Sharma [Wed, 18 Oct 2023 14:47:51 +0000 (15:47 +0100)]
settting pushed_to_decode true

11 months agoAdded an extra unit test test_trace1
Shriya Sharma [Wed, 18 Oct 2023 14:32:36 +0000 (15:32 +0100)]
Added an extra unit test test_trace1

11 months agoAdded pure python mat multiply (outer and inner product versions). Made result printi...
Andrey Miroshnikov [Tue, 17 Oct 2023 13:06:31 +0000 (13:06 +0000)]
Added pure python mat multiply (outer and inner product versions). Made result printing parametrisable.

11 months agodoh, use reduce on operator.add already
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 11:49:11 +0000 (12:49 +0100)]
doh, use reduce on operator.add already

11 months agoprint expected flattened matrix results
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 11:47:39 +0000 (12:47 +0100)]
print expected flattened matrix results

11 months agoAdd assert
Andrey Miroshnikov [Wed, 11 Oct 2023 11:46:39 +0000 (11:46 +0000)]
Add assert

11 months agoremove cruft, make comments clearer
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 11:43:48 +0000 (12:43 +0100)]
remove cruft, make comments clearer

11 months agoUse flatten
Andrey Miroshnikov [Wed, 11 Oct 2023 11:43:26 +0000 (11:43 +0000)]
Use flatten

11 months agoAdd flatten function, print expected
Andrey Miroshnikov [Wed, 11 Oct 2023 11:41:16 +0000 (11:41 +0000)]
Add flatten function, print expected

11 months agorename expected to results (actual results)
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 11:23:02 +0000 (12:23 +0100)]
rename expected to results (actual results)

11 months agostore integer results in expected array
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 11:20:58 +0000 (12:20 +0100)]
store integer results in expected array

11 months agosimplify matmult test code
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 11:19:32 +0000 (12:19 +0100)]
simplify matmult test code

11 months agowhitespace
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 11:18:09 +0000 (12:18 +0100)]
whitespace

11 months agowhitespace
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 11:17:29 +0000 (12:17 +0100)]
whitespace

11 months agoAdd pure python matrix mul function
Andrey Miroshnikov [Wed, 11 Oct 2023 11:16:34 +0000 (11:16 +0000)]
Add pure python matrix mul function

11 months agoclarify prints and no conversion of integer input in maddld matrix test
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 11:11:57 +0000 (12:11 +0100)]
clarify prints and no conversion of integer input in maddld matrix test

11 months agoadd stub (non-working) matrix multiply using maddld
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 11:05:59 +0000 (12:05 +0100)]
add stub (non-working) matrix multiply using maddld

11 months agoadd basic isacaller inlining to poly1305-donna.py
Sadoon Albader [Wed, 11 Oct 2023 19:49:50 +0000 (22:49 +0300)]
add basic isacaller inlining to poly1305-donna.py

11 months agoaccidentally commented-out matrix tests
Luke Kenneth Casson Leighton [Wed, 11 Oct 2023 10:57:58 +0000 (11:57 +0100)]
accidentally commented-out matrix tests

11 months agowhitespace
Luke Kenneth Casson Leighton [Sun, 8 Oct 2023 13:57:48 +0000 (14:57 +0100)]
whitespace

11 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

11 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

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

11 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

11 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

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

11 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

11 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

11 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

11 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

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

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

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

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

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

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

11 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

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

11 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

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

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

11 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