From f9f00057c0f85ea17c05e3ea7139d02c91cdc45c Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Tue, 13 Sep 2016 00:17:09 +0100 Subject: [PATCH] 68000: add IDE copiers, tidy up --- Kernel/platform-v68/p68000.S | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/Kernel/platform-v68/p68000.S b/Kernel/platform-v68/p68000.S index 773df5ff..647eb191 100644 --- a/Kernel/platform-v68/p68000.S +++ b/Kernel/platform-v68/p68000.S @@ -9,6 +9,8 @@ .globl outchar .globl trap_monitor .globl udata_block + .globl devide_read_data + .globl devide_write_data .mri 1 trap_reboot: @@ -64,23 +66,18 @@ trapset: move.l #timer_irq,$78(a0) move.l #mmu_fault,$7C(a0) - moveq #100,d0 ; Timer on (but slow) + moveq #1,d0 ; move.b d0,$00F04000 rts timer_irq: movem.l a0-a6/d0-d7,-(a7) - move.l #intmsg,a0 - bsr outstring move.l udata_shadow,a5 ; set up the register global jsr platform_interrupt move.b $00F04000,d0 ; Re-enable movem.l (a7)+,a0-a6/d0-d7 rte -intmsg: - asciz "IRQ" - mmu_fault: movem.l a0-a6/d0-d7,-(a7) move.l #mmutrap,a0 @@ -119,6 +116,25 @@ outcharw: move.b d0,$00F03000 rts +; +; IDE +; +devide_read_data: + move.l blk_op,a0 + move.w #255,d0 +devide_read_l: + move.w $00F01000,(a0)+ + dbra d0,devide_read_l + rts + +devide_write_data: + move.l blk_op,a0 + move.w #255,d0 +devide_write_l: + move.w (a0)+,$00F01000 + dbra d0,devide_write_l + rts + .section data kernel_flag: byte 1 -- 2.34.1