Correction to stack types in ESAME mode

git-svn-id: file:///home/jj/hercules.svn/trunk@32 956126f8-22a0-4046-8f4a-272fa8102e63
This commit is contained in:
Jan Jaeger
2001-03-18 21:00:18 +00:00
parent 944d1ee790
commit 92574bc74d
3 changed files with 22 additions and 9 deletions

View File

@@ -1,3 +1,4 @@
18 Mar 2001 Correction to stack types in ESAME mode - Jan Jaeger
18 Mar 2001 Correct LRA/LRAG segment table entry address on cc 3 - Jan Jaeger
18 Mar 2001 Correct address types in move char instructions - Jan Jaeger
18 Mar 2001 Correct subspace_replace address type - Jan Jaeger

View File

@@ -427,15 +427,6 @@ typedef struct _LSED {
HWORD resv; /* Reserved bits - must be 0 */
} LSED;
/* Linkage stack entry descriptor bit definitions */
#define LSED_UET_U 0x80 /* Unstack suppression bit */
#define LSED_UET_ET 0x7F /* Entry type... */
#define LSED_UET_HDR 0x01 /* ...header entry */
#define LSED_UET_TLR 0x02 /* ...trailer entry */
#define LSED_UET_BAKR 0x04 /* ...branch state entry */
#define LSED_UET_PC 0x05 /* ...call state entry */
/* Program call number bit definitions */
#define PC_LX 0x000FFF00 /* Linkage index */
#define PC_EX 0x000000FF /* Entry index */

21
stack.c
View File

@@ -18,6 +18,7 @@
/* ESAME low-address protection v208d Roger Bowler */
/* ESAME linkage stack operations v208e Roger Bowler */
/* TRAP support added Jan Jaeger */
/* Correction to stack types in ESAME mode Jan Jaeger */
/*-------------------------------------------------------------------*/
// #define STACK_DEBUG
@@ -31,6 +32,12 @@
/*-------------------------------------------------------------------*/
/* Linkage stack macro definitions */
/*-------------------------------------------------------------------*/
#undef LSED_UET_U
#undef LSED_UET_ET
#undef LSED_UET_HDR
#undef LSED_UET_TLR
#undef LSED_UET_BAKR
#undef LSED_UET_PC
#undef CR15_LSEA
#undef LSEA_WRAP
#undef LSSE_SIZE
@@ -47,6 +54,13 @@
#if defined(FEATURE_ESAME)
#define LSED_UET_U 0x80 /* Unstack suppression bit */
#define LSED_UET_ET 0x7F /* Entry type... */
#define LSED_UET_HDR 0x09 /* ...header entry */
#define LSED_UET_TLR 0x0A /* ...trailer entry */
#define LSED_UET_BAKR 0x0C /* ...branch state entry */
#define LSED_UET_PC 0x0D /* ...call state entry */
#define CR15_LSEA CR15_LSEA_900 /* Bit mask for ESAME linkage
stack entry addr in CR15 */
#define LSEA_WRAP(_lsea) /* No address wrap for ESAME */
@@ -74,6 +88,13 @@
#else /*!defined(FEATURE_ESAME)*/
#define LSED_UET_U 0x80 /* Unstack suppression bit */
#define LSED_UET_ET 0x7F /* Entry type... */
#define LSED_UET_HDR 0x01 /* ...header entry */
#define LSED_UET_TLR 0x02 /* ...trailer entry */
#define LSED_UET_BAKR 0x04 /* ...branch state entry */
#define LSED_UET_PC 0x05 /* ...call state entry */
#define CR15_LSEA CR15_LSEA_390 /* Bit mask for ESA/390 linkage
stack entry addr in CR15 */
#define LSEA_WRAP(_lsea) \