openpower-isa.git
23 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

23 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

23 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

23 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

23 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

23 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

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

23 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

23 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

23 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

23 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

23 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

23 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

23 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

23 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

23 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

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

2 years 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

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

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

2 years agoRevert "skip broken test" programmerjake/readd-rhs-copy
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.

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

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

2 years 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

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

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

2 years 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

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

2 years 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

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

2 years 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

2 years 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

2 years 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

2 years 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

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

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

2 years 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

2 years 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

2 years 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

2 years 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

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

2 years 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

2 years 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

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

2 years 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

2 years 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()

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

2 years 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

2 years 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".

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

2 years 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

2 years 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

2 years 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

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

2 years 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

2 years 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

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

2 years 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

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

2 years 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

2 years 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

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

2 years 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

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

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

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

2 years 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

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

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

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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

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

2 years 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

2 years 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

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

2 years 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

2 years 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

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

2 years 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

2 years 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

2 years 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

2 years 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

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

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

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

2 years 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()

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

2 years 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.
,

2 years 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

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

2 years 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

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

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

2 years 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

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

2 years 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