aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-01-05 00:08:19 -0500
committerRaghuram Subramani <raghus2247@gmail.com>2025-01-05 00:23:05 -0500
commitbf2ee808bc08b5e9dd94f5626d0a2070773fd156 (patch)
tree046ccdcd70eb8269dfd09bd2f2fc7be6a8373853
parent13e6da9e2a1f1214a51007fdc73c6626005f5410 (diff)
build: Add target for running in bochs
-rw-r--r--.bochsrc10
-rw-r--r--CMakeLists.txt9
-rw-r--r--env.sh1
3 files changed, 20 insertions, 0 deletions
diff --git a/.bochsrc b/.bochsrc
new file mode 100644
index 0000000..1d02005
--- /dev/null
+++ b/.bochsrc
@@ -0,0 +1,10 @@
+megs: 32
+cpu: count=1
+romimage: file=$BXSHARE/BIOS-bochs-legacy
+vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
+ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
+ata0-slave: type=cdrom, path="cmos.iso", status=inserted
+boot: cdrom
+clock: sync=realtime
+config_interface: wx
+display_library: wx
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b427b58..716742a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,6 +10,7 @@ add_subdirectory(kernel)
get_target_property(KERNEL_BINARY_DIR kernel BINARY_DIR)
get_target_property(KERNEL_SOURCE kernel SOURCE_DIR)
+set(BOCHS_CMD bochs)
set(QEMU_SYSTEM_CMD qemu-system-i386)
set(QEMU_ARGUMENTS
@@ -41,6 +42,14 @@ add_custom_target(run
USES_TERMINAL
)
+add_custom_target(run-bochs
+ ${BOCHS_CMD}
+ -f ${CMAKE_SOURCE_DIR}/.bochsrc
+
+ DEPENDS iso
+ USES_TERMINAL
+)
+
add_custom_target(run-gdb
${QEMU_SYSTEM_CMD}
${QEMU_ARGUMENTS}
diff --git a/env.sh b/env.sh
index 6e0170f..54ba1e3 100644
--- a/env.sh
+++ b/env.sh
@@ -32,4 +32,5 @@ alias m="ninja"
alias mc="ninja clean-custom"
alias mi="ninja iso"
alias mr="ninja run"
+alias mb="ninja run-bochs"
alias mg="ninja run-gdb"