Commit 5430732d authored by Tomasz Wlostowski's avatar Tomasz Wlostowski

kernel: removed CERN-specific scripts (outdated)

parent 9ed088e8
#
# svec-fd-luns.awk - create lun'ed devnodes from transfer.ref
#
# usage: svec-fd-luns.awk DEVICE_NAME [transfer_file]
#
# e.g.:
# $ awk -f svec-fd-luns.awk SVECFDELAY \
# /acc/dsc/tst/cfv-864-cdv28/etc/transfer.ref
# produces as output
# FIXME: sh command
BEGIN {
device_name = ARGV[1]
delete ARGV[1]
}
/^#\+#/ && $6 == device_name {
# decode transfer.ref line
sl = $20
ss = $21
dev_id = sl * 64 + ss
lun = $7
printf("ln -sf %04x /dev/fine-delay.%d\n", dev_id, lun)
}
#!/bin/bash
#FDELAY="fmc/svec-fine-delay-20121218-1549.bin"
GOLDEN="fmc/golden-svec-20130114-1000.bin"
FDELAY="fmc/svec_top.bin"
echo 8 > /proc/sys/kernel/printk
echo Installing zio and fmc drivers ...
/sbin/insmod zio.ko && /sbin/insmod fmc.ko
#dump_sdb=3
echo Installing fine delay driver...
/sbin/insmod fmc-fine-delay.ko gateware=$FDELAY timer_ms=10
echo Installing SVEC driver...
#/sbin/insmod svec.ko lun=0 vmebase1=0x600000 vmebase2=0xa0000000 vector=0x86 level=2 fw_name=$GOLDEN
/sbin/insmod svec.ko lun=0,1 vmebase1=0x900000,0x600000 vmebase2=0xa0000000,0xb0000000 vector=0x86,0x85 level=2,2 fw_name=$FDELAY,$FDELAY
#!/bin/sh
TRANSFER=/etc/transfer.ref
DEVICE_NAME=SVECFDELAY
DRIVER_NAME=fmc-fine-delay
# symlink to true GOLDEN="fmc/golden-svec-20130114-1000.bin"
GOLDEN="fmc/svec_golden.bin"
# symlink to true FDELAY="fmc/svec-fine-delay-20121218-1549.bin"
FDELAY="fmc/svec-fine-delay.bin"
OUTPUT=":"
RUN=""
while getopts hvnc:D:d:t: o
do case $o in
v) OUTPUT="echo" ;; # verbose
n) RUN=":" ;; # dry run
D) DEVICE_NAME="$OPTARG" ;;
d) DRIVER_NAME="$OPTARG" ;;
c) CRATECONFIG="$OPTARG" ;;
t) TRANSFER="$OPTARG" ;;
[h?]) echo >&2 "usage: $0 [-?hvn] [-D device_name] [-d driver_name] [-t transfer]"
exit ;;
esac
done
$OUTPUT "$DRIVER_NAME install"
echo Installing zio and fmc drivers ...
/sbin/insmod zio.ko && /sbin/insmod fmc.ko
echo Installing fine delay driver...
/sbin/insmod $DRIVER_NAME.ko gateware=$FDELAY timer_ms=10
INSMOD_ARGS=`awk -f ./svec.awk FMC-SVEC $TRANSFER |
sed 's!\$GOLDEN!'$GOLDEN'!g'`
echo "svec: insmod with $INSMOD_ARGS"
/sbin/insmod svec.ko $INSMOD_ARGS
echo "$DRIVER_NAME: making device nodes"
awk -f ./fd-luns.awk $DEVICE_NAME $TRANSFER | sh
#
# svec.awk - extract insmod parameters from transfer.ref
#
# usage: svec.awk DEVICE_NAME [transfer_file]
#
# e.g.:
# $ awk -f svec.awk FMC_SVEC /acc/dsc/tst/cfv-864-cdv28/etc/transfer.ref
# $ awk -f svec.awk FMC-SVEC /acc/dsc/tst/cfv-864-cdv28/etc/transfer.ref
#
# produces
# vmebase1=a0000000 vmebase2=a0000000 vector=0x00
#
BEGIN {
device_name = ARGV[1]
delete ARGV[1]
slot = ""
csr_base_addr = ""
a32_base_addr = ""
vector = ""
}
/^#\+#/ && $6 == device_name && $4 == "VME" {
# decode transfer.ref line
lun = lun "," $7
slot = slot "," $20
csr_base_addr = sprintf("%s,0x%x", csr_base_addr, $20 * 0x80000)
a32_base_addr = sprintf("%s,0x%s", a32_base_addr, $11)
vector = vector "," $23
level = level ",2" # hack: always level 2
fw_name = fw_name ",$GOLDEN" # hack: always golden bitstream
}
END {
insmod_params = " "
# take away the first comma in each vector of params
if (lun)
insmod_params = insmod_params " lun=" substr(lun, 2)
if (csr_base_addr)
insmod_params = insmod_params " vmebase1=" substr(csr_base_addr, 2)
if (a32_base_addr)
insmod_params = insmod_params " vmebase2=" substr(a32_base_addr, 2)
if (vector)
insmod_params = insmod_params " vector=" substr(vector, 2)
if (level)
insmod_params = insmod_params " level=" substr(level, 2)
if (fw_name)
insmod_params = insmod_params " fw_name=" substr(fw_name, 2)
print substr(insmod_params, 3)
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment