dragon-nx32: Small bank copy optimization
authorTormod Volden <debian.tormod@gmail.com>
Wed, 3 Jun 2015 20:28:22 +0000 (22:28 +0200)
committerAlan Cox <alan@linux.intel.com>
Wed, 3 Jun 2015 21:27:08 +0000 (22:27 +0100)
Use direct page addressing for the bank switching. Speeds
up forking a tiny bit.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Kernel/platform-dragon-nx32/mem-nx32.s

index 2a1ebf5..73ee7a4 100644 (file)
@@ -100,15 +100,19 @@ map_restore
 ; optimized bank copy for fork
 ; src bank in A, dst bank in B, start in X, end in U
 copybank
+       pshs dp,a
+       lda #0xff
+       tfr a,dp
+       puls a
        stu cmpend+1    ; self-modiying code FTW
-copyf  sta banksel
+copyf  sta <banksel
        ldu ,x
-       stb banksel
+       stb <banksel
        stu ,x++
 cmpend cmpx #0
        blo copyf
        stb map_copy
-       rts
+       puls dp,pc
 
 map_store      .db 0
 map_copy       .db 0