openpower-isa.git
21 months agoadd 2nd maxloc case
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:33:03 +0000 (14:33 +0000)]
add 2nd maxloc case

21 months agomove maxloc to isacaller directory
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:18:20 +0000 (14:18 +0000)]
move maxloc to isacaller directory

21 months agopython conversion of maxloc.c
Luke Kenneth Casson Leighton [Wed, 15 Nov 2023 14:17:09 +0000 (14:17 +0000)]
python conversion of maxloc.c

21 months agoadd TRAP docs
Jacob Lifshay [Thu, 9 Nov 2023 02:27:34 +0000 (18:27 -0800)]
add TRAP docs

21 months agomisc fixes for fallout of copying insn inputs
Jacob Lifshay [Tue, 7 Nov 2023 04:54:52 +0000 (20:54 -0800)]
misc fixes for fallout of copying insn inputs

21 months agoSystem Call Interrupts do *not* set SRR1[TRAP]
Jacob Lifshay [Tue, 7 Nov 2023 04:38:18 +0000 (20:38 -0800)]
System Call Interrupts do *not* set SRR1[TRAP]

See PowerISA v3.1B Book III 7.5.14

21 months agosupport TRAP being called without setting a trap_bit
Jacob Lifshay [Tue, 7 Nov 2023 04:37:07 +0000 (20:37 -0800)]
support TRAP being called without setting a trap_bit

21 months agoonly write outputs that have .ok == True
Jacob Lifshay [Tue, 7 Nov 2023 04:54:05 +0000 (20:54 -0800)]
only write outputs that have .ok == True

21 months agouse create_full_args to generate insn arg list
Jacob Lifshay [Tue, 7 Nov 2023 04:49:19 +0000 (20:49 -0800)]
use create_full_args to generate insn arg list

21 months agoadd SelectableInt.ok
Jacob Lifshay [Tue, 7 Nov 2023 04:46:03 +0000 (20:46 -0800)]
add SelectableInt.ok

21 months agohelper for one-source-of-truth for insn argument list for ISACaller and parser
Jacob Lifshay [Tue, 7 Nov 2023 04:43:13 +0000 (20:43 -0800)]
helper for one-source-of-truth for insn argument list for ISACaller and parser

21 months agocopy_assign_rhs must retain subclasses of SelectableInt
Jacob Lifshay [Tue, 7 Nov 2023 04:41:11 +0000 (20:41 -0800)]
copy_assign_rhs must retain subclasses of SelectableInt

21 months agolog load/stores to InstrInOuts
Jacob Lifshay [Mon, 6 Nov 2023 02:14:29 +0000 (18:14 -0800)]
log load/stores to InstrInOuts

21 months agoformat code
Jacob Lifshay [Thu, 2 Nov 2023 01:36:10 +0000 (18:36 -0700)]
format code

21 months agomisc AST correctness fixes
Jacob Lifshay [Wed, 1 Nov 2023 05:50:40 +0000 (22:50 -0700)]
misc AST correctness fixes

21 months agofix maxloc
Luke Kenneth Casson Leighton [Tue, 14 Nov 2023 11:58:09 +0000 (11:58 +0000)]
fix maxloc

21 months agoadd debug print
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:25:09 +0000 (20:25 +0000)]
add debug print

21 months agowhoole stack of whitespace corrections
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:21:42 +0000 (20:21 +0000)]
whoole stack of whitespace corrections

21 months agomore crap removed
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:17:54 +0000 (20:17 +0000)]
more crap removed

21 months agoremove unnecessary cruft from Makefile
Luke Kenneth Casson Leighton [Wed, 8 Nov 2023 20:14:32 +0000 (20:14 +0000)]
remove unnecessary cruft from Makefile

21 months agoRemoved unused include: bug #676
Andrey Miroshnikov [Wed, 8 Nov 2023 16:37:57 +0000 (16:37 +0000)]
Removed unused include: bug #676

