v68: load the uarea shadow when needed
authorAlan Cox <alan@linux.intel.com>
Tue, 30 Aug 2016 20:08:38 +0000 (21:08 +0100)
committerAlan Cox <alan@linux.intel.com>
Tue, 30 Aug 2016 20:08:38 +0000 (21:08 +0100)
Kernel/platform-v68/p68000.S

index 87b52f3..88a06cd 100644 (file)
@@ -18,6 +18,7 @@ trap_monitor:
 
 init_early:
            lea.l uarea_block,a5        ; udata ptr
+           move.l a5,uarea_shadow      ; shadow copy for entry/exit
             rts
 
 ;
@@ -62,13 +63,18 @@ trapset:
            move.l #spurious,$60(a0)
            move.l #timer_irq,$78(a0)
            move.l #mmu_fault,$7C(a0)
+
+           moveq #100,d0                       ; Timer on (but slow)
+           move.b d0,$00F04000
             rts
 
 timer_irq:
            movem.l a0-a6/d0-d7,-(a7)
            move.l #intmsg,a0
            bsr outstring
+           move.l uarea_shadow,a5      ; set up the register global
            bsr platform_interrupt
+           move.b $00F04000,d0         ; Re-enable
            movem.l (a7)+,a0-a6/d0-d7
            rte