#!/bin/sh
export PATH=/bin:/sbin
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devtmpfs devtmpfs /dev
mkdir -p /sys/kernel/tracing
mount -t tracefs tracefs /sys/kernel/tracing
echo LAB_GUEST_BOOT
uname -a
sleep 3
for d in /sys/bus/pci/devices/*; do
    if [ "$(cat "$d/vendor")" = 0x8086 ] && [ "$(cat "$d/device")" = 0x0d93 ]; then
        bdf=${d##*/}
        echo "CXL_DEVICE $bdf"
        echo cxl_compression > "$d/driver_override"
        if [ -L "$d/driver" ]; then echo "$bdf" > "$d/driver/unbind"; fi
        echo "$bdf" > /sys/bus/pci/drivers/cxl_compression/bind
    fi
done
sleep 3
echo NODE_PRIVATE
cat /sys/devices/system/node/has_private_memory
echo NODE_ONLINE
cat /sys/devices/system/node/online
cat /sys/devices/system/node/node*/meminfo
nid=$(cat /sys/devices/system/node/has_private_memory)
echo lz4 > /sys/block/zram0/comp_algorithm
echo 256M > /sys/block/zram0/disksize
mkswap /dev/zram0
swapon /dev/zram0
echo true > /sys/kernel/mm/numa/demotion_enabled
if [ -f /proc/sys/kernel/numa_balancing ]; then echo 0 > /proc/sys/kernel/numa_balancing; cat /proc/sys/kernel/numa_balancing; else echo NUMA_BALANCING_SYSCTL_ABSENT; fi
echo COLOR_BEGIN
/bin/color OBSERVER_MODE
echo COLOR_EXIT_$?
echo COLOR_DONE
poweroff -f
