From 3f7e7f91d5e10424ee773bad310fccbec85509d6 Mon Sep 17 00:00:00 2001 From: Adam Sampson Date: Thu, 9 Aug 2018 00:52:27 +0100 Subject: [PATCH] WIP: Works again after horrible memory hack --- src/system/ether.1 | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/system/ether.1 b/src/system/ether.1 index fa27b3fa..0a7fecc1 100644 --- a/src/system/ether.1 +++ b/src/system/ether.1 @@ -275,6 +275,10 @@ UNADNI: CPOPJ ;Call this after a DNI interrupt UNARCB: 0 ;Have we seen an RCBI interrupt? ;FIXME A flags word would make more sense (if we ever need a second flag!) +;FIXME For horrible hack below + BLOCK 2000-<.&1777> ;Align to a page boundary +UNPGHK: BLOCK 2000*%UNNPG + BBLK ;BUG INFO the UNA's registers. @@ -307,13 +311,24 @@ UNDPCB: PUSH P,A ; UNAINI: MOVEI D,%UNNPG-1 -UNAIN1: PUSHJ P,TCALL ;Allocate a page of unshuffleable low core +UNAIN1: +IFN 0,[ +;FIXME This causes the core job to crash later... + PUSHJ P,TCALL ;Allocate a page of unshuffleable low core JRST IOMQ - BUG HALT,[Couldn't allocate page for UNA] + BUG HALT,[Couldn't allocate page for DEUNA] + MOVEI B,MUETH ;Tag what it's being used for DPB B,[MUR,,MEMBLT(A)] LSH A,10. ;Save the pointer +] +IFE 0,[ + MOVEI A,2000 ;Use statically-allocated block above + IMUL A,D + ADDI A,UNPGHK +] + MOVEM A,UNPAGS(D) MOVE B,A