diff --git a/arch/x86_64/QEMU.cmake b/arch/x86_64/QEMU.cmake index 978ecf9..b20ba61 100644 --- a/arch/x86_64/QEMU.cmake +++ b/arch/x86_64/QEMU.cmake @@ -1,5 +1,24 @@ find_program(QEMU qemu-system-${TARGET_ARCH} REQUIRED) +find_program(LLDB lldb REQUIRED) add_custom_target(run-kernel - COMMAND ${QEMU} -kernel $ - DEPENDS ${kernel_name} ${bsp_name}) + COMMAND + ${QEMU} + -kernel $ + -initrd ${sys_dir}/${bsp_name} + -m 1G -serial stdio + --append kernel.early-console=ttyS0 + USES_TERMINAL + DEPENDS ${kernel_name} bsp) + +add_custom_target(debug-kernel + COMMAND + ${QEMU} + -kernel $ + -initrd ${sys_dir}/${bsp_name} + -m 1G -s -S & + ${LLDB} + -o "file ${CMAKE_BINARY_DIR}/kernel/${kernel_name}.debug" + -o "gdb-remote localhost:1234" + USES_TERMINAL + DEPENDS ${kernel_name} bsp)