#!/bin/sh
# DF-2237 phase 1: single-byte trigger (mode 1). Revert to built snapshot,
# arm tables, fire conv_case(FROM_LOWER) on "AB" -> expect Fatal trap 12 at
# iconv_xlat16_conv+~line192, fault VA = 0x108 (NULL + 0x42*4).
set -e
cd "$(dirname "$0")"
VM=../../../dfbsd-qemu/vm.sh

echo "== P1: revert to built snapshot =="
$VM reset df2237-built

echo "== arm + fire single-byte trigger =="
timeout 90 $VM run_root 'kldload /boot/kernel/libiconv.ko && /root/df2237/armtbl && \
  sysctl debug.debugger_on_panic=0 debug.trace_on_panic=0; \
  kldload /usr/obj/root/df2237/km1/df2237_1.ko; echo "kldload returned $?"' \
  2>&1 | tee run_t1.log || true

sleep 12
echo "== capture serial log =="
cp ../../../dfbsd-qemu/boot.log t1_boot.log
grep -n "Fatal trap" t1_boot.log || true
