121fdc27aSRafal Jaworowski #ifndef _LIBFDT_ENV_H 221fdc27aSRafal Jaworowski #define _LIBFDT_ENV_H 321fdc27aSRafal Jaworowski 4*21d30ec1SRafal Jaworowski #ifdef _KERNEL 5*21d30ec1SRafal Jaworowski #include <sys/cdefs.h> 6*21d30ec1SRafal Jaworowski #include <sys/param.h> 7*21d30ec1SRafal Jaworowski #include <sys/types.h> 8*21d30ec1SRafal Jaworowski #include <sys/systm.h> 9*21d30ec1SRafal Jaworowski #include <sys/stdint.h> 10*21d30ec1SRafal Jaworowski #else 1121fdc27aSRafal Jaworowski #include <stddef.h> 1221fdc27aSRafal Jaworowski #include <stdint.h> 1321fdc27aSRafal Jaworowski #include <string.h> 14*21d30ec1SRafal Jaworowski #endif 1521fdc27aSRafal Jaworowski 1621fdc27aSRafal Jaworowski #define _B(n) ((unsigned long long)((uint8_t *)&x)[n]) 1721fdc27aSRafal Jaworowski static inline uint32_t fdt32_to_cpu(uint32_t x) 1821fdc27aSRafal Jaworowski { 1921fdc27aSRafal Jaworowski return (_B(0) << 24) | (_B(1) << 16) | (_B(2) << 8) | _B(3); 2021fdc27aSRafal Jaworowski } 2121fdc27aSRafal Jaworowski #define cpu_to_fdt32(x) fdt32_to_cpu(x) 2221fdc27aSRafal Jaworowski 2321fdc27aSRafal Jaworowski static inline uint64_t fdt64_to_cpu(uint64_t x) 2421fdc27aSRafal Jaworowski { 2521fdc27aSRafal Jaworowski return (_B(0) << 56) | (_B(1) << 48) | (_B(2) << 40) | (_B(3) << 32) 2621fdc27aSRafal Jaworowski | (_B(4) << 24) | (_B(5) << 16) | (_B(6) << 8) | _B(7); 2721fdc27aSRafal Jaworowski } 2821fdc27aSRafal Jaworowski #define cpu_to_fdt64(x) fdt64_to_cpu(x) 2921fdc27aSRafal Jaworowski #undef _B 3021fdc27aSRafal Jaworowski 3121fdc27aSRafal Jaworowski #endif /* _LIBFDT_ENV_H */ 32