TempleOSTS_130707.ISO
This commit is contained in:
1 parent
17b71f1a2d
commit
1343005a29
617 files changed
+14399
-25130
No files matched your search
+11
-10
@@ -7,7 +7,7 @@ It continues here: $LK,"Kernel","FF:::/TempleOS/Kernel/KEnd.CPP,U0 Kernel"$.
|
||||
|
||||
The boot loader jumps here, in real-mode (16-bit).
|
||||
It actually jumps to the $LK,"CBinFile","MN:CBinFile"$ which is placed
|
||||
just before this $LK,"generated by the compiler","FF:::/TempleOS/Compiler/CmpMain.CPP,NATIVE_XSUM"$.
|
||||
just before this $LK,"generated by the compiler","FF:::/TempleOS/Compiler/CmpMain.CPP,TEMPLEOS_XSUM"$.
|
||||
The header begins with a short jmp to
|
||||
the start of this file's code which begins
|
||||
with the following small jump past some data.
|
||||
@@ -16,9 +16,9 @@ This file is first in the Kernel image
|
||||
because it is #included first. $LK,"Kernel.PRJ","FF:::/TempleOS/Kernel/Kernel.PRJ,KStart:1"$
|
||||
*/
|
||||
USE16
|
||||
SYS_TEMPLEOS_START1::
|
||||
SYS_KERNEL_START1::
|
||||
//This must match $LK,"CKernel","MN:CKernel"$.
|
||||
JMP U16 SYS_TEMPLEOS_START2
|
||||
JMP U16 SYS_KERNEL_START2
|
||||
|
||||
// ************************************
|
||||
// ASM Global vars required for 16-bit start-up
|
||||
@@ -26,7 +26,7 @@ SYS_TEMPLEOS_START1::
|
||||
ALIGN 4,OC_NOP
|
||||
SYS_BOOT_BASE:: DU32 0; //Fixed offset from start used by reboot
|
||||
SYS_BOOT_PATCH_TABLE_BASE:: DU32 0;
|
||||
#exe {StreamPrintF("SYS_COMPILE_TIME:: DU64 0x%X;",GetCurTimeCDate);}
|
||||
#exe {StreamPrintF("SYS_COMPILE_TIME:: DU64 0x%X;",GetCurTimeDate);}
|
||||
|
||||
//See $LK,"BootCdProbe","MN:BootCdProbe"$
|
||||
#assert SYS_COMPILE_TIME+8+16<CD_BLK_SIZE
|
||||
@@ -52,7 +52,7 @@ GDT_CPU_TRS_RING3: DU8 MP_MAX_PROCESSORS*16 DUP(0);;
|
||||
|
||||
SYS_BIOS_GR_MODE:: DU16 0;
|
||||
SYS_PCI_BUSSES:: DU16 0;
|
||||
#assert $$-SYS_TEMPLEOS_START1==sizeof(CKernel)-sizeof(CBinFile)
|
||||
#assert $$-SYS_KERNEL_START1==sizeof(CKernel)-sizeof(CBinFile)
|
||||
|
||||
ALIGN 8,OC_NOP
|
||||
SYS_ADAM_TASK:: DU8 sizeof(CTask) DUP(0);
|
||||
@@ -62,7 +62,7 @@ SYS_RUN_LEVEL:: DU32 0;
|
||||
|
||||
// ************************************
|
||||
//EBX is SYS_BOOT_CODE (val passed from boot blk)
|
||||
SYS_TEMPLEOS_START2::
|
||||
SYS_KERNEL_START2::
|
||||
MOV AX,(BOOT_RAM_LIMIT-BOOT_STK_SIZE)/16
|
||||
MOV SS,AX
|
||||
MOV SP,BOOT_STK_SIZE
|
||||
@@ -83,9 +83,9 @@ GET_IP:
|
||||
MOV AX,CS
|
||||
ADD AX,BX
|
||||
PUSH AX
|
||||
PUSH U16 SYS_TEMPLEOS_START3
|
||||
PUSH U16 SYS_KERNEL_START3
|
||||
RETF
|
||||
SYS_TEMPLEOS_START3::
|
||||
SYS_KERNEL_START3::
|
||||
//XSUM Kernel
|
||||
MOV AX,CS
|
||||
DEC AX
|
||||
@@ -94,7 +94,7 @@ SYS_TEMPLEOS_START3::
|
||||
XOR ESI,ESI
|
||||
MOV ECX,U32 CBinFile.file_size[ESI]
|
||||
SHR ECX,4
|
||||
MOV EBX,NATIVE_XSUM
|
||||
MOV EBX,TEMPLEOS_XSUM
|
||||
@@05: LODSD
|
||||
XOR EBX,EAX
|
||||
LODSD
|
||||
@@ -289,6 +289,7 @@ USE32
|
||||
ALIGN 8,OC_NOP
|
||||
SYS_HEAP_BASE:: DU64 0x100000+0x1000*(NUM_PML1+NUM_PML2+NUM_PML3+NUM_PML4);
|
||||
SYS_HEAP_LIMIT:: DU64 0;
|
||||
SYS_KERNEL_END_PTR:: DU64 SYS_KERNEL_END;
|
||||
|
||||
#exe {
|
||||
StreamPrintF(
|
||||
@@ -457,7 +458,7 @@ USE64
|
||||
CALL SET_FS_BASE
|
||||
MOV RSP,U64 CTask.rsp[RAX]
|
||||
|
||||
JMP I32 &Kernel
|
||||
JMP I32 &KernelMain
|
||||
|
||||
// ************************************
|
||||
USE32
|
||||
|
||||
Reference in new issue
Block a user