Skip to content

Commit

Permalink
PER Zero-Address Detection Facility
Browse files Browse the repository at this point in the history
  • Loading branch information
Fish-Git committed Feb 20, 2022
1 parent bc14f42 commit 90fa75e
Show file tree
Hide file tree
Showing 43 changed files with 2,125 additions and 331 deletions.
20 changes: 20 additions & 0 deletions Hercules_VS2008.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -3450,6 +3450,10 @@
RelativePath=".\tests\mvcos-001.core"
>
</File>
<File
RelativePath=".\tests\PERZAD.core"
>
</File>
<File
RelativePath=".\tests\pfpo.core"
>
Expand Down Expand Up @@ -4493,6 +4497,10 @@
RelativePath=".\tests\mvcos-001.tst"
>
</File>
<File
RelativePath=".\tests\PERZAD.tst"
>
</File>
<File
RelativePath=".\tests\pfpo.tst"
>
Expand Down Expand Up @@ -4805,6 +4813,10 @@
RelativePath=".\tests\mvcos-001.asm"
>
</File>
<File
RelativePath=".\tests\PERZAD.asm"
>
</File>
<File
RelativePath=".\tests\pfpo.asm"
>
Expand Down Expand Up @@ -5044,10 +5056,18 @@
RelativePath=".\tests\mvcos-001.pdf"
>
</File>
<File
RelativePath=".\tests\PERZAD.list"
>
</File>
<File
RelativePath=".\tests\pfpo.list"
>
</File>
<File
RelativePath=".\tests\PERZAD.pdf"
>
</File>
<File
RelativePath=".\tests\PFPO.pdf"
>
Expand Down
5 changes: 5 additions & 0 deletions Hercules_VS2015.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -949,6 +949,11 @@
<None Include="tests\mvcos-001.list" />
<None Include="tests\mvcos-001.pdf" />
<None Include="tests\mvcos-001.tst" />
<None Include="tests\PERZAD.asm" />
<None Include="tests\PERZAD.core" />
<None Include="tests\PERZAD.list" />
<None Include="tests\PERZAD.pdf" />
<None Include="tests\PERZAD.tst" />
<None Include="tests\pfpo.asm" />
<None Include="tests\pfpo.core" />
<None Include="tests\pfpo.list" />
Expand Down
15 changes: 15 additions & 0 deletions Hercules_VS2015.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -1748,6 +1748,9 @@
<None Include="tests\fix-page.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\PERZAD.core">
<Filter>Other Files\tests\core</Filter>
</None>
<None Include="tests\pfpo.core">
<Filter>Other Files\tests\core</Filter>
</None>
Expand Down Expand Up @@ -2012,6 +2015,9 @@
<None Include="tests\mvcos-001.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\PERZAD.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\pfpo.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
Expand Down Expand Up @@ -2177,6 +2183,9 @@
<None Include="tests\dc-float.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
<None Include="tests\PERZAD.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
<None Include="tests\pfpo.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
Expand Down Expand Up @@ -2258,9 +2267,15 @@
<None Include="tests\bim-001-add-sub.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PERZAD.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\pfpo.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PERZAD.pdf">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PFPO.pdf">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
Expand Down
5 changes: 5 additions & 0 deletions Hercules_VS2017.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -949,6 +949,11 @@
<None Include="tests\mvcos-001.list" />
<None Include="tests\mvcos-001.pdf" />
<None Include="tests\mvcos-001.tst" />
<None Include="tests\PERZAD.asm" />
<None Include="tests\PERZAD.core" />
<None Include="tests\PERZAD.list" />
<None Include="tests\PERZAD.pdf" />
<None Include="tests\PERZAD.tst" />
<None Include="tests\pfpo.asm" />
<None Include="tests\pfpo.core" />
<None Include="tests\pfpo.list" />
Expand Down
15 changes: 15 additions & 0 deletions Hercules_VS2017.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -1748,6 +1748,9 @@
<None Include="tests\fix-page.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\PERZAD.core">
<Filter>Other Files\tests\core</Filter>
</None>
<None Include="tests\pfpo.core">
<Filter>Other Files\tests\core</Filter>
</None>
Expand Down Expand Up @@ -2012,6 +2015,9 @@
<None Include="tests\mvcos-001.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\PERZAD.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\pfpo.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
Expand Down Expand Up @@ -2177,6 +2183,9 @@
<None Include="tests\dc-float.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
<None Include="tests\PERZAD.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
<None Include="tests\pfpo.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
Expand Down Expand Up @@ -2258,9 +2267,15 @@
<None Include="tests\bim-001-add-sub.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PERZAD.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\pfpo.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PERZAD.pdf">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PFPO.pdf">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
Expand Down
5 changes: 5 additions & 0 deletions Hercules_VS2019.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -949,6 +949,11 @@
<None Include="tests\mvcos-001.list" />
<None Include="tests\mvcos-001.pdf" />
<None Include="tests\mvcos-001.tst" />
<None Include="tests\PERZAD.asm" />
<None Include="tests\PERZAD.core" />
<None Include="tests\PERZAD.list" />
<None Include="tests\PERZAD.pdf" />
<None Include="tests\PERZAD.tst" />
<None Include="tests\pfpo.asm" />
<None Include="tests\pfpo.core" />
<None Include="tests\pfpo.list" />
Expand Down
15 changes: 15 additions & 0 deletions Hercules_VS2019.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -1748,6 +1748,9 @@
<None Include="tests\fix-page.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\PERZAD.core">
<Filter>Other Files\tests\core</Filter>
</None>
<None Include="tests\pfpo.core">
<Filter>Other Files\tests\core</Filter>
</None>
Expand Down Expand Up @@ -2012,6 +2015,9 @@
<None Include="tests\mvcos-001.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\PERZAD.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\pfpo.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
Expand Down Expand Up @@ -2177,6 +2183,9 @@
<None Include="tests\dc-float.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
<None Include="tests\PERZAD.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
<None Include="tests\pfpo.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
Expand Down Expand Up @@ -2258,9 +2267,15 @@
<None Include="tests\bim-001-add-sub.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PERZAD.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\pfpo.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PERZAD.pdf">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PFPO.pdf">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
Expand Down
5 changes: 5 additions & 0 deletions Hercules_VS2022.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -949,6 +949,11 @@
<None Include="tests\mvcos-001.list" />
<None Include="tests\mvcos-001.pdf" />
<None Include="tests\mvcos-001.tst" />
<None Include="tests\PERZAD.asm" />
<None Include="tests\PERZAD.core" />
<None Include="tests\PERZAD.list" />
<None Include="tests\PERZAD.pdf" />
<None Include="tests\PERZAD.tst" />
<None Include="tests\pfpo.asm" />
<None Include="tests\pfpo.core" />
<None Include="tests\pfpo.list" />
Expand Down
15 changes: 15 additions & 0 deletions Hercules_VS2022.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -1748,6 +1748,9 @@
<None Include="tests\fix-page.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\PERZAD.core">
<Filter>Other Files\tests\core</Filter>
</None>
<None Include="tests\pfpo.core">
<Filter>Other Files\tests\core</Filter>
</None>
Expand Down Expand Up @@ -2012,6 +2015,9 @@
<None Include="tests\mvcos-001.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\PERZAD.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
<None Include="tests\pfpo.tst">
<Filter>Other Files\tests\scripts\tst</Filter>
</None>
Expand Down Expand Up @@ -2177,6 +2183,9 @@
<None Include="tests\dc-float.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
<None Include="tests\PERZAD.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
<None Include="tests\pfpo.asm">
<Filter>Other Files\tests\scripts\asm</Filter>
</None>
Expand Down Expand Up @@ -2258,9 +2267,15 @@
<None Include="tests\bim-001-add-sub.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PERZAD.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\pfpo.list">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PERZAD.pdf">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
<None Include="tests\PFPO.pdf">
<Filter>Other Files\tests\scripts\asm\list</Filter>
</None>
Expand Down
12 changes: 12 additions & 0 deletions assist.c
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ RADR mplp;
#define MPLPFAL 0x34

