You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
798 B

#!/usr/bin/env bash
if [ ${1} == "-e" -o ${1} == "--end" ]; then
BOUNDADJ=1
elif [ ${1} == "-s" -o ${1} == "--start" ]; then
BOUNDADJ=0
else
echo "Neither '--start' nor '--end' were specified."
exit 1
fi
BOUNDARY=$(( ${2} + BOUNDADJ ))
ALIGN_4K=$(( BOUNDARY / 8 ))
SECTS_4K=$(( ALIGN_4K * 8 ))
((SECTS_4K-=${BOUNDADJ}))
ALIGN_1M=$(( BOUNDARY / 2048 ))
SECTS_1M=$(( ALIGN_1M * 2048 ))
((SECTS_1M-=${BOUNDADJ}))
if [ ${2} -eq ${SECTS_4K} ]; then
echo "Boundary ${2} is 4K aligned."
else
echo "Boundary ${2} is not 4K aligned. Proper alignment would be ${SECTS_4K} or $(( SECTS_4K + 8 ))."
fi
if [ ${2} -eq ${SECTS_1M} ]; then
echo "Boundary ${2} is 1M aligned."
else
echo "Boundary ${2} is not 1M aligned. Proper alignment would be ${SECTS_1M} or $(( SECTS_1M + 2048 ))."
fi