Files
magenta/arch/x86_64/extra.mk
T

60 lines
2.4 KiB
Makefile
Raw Normal View History

2022-12-13 20:21:28 +00:00
QEMU := qemu-system-x86_64
QEMU_FLAGS := -m 10M -smp 4 -cpu qemu64,pdpe1gb
2022-12-13 20:21:28 +00:00
ARCH_TEMP_FILES := $(BUILD_DIR)/$(KERNEL_EXEC).elf32
2022-12-13 20:21:28 +00:00
# qemu refuses to boot ELF64 binaries. this creates a patched version of the kernel
# binary to trick qemu into thinking its an ELF32.
# this has no effect on the kernel itself; the x86_64 kernel's
# entry point is 32-bit machine code.
$(BUILD_DIR)/$(KERNEL_EXEC).elf32: $(BUILD_DIR)/$(KERNEL_EXEC)
@cp $(BUILD_DIR)/$(KERNEL_EXEC) $(BUILD_DIR)/$(KERNEL_EXEC).elf32
$(BUILD_DIR)/tools/e64patch/e64patch $(BUILD_DIR)/$(KERNEL_EXEC).elf32
2022-12-13 20:21:28 +00:00
$(BUILD_DIR)/socks-kernel.iso: $(BUILD_DIR)/$(KERNEL_EXEC)
@$(BUILD_DIR)/../tools/socks.mkrescue
run: $(BUILD_DIR)/$(KERNEL_EXEC) $(BUILD_DIR)/$(KERNEL_EXEC).elf32
@printf " \033[1;93mQEMU\033[0m $<\n"
2022-12-13 20:21:28 +00:00
2023-02-09 19:08:24 +00:00
@$(QEMU) -kernel $(BUILD_DIR)/$(KERNEL_EXEC).elf32 -monitor stdio $(QEMU_FLAGS) -serial file:$(BUILD_DIR)/socks.log
2022-12-13 20:21:28 +00:00
run-curses: $(BUILD_DIR)/$(KERNEL_EXEC) $(BUILD_DIR)/$(KERNEL_EXEC).elf32
@printf " \033[1;93mQEMU\033[0m $<\n"
@$(QEMU) -kernel $(BUILD_DIR)/$(KERNEL_EXEC).elf32 -monitor stdio $(QEMU_FLAGS) -display curses -serial file:$(BUILD_DIR)/socks.log
run-cd-curses: $(BUILD_DIR)/socks-kernel.iso
@printf " \033[1;93mQEMU\033[0m $<\n"
@$(QEMU) -cdrom $(BUILD_DIR)/socks-kernel.iso $(QEMU_FLAGS) -display curses -serial file:$(BUILD_DIR)/socks.log
debug: $(BUILD_DIR)/$(KERNEL_EXEC) $(BUILD_DIR)/$(KERNEL_EXEC).elf32
2022-12-14 21:45:24 +00:00
@./tools/kernel-debug/debug_session.sh \
tools/kernel-debug/gdb_session_init \
tools/kernel-debug/lldb_session_init \
$(QEMU) \
-kernel $(BUILD_DIR)/$(KERNEL_EXEC).elf32 -S -s \
2023-02-06 20:49:56 +00:00
-monitor stdio -serial file:$(BUILD_DIR)/socks.log $(QEMU_FLAGS)
2022-12-14 21:45:24 +00:00
2022-12-13 20:21:28 +00:00
debug-curses: $(BUILD_DIR)/$(KERNEL_EXEC) $(BUILD_DIR)/$(KERNEL_EXEC).elf32
@./tools/kernel-debug/debug_session.sh \
tools/kernel-debug/gdb_session_init \
tools/kernel-debug/lldb_session_init \
$(QEMU) \
-kernel $(BUILD_DIR)/$(KERNEL_EXEC).elf32 -S -s \
-display curses -serial file:$(BUILD_DIR)/socks.log $(QEMU_FLAGS) > build/qemu.log
debug-cd-curses: $(BUILD_DIR)/socks-kernel.iso
@./tools/kernel-debug/debug_session.sh \
tools/kernel-debug/gdb_session_init \
tools/kernel-debug/lldb_session_init \
$(QEMU) \
-cdrom $(BUILD_DIR)/socks-kernel.iso -S -s \
-display curses -serial file:$(BUILD_DIR)/socks.log $(QEMU_FLAGS) > build/qemu.log
2023-05-07 21:36:53 +01:00
run-bochs: $(BUILD_DIR)/socks-kernel.iso
@printf " \033[1;93mBOCHS\033[0m $<\n"
@bochs -f $(BUILD_DIR)/../tools/bochsrc.bxrc