21 months agoAdding fortran C example for Shriya, bug #676
Andrey Miroshnikov [Wed, 8 Nov 2023 16:17:59 +0000 (16:17 +0000)]
Adding fortran C example for Shriya, bug #676

21 months agorename all load/store update-shifted-post-increment to *upsx
Jacob Lifshay [Mon, 6 Nov 2023 03:07:57 +0000 (19:07 -0800)]
rename all load/store update-shifted-post-increment to *upsx

https://bugs.libre-soc.org/show_bug.cgi?id=1048#c21

21 months agofix instruction name conflicts
Jacob Lifshay [Mon, 6 Nov 2023 02:20:42 +0000 (18:20 -0800)]
fix instruction name conflicts

21 months agoremove lhaup from pifixedloadshift -- all pi-shift instructions are indexed X-Form...
Jacob Lifshay [Mon, 6 Nov 2023 02:18:08 +0000 (18:18 -0800)]
remove lhaup from pifixedloadshift -- all pi-shift instructions are indexed X-Form rather than D-Form

21 months agodetect duplicate instructions
Jacob Lifshay [Mon, 6 Nov 2023 02:15:03 +0000 (18:15 -0800)]
detect duplicate instructions

22 months agorename pifpstore instructions, add "p" into names
Luke Kenneth Casson Leighton [Mon, 6 Nov 2023 02:46:09 +0000 (02:46 +0000)]
rename pifpstore instructions, add "p" into names

22 months agouse of the word "Kind" is too irritating. replace all occurrences with "Type".
Luke Kenneth Casson Leighton [Thu, 2 Nov 2023 07:27:50 +0000 (07:27 +0000)]
use of the word "Kind" is too irritating. replace all occurrences with "Type".
cannot replace lowercase "kind" with "type" as it is a python keyword.
have to think of a better (*short*) argument name

22 months agocomment on rfid doing a swap-backup of the program, must find
Luke Kenneth Casson Leighton [Thu, 2 Nov 2023 07:14:58 +0000 (07:14 +0000)]
comment on rfid doing a swap-backup of the program, must find
out why and fix it so that is not necessary

22 months agoadd LSHIFT and RSHIFT operators to parser. reluctantly
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:46:12 +0000 (15:46 +0100)]
add LSHIFT and RSHIFT operators to parser. reluctantly

22 months agolook for and allow blank lines in pseudocode as well
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:45:52 +0000 (15:45 +0100)]
look for and allow blank lines in pseudocode as well
as english description. remove use of regex (too complex to understand)

22 months agomissing colon on end of "Description"
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:31:12 +0000 (15:31 +0100)]
missing colon on end of "Description"

22 months agoremove use of regex (this code is REQUIRED to be SIMPLE)
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 14:00:43 +0000 (15:00 +0100)]
remove use of regex (this code is REQUIRED to be SIMPLE)

22 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

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

22 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

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

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

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

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

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

22 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

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

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

22 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

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

22 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

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

22 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

22 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

22 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

22 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

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

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

22 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

22 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

22 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

22 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

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

22 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

22 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

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

22 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

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

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

22 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

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

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

22 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

22 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

22 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

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

22 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

22 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

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

22 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

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

22 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

22 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

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

22 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

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

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

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

22 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

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

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

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

22 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

22 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

22 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

22 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

22 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

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

22 months agoforgot title
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:56:50 +0000 (11:56 +0100)]
forgot title

22 months agomissing brackets in lhbrx
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:55:38 +0000 (11:55 +0100)]
missing brackets in lhbrx

22 months agoadded english language description for lhbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:50:50 +0000 (11:50 +0100)]
added english language description for lhbrsx instruction

22 months agomissing brackets in lhbrx
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:46:27 +0000 (11:46 +0100)]
missing brackets in lhbrx

22 months agoadded english language description for lhbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:46:18 +0000 (11:46 +0100)]
added english language description for lhbrsx instruction

22 months agoadded english language description for ldsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:44:32 +0000 (11:44 +0100)]
added english language description for ldsux instruction