diff options
author | Rob Herring <robh@kernel.org> | 2014-04-01 23:55:14 -0400 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2014-04-30 01:59:20 -0400 |
commit | c3fc952d2fbe3ec78defd70cf73d5d76d27092ec (patch) | |
tree | efcb35807164e6e71e626c70948cb68091498373 /arch/powerpc/include | |
parent | 1daa0c4ced334f18f458aba6ace7e01e8cdc2ecf (diff) |
of: push struct boot_param_header and defines into powerpc
Now powerpc is the only user of struct boot_param_header and FDT defines,
so they can be moved into the powerpc architecture code.
Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Tested-by: Grant Likely <grant.likely@linaro.org>
Tested-by: Stephen Chivers <schivers@csc.com>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r-- | arch/powerpc/include/asm/prom.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/prom.h b/arch/powerpc/include/asm/prom.h index d977b9b78696..74b79f07f041 100644 --- a/arch/powerpc/include/asm/prom.h +++ b/arch/powerpc/include/asm/prom.h | |||
@@ -26,6 +26,45 @@ | |||
26 | #include <linux/of_irq.h> | 26 | #include <linux/of_irq.h> |
27 | #include <linux/platform_device.h> | 27 | #include <linux/platform_device.h> |
28 | 28 | ||
29 | #define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ | ||
30 | #define OF_DT_END_NODE 0x2 /* End node */ | ||
31 | #define OF_DT_PROP 0x3 /* Property: name off, size, | ||
32 | * content */ | ||
33 | #define OF_DT_NOP 0x4 /* nop */ | ||
34 | #define OF_DT_END 0x9 | ||
35 | |||
36 | #define OF_DT_VERSION 0x10 | ||
37 | |||
38 | /* | ||
39 | * This is what gets passed to the kernel by prom_init or kexec | ||
40 | * | ||
41 | * The dt struct contains the device tree structure, full pathes and | ||
42 | * property contents. The dt strings contain a separate block with just | ||
43 | * the strings for the property names, and is fully page aligned and | ||
44 | * self contained in a page, so that it can be kept around by the kernel, | ||
45 | * each property name appears only once in this page (cheap compression) | ||
46 | * | ||
47 | * the mem_rsvmap contains a map of reserved ranges of physical memory, | ||
48 | * passing it here instead of in the device-tree itself greatly simplifies | ||
49 | * the job of everybody. It's just a list of u64 pairs (base/size) that | ||
50 | * ends when size is 0 | ||
51 | */ | ||
52 | struct boot_param_header { | ||
53 | __be32 magic; /* magic word OF_DT_HEADER */ | ||
54 | __be32 totalsize; /* total size of DT block */ | ||
55 | __be32 off_dt_struct; /* offset to structure */ | ||
56 | __be32 off_dt_strings; /* offset to strings */ | ||
57 | __be32 off_mem_rsvmap; /* offset to memory reserve map */ | ||
58 | __be32 version; /* format version */ | ||
59 | __be32 last_comp_version; /* last compatible version */ | ||
60 | /* version 2 fields below */ | ||
61 | __be32 boot_cpuid_phys; /* Physical CPU id we're booting on */ | ||
62 | /* version 3 fields below */ | ||
63 | __be32 dt_strings_size; /* size of the DT strings block */ | ||
64 | /* version 17 fields below */ | ||
65 | __be32 dt_struct_size; /* size of the DT structure block */ | ||
66 | }; | ||
67 | |||
29 | /* | 68 | /* |
30 | * OF address retreival & translation | 69 | * OF address retreival & translation |
31 | */ | 70 | */ |