65c816: add new def for split I/D capable code
authorAlan Cox <alan@linux.intel.com>
Mon, 1 Jan 2018 23:13:47 +0000 (23:13 +0000)
committerAlan Cox <alan@linux.intel.com>
Mon, 1 Jan 2018 23:13:47 +0000 (23:13 +0000)
Kernel/platform-v65c816-big/kernel.def
Kernel/platform-v65c816/kernel.def

index f77baa7..338eaa2 100644 (file)
@@ -1,7 +1,7 @@
 ; UZI mnemonics for memory addresses etc
 
 ; (this is struct u_data from kernel.h)
-U_DATA                  .set $0000     ; stomps over bootstrap
+U_DATA                  .set $0100     ; avoid ZP
 ; 256+256              (U, kstack copy, k C stack copy)
 U_DATA__TOTALSIZE       .set $0200
 U_DATA_STASH           .set $FC00      ; leaves FFxx for vectors and stubs
@@ -11,14 +11,14 @@ ZPBASE                      .set $0
 
 KERNEL_BANK            .set $2         ; bank number (data)
 KERNEL_FAR             .set $020000    ; 24 bit
+KERNEL_CODE_BANK       .set $1
+KERNEL_CODE_FAR                .set $010000    ; 24 bit
 
 ; Add this to twice the bank number to get the high 8bits of the 16bit CPU stack
 ; for this process
 STACK_BANKOFF          .set $FE        ; 0400-FDFF
 ; Direct page for IRQ processing (saves us saving/restoring DP registers)
-; Can probably use the same page as the IRQ CPU stack... FIXME
-; FIXME clashes with end of stack banks
-IRQ_DP                 .set $FF00      ; FF00-FF3F
+IRQ_DP                 .set $FF80      ; FF80-FFBF
 KERNEL_DP              .set $00        ; We use the real ZP for kernel DP
 
 MAP_SIZE               .set $FC00
index 86bf7aa..aa2870d 100644 (file)
@@ -10,7 +10,8 @@ PROGLOAD              .set $0100
 ZPBASE                 .set $0
 
 KERNEL_BANK            .set $0         ; bank number
-KERNEL_FAR             .set $000000    ; 24 bit
+KERNEL_FAR             .set $000000    ; data 24 bit
+KERNEL_CODE_FAR                .set $000000    ; code 24bit
 
 ; Add this to twice the bank number to get the high 8bits of the 16bit CPU stack
 ; for this process