diff options
Diffstat (limited to 'sys/dev/ofw/openfirm.h')
-rw-r--r-- | sys/dev/ofw/openfirm.h | 26 |
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_ */ |