Report issues by shell files with: git ls-files '*.sh' | xargs shellcheck --exclude=SC2162 Address the following: - SC1087: Use braces when expanding arrays - SC1091: Not following - SC2004: `$`/`${}` is unnecessary on arithmetic variables - SC2024: `sudo` doesn't affect redirects - SC2034: foo appears unused. Verify it or export it - SC2086: Double quote to prevent globbing and word splitting - SC2087: Quote `EOF` - SC2115: Use `"${var:?}"` to ensure this never expands to `/*` - SC2148: Add a shebang Addresses (at least partially) some POSIX/dash issues: - SC2113: `function` keyword is non-standard - SC3010: In POSIX sh, `[[` `]]` is undefined - SC3014: In POSIX sh, `==` in place of `=` is undefined - SC3020: In POSIX sh, `&>` is undefined - SC3046: In POSIX sh, `source` in place of `.` is undefined Does not address: - SC2162: `read` without `-r` will mangle backslashes - Any other POSIX/dash-specific issues Signed-off-by: Tim Crawford <tcrawford@system76.com>
30 lines
845 B
Bash
Executable File
30 lines
845 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
MODEL="qemu"
|
|
|
|
qemu-system-x86_64 \
|
|
-enable-kvm \
|
|
-M q35 \
|
|
-m 4096 \
|
|
-cpu Skylake-Client \
|
|
-vga std \
|
|
-bios "build/${MODEL}/firmware.rom" \
|
|
-chardev stdio,mux=on,id=debug \
|
|
-device isa-serial,index=2,chardev=debug \
|
|
-device isa-debugcon,iobase=0x402,chardev=debug \
|
|
-device pcie-root-port,bus=pcie.0,id=rp1 \
|
|
-device pcie-pci-bridge,id=br1,bus=rp1 \
|
|
-net none \
|
|
"$@"
|
|
|
|
# COM1: -device isa-serial,index=0,chardev=debug
|
|
# COM2: -device isa-serial,index=1,chardev=debug
|
|
# COM3: -device isa-serial,index=2,chardev=debug
|
|
# COM4: -device isa-serial,index=3,chardev=debug
|
|
|
|
# PCIe hotplugging (https://github.com/qemu/qemu/blob/master/docs/pcie_pci_bridge.txt):
|
|
# Root port: -device pcie-root-port,bus=pcie.0,id=rp1
|
|
# PCIe bridge: -device pcie-pci-bridge,id=br1,bus=rp1
|