1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-11-01 19:05:51 +01:00

sandbox: Support setting up the other FDT for testing

Provide a way to copy over the 'other' FDT when running tests. This loads
it and allocates memory for the copy, if not done already, then does the
copy.

Avoid using U-Boot's malloc() pool for these copies, at least for now,
since they are part of the test system.

Tidy up the cpu.c header files while here.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2022-09-06 20:27:10 -06:00
committed by Tom Rini
parent 9859d89b6e
commit 756c01422d
3 changed files with 67 additions and 5 deletions

View File

@@ -23,6 +23,8 @@
* @fdt_chksum: crc8 of the device tree contents
* @fdt_copy: Copy of the device tree
* @fdt_size: Size of the device-tree copy
* @other_fdt: Buffer for the other FDT (UT_TESTF_OTHER_FDT)
* @other_fdt_size: Size of the other FDT (UT_TESTF_OTHER_FDT)
* @runs_per_test: Number of times to run each test (typically 1)
* @expect_str: Temporary string used to hold expected string value
* @actual_str: Temporary string used to hold actual string value
@@ -39,6 +41,8 @@ struct unit_test_state {
uint fdt_chksum;
void *fdt_copy;
uint fdt_size;
void *other_fdt;
int other_fdt_size;
int runs_per_test;
char expect_str[512];
char actual_str[512];
@@ -132,13 +136,24 @@ enum {
*/
struct udevice *testbus_get_clear_removed(void);
#ifdef CONFIG_SANDBOX
#include <asm/state.h>
#include <asm/test.h>
#endif
static inline void arch_reset_for_test(void)
{
#ifdef CONFIG_SANDBOX
#include <asm/state.h>
state_reset_for_test(state_get_current());
#endif
}
static inline int test_load_other_fdt(struct unit_test_state *uts)
{
int ret = 0;
#ifdef CONFIG_SANDBOX
ret = sandbox_load_other_fdt(&uts->other_fdt, &uts->other_fdt_size);
#endif
return ret;
}
#endif /* __TEST_TEST_H */