summaryrefslogtreecommitdiff
path: root/dtc-parser.y
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2008-05-16 13:22:57 +1000
committerJon Loeliger <jdl@jdl.com>2008-05-19 14:12:15 -0500
commit548767f42eb00a2bac6f2a1361b7fd49f7b76908 (patch)
treef93d2d2a6c1828ab7fe6637e27281abac430c736 /dtc-parser.y
parenta742aade6a28fbebf7a66448b40b983549897253 (diff)
downloaddtc-548767f42eb00a2bac6f2a1361b7fd49f7b76908.tar.gz
dtc: Rework handling of boot_cpuid_phys
Currently, dtc will put the nonsense value 0xfeedbeef into the boot_cpuid_phys field of an output blob, unless explicitly given another value with the -b command line option. As well as being a totally unuseful default value, this also means that dtc won't properly preserve the boot_cpuid_phys field in -I dtb -O dtb mode. This patch reworks things to improve the boot_cpuid handling. The new semantics are that the output's boot_cpuid_phys value is: the value given on the command line if -b is used otherwise the value from the input, if in -I dtb mode otherwise 0 Implementation-wise we do the following: - boot_cpuid_phys is added to struct boot_info, so that structure now contains all of the blob's semantic information. - dt_to_blob() and dt_to_asm() output the cpuid given in boot_info - dt_from_blob() fills in boot_info based on the input blob - The other dt_from_*() functions just record 0, but we can change this easily if e.g. we invent a way of specifying the boot cpu in the source format. - main() overrides the cpuid in the boot_info between input and output if -b is given We add some testcases to check this new behaviour. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'dtc-parser.y')
-rw-r--r--dtc-parser.y4
1 files changed, 2 insertions, 2 deletions
diff --git a/dtc-parser.y b/dtc-parser.y
index 4ab1df9..0bf3fcb 100644
--- a/dtc-parser.y
+++ b/dtc-parser.y
@@ -85,11 +85,11 @@ static unsigned long long eval_literal(const char *s, int base, int bits);
sourcefile:
DT_V1 ';' memreserves devicetree
{
- the_boot_info = build_boot_info($3, $4);
+ the_boot_info = build_boot_info($3, $4, 0);
}
| v0_memreserves devicetree
{
- the_boot_info = build_boot_info($1, $2);
+ the_boot_info = build_boot_info($1, $2, 0);
}
;