openpower-isa.git
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
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 agoforgot title
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:56:50 +0000 (11:56 +0100)]
forgot title

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

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

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

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

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

2 years agoreplace (RA) with "the contents of RA"
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:39:35 +0000 (11:39 +0100)]
replace (RA) with "the contents of RA"

2 years agoadded english language description for ldbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:41:40 +0000 (11:41 +0100)]
added english language description for ldbrsx instruction

2 years agopifploadshift.mdwn, do one example english pseudocode operands
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:38:09 +0000 (11:38 +0100)]
pifploadshift.mdwn, do one example english pseudocode operands

2 years agoadded english language description for lwbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:40:24 +0000 (11:40 +0100)]
added english language description for lwbrsx instruction

2 years agodo one example stfsux in pifpstoreshift, english pseudocode operands
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:36:17 +0000 (11:36 +0100)]
do one example stfsux in pifpstoreshift, english pseudocode operands

2 years agoadded english language description for lhbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:38:58 +0000 (11:38 +0100)]
added english language description for lhbrsx instruction

2 years agoadded english language description for ldsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:37:56 +0000 (11:37 +0100)]
added english language description for ldsx instruction

2 years agoadded english language description for lwasux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:35:47 +0000 (11:35 +0100)]
added english language description for lwasux instruction

2 years agocontents of RA again
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:33:02 +0000 (11:33 +0100)]
contents of RA again

2 years agoadded english language description for lwasx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:34:45 +0000 (11:34 +0100)]
added english language description for lwasx instruction

2 years agoadded english language description for lwzsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:33:21 +0000 (11:33 +0100)]
added english language description for lwzsux instruction

2 years agoadded english language description for lwzsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:31:56 +0000 (11:31 +0100)]
added english language description for lwzsx instruction

2 years agouse words "the contents of register RA instead of (RA)
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:29:00 +0000 (11:29 +0100)]
use words "the contents of register RA instead of (RA)

2 years agowhitespace
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:28:06 +0000 (11:28 +0100)]
whitespace

2 years agowhitespace and
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:27:30 +0000 (11:27 +0100)]
whitespace and
also use explicit "the contents of register RA

2 years agoadded english language description for lhasux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:30:00 +0000 (11:30 +0100)]
added english language description for lhasux instruction

2 years agowhitespace
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:26:18 +0000 (11:26 +0100)]
whitespace

2 years agoadded english language description for lhasx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:28:41 +0000 (11:28 +0100)]
added english language description for lhasx instruction

2 years agowhitespace
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:24:49 +0000 (11:24 +0100)]
whitespace

2 years agoadded english language description for lhzsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:27:09 +0000 (11:27 +0100)]
added english language description for lhzsux instruction

2 years agowhitespace
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:24:10 +0000 (11:24 +0100)]
whitespace

2 years agospace-dot whitespace cleanup
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:22:32 +0000 (11:22 +0100)]
space-dot whitespace cleanup

2 years agoadded english language description for lhzsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:24:39 +0000 (11:24 +0100)]
added english language description for lhzsx instruction

2 years agobig whitespace cleanup
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:21:53 +0000 (11:21 +0100)]
big whitespace cleanup

2 years agoadded english language description for lbzsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:22:49 +0000 (11:22 +0100)]
added english language description for lbzsux instruction

2 years agoadded english language description for lbzsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:20:00 +0000 (11:20 +0100)]
added english language description for lbzsx instruction

2 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:15:19 +0000 (11:15 +0100)]
whitespace cleanup

2 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:11:25 +0000 (11:11 +0100)]
whitespace cleanup

2 years agoadded commas
Shriya Sharma [Fri, 27 Oct 2023 10:13:02 +0000 (11:13 +0100)]
added commas

2 years agoadd a comma to reduce ambiguity
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 10:07:34 +0000 (11:07 +0100)]
add a comma to reduce ambiguity

2 years agoadded english language description for stdbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:09:44 +0000 (11:09 +0100)]
added english language description for stdbrsx instruction

2 years agoadded english language description for stwbrsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:08:45 +0000 (11:08 +0100)]
added english language description for stwbrsx instruction

2 years agoadded english language description for sthbrx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:03:53 +0000 (11:03 +0100)]
added english language description for sthbrx instruction

2 years agoadded english language description for stdsux instruction
Shriya Sharma [Fri, 27 Oct 2023 10:02:05 +0000 (11:02 +0100)]
added english language description for stdsux instruction

2 years agoadded english language description for stdsx instruction
Shriya Sharma [Fri, 27 Oct 2023 10:01:29 +0000 (11:01 +0100)]
added english language description for stdsx instruction

2 years agoadded english language description for stwsux instruction
Shriya Sharma [Fri, 27 Oct 2023 09:59:52 +0000 (10:59 +0100)]
added english language description for stwsux instruction

2 years agoremove immediate-versions of instructions for shifting
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 09:56:58 +0000 (10:56 +0100)]
remove immediate-versions of instructions for shifting
as there is no point shifting an immediate

2 years agoadded english language description for stwsx instruction
Shriya Sharma [Fri, 27 Oct 2023 09:58:38 +0000 (10:58 +0100)]
added english language description for stwsx instruction

2 years agoadded english language description for sthsux instruction
Shriya Sharma [Fri, 27 Oct 2023 09:57:04 +0000 (10:57 +0100)]
added english language description for sthsux instruction

2 years agoadded english language description for sthsx instruction
Shriya Sharma [Fri, 27 Oct 2023 09:56:10 +0000 (10:56 +0100)]
added english language description for sthsx instruction

2 years agoadded english language description for stbsux instruction
Shriya Sharma [Fri, 27 Oct 2023 09:54:53 +0000 (10:54 +0100)]
added english language description for stbsux instruction

2 years agoadd pifpstoreshift.mdwn and pifploadshift.mdwn as
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 09:51:34 +0000 (10:51 +0100)]
add pifpstoreshift.mdwn and pifploadshift.mdwn as
copies of their non-shifted variants

2 years agoadd copy of pifixedstore.mdwn renamed to pifixedstoreshift.mdwn
Luke Kenneth Casson Leighton [Fri, 27 Oct 2023 09:50:13 +0000 (10:50 +0100)]
add copy of pifixedstore.mdwn renamed to pifixedstoreshift.mdwn
modifications required to add "shifting"