Changeset 28ecadb in mainline for kernel/genarch/include/ofw/ofw_tree.h
- Timestamp:
- 2006-09-22T21:44:54Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5d684e4
- Parents:
- 16529d5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/include/ofw/ofw_tree.h
r16529d5 r28ecadb 57 57 }; 58 58 59 /* 60 * Definition of 'reg' and 'ranges' properties for various buses. 61 */ 62 63 struct ofw_fhc_reg { 64 uint64_t addr; 65 uint32_t size; 66 } __attribute__ ((packed)); 67 typedef struct ofw_fhc_reg ofw_fhc_reg_t; 68 69 struct ofw_fhc_range { 70 uint64_t child_base; 71 uint64_t parent_base; 72 uint32_t size; 73 } __attribute__ ((packed)); 74 typedef struct ofw_fhc_range ofw_fhc_range_t; 75 76 struct ofw_central_reg { 77 uint64_t addr; 78 uint32_t size; 79 } __attribute__ ((packed)); 80 typedef struct ofw_central_reg ofw_central_reg_t; 81 82 struct ofw_central_range { 83 uint64_t child_base; 84 uint64_t parent_base; 85 uint32_t size; 86 } __attribute__ ((packed)); 87 typedef struct ofw_central_range ofw_central_range_t; 88 89 struct ofw_ebus_reg { 90 uint32_t space; 91 uint32_t addr; 92 uint32_t size; 93 } __attribute__ ((packed)); 94 typedef struct ofw_ebus_reg ofw_ebus_reg_t; 95 96 struct ofw_ebus_range { 97 uint32_t child_space; 98 uint32_t child_base; 99 uint32_t parent_space; 100 uint64_t parent_base; /* group phys.mid and phys.lo together */ 101 uint32_t size; 102 } __attribute__ ((packed)); 103 typedef struct ofw_ebus_range ofw_ebus_range_t; 104 105 struct ofw_pci_reg { 106 uint32_t space; /* needs to masked to obtain pure space id */ 107 uint64_t addr; /* group phys.mid and phys.lo together */ 108 uint64_t size; 109 } __attribute__ ((packed)); 110 typedef struct ofw_pci_reg ofw_pci_reg_t; 111 112 struct ofw_pci_range { 113 uint32_t space; 114 uint64_t child_base; /* group phys.mid and phys.lo together */ 115 uint64_t parent_base; 116 uint64_t size; 117 } __attribute__ ((packed)); 118 typedef struct ofw_pci_range ofw_pci_range_t; 119 120 struct ofw_ffb_reg { 121 } __attribute__ ((packed)); 122 typedef struct ofw_ffb_reg ofw_ffb_reg_t; 123 59 124 extern void ofw_tree_init(ofw_tree_node_t *root); 60 125 extern void ofw_tree_print(void); 61 126 extern const char *ofw_tree_node_name(const ofw_tree_node_t *node); 62 127 extern ofw_tree_node_t *ofw_tree_lookup(const char *path); 128 extern ofw_tree_property_t *ofw_tree_getprop(const ofw_tree_node_t *node, const char *name); 129 130 extern bool ofw_fhc_apply_ranges(ofw_tree_node_t *node, ofw_fhc_reg_t *reg, uintptr_t *pa); 131 extern bool ofw_central_apply_ranges(ofw_tree_node_t *node, ofw_central_reg_t *reg, uintptr_t *pa); 132 extern bool ofw_ebus_apply_ranges(ofw_tree_node_t *node, ofw_ebus_reg_t *reg, uintptr_t *pa); 133 extern bool ofw_pci_apply_ranges(ofw_tree_node_t *node, ofw_pci_reg_t *reg, uintptr_t *pa); 134 extern bool ofw_ffb_apply_ranges(ofw_tree_node_t *node, ofw_ffb_reg_t *reg, uintptr_t *pa); 63 135 64 136 #endif
Note:
See TracChangeset
for help on using the changeset viewer.