qualcommax: ipq807x: add support for Linksys MX8500
[openwrt/openwrt.git] / scripts / qemustart
index 9ce03901aac2d5068542ec83670d2fcb5ee749b2..6c4c9be4cb0a898a34f518476b12badec41383d2 100755 (executable)
@@ -109,10 +109,10 @@ Examples
   $SELF malta be -m 64
   $SELF malta le64
   $SELF malta be-glibc
-  $SELF armvirt 32 \\
+  $SELF armsr armv7 \\
                 --machine virt,highmem=off \\
-                --kernel bin/targets/armvirt/32/openwrt-armvirt-32-zImage \\
-                --rootfs bin/targets/armvirt/32/openwrt-armvirt-32-root.ext4
+                --kernel bin/targets/armsr/armv7/openwrt-armsr-armv7-generic-kernel.bin \\
+                --rootfs bin/targets/armsr/armv7/openwrt-armsr-armv7-generic-ext4-rootfs.img
 EOF
 }
 
@@ -158,10 +158,11 @@ parse_args() {
                return 1
        }
        [ -n "$o_subtarget" ] || o_subtarget="generic"
-       o_bindir="bin/targets/$o_target/$o_subtarget"
+       eval "$(grep ^CONFIG_BINARY_FOLDER= .config 2>/dev/null)"
+       o_bindir="${CONFIG_BINARY_FOLDER:-bin}/targets/$o_target/$o_subtarget"
 }
 
-start_qemu_armvirt() {
+start_qemu_armsr() {
        local kernel="$o_kernel"
        local rootfs="$o_rootfs"
        local mach="${o_mach:-virt}"
@@ -169,15 +170,15 @@ start_qemu_armvirt() {
        local qemu_exe
 
        case "${o_subtarget%-*}" in
-               32)
+               armv7)
                        qemu_exe="qemu-system-arm"
                        cpu="cortex-a15"
-                       [ -n "$kernel" ] || kernel="$o_bindir/openwrt-$o_target-${o_subtarget%-*}-zImage-initramfs"
+                       [ -n "$kernel" ] || kernel="$o_bindir/openwrt-$o_target-${o_subtarget%-*}-generic-initramfs-kernel.bin"
                        ;;
-               64)
+               armv8)
                        qemu_exe="qemu-system-aarch64"
                        cpu="cortex-a57"
-                       [ -n "$kernel" ] || kernel="$o_bindir/openwrt-$o_target-${o_subtarget%-*}-Image-initramfs"
+                       [ -n "$kernel" ] || kernel="$o_bindir/openwrt-$o_target-${o_subtarget%-*}-generic-initramfs-kernel.bin"
                        ;;
                *)
                        __errmsg "target $o_target: unknown subtarget $o_subtarget"
@@ -212,6 +213,7 @@ start_qemu_malta() {
        local is64
        local isel
        local qemu_exe
+       local cpu
        local rootfs="$o_rootfs"
        local kernel="$o_kernel"
        local mach="${o_mach:-malta}"
@@ -220,6 +222,7 @@ start_qemu_malta() {
        is64="$(echo $o_subtarget | grep -o 64)"
        [ "$(echo "$o_subtarget" | grep -o '^..')" = "le" ] && isel="el"
        qemu_exe="qemu-system-mips$is64$isel"
+       [ -n "$is64" ] && cpu="MIPS64R2-generic" || cpu="24Kc"
 
        [ -n "$kernel" ] || kernel="$o_bindir/openwrt-malta-${o_subtarget%-*}-vmlinux-initramfs.elf"
 
@@ -243,7 +246,7 @@ start_qemu_malta() {
                )
        }
 
-       "$qemu_exe" -machine "$mach" -nographic \
+       "$qemu_exe" -machine "$mach" -cpu "$cpu" -nographic \
                -kernel "$kernel" \
                "${o_qemu_extra[@]}"
 }
@@ -255,7 +258,7 @@ start_qemu_x86() {
        local mach="${o_mach:-pc}"
 
        [ -n "$rootfs" ] || {
-               rootfs="$o_bindir/openwrt-$o_target-${o_subtarget%-*}-generic-ext4-combined.img"
+               rootfs="$o_bindir/openwrt-$o_target-${o_subtarget%-*}-generic-squashfs-combined.img"
                if [ ! -f "$rootfs" -a -s "$rootfs.gz" ]; then
                        gunzip "$rootfs.gz"
                fi
@@ -306,12 +309,12 @@ start_qemu_x86() {
                        # To use AHCI interface
                        #
                        #       -device ich9-ahci,id=ahci \
-                       #       -device ide-drive,drive=drv0,bus=ahci.0 \
+                       #       -device ide-hd,drive=drv0,bus=ahci.0 \
                        #       -drive "file=$rootfs,format=raw,id=drv0,if=none" \
                        #
                        # [1] https://dev.openwrt.org/ticket/17947
                        "$qemu_exe" -machine "$mach" -nographic \
-                               -device ide-drive,drive=drv0 \
+                               -device ide-hd,drive=drv0 \
                                -drive "file=$rootfs,format=raw,id=drv0,if=none" \
                                "${o_qemu_extra[@]}"
                        ;;
@@ -325,7 +328,7 @@ start_qemu_x86() {
 
 start_qemu() {
        case "$o_target" in
-               armvirt)        start_qemu_armvirt      ;;
+               armsr)          start_qemu_armsr        ;;
                malta)          start_qemu_malta        ;;
                x86)            start_qemu_x86          ;;
                *)