瀏覽代碼

chore(configure): update the Makefile and configure script to provide testcase image path

greatbridf 7 月之前
父節點
當前提交
39b892a434
共有 2 個文件被更改,包括 25 次插入6 次删除
  1. 17 6
      Makefile.src
  2. 8 0
      configure

+ 17 - 6
Makefile.src

@@ -7,6 +7,8 @@ QEMU ?= ##QEMU##
 GDB ?= ##GDB##
 FDISK ?= ##FDISK##
 
+IMG ?= ##IMAGE##
+
 COMMA := ,
 
 PROFILE = $(MODE)
@@ -46,13 +48,17 @@ BINARY_DIR := $(BINARY_DIR_BASE)/$(MODE)
 QEMU_ARGS += \
 	-machine virt -kernel $(BINARY_DIR)/eonix_kernel \
 	-device virtio-blk-device,drive=disk0,bus=virtio-mmio-bus.0 \
-	-device virtio-blk-device,drive=disk1,bus=virtio-mmio-bus.1 \
 	-device virtio-net-device,netdev=mynet0 \
 	-drive id=disk0,file=build/boot-riscv64.img,format=raw,if=none \
-	-drive id=disk1,file=test/sdcard-rv.img,format=raw,if=none \
 	-netdev user,id=mynet0 \
 	-rtc base=utc
 
+ifneq ($(IMG),)
+QEMU_ARGS += \
+	-drive id=disk1,file=$(IMG),format=raw,if=none \
+	-device virtio-blk-device,drive=disk1,bus=virtio-mmio-bus.1
+endif
+
 CARGO_FLAGS += --target riscv64gc-unknown-none-elf
 
 .PHONY: build
@@ -65,13 +71,18 @@ BINARY_DIR := $(BINARY_DIR_BASE)/$(MODE)
 
 QEMU_ARGS += \
 	-machine q35 \
-	-device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0 \
-	-device ide-hd,drive=disk1,bus=ahci.1 \
+	-device ahci,id=ahci \
+	-device ide-hd,drive=disk0,bus=ahci.0 \
 	-device e1000e,netdev=mynet0 \
-	-drive id=disk,file=build/boot-x86_64.img,format=raw,if=none \
-	-drive id=disk1,file=test/sdcard-rv.img,format=raw,if=none \
+	-drive id=disk0,file=build/boot-x86_64.img,format=raw,if=none \
 	-netdev user,id=mynet0
 
+ifneq ($(IMG),)
+QEMU_ARGS += \
+	-drive id=disk1,file=$(IMG),format=raw,if=none \
+	-device ide-hd,drive=disk1,bus=ahci.1
+endif
+
 CARGO_FLAGS += --target x86_64-unknown-none.json
 
 .PHONY: build

+ 8 - 0
configure

@@ -112,9 +112,17 @@ else
     echo `which mkfs.fat`
 fi
 
+event "checking additional image"
+if [ "$IMG" = "" ]; then
+    echo "no"
+else
+    echo "$IMG"
+fi
+
 cp Makefile.src Makefile
 sed -i '' -e "s|##DEFAULT_ARCH##|$DEFAULT_ARCH|" Makefile > /dev/null 2>&1
 sed -i '' -e "s|##GDB##|$GDB|" Makefile > /dev/null 2>&1
 sed -i '' -e "s|##QEMU##|$QEMU|" Makefile > /dev/null 2>&1
 sed -i '' -e "s|##FDISK##|$FDISK|" Makefile > /dev/null 2>&1
+sed -i '' -e "s|##IMAGE##|$IMG|" Makefile > /dev/null 2>&1
 exit 0