export USER=`ls -nl /data/data/com.termux/files|head -n 2|tail -n 1|cut -f 3 -d \  `
export HOME=/data/data/com.termux/files/home
export LOGNAME=$USER
export PATH=/data/data/com.termux/files/home/bin:/data/data/com.termux/files/usr/bin:$PATH
export PULSE_SERVER=127.0.0.1:2727
export name=`basename $PWD`
export pos=`ls \`basename $PWD/..\`|grep -nw $name|cut -f 1 -d :`
export cores=4
export mem=7168
for f in `ls *.qcow2`;do
qemu-img check -r all $f
if qemu-img snapshot -U -l $f|grep -iqw state;then
export extraargs='-loadvm state'
fi
done
if echo $extraargs|grep -qi loadvm;then
sleep .01
else
export extraargs=' '
fi
qemu-system-aarch64 \
-name $name \
-netdev user,id=net,`echo -en hostfwd=tcp:127.0.0.1:$((2221+$pos))-10.0.2.15:22,hostfwd=tcp:127.0.0.1:$((2727+$pos))-10.0.2.15:4713` \
-audiodev pa,id=audio,server=127.0.0.1:2727 \
-cpu max \
-smp cores=$cores \
-m $mem \
-M virt-10.2,accel=kvm,graphics=on \
-device qemu-xhci,id=usbinternal \
-device usb-hub,ports=2 \
-device usb-kbd \
-device usb-tablet \
-device nec-usb-xhci,id=passthrough \
-drive file=$name.rom.qcow2,format=qcow2,id=uefi,if=pflash,readonly=on,discard=unmap \
-drive file=$name.qcow2,format=qcow2,id=internal,if=none,discard=unmap \
-device ramfb \
-device ich9-intel-hda \
-device hda-duplex,audiodev=audio \
-device virtio-blk,drive=internal,bootindex=0 \
-device virtio-net,netdev=net \
-run-with user=$USER:$USER \
-vnc 127.0.0.1:$((pos-1)) \
-monitor tcp:127.0.0.1:$((4999+$pos)),server,nowait \
$extraargs
