summaryrefslogtreecommitdiffstats
path: root/sys/dev/ofw/openfirm.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/ofw/openfirm.h')
-rw-r--r--sys/dev/ofw/openfirm.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/sys/dev/ofw/openfirm.h b/sys/dev/ofw/openfirm.h
index 28b95b33..d28c817 100644
--- a/sys/dev/ofw/openfirm.h
+++ b/sys/dev/ofw/openfirm.h
@@ -74,6 +74,27 @@ typedef unsigned int phandle_t;
#include <sys/types.h>
#include <sys/malloc.h>
+#define p1275_ptr2cell(p) ((cell_t)((uintptr_t)((void *)(p))))
+#define p1275_int2cell(i) ((cell_t)((int)(i)))
+#define p1275_uint2cell(u) ((cell_t)((unsigned int)(u)))
+#define p1275_size2cell(u) ((cell_t)((size_t)(u)))
+#define p1275_phandle2cell(ph) ((cell_t)((unsigned int)((phandle_t)(ph))))
+#define p1275_dnode2cell(d) ((cell_t)((unsigned int)((pnode_t)(d))))
+#define p1275_ihandle2cell(ih) ((cell_t)((unsigned int)((ihandle_t)(ih))))
+#define p1275_ull2cell_high(ll) (0LL)
+#define p1275_ull2cell_low(ll) ((cell_t)(ll))
+#define p1275_uintptr2cell(i) ((cell_t)((uintptr_t)(i)))
+
+#define p1275_cell2ptr(p) ((void *)((cell_t)(p)))
+#define p1275_cell2int(i) ((int)((cell_t)(i)))
+#define p1275_cell2uint(u) ((unsigned int)((cell_t)(u)))
+#define p1275_cell2size(u) ((size_t)((cell_t)(u)))
+#define p1275_cell2phandle(ph) ((phandle_t)((cell_t)(ph)))
+#define p1275_cell2dnode(d) ((pnode_t)((cell_t)(d)))
+#define p1275_cell2ihandle(ih) ((ihandle_t)((cell_t)(ih)))
+#define p1275_cells2ull(h, l) ((unsigned long long)(cell_t)(l))
+#define p1275_cell2uintptr(i) ((uintptr_t)((cell_t)(i)))
+
MALLOC_DECLARE(M_OFWPROP);
/*
@@ -138,5 +159,10 @@ void OF_set_symbol_lookup(void *, void *);
/* Time function */
int OF_milliseconds(void);
+/* sun4v additions */
+void OF_set_mmfsa_traptable(void *tba_addr, uint64_t mmfsa_ra);
+int OF_translate_virt(vm_offset_t va, int *valid, vm_paddr_t *physaddr, int *mode);
+vm_paddr_t OF_vtophys(vm_offset_t va);
+
#endif /* _KERNEL */
#endif /* _OPENFIRM_H_ */
OpenPOWER on IntegriCloud