mirror of
https://github.com/SDL-Hercules-390/hyperion.git
synced 2026-04-21 03:12:58 +02:00
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:
1
CHANGES
1
CHANGES
@@ -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
|
||||
|
||||
9
esa390.h
9
esa390.h
@@ -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
21
stack.c
@@ -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) \
|
||||
|
||||
Reference in New Issue
Block a user