Files
android_external_dtc/tests/testdata.h
David Gibson fa5b520ccb dtc: Implement checks for the format of node and property names
This patch adds checks to the checking framework to verify that node
and property names contain only legal characters, and in the case of
node names there is at most one '@'.

At present when coming from dts input, this is mostly already ensured
by the grammer, however putting the check later means its easier to
generate helpful error messages rather than just "syntax error".  For
dtb input, these checks replace the older similar check built into
flattree.c.

Testcases for the checks are also implemented.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2008-03-23 08:00:32 -05:00

40 lines
1.1 KiB
C

#include <endian.h>
#if __BYTE_ORDER == __BIG_ENDIAN
#define cell_to_fdt(x) (x)
#else
/* We do this as a big hairy expression instead of using bswap_32()
* because we need it to work in asm as well as C. */
#define cell_to_fdt(x) ((((x) >> 24) & 0xff) | (((x) >> 8) & 0xff00) \
| (((x) << 8) & 0xff0000) | (((x) << 24) & 0xff000000))
#endif
#ifdef __ASSEMBLY__
#define ASM_CONST_LL(x) (x)
#else
#define ASM_CONST_LL(x) (x##ULL)
#endif
#define TEST_ADDR_1 ASM_CONST_LL(0xdeadbeef00000000)
#define TEST_SIZE_1 ASM_CONST_LL(0x100000)
#define TEST_ADDR_2 ASM_CONST_LL(123456789)
#define TEST_SIZE_2 ASM_CONST_LL(010000)
#define TEST_VALUE_1 0xdeadbeef
#define TEST_VALUE_2 123456789
#define PHANDLE_1 0x2000
#define PHANDLE_2 0x2001
#define TEST_STRING_1 "hello world"
#define TEST_STRING_2 "nastystring: \a\b\t\n\v\f\r\\\""
#define TEST_STRING_3 "\xde\xad\xbe\xef"
#ifndef __ASSEMBLY__
extern struct fdt_header _test_tree1;
extern struct fdt_header _truncated_property;
extern struct fdt_header _bad_node_char;
extern struct fdt_header _bad_node_format;
extern struct fdt_header _bad_prop_char;
#endif /* ! __ASSEMBLY */