From 2d712d30f0c717df2b4716d1846bf19cddbc9654 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Mon, 1 Jan 2018 23:13:47 +0000 Subject: [PATCH] 65c816: add new def for split I/D capable code --- Kernel/platform-v65c816-big/kernel.def | 8 ++++---- Kernel/platform-v65c816/kernel.def | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Kernel/platform-v65c816-big/kernel.def b/Kernel/platform-v65c816-big/kernel.def index f77baa74..338eaa22 100644 --- a/Kernel/platform-v65c816-big/kernel.def +++ b/Kernel/platform-v65c816-big/kernel.def @@ -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 diff --git a/Kernel/platform-v65c816/kernel.def b/Kernel/platform-v65c816/kernel.def index 86bf7aaa..aa2870d8 100644 --- a/Kernel/platform-v65c816/kernel.def +++ b/Kernel/platform-v65c816/kernel.def @@ -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 -- 2.34.1