SSE( inst, regs, b1, effective_addr1, b2, effective_addr2 );
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK();

Expand Down Expand Up @@ -123,6 +124,7 @@ VADR effective_addr1,
effective_addr2; /* Effective addresses */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand Down Expand Up @@ -152,6 +154,7 @@ DEF_INST(obtain_local_lock)
int acc_mode = 0; /* access mode to use */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand Down Expand Up @@ -245,6 +248,7 @@ VADR newia; /* Unsuccessful branch addr */
int acc_mode = 0; /* access mode to use */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand Down Expand Up @@ -341,6 +345,7 @@ DEF_INST(obtain_cms_lock)
int acc_mode = 0; /* access mode to use */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand Down Expand Up @@ -447,6 +452,7 @@ VADR newia; /* Unsuccessful branch addr */
int acc_mode = 0; /* access mode to use */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand Down Expand Up @@ -530,6 +536,7 @@ VADR effective_addr1,
effective_addr2; /* Effective addresses */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand All @@ -552,6 +559,7 @@ VADR effective_addr1,
effective_addr2; /* Effective addresses */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand All @@ -574,6 +582,7 @@ VADR effective_addr1,
effective_addr2; /* Effective addresses */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand All @@ -596,6 +605,7 @@ VADR effective_addr1,
effective_addr2; /* Effective addresses */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand All @@ -618,6 +628,7 @@ VADR effective_addr1,
effective_addr2; /* Effective addresses */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand All @@ -640,6 +651,7 @@ VADR effective_addr1,
effective_addr2; /* Effective addresses */

SSE(inst, regs, b1, effective_addr1, b2, effective_addr2);
PER_ZEROADDR_XCHECK2( regs, b1, b2 );

GUEST_CHECK( );

Expand Down
5 changes: 3 additions & 2 deletions chsc.c
Original file line number Diff line number Diff line change
Expand Up @@ -581,10 +581,11 @@ CHSC_RSP *chsc_rsp; /* Response structure*/
RRE(inst, regs, r1, r2);

/* Display instruction if debugging */
#if defined(CHSC_DEBUG)
#if defined(CHSC_DEBUG)
ARCH_DEP(display_inst) (regs, inst);
#endif
#endif

PER_ZEROADDR_CHECK( regs, r1 );
TRAN_INSTR_CHECK( regs );
PRIV_CHECK(regs);

Expand Down
Loading

0 comments on commit 90fa75e

Please sign in to comment.