arch_get_kernel_flavour () {
VENDOR=`grep '^vendor_id' "$CPUINFO" | head -n1 | cut -d: -f2`
FAMILY=`grep '^cpu family' "$CPUINFO" | head -n1 | cut -d: -f2`
MODEL=`grep '^model[[:space:]]*:' "$CPUINFO" | head -n1 | cut -d: -f2`
NUMCPUS=`grep ^processor "$CPUINFO" | wc -l`
# Only offer smp if the system supports has more than one cpu
if test $NUMCPUS -gt "1" ; then
SMP="-smp"
fi
case "$VENDOR" in
" AuthenticAMD"*)
case "$FAMILY" in
" 15"|" 16"|" 17"|" 18"|" 20") # k8
echo 686$SMP
;;
" 6") # k7
case "$MODEL" in
" 0"|" 1"|" 2"|" 3"|" 4"|" 5")
# May not have SSE support
echo 486 ;;
*) echo 686$SMP ;;
esac
;;
*) echo 486 ;;
esac
;;
" GenuineIntel")
case "$FAMILY" in
" 6"|" 15") echo 686$SMP ;;
*) echo 486 ;;
esac
;;
" CentaurHauls")
case "$FAMILY" in
" 6")
case "$MODEL" in
" 9"|" 10") echo 686$SMP ;;
*) echo 486 ;;
esac
;;
*)
echo 486 ;;
esac
;;
*)
echo 486 ;;
esac
return 0
}
arch_check_usable_kernel () {
if echo "$1" | grep -Eq -- "-486(-.*)?$"; then return 0; fi
if [ "$2" = 486 ]; then return 1; fi
if echo "$1" | grep -Eq -- "-686(-.*)?$"; then return 0; fi
if [ "$2" = 686 ] || [ "$2" = 686-smp ]; then return 1; fi
# default to usable in case of strangeness
warning "Unknown kernel usability: $1 / $2"
return 0
}
arch_get_kernel () {
if [ "$1" = 686-smp ]; then
echo "kfreebsd-image-$KERNEL_MAJOR-686-smp"
fi
if [ "$1" = 686 ]; then
echo "kfreebsd-image-$KERNEL_MAJOR-686"
fi
echo "kfreebsd-image-$KERNEL_MAJOR-486"
}