micropack: update to the new flags
authorAlan Cox <alan@linux.intel.com>
Sat, 30 May 2015 12:31:22 +0000 (13:31 +0100)
committerAlan Cox <alan@linux.intel.com>
Sat, 30 May 2015 12:31:22 +0000 (13:31 +0100)
Kernel/platform-micropack/tricks.s
Kernel/platform-micropack/z80pack.s

index 2571090..ae4d5f7 100644 (file)
@@ -8,7 +8,6 @@
         .globl _getproc
         .globl _trap_monitor
         .globl trap_illegal
-        .globl _inint
         .globl _switchout
         .globl _switchin
         .globl _doexec
@@ -32,8 +31,6 @@
 ; restarted after calling switchout, it thinks it has just returned
 ; from switchout().
 ;
-; FIXME: make sure we optimise the switch to self case higher up the stack!
-; 
 ; This function can have no arguments or auto variables.
 _switchout:
         di
@@ -48,10 +45,6 @@ _switchout:
         push iy
         ld (U_DATA__U_SP), sp ; this is where the SP is restored in _switchin
 
-        ; set inint to false
-        xor a
-        ld (_inint), a
-
         ; find another process to run (may select this one again)
         call _getproc
 
@@ -133,9 +126,9 @@ not_swapped:
         pop hl ; return code
 
         ; enable interrupts, if the ISR isn't already running
-        ld a, (_inint)
+        ld a, (U_DATA__U_ININTERRUPT)
         or a
-        ret z ; in ISR, leave interrupts off
+        ret nz ; in ISR, leave interrupts off
         ei
         ret ; return with interrupts on
 
index db5e929..e4a0169 100644 (file)
@@ -16,7 +16,7 @@
             .globl init_early
             .globl init_hardware
             .globl _program_vectors
-           .globl _kernel_flag
+           .globl _need_resched
 
            .globl map_kernel
            .globl map_process
@@ -148,6 +148,5 @@ outchar:
            out (0x01), a
             ret
 
-; needs to be common
-_kernel_flag:
-          .db 1
+_need_resched:
+           .db 0