mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-23 11:18:54 +00:00
52baf267be
including the include directive. Fix minor build issue corrected by converting yypush_buffer_state and yypop_buffer_state to yy_set_buffer_state and a hard-coded 100-deep stack. It was easier to fix it here than to import that support into our flex. The new tools and test hardness remain unsupported at the moment.
38 lines
1001 B
C
38 lines
1001 B
C
#ifndef _LIBFDT_ENV_H
|
|
#define _LIBFDT_ENV_H
|
|
|
|
#ifdef _KERNEL
|
|
#include <sys/cdefs.h>
|
|
#include <sys/param.h>
|
|
#include <sys/types.h>
|
|
#include <sys/systm.h>
|
|
#include <sys/stdint.h>
|
|
#else
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
#include <string.h>
|
|
#endif
|
|
|
|
#define EXTRACT_BYTE(n) ((unsigned long long)((uint8_t *)&x)[n])
|
|
static inline uint16_t fdt16_to_cpu(uint16_t x)
|
|
{
|
|
return (EXTRACT_BYTE(0) << 8) | EXTRACT_BYTE(1);
|
|
}
|
|
#define cpu_to_fdt16(x) fdt16_to_cpu(x)
|
|
|
|
static inline uint32_t fdt32_to_cpu(uint32_t x)
|
|
{
|
|
return (EXTRACT_BYTE(0) << 24) | (EXTRACT_BYTE(1) << 16) | (EXTRACT_BYTE(2) << 8) | EXTRACT_BYTE(3);
|
|
}
|
|
#define cpu_to_fdt32(x) fdt32_to_cpu(x)
|
|
|
|
static inline uint64_t fdt64_to_cpu(uint64_t x)
|
|
{
|
|
return (EXTRACT_BYTE(0) << 56) | (EXTRACT_BYTE(1) << 48) | (EXTRACT_BYTE(2) << 40) | (EXTRACT_BYTE(3) << 32)
|
|
| (EXTRACT_BYTE(4) << 24) | (EXTRACT_BYTE(5) << 16) | (EXTRACT_BYTE(6) << 8) | EXTRACT_BYTE(7);
|
|
}
|
|
#define cpu_to_fdt64(x) fdt64_to_cpu(x)
|
|
#undef EXTRACT_BYTE
|
|
|
|
#endif /* _LIBFDT_ENV_H */
|