From 9513c162ef57e6cb70006dfe870856f94ee9a133 Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Sun, 8 Apr 2018 14:30:31 +0100 Subject: [PATCH] rr test --- qemu | 2 +- rec | 24 ++++++++++++++++++++++++ recaarch64 | 25 +++++++++++++++++++++++++ recarm | 28 ++++++++++++++++++++++++++++ run | 1 - 5 files changed, 78 insertions(+), 2 deletions(-) create mode 100755 rec create mode 100755 recaarch64 create mode 100755 recarm diff --git a/qemu b/qemu index 8dbff6d..08e173f 160000 --- a/qemu +++ b/qemu @@ -1 +1 @@ -Subproject commit 8dbff6d3728ff78c4da74d667bb4833edade06aa +Subproject commit 08e173f29461396575c85510eb41474b993cb1fb diff --git a/rec b/rec new file mode 100755 index 0000000..18940c0 --- /dev/null +++ b/rec @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +cmd="\ +time \ +./out/x86_64/buildroot/host/usr/bin/qemu-system-x86_64 \ +-M pc \ +-append 'root=/dev/sda console=ttyS0 nokaslr printk.time=y - lkmc_eval=\"/rand_check.out;/sbin/ifup -a;wget -S google.com;/poweroff.out;\"' \ +-kernel 'out/x86_64/buildroot/images/bzImage' \ +-nographic \ +\ +-drive file=out/x86_64/buildroot/images/rootfs.ext2.qcow2,if=none,id=img-direct,format=qcow2 \ +-drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay \ +-device ide-hd,drive=img-blkreplay \ +\ +-netdev user,id=net1 \ +-device rtl8139,netdev=net1 \ +-object filter-replay,id=replay,netdev=net1 \ +" +echo "$cmd" +#eval "$cmd -icount 'shift=7,rr=record,rrfile=replay.bin'" +# Different than previous. +eval "$cmd -icount 'shift=7,rr=record,rrfile=replay.bin'" +# Same as previous. +eval "$cmd -icount 'shift=7,rr=replay,rrfile=replay.bin'" +#eval "$cmd -icount 'shift=7,rr=replay,rrfile=replay.bin' -S -s" diff --git a/recaarch64 b/recaarch64 new file mode 100755 index 0000000..b37c6f1 --- /dev/null +++ b/recaarch64 @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +set -ex + +# TODO has not network but replays fine +# -device rtl8139,netdev=net1 \ + +# Has network, but replay hangs. +#-device virtio-net-device,netdev=net1 \ + +cmd="\ +time \ +./buildroot/output.aarch64~/host/usr/bin/qemu-system-aarch64 \ +-M virt \ +-cpu cortex-a57 \ +-append 'root=/dev/sda nokaslr norandmaps printk.devkmsg=on printk.time=y - lkmc_eval=\"/rand_check.out;wget -S google.com;/poweroff.out;\"' \ +-kernel ./buildroot/output.aarch64~/images/Image \ +-nographic \ +\ +-device virtio-net-device,netdev=net1 \ +-netdev user,id=net1 \ +-object filter-replay,id=replay,netdev=net1 \ +" +echo "$cmd" +eval "$cmd -icount 'shift=7,rr=record,rrfile=replay.bin'" +eval "$cmd -icount 'shift=7,rr=replay,rrfile=replay.bin'" diff --git a/recarm b/recarm new file mode 100755 index 0000000..b56cfa3 --- /dev/null +++ b/recarm @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +set -ex + +# TODO try to use disk image instead of initrd, fails if I add any of: +#-device lsi,id=scsi0 +#-device scsi-hd,drive=img-blkreplay +# Without either, super slow: +#-drive file=./buildroot/output.arm~/images/rootfs.ext2,if=scsi,id=img-direct,format=raw \ +#-drive driver=blkreplay,if=none,image=img-direct,id=img-blkreplay \ + +cmd="\ +time \ +./buildroot/output.arm~/host/usr/bin/qemu-system-arm \ +-M versatilepb \ +-append 'root=/dev/sda nokaslr norandmaps printk.devkmsg=on printk.time=y - lkmc_eval=\"/rand_check.out;wget -S google.com;/poweroff.out;\"' \ +-kernel ./buildroot/output.arm~/images/zImage \ +-dtb ./buildroot/output.arm~/images/versatile-pb.dtb \ +-serial stdio \ +\ +-initrd ./buildroot/output.arm~/images/rootfs.cpio \ +\ +-netdev user,id=net1 \ +-device rtl8139,netdev=net1 \ +-object filter-replay,id=replay,netdev=net1 \ +" +echo "$cmd" +eval "$cmd -icount 'shift=7,rr=record,rrfile=replay.bin'" +eval "$cmd -icount 'shift=7,rr=replay,rrfile=replay.bin'" diff --git a/run b/run index 9e24c34..e21a84c 100755 --- a/run +++ b/run @@ -208,7 +208,6 @@ ${qemu_common} \ -M pc \ -append '${root} nopat ${extra_append}' \ -device edu \ --device lkmc_pci_min \ -device virtio-net-pci,netdev=net0 \ -kernel '${images_dir}/bzImage' \ ${extra_flags} \