summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorNathaniel Graff <nathaniel.graff@sifive.com>2019-05-06 14:55:02 -0700
committerNathaniel Graff <nathaniel.graff@sifive.com>2019-05-06 14:55:08 -0700
commit9746bfc2c79bd4e9b4a72652168efb60dac44758 (patch)
treee027497c26e35da1c79f76b53f73b15ae139c6f8 /scripts
parent139149a670354a74cb2a5693c270bb24ea39dc05 (diff)
Use gsed if it exists (MacOS compatibility
Signed-off-by: Nathaniel Graff <nathaniel.graff@sifive.com>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/fixup-dts19
1 files changed, 14 insertions, 5 deletions
diff --git a/scripts/fixup-dts b/scripts/fixup-dts
index ddbbd0c..5871d9b 100755
--- a/scripts/fixup-dts
+++ b/scripts/fixup-dts
@@ -4,6 +4,7 @@ set -e
set -o pipefail
unset dts
+unset SED
while [ "$1" != "" ]
do
@@ -20,13 +21,21 @@ then
exit 1
fi
+# When installed on MacOS with Homebrew, GNU sed is named gsed.
+# If gsed exists, use it.
+if [ `which gsed` == "" ]; then
+ SED=sed
+else
+ SED=gsed
+fi
+
# Add a PMP node if it doesn't exist
if [ `grep -c 'riscv,pmp' ${dts}` -eq 0 ]
then
echo "$0: PMP node not found in ${dts}."
- sed -i 's/ranges;/ranges;\n\t\tpmp: pmp@0 {\n\t\t\tcompatible = "riscv,pmp";\n\t\t\tregions = <1>;\n\t\t};/' ${dts}
+ ${SED} -i 's/ranges;/ranges;\n\t\tpmp: pmp@0 {\n\t\t\tcompatible = "riscv,pmp";\n\t\t\tregions = <1>;\n\t\t};/' ${dts}
echo -e "$0: \tAdded pmp@0"
fi
@@ -37,7 +46,7 @@ if [ `grep -c 'sifive,clic0' ${dts}` -ne 0 ]; then
if [ `grep -c 'sifive,numintbits' ${dts}` -eq 0 ]; then
echo "$0: Clic missing numintbits in ${dts}."
- sed -i 's/interrupt-controller@2000000 {/interrupt-controller@2000000 {\n\t\t\tsifive,numintbits = <2>;/g' ${dts}
+ ${SED} -i 's/interrupt-controller@2000000 {/interrupt-controller@2000000 {\n\t\t\tsifive,numintbits = <2>;/g' ${dts}
echo -e "$0: \tAdded numintbits to clic."
fi
@@ -49,7 +58,7 @@ if [ `grep -c 'global-external-interrupts {' ${dts}` -ne 0 ]; then
if [ `grep -c 'sifive,global-external-interrupts0' ${dts}` -eq 0 ]; then
echo "$0: Global external interrupts missing compat string in ${dts}."
- sed -i 's/global-external-interrupts {/global-external-interrupts {\n\t\t\tcompatible = "sifive,global-external-interrupts0";/g' ${dts}
+ ${SED} -i 's/global-external-interrupts {/global-external-interrupts {\n\t\t\tcompatible = "sifive,global-external-interrupts0";/g' ${dts}
echo -e "$0: \tAdded compat string to global-external-interrupts."
fi
@@ -61,7 +70,7 @@ if [ `grep -c 'local-external-interrupts-0 {' ${dts}` -ne 0 ]; then
if [ `grep -c 'sifive,local-external-interrupts0' ${dts}` -eq 0 ]; then
echo "$0: Local external interrupts missing compat string in ${dts}."
- sed -i 's/local-external-interrupts-0 {/local-external-interrupts {\n\t\t\tcompatible = "sifive,local-external-interrupts0";/g' ${dts}
+ ${SED} -i 's/local-external-interrupts-0 {/local-external-interrupts {\n\t\t\tcompatible = "sifive,local-external-interrupts0";/g' ${dts}
echo -e "$0: \tAdded compat string to local-external-interrupts-0."
fi
@@ -137,7 +146,7 @@ if [ `grep -c 'sifive,testram0' ${dts}` -eq 0 ]; then
echo -e "$0: \tWord size \t${word_size}"
# Create the test memory
- sed -i "s/ranges;/ranges;\n\t\ttest_memory: testram@${node_name_addr} {\n\t\t\tcompatible = \"sifive,testram0\";\n\t\t\treg = <${base_address} ${size}>;\n\t\t\treg-names = \"mem\";\n\t\t\tword-size-bytes = <${word_size}>;\n\t\t};/" ${dts}
+ ${SED} -i "s/ranges;/ranges;\n\t\ttest_memory: testram@${node_name_addr} {\n\t\t\tcompatible = \"sifive,testram0\";\n\t\t\treg = <${base_address} ${size}>;\n\t\t\treg-names = \"mem\";\n\t\t\tword-size-bytes = <${word_size}>;\n\t\t};/" ${dts}
echo -e "$0: \tAdded testram@${node_name_addr}"
# Break out of both loops