cmake: disable kvm when debugging
This commit is contained in:
@@ -9,10 +9,11 @@ find_program(GDB gdb)
|
|||||||
|
|
||||||
set(patched_kernel ${CMAKE_CURRENT_BINARY_DIR}/kernel/${kernel_name}.elf32)
|
set(patched_kernel ${CMAKE_CURRENT_BINARY_DIR}/kernel/${kernel_name}.elf32)
|
||||||
set(generic_flags -m 1G)
|
set(generic_flags -m 1G)
|
||||||
|
set(no_debug_flags)
|
||||||
|
|
||||||
if (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux")
|
if (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
message(STATUS "QEMU: Enabling KVM acceleration")
|
message(STATUS "QEMU: Enabling KVM acceleration")
|
||||||
set(generic_flags ${generic_flags} -enable-kvm)
|
set(no_debug_flags ${no_debug_flags} -enable-kvm)
|
||||||
else ()
|
else ()
|
||||||
message(STATUS "QEMU: Host system is not Linux. KVM acceleration unavailable")
|
message(STATUS "QEMU: Host system is not Linux. KVM acceleration unavailable")
|
||||||
endif ()
|
endif ()
|
||||||
@@ -33,7 +34,7 @@ add_custom_target(run-kernel
|
|||||||
${QEMU}
|
${QEMU}
|
||||||
-kernel ${patched_kernel}
|
-kernel ${patched_kernel}
|
||||||
-initrd ${sys_dir}/${bsp_name}
|
-initrd ${sys_dir}/${bsp_name}
|
||||||
${generic_flags}
|
${generic_flags} ${no_debug_flags}
|
||||||
-serial stdio
|
-serial stdio
|
||||||
--append kernel.early-console=ttyS0
|
--append kernel.early-console=ttyS0
|
||||||
USES_TERMINAL
|
USES_TERMINAL
|
||||||
@@ -44,7 +45,7 @@ add_custom_target(run-kernel-monitor
|
|||||||
${QEMU}
|
${QEMU}
|
||||||
-kernel $<TARGET_FILE:${kernel_name}>
|
-kernel $<TARGET_FILE:${kernel_name}>
|
||||||
-initrd ${sys_dir}/${bsp_name}
|
-initrd ${sys_dir}/${bsp_name}
|
||||||
${generic_flags}
|
${generic_flags} ${no_debug_flags}
|
||||||
-monitor stdio
|
-monitor stdio
|
||||||
USES_TERMINAL
|
USES_TERMINAL
|
||||||
DEPENDS ${kernel_name} bsp)
|
DEPENDS ${kernel_name} bsp)
|
||||||
@@ -55,7 +56,7 @@ if (image_cdrom)
|
|||||||
COMMAND
|
COMMAND
|
||||||
${QEMU}
|
${QEMU}
|
||||||
-cdrom ${image_cdrom}
|
-cdrom ${image_cdrom}
|
||||||
${generic_flags}
|
${generic_flags} ${no_debug_flags}
|
||||||
-serial stdio
|
-serial stdio
|
||||||
USES_TERMINAL
|
USES_TERMINAL
|
||||||
DEPENDS ${image_cdrom})
|
DEPENDS ${image_cdrom})
|
||||||
@@ -99,9 +100,9 @@ elseif (GDB)
|
|||||||
-initrd ${sys_dir}/${bsp_name}
|
-initrd ${sys_dir}/${bsp_name}
|
||||||
${generic_flags}
|
${generic_flags}
|
||||||
-s -S &
|
-s -S &
|
||||||
${GDB}
|
${GDB} -tui
|
||||||
-o "file ${CMAKE_BINARY_DIR}/kernel/${kernel_name}.debug"
|
-ex "file ${CMAKE_BINARY_DIR}/kernel/${kernel_name}.debug"
|
||||||
-o "remote localhost:1234"
|
-ex "target remote localhost:1234"
|
||||||
USES_TERMINAL
|
USES_TERMINAL
|
||||||
DEPENDS ${patched_kernel} bsp)
|
DEPENDS ${patched_kernel} bsp)
|
||||||
|
|
||||||
@@ -114,10 +115,9 @@ elseif (GDB)
|
|||||||
${generic_flags}
|
${generic_flags}
|
||||||
-s -S &
|
-s -S &
|
||||||
${GDB} -tui
|
${GDB} -tui
|
||||||
-s "${CMAKE_BINARY_DIR}/kernel/${kernel_name}.debug"
|
-ex "file ${CMAKE_BINARY_DIR}/kernel/${kernel_name}.debug"
|
||||||
-ex "target remote localhost:1234"
|
-ex "target remote localhost:1234"
|
||||||
USES_TERMINAL
|
USES_TERMINAL
|
||||||
DEPENDS ${image_cdrom})
|
DEPENDS ${image_cdrom})
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user