Finally got it working with grub
This commit is contained in:
parent
7b3da2b6a5
commit
b41eb73a8c
@ -4,39 +4,7 @@
|
||||
;Tyler McGurrin ;
|
||||
;/////////////////////;
|
||||
[bits 32]
|
||||
section .entry
|
||||
|
||||
extern __bss_start
|
||||
extern __end
|
||||
|
||||
extern start
|
||||
global entry
|
||||
|
||||
; My Life is totally funnnn
|
||||
global entry
|
||||
entry:
|
||||
; 6 - setup segment registers
|
||||
mov ax, 0x10
|
||||
mov ds, ax
|
||||
mov ss, ax
|
||||
mov al, 0
|
||||
cld
|
||||
rep stosb
|
||||
|
||||
; clear BSS (uninit data)
|
||||
mov edi, __bss_start
|
||||
mov ecx, __end
|
||||
sub ecx, edi
|
||||
|
||||
|
||||
xor edx, edx
|
||||
push edx
|
||||
call start
|
||||
|
||||
cli
|
||||
hlt
|
||||
|
||||
section .text
|
||||
section .multiboot_header
|
||||
header_start:
|
||||
dd 0xe85250d6 ; magic number
|
||||
dd 0 ; protected mode code
|
||||
|
||||
@ -1,13 +1,12 @@
|
||||
ENTRY(entry)
|
||||
OUTPUT_FORMAT("binary")
|
||||
phys = 0x00100000;
|
||||
ENTRY(start)
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
. = phys;
|
||||
. = 1M;
|
||||
|
||||
.boot : { KEEP(*(.multiboot_header))}
|
||||
.entry : { __entry_start = .; *(.entry) }
|
||||
.text : { __text_start = ALIGN(8); KEEP(*(multiboot_header)) *(.text) }
|
||||
.text : { __text_start = .; *(.text) }
|
||||
.data : { __data_start = .; *(.data) }
|
||||
.rodata : { __rodata_start = .; *(.rodata) }
|
||||
.bss : { __bss_start = .; *(.bss) }
|
||||
|
||||
@ -21,6 +21,9 @@
|
||||
#include <util/util.h>
|
||||
#include <version.h>
|
||||
|
||||
extern uint8_t __bss_start;
|
||||
extern uint8_t __end;
|
||||
|
||||
uint16_t DEBUG_COM_PORT = COM1_PORT;
|
||||
|
||||
void __attribute__((section(".entry"))) start() {
|
||||
|
||||
@ -6,4 +6,4 @@
|
||||
#pragma once
|
||||
|
||||
#define LOGO " _ _____ _ __________________\n / | / / | / | / / _/_ __/ ____/\n / |/ / /| | / |/ // / / / / __/ \n / /| / ___ |/ /| // / / / / /___ \n/_/ |_/_/ |_/_/ |_/___/ /_/ /_____/ \n"
|
||||
#define VERSION "RD-00039"
|
||||
#define VERSION "RD-00040"
|
||||
Loading…
x
Reference in New Issue
Block a user