diff options
Diffstat (limited to 'KStart32.HC')
| -rw-r--r-- | KStart32.HC | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/KStart32.HC b/KStart32.HC deleted file mode 100644 index ec8f67b..0000000 --- a/KStart32.HC +++ /dev/null @@ -1,118 +0,0 @@ -asm { -USE32 -//************************************ -// ASM Global vars not required for 16-bit start-up - ALIGN 8,OC_NOP -MEM_HEAP_BASE:: DU64 0; -MEM_HEAP_LIMIT:: DU64 0; -MEM_PAGE_SIZE:: DU64 0; -MEM_MAPPED_SPACE:: DU64 0; -MEM_2MEG_NUM:: DU64 0; -MEM_1GIG_NUM:: DU64 0; -MEM_512GIG_NUM:: DU64 0; -MEM_PML2:: DU64 0; -MEM_PML3:: DU64 0; -MEM_PML4:: DU64 0; - -#exe { - StreamPrint( -"SYS_MEM_INIT_FLAG:: DU8 %d;" -"SYS_MEM_INIT_VAL:: DU8 %d;" -"SYS_HEAP_INIT_FLAG:: DU8 %d;" -"SYS_HEAP_INIT_VAL:: DU8 %d;" -"SYS_VAR_INIT_FLAG:: DU8 %d;" -"SYS_VAR_INIT_VAL:: DU8 %d;" -"SYS_STAFF_MODE_FLAG:: DU8 %d;", -kernel_cfg->opts[CFG_MEM_INIT], kernel_cfg->mem_init_val, -kernel_cfg->opts[CFG_HEAP_INIT],kernel_cfg->heap_init_val, -kernel_cfg->opts[CFG_VAR_INIT], kernel_cfg->var_init_val, -kernel_cfg->opts[CFG_STAFF_MODE]); -}; -SYS_HEAP_DBG_FLAG:: DU8 _CFG_HEAP_DBG; - - ALIGN 8,0 -SYS_CTRL_ALT_FLAGS:: DU64 0; -SYS_EXTERN_TABLE:: DU64 0; - -SYS_CODE_BP:: DU64 0; -SYS_DATA_BP:: DU64 0; - -SYS_PROGRESSES:: -SYS_PROGRESS1:: DU64 0; -SYS_PROGRESS1_MAX:: DU64 0; -SYS_PROGRESS1_T0:: DU64 0; -SYS_PROGRESS1_TF:: DU64 0; -SYS_PROGRESS1_DESC:: DU8 PROGRESS_DESC_LEN DUP(0); -SYS_PROGRESS2:: DU64 0; -SYS_PROGRESS2_MAX:: DU64 0; -SYS_PROGRESS2_T0:: DU64 0; -SYS_PROGRESS2_TF:: DU64 0; -SYS_PROGRESS2_DESC:: DU8 PROGRESS_DESC_LEN DUP(0); -SYS_PROGRESS3:: DU64 0; -SYS_PROGRESS3_MAX:: DU64 0; -SYS_PROGRESS3_T0:: DU64 0; -SYS_PROGRESS3_TF:: DU64 0; -SYS_PROGRESS3_DESC:: DU8 PROGRESS_DESC_LEN DUP(0); -SYS_PROGRESS4:: DU64 0; -SYS_PROGRESS4_MAX:: DU64 0; -SYS_PROGRESS4_T0:: DU64 0; -SYS_PROGRESS4_TF:: DU64 0; -SYS_PROGRESS4_DESC:: DU8 PROGRESS_DESC_LEN DUP(0); -#assert $$-SYS_PROGRESSES==sizeof(CProgress)*4 - -SYS_FOCUS_TASK:: DU64 0; -SYS_CPU_STRUCTS:: DU64 0; -SYS_MP_CNT:: DU64 1; -SYS_MP_CNT_INITIAL:: DU64 1; -SYS_MP_CNT_LOCK:: DU64 1; - - ALIGN DFT_CACHE_LINE_WIDTH,OC_NOP -SYS_CACHE_LINE_WIDTH:: DU64 DFT_CACHE_LINE_WIDTH; - DU8 DFT_CACHE_LINE_WIDTH-sizeof(CBinFile)-8 DUP(0); -SYS_SEMAS:: DU8 SEMA_SEMAS_NUM*DFT_CACHE_LINE_WIDTH DUP(0); -//************************************ - ALIGN 16,OC_NOP -CORE0_32BIT_INIT:: //Entry point for $LK,"BootRAM",A="MN:BootRAM"$. - PUSH U32 RFLAGG_START - POPFD - MOV EAX,SYS_START_CR0 - MOV_CR0_EAX - - MOV AX,CGDT.boot_ds //LOAD DS SELECTOR - MOV DS,AX - BTS U32 [SYS_RUN_LEVEL],RLf_32BIT - MOV ESI,U32 [SYS_BOOT_PATCH_TABLE_BASE] - MOV EDI,U32 [MEM_BOOT_BASE] - - MOV AX,CGDT.ds - MOV DS,AX - MOV ES,AX - MOV FS,AX - MOV GS,AX - MOV SS,AX - MOV ESP,BOOT_RAM_LIMIT //Tmp Stk - -//Patch abs addresses - MOV ECX,U32 CPatchTableAbsAddr.abs_addres_cnt[ESI] - LEA ESI,U32 CPatchTableAbsAddr.abs_addres[ESI] -@@05: LODSD - ADD EAX,EDI - ADD U32 [EAX],EDI - LOOP @@05 - - DU8 0xEA; //JMP CGDT.cs32:@@10 - DU32 @@10; - DU16 CGDT.cs32; - -@@10: BTS U32 [SYS_RUN_LEVEL],RLf_PATCHED - - CALL SYS_FIND_PCIBIOS_SERVICE_DIR - CALL SYS_FIND_PCI_SERVICES - CALL SYS_INIT_PAGE_TABLES - CALL SYS_INIT_16MEG_SYS_CODE_BP - PUSH U32 0 //Return from next call will be 64-bit - CALL SYS_ENTER_LONG_MODE - - //We fall-thou to $LK,"KStart64",A="FL:::/Kernel/KStart64.HC,1"$, next. -} -U8 FDC_DMA[0x4800]; // Floppy DMA buffer
\ No newline at end of file |
