X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86%2Fstart.asm;h=8b3e18c51d63d8391ad0a8402dd7ee3626a45ccc;hb=e29b02ca55d580b2f7f10d1093c3d6ad1bc59458;hp=d9a1e500ea6d8316cf28c38e6208023dc2bc122c;hpb=d1714d8a27a603ce8ac4ba91e8c0c3d060d767ee;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86/start.asm b/Kernel/arch/x86/start.asm index d9a1e500..8b3e18c5 100644 --- a/Kernel/arch/x86/start.asm +++ b/Kernel/arch/x86/start.asm @@ -10,30 +10,30 @@ KERNEL_BASE equ 0xC0000000 [extern gKernelEnd] [section .multiboot] mboot: - ; Multiboot macros to make a few lines later more readable - MULTIBOOT_PAGE_ALIGN equ 1<<0 - MULTIBOOT_MEMORY_INFO equ 1<<1 - MULTIBOOT_HEADER_MAGIC equ 0x1BADB002 - MULTIBOOT_HEADER_FLAGS equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO - MULTIBOOT_CHECKSUM equ -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS) + ; Multiboot macros to make a few lines later more readable + MULTIBOOT_PAGE_ALIGN equ 1<<0 + MULTIBOOT_MEMORY_INFO equ 1<<1 + MULTIBOOT_HEADER_MAGIC equ 0x1BADB002 + MULTIBOOT_HEADER_FLAGS equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO + MULTIBOOT_CHECKSUM equ -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS) - ; This is the GRUB Multiboot header. A boot signature - dd MULTIBOOT_HEADER_MAGIC - dd MULTIBOOT_HEADER_FLAGS - dd MULTIBOOT_CHECKSUM + ; This is the GRUB Multiboot header. A boot signature + dd MULTIBOOT_HEADER_MAGIC + dd MULTIBOOT_HEADER_FLAGS + dd MULTIBOOT_CHECKSUM dd mboot - KERNEL_BASE ;Location of Multiboot Header ; Multiboot 2 Header mboot2: - MULTIBOOT2_HEADER_MAGIC equ 0xE85250D6 - MULTIBOOT2_HEADER_ARCH equ 0 - MULTIBOOT2_HEADER_LENGTH equ (mboot2_end-mboot2) - MULTIBOOT2_CHECKSUM equ -(MULTIBOOT2_HEADER_MAGIC + MULTIBOOT2_HEADER_ARCH + MULTIBOOT2_HEADER_LENGTH) + MULTIBOOT2_HEADER_MAGIC equ 0xE85250D6 + MULTIBOOT2_HEADER_ARCH equ 0 + MULTIBOOT2_HEADER_LENGTH equ (mboot2_end-mboot2) + MULTIBOOT2_CHECKSUM equ -(MULTIBOOT2_HEADER_MAGIC + MULTIBOOT2_HEADER_ARCH + MULTIBOOT2_HEADER_LENGTH) - dd MULTIBOOT2_HEADER_MAGIC - dd MULTIBOOT2_HEADER_ARCH - dd MULTIBOOT2_HEADER_LENGTH - dd MULTIBOOT2_CHECKSUM + dd MULTIBOOT2_HEADER_MAGIC + dd MULTIBOOT2_HEADER_ARCH + dd MULTIBOOT2_HEADER_LENGTH + dd MULTIBOOT2_CHECKSUM ; MBoot2 Address Header dw 2, 0 dd 8 + 16 @@ -168,31 +168,6 @@ CallWithArgArray: pop ebp ret -[extern Proc_Clone] -[extern Threads_Exit] -[global SpawnTask] -SpawnTask: - ; Call Proc_Clone with Flags=0 - xor eax, eax - push eax - push eax - call Proc_Clone - add esp, 8 ; Remove arguments from stack - - test eax, eax - jnz .parent - - ; In child, so now set up stack frame - mov ebx, [esp+4] ; Child Function - mov edx, [esp+8] ; Argument - ; Child - push edx ; Argument - call ebx ; Function - call Threads_Exit ; Kill Thread - -.parent: - ret - [section .initpd] [global gaInitPageDir] [global gaInitPageTable]