From: Alan Cox Date: Sat, 29 Sep 2018 15:26:17 +0000 (+0100) Subject: zetav2: update to match core changes X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=b19001aa68e7a92396d7974c90bf420f86f0fcc0;p=FUZIX.git zetav2: update to match core changes --- diff --git a/Kernel/platform-zeta-v2/config.h b/Kernel/platform-zeta-v2/config.h index 3be3e982..8ebd6679 100644 --- a/Kernel/platform-zeta-v2/config.h +++ b/Kernel/platform-zeta-v2/config.h @@ -89,3 +89,5 @@ #endif #define TTYDEV BOOT_TTY /* Device used by kernel for messages, panics */ + +#define platform_copyright() /* For now */ \ No newline at end of file diff --git a/Kernel/platform-zeta-v2/devtty.c b/Kernel/platform-zeta-v2/devtty.c index 2eb7bf23..c067a322 100644 --- a/Kernel/platform-zeta-v2/devtty.c +++ b/Kernel/platform-zeta-v2/devtty.c @@ -31,7 +31,7 @@ uint16_t divisor_table[16] = { UART_CLOCK / 16 / 57600, UART_CLOCK / 16 / 115200 }; -void tty_setup(uint8_t minor) +void tty_setup(uint8_t minor, uint8_t flags) { uint16_t b; uint8_t lcr = 0; diff --git a/Kernel/platform-zeta-v2/zeta-v2.s b/Kernel/platform-zeta-v2/zeta-v2.s index 5eccc77a..e3bb4b49 100644 --- a/Kernel/platform-zeta-v2/zeta-v2.s +++ b/Kernel/platform-zeta-v2/zeta-v2.s @@ -9,7 +9,10 @@ .globl map_kernel .globl map_process .globl map_process_always - .globl map_save + .globl map_kernel_di + .globl map_process_di + .globl map_process_always_di + .globl map_save_kernel .globl map_restore .globl _irqvector .globl platform_interrupt_all @@ -17,6 +20,7 @@ .globl _kernel_pages .globl _platform_reboot .globl _bufpool + .globl _int_disabled ; imported symbols .globl _ramsize @@ -184,6 +188,9 @@ ppi_int: platform_interrupt_all: ret +_int_disabled: + .db 1 + ; install interrupt vectors _program_vectors: di @@ -231,6 +238,7 @@ _program_vectors: ; Outputs: none; all registers preserved ;========================================================================= map_process_always: +map_process_always_di: push hl ld hl,#U_DATA__U_PAGE jr map_process_2_pophl_ret @@ -241,6 +249,7 @@ map_process_always: ; Outputs: none; A and HL destroyed ;========================================================================= map_process: +map_process_di: ld a,h or l ; HL == 0? jr nz,map_process_2 ; HL == 0 - map the kernel @@ -251,6 +260,7 @@ map_process: ; Outputs: none; all registers preserved ;========================================================================= map_kernel: +map_kernel_di: push hl ld hl,#_kernel_pages jr map_process_2_pophl_ret @@ -290,18 +300,19 @@ map_process_2_pophl_ret: ret ;========================================================================= -; map_save - save the current page mapping to map_savearea +; map_save_kernel - save the current page mapping to map_savearea +; and switch to the kernel map. ; Inputs: none ; Outputs: none ;========================================================================= -map_save: +map_save_kernel: push hl ld hl,(mpgsel_cache) ld (map_savearea),hl ld hl,(mpgsel_cache+2) ld (map_savearea+2),hl - pop hl - ret + ld hl,#_kernel_pages + jr map_process_2_pophl_ret ; MPGSEL registers are read only, so their content is cached here mpgsel_cache: