aboutsummaryrefslogtreecommitdiff
path: root/slof
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2017-10-09 16:02:49 +1100
committerAlexey Kardashevskiy <aik@ozlabs.ru>2017-11-06 13:28:49 +1100
commit608e416bb114ce964e742733ea6a4a5fc7c968c8 (patch)
tree7e037a9674bb9b95cfdd01b5a6881538a6b7486d /slof
parente6fc84652c9c0073f9183cbbc261ae7700f5e1e7 (diff)
downloadSLOF-608e416bb114ce964e742733ea6a4a5fc7c968c8.zip
SLOF-608e416bb114ce964e742733ea6a4a5fc7c968c8.tar.gz
SLOF-608e416bb114ce964e742733ea6a4a5fc7c968c8.tar.bz2
board-qemu: Fix slof-build-id length
The existing code hardcodes the length of /openprom/model to 10 characters even though it is less than that - len("aik")==3. All 10 chars go to the device tree blob and DTC complains on such a property as there are characters after terminating null: aik@fstn1-p1:~$ dtc -f -I dtb -O dts -o dbg.dts dbg.dtb Warning (model_is_string): "model" property in /openprom is not a string This uses the real length and limits it by 10 to avoid breaking something. Since the same code parses the build id field, this moves from-cstring to a common place for both js2x and qemu boards. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Diffstat (limited to 'slof')
-rw-r--r--slof/fs/base.fs5
1 files changed, 5 insertions, 0 deletions
diff --git a/slof/fs/base.fs b/slof/fs/base.fs
index 0aca5f5..e2104fb 100644
--- a/slof/fs/base.fs
+++ b/slof/fs/base.fs
@@ -107,6 +107,11 @@ CONSTANT <2constant>
: str= ( str1 len1 str2 len2 -- equal? )
rot over <> IF 3drop false ELSE comp 0= THEN ;
+: from-cstring ( addr - len )
+ dup dup BEGIN c@ 0 <> WHILE 1 + dup REPEAT
+ swap -
+;
+
: test-string ( param len -- true | false )
0 ?DO
dup i + c@ \ Get character / byte at current index