msx1: update core bits to new interrupt logic
authorAlan Cox <alan@linux.intel.com>
Sat, 30 May 2015 18:28:15 +0000 (19:28 +0100)
committerAlan Cox <alan@linux.intel.com>
Sat, 30 May 2015 18:28:15 +0000 (19:28 +0100)
Kernel/platform-msx1/msx1.s
Kernel/platform-msx1/tricks.s

index cb4c85c..ae18ae7 100644 (file)
@@ -15,7 +15,7 @@
            .globl map_save
            .globl map_restore
            .globl _slot_table
-           .globl _kernel_flag
+           .globl _need_resched
 
            ; video driver
            .globl _vtinit
@@ -79,8 +79,8 @@ _trap_reboot:
            di
            halt
 
-_kernel_flag:
-          .db 1
+_need_resched:
+          .db 0
 
 
 ; -----------------------------------------------------------------------------
index 04c40c2..c064944 100644 (file)
@@ -8,7 +8,6 @@
         .globl _getproc
         .globl _trap_monitor
         .globl trap_illegal
-        .globl _inint
         .globl _switchout
         .globl _switchin
         .globl _doexec
@@ -54,10 +53,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
-
        ; Stash the uarea back into process memory
        ; We need to flip to the process map to copy this high
        call map_process_always
@@ -139,9 +134,9 @@ _switchin:
         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