mirror of
https://github.com/SDL-Hercules-390/hyperion.git
synced 2026-04-20 18:57:06 +02:00
TRAP was missing page cross and also getting false PIC 04
git-svn-id: file:///home/jj/hercules.svn/trunk@183 956126f8-22a0-4046-8f4a-272fa8102e63
This commit is contained in:
6
stack.c
6
stack.c
@@ -158,15 +158,15 @@ int i;
|
||||
/* Advance to offset +12 */
|
||||
tcba += 12; atcba += 12;
|
||||
if((atcba & PAGEFRAME_BYTEMASK) < 12)
|
||||
atcba = ARCH_DEP(abs_stack_addr) (tcba, regs, ACCTYPE_WRITE);
|
||||
atcba = ARCH_DEP(abs_stack_addr) (tcba, regs, ACCTYPE_READ);
|
||||
|
||||
/* Fetch word 3 of the TCB */
|
||||
tsao = ARCH_DEP(fetch_fullword_absolute)(atcba, regs) & 0x7FFFFFF8;
|
||||
|
||||
/* Advance to offset +20 */
|
||||
tcba += 8; atcba += 8;
|
||||
if((atcba & PAGEFRAME_BYTEMASK) == 0)
|
||||
atcba = ARCH_DEP(abs_stack_addr) (tcba, regs, ACCTYPE_WRITE);
|
||||
if((atcba & PAGEFRAME_BYTEMASK) < 8)
|
||||
atcba = ARCH_DEP(abs_stack_addr) (tcba, regs, ACCTYPE_READ);
|
||||
|
||||
/* Fetch word 3 of the TCB */
|
||||
trap_ia = ARCH_DEP(fetch_fullword_absolute) (atcba, regs);
|
||||
|
||||
Reference in New Issue
Block a user