[tools] Use less for viewing debugcon output in qemu.sh
Allow scrollback and keeping around the pane after qemu exits by using less as the viewer for the log output.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -3,7 +3,7 @@
|
|||||||
/build*
|
/build*
|
||||||
*.bak
|
*.bak
|
||||||
tags
|
tags
|
||||||
jsix.log
|
*.log
|
||||||
*.out
|
*.out
|
||||||
*.o
|
*.o
|
||||||
*.a
|
*.a
|
||||||
|
|||||||
14
qemu.sh
14
qemu.sh
@@ -9,7 +9,8 @@ gfx="-nographic"
|
|||||||
vga="-vga none"
|
vga="-vga none"
|
||||||
log=""
|
log=""
|
||||||
kvm=""
|
kvm=""
|
||||||
cpu="Broadwell,+pdpe1gb"
|
cpu_features=",+pdpe1gb,+invtsc,+hypervisor,+x2apic,+xsavec,+xsaves,+xsaveopt"
|
||||||
|
cpu="Broadwell"
|
||||||
smp=4
|
smp=4
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
@@ -42,7 +43,7 @@ while true; do
|
|||||||
;;
|
;;
|
||||||
-k | --kvm)
|
-k | --kvm)
|
||||||
kvm="-enable-kvm"
|
kvm="-enable-kvm"
|
||||||
cpu="host"
|
cpu="max"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-c | --cpus)
|
-c | --cpus)
|
||||||
@@ -78,7 +79,7 @@ if [[ -n $TMUX ]]; then
|
|||||||
log_width=100
|
log_width=100
|
||||||
gdb_width=$(($cols - 2 * $log_width))
|
gdb_width=$(($cols - 2 * $log_width))
|
||||||
|
|
||||||
debugcon_cmd="sleep 1; nc -t localhost 45455 | tee debugcon.log"
|
debugcon_cmd="less --follow-name -r +F debugcon.log"
|
||||||
|
|
||||||
if (($gdb_width < 150)); then
|
if (($gdb_width < 150)); then
|
||||||
stack=1
|
stack=1
|
||||||
@@ -93,9 +94,8 @@ if [[ -n $TMUX ]]; then
|
|||||||
tmux select-pane -t .left
|
tmux select-pane -t .left
|
||||||
tmux select-pane -t .right
|
tmux select-pane -t .right
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
tmux split-window -h -l 100 "sleep 1; telnet localhost 45455"
|
tmux split-window -h -l 100 "less --follow-name -r +F debugcon.log"
|
||||||
tmux last-pane
|
tmux last-pane
|
||||||
tmux split-window -l 10 "sleep 1; telnet localhost 45454"
|
tmux split-window -l 10 "sleep 1; telnet localhost 45454"
|
||||||
fi
|
fi
|
||||||
@@ -111,12 +111,12 @@ qemu-system-x86_64 \
|
|||||||
-drive "if=pflash,format=raw,readonly,file=${assets}/ovmf/x64/ovmf_code.fd" \
|
-drive "if=pflash,format=raw,readonly,file=${assets}/ovmf/x64/ovmf_code.fd" \
|
||||||
-drive "if=pflash,format=raw,file=${build}/ovmf_vars.fd" \
|
-drive "if=pflash,format=raw,file=${build}/ovmf_vars.fd" \
|
||||||
-drive "format=raw,file=${build}/jsix.img" \
|
-drive "format=raw,file=${build}/jsix.img" \
|
||||||
-chardev socket,host=localhost,port=45455,server,nowait,telnet=on,id=jsix_debug -device isa-debugcon,iobase=0x6600,chardev=jsix_debug \
|
-chardev file,path=debugcon.log,id=jsix_debug -device isa-debugcon,iobase=0x6600,chardev=jsix_debug \
|
||||||
-monitor telnet:localhost:45454,server,nowait \
|
-monitor telnet:localhost:45454,server,nowait \
|
||||||
-serial stdio \
|
-serial stdio \
|
||||||
-smp "${smp}" \
|
-smp "${smp}" \
|
||||||
-m 4096 \
|
-m 4096 \
|
||||||
-cpu "${cpu}" \
|
-cpu "${cpu}${cpu_features}" \
|
||||||
-M q35 \
|
-M q35 \
|
||||||
-no-reboot \
|
-no-reboot \
|
||||||
-name jsix \
|
-name jsix \
|
||||||
|
|||||||
Reference in New Issue
Block a user