mirror of
https://github.com/v12-security/pocs.git
synced 2026-05-16 11:07:43 +00:00
41 lines
1.3 KiB
Bash
Executable file
41 lines
1.3 KiB
Bash
Executable file
#!/bin/sh
|
|
set -eu
|
|
|
|
DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
TMPDIR=${TMPDIR:-"$DIR/tmp"}
|
|
export TMPDIR
|
|
|
|
ROOTFS="$DIR/images/alpine"
|
|
ROOTFS_GZ="$ROOTFS.gz"
|
|
|
|
mkdir -p "$TMPDIR"
|
|
|
|
if [ ! -e "$ROOTFS" ]; then
|
|
if [ ! -f "$ROOTFS_GZ" ]; then
|
|
echo "missing rootfs: $ROOTFS_GZ" >&2
|
|
exit 1
|
|
fi
|
|
|
|
ROOTFS_TMP="$ROOTFS.$$"
|
|
trap 'rm -f "$ROOTFS_TMP"' EXIT HUP INT TERM
|
|
gzip -dc "$ROOTFS_GZ" > "$ROOTFS_TMP"
|
|
mv "$ROOTFS_TMP" "$ROOTFS"
|
|
trap - EXIT HUP INT TERM
|
|
fi
|
|
|
|
exec "$DIR/qemu-system-x86_64" \
|
|
-accel tcg \
|
|
-machine q35,cxl=on \
|
|
-m 512M,maxmem=2G,slots=4 \
|
|
-smp 1 \
|
|
-nographic -no-reboot -snapshot \
|
|
-kernel "$DIR/images/vmlinuz-linux" \
|
|
-append "root=/dev/vda rw console=ttyS0,115200 earlycon=uart8250,io,0x3f8,115200 loglevel=8 ignore_loglevel printk.time=1 devtmpfs.mount=1 pci=realloc" \
|
|
-drive file="$ROOTFS",file.locking=off,if=none,format=raw,id=rootfs \
|
|
-device virtio-blk-pci,drive=rootfs \
|
|
-device pxb-cxl,id=cxl.0,bus=pcie.0,bus_nr=52 \
|
|
-device cxl-rp,id=rp0,bus=cxl.0,chassis=0,slot=0 \
|
|
-object memory-backend-ram,id=cxl-mem0,size=256M \
|
|
-object memory-backend-ram,id=dc-mem0,size=256M \
|
|
-device cxl-type3,bus=rp0,volatile-memdev=cxl-mem0,volatile-dc-memdev=dc-mem0,num-dc-regions=1,id=mem0 \
|
|
-M cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.size=512M
|