kvisc/ka/doskrnl.k

53 lines
1.0 KiB
Plaintext

; The OS/K Team licenses this file to you under the MIT license.
; See the LICENSE file in the project root for more information.
__sysmain:
jmp start
#include "crt/crt.k"
;
; Special addresses
;
#define DOSKRNL_CODE 0x100000 // 1MB
#define DOSKRNL_STACK 0x104000 // + 16KB
#define TRAP0_STACK 0x104800 // + 18KB
#define INTR0_STACK 0x105000 // + 20KB
#define EXCT0_STACK 0x105800 // + 22KB
; The kernel guarantees that COMMAND.COM
; will always be loaded on a 16KB boundary
; This is guaranteed to be the case in all
; future versions as well
#define CMDCOM_LOADP 0x108000 // + 32KB
#define CMDCOM_MAXSZ 0x80000 // 512KB
;
; Entry point
;
start:
mov esp, DOSKRNL_STACK
mov ebp, zero
;dump
call main
crash
;
; Disk Operating System
;
#include "sys/drv/cpudev.k"
#include "sys/drv/memdev.k"
#include "sys/drv/diskdev.k"
#include "sys/intr/excepts.k"
#include "sys/intr/common.k"
#include "sys/intr/trap0.k"
#include "sys/dumprf.k"
#include "sys/main.k"