z80: allow for the HIGH block to be in different places
authorAlan Cox <alan@linux.intel.com>
Sat, 15 Sep 2018 23:22:10 +0000 (00:22 +0100)
committerAlan Cox <alan@linux.intel.com>
Sat, 15 Sep 2018 23:22:10 +0000 (00:22 +0100)
For commonless machines we need it in COMMONMEM

Kernel/lowlevel-z80-thunked.s

index 4e23ce1..b101005 100644 (file)
@@ -66,7 +66,7 @@
 CPU_CMOS_Z80       .equ    Z80_TYPE-0
 CPU_NMOS_Z80       .equ    Z80_TYPE-1
 
-       .area _HIGH
+       HIGH
 ;
 ;      Execve also needs a platform helper for 32/32K
 ;
@@ -193,14 +193,12 @@ traphl:
         call outstring
         call _platform_monitor
 
-       .area _HIGH
+       HIGH
 ;
 ;      The stub caller has already saved AF DE HL, mapped the kernel high
 ;      and switched to the istack as well as saving the old sp in
 ;      istack_switched_sp
 ;
-;      FIXME: pure syscall path
-;
 interrupt_handler:
        call map_save_low       ; save old and map kernel
        ex af,af'
@@ -306,6 +304,9 @@ intret2:
        ld hl, (U_DATA__U_PTAB)
        ld (hl), #P_READY
        ; Give up the CPU
+       ; FIXME: can we get here on timers when only one thing is running
+       ; and we don't need to pre-empt ????? Is this more generally busted
+       ; ?
        call _platform_switchout
        ; Undo the fakery
        xor a