From 4eed9b3128b31a4583a7f94f6574cd87bcf505ff Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Sat, 13 Sep 2025 18:57:35 -0400 Subject: build: 'i386' -> 'amd64' Signed-off-by: Ian Moffett --- src/sys/arch/amd64/Makefile | 33 ++++++++++++++++++++++++++++++++ src/sys/arch/amd64/amd64 | Bin 0 -> 13576 bytes src/sys/arch/amd64/conf/sys.ld | 35 ++++++++++++++++++++++++++++++++++ src/sys/arch/amd64/locore.S | 42 +++++++++++++++++++++++++++++++++++++++++ src/sys/arch/i386/Makefile | 34 --------------------------------- src/sys/arch/i386/conf/sys.ld | 35 ---------------------------------- src/sys/arch/i386/locore.S | 42 ----------------------------------------- 7 files changed, 110 insertions(+), 111 deletions(-) create mode 100644 src/sys/arch/amd64/Makefile create mode 100755 src/sys/arch/amd64/amd64 create mode 100644 src/sys/arch/amd64/conf/sys.ld create mode 100644 src/sys/arch/amd64/locore.S delete mode 100644 src/sys/arch/i386/Makefile delete mode 100644 src/sys/arch/i386/conf/sys.ld delete mode 100644 src/sys/arch/i386/locore.S (limited to 'src/sys/arch') diff --git a/src/sys/arch/amd64/Makefile b/src/sys/arch/amd64/Makefile new file mode 100644 index 0000000..f4f4f48 --- /dev/null +++ b/src/sys/arch/amd64/Makefile @@ -0,0 +1,33 @@ +include ../../conf/sys.mk + +override PROMPT := printf "%s\t\t%s\n" + +TARGET_BIN = ../../l5 +TARGET_INC = -I../../target/header/ +CFLAGS = -I../../include/ -I../../include/lib/ $(TARGET_INC) $(MI_CFLAGS) $(MD_CFLAGS) +CFILES = $(shell find . -name "*.c") + +ASMFILES = $(shell find . -name "*.S") +ASMOBJECTS = $(ASMFILES:.S=.S.o) + +DEPS = $(CFILES:.c=.d) +ASMDEPS = $(ASMFILES:.S=.S.d) +OBJECTS = $(CFILES:%.c=%.o) +LD_FLAGS = -Tconf/sys.ld -L../../target -lkern + +.PHONY: all +all: $(OBJECTS) $(ASMOBJECTS) + $(LD) $(OBJECTS) $(ASMOBJECTS) -o $(TARGET_BIN) $(LD_FLAGS) + +-include $(DEPS) +%.o: %.c + $(CC) -c $(CFLAGS) $< -o $@ + +-include $(ASMDEPS) +%.S.o: %.S + $(PROMPT) " MD.AS " $< + $(CC) -c $< -o $@ $(CFLAGS) $(MD_CFLAGS) + +.PHONY: clean +clean: + rm -f $(DEPS) $(ASMDEPS) $(OBJECTS) $(ASMOBJECTS) diff --git a/src/sys/arch/amd64/amd64 b/src/sys/arch/amd64/amd64 new file mode 100755 index 0000000..de0e4ea Binary files /dev/null and b/src/sys/arch/amd64/amd64 differ diff --git a/src/sys/arch/amd64/conf/sys.ld b/src/sys/arch/amd64/conf/sys.ld new file mode 100644 index 0000000..b5d1cf0 --- /dev/null +++ b/src/sys/arch/amd64/conf/sys.ld @@ -0,0 +1,35 @@ +ENTRY(_start) + +SECTIONS { + . = 1M; + + .boot : + { + *(.multiboot_header) + } + + . = ALIGN(4K); + .text : + { + *(.text .text.*) + } + + . = ALIGN(4K); + .rodata : + { + *(.rodata .rodata.*) + } + + . = ALIGN(4K); + .data : + { + *(.data .data.*) + } + + . = ALIGN(4K); + .bss : + { + *(.bss .bss.*) + } +} + diff --git a/src/sys/arch/amd64/locore.S b/src/sys/arch/amd64/locore.S new file mode 100644 index 0000000..5f7c3df --- /dev/null +++ b/src/sys/arch/amd64/locore.S @@ -0,0 +1,42 @@ + .set MAGIC, 0xe85250d6 + .set ARCH, 0x00 // i386, protected mode + .set LEN, hdr_end - hdr_start + .set CHECKSUM, 0x100000000 - (0xe85250d6 + 0 + (hdr_end - hdr_start)) + + .section .multiboot + .align 4 +hdr_start: + .long MAGIC + .long ARCH + .long LEN + .long CHECKSUM +hdr_end: + +fbtag_start: + .word 5 // Type + .word 1 // Flags + .long fbtag_end - fbtag_start // Length + .long 800 // Width + .long 600 // Height + .long 32 // Depth +fbtag_end: + + .align 8 +endtag: + .word 0 + .word 0 + .word 8 + + .text + .code32 + .globl _start +_start: + cli + mov stack_bottom, %esp + push %ebx + push %eax + jmp main + + .section .bss +stack_bottom: + .fill 4096 * 16, 0 diff --git a/src/sys/arch/i386/Makefile b/src/sys/arch/i386/Makefile deleted file mode 100644 index 78e6e4c..0000000 --- a/src/sys/arch/i386/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -include ../../conf/sys.mk - -.SILENT: -override PROMPT := printf "%s\t\t%s\n" - -TARGET = ../../l5 -TARGET_INC = -I../../target/header/ -CFLAGS = -I../../include/ -I../../include/lib/ $(TARGET_INC) $(MI_CFLAGS) $(MD_CFLAGS) -CFILES = $(shell find . -name "*.c") - -ASMFILES = $(shell find . -name "*.S") -ASMOBJECTS = $(ASMFILES:.S=.S.o) - -DEPS = $(CFILES:.c=.d) -ASMDEPS = $(ASMFILES:.S=.S.d) -OBJECTS = $(CFILES:%.c=%.o) -LD_FLAGS = -Tconf/sys.ld -L../../target -lkern - -.PHONY: all -all: $(OBJECTS) $(ASMOBJECTS) - $(LD) $(OBJECTS) $(ASMOBJECTS) -o $(TARGET) $(LD_FLAGS) - --include $(DEPS) -%.o: %.c - $(CC) -c $(CFLAGS) $< -o $@ - --include $(ASMDEPS) -%.S.o: %.S - $(PROMPT) " MD.AS " $< - $(CC) -c $< -o $@ $(CFLAGS) $(MD_CFLAGS) - -.PHONY: clean -clean: - rm -f $(DEPS) $(ASMDEPS) $(OBJECTS) $(ASMOBJECTS) diff --git a/src/sys/arch/i386/conf/sys.ld b/src/sys/arch/i386/conf/sys.ld deleted file mode 100644 index b5d1cf0..0000000 --- a/src/sys/arch/i386/conf/sys.ld +++ /dev/null @@ -1,35 +0,0 @@ -ENTRY(_start) - -SECTIONS { - . = 1M; - - .boot : - { - *(.multiboot_header) - } - - . = ALIGN(4K); - .text : - { - *(.text .text.*) - } - - . = ALIGN(4K); - .rodata : - { - *(.rodata .rodata.*) - } - - . = ALIGN(4K); - .data : - { - *(.data .data.*) - } - - . = ALIGN(4K); - .bss : - { - *(.bss .bss.*) - } -} - diff --git a/src/sys/arch/i386/locore.S b/src/sys/arch/i386/locore.S deleted file mode 100644 index 5f7c3df..0000000 --- a/src/sys/arch/i386/locore.S +++ /dev/null @@ -1,42 +0,0 @@ - .set MAGIC, 0xe85250d6 - .set ARCH, 0x00 // i386, protected mode - .set LEN, hdr_end - hdr_start - .set CHECKSUM, 0x100000000 - (0xe85250d6 + 0 + (hdr_end - hdr_start)) - - .section .multiboot - .align 4 -hdr_start: - .long MAGIC - .long ARCH - .long LEN - .long CHECKSUM -hdr_end: - -fbtag_start: - .word 5 // Type - .word 1 // Flags - .long fbtag_end - fbtag_start // Length - .long 800 // Width - .long 600 // Height - .long 32 // Depth -fbtag_end: - - .align 8 -endtag: - .word 0 - .word 0 - .word 8 - - .text - .code32 - .globl _start -_start: - cli - mov stack_bottom, %esp - push %ebx - push %eax - jmp main - - .section .bss -stack_bottom: - .fill 4096 * 16, 0 -- cgit v1.2.3