diff options
author | Danny Holman <dholman@gymli.xyz> | 2021-01-17 20:16:00 -0600 |
---|---|---|
committer | Danny Holman <dholman@gymli.xyz> | 2021-01-17 20:16:00 -0600 |
commit | 5064ec05b2af9e17aa1753575bef457a284ad61d (patch) | |
tree | ac65aaba0d21ce59e848eebc7befa3b72a7a92a0 /arch/i386/boot.s | |
parent | 50bc91ab29672a2a99cd97c0d560d1ccc69f1cf6 (diff) |
arch: i386: add support for x86 processors
Add support for 32-bit x86 processors, i.e. the 80386 and above.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
Diffstat (limited to 'arch/i386/boot.s')
-rw-r--r-- | arch/i386/boot.s | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/i386/boot.s b/arch/i386/boot.s new file mode 100644 index 0000000..56ac227 --- /dev/null +++ b/arch/i386/boot.s @@ -0,0 +1,32 @@ +.set ALIGN, 1<<0 +.set MEMINFO, 1<<1 +.set FLAGS, ALIGN | MEMINFO +.set MAGIC, 0x1BADB002 +.set CHECKSUM, -(MAGIC + FLAGS) + +.section .multiboot +.align 4 +.long MAGIC +.long FLAGS +.long CHECKSUM + +.section .bss +.align 16 +stack_bottom: +.skip 16384 +stack_top: + +.section .text +.global _start +.type _start, @function + +_start: + movl $stack_top, %esp + + call _init + call kernel_main + + cli +1: hlt + jmp 1b +.size _start, . - _start |