From 20cd42ee793533a5b1ca787826e0cba550e19463 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sat, 30 May 2015 19:28:15 +0100 Subject: [PATCH] msx1: update core bits to new interrupt logic --- Kernel/platform-msx1/msx1.s | 6 +++--- Kernel/platform-msx1/tricks.s | 9 ++------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/Kernel/platform-msx1/msx1.s b/Kernel/platform-msx1/msx1.s index cb4c85c7..ae18ae7d 100644 --- a/Kernel/platform-msx1/msx1.s +++ b/Kernel/platform-msx1/msx1.s @@ -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 ; ----------------------------------------------------------------------------- diff --git a/Kernel/platform-msx1/tricks.s b/Kernel/platform-msx1/tricks.s index 04c40c2b..c064944c 100644 --- a/Kernel/platform-msx1/tricks.s +++ b/Kernel/platform-msx1/tricks.s @@ -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 -- 2.34.1