mode the test is executed in (power-on, normal, power-fail,
manual).
- o) void post_reloc(ulong offset);
-
- This routine will be called from board_init_r() and will
- relocate the POST test table.
-
o) int post_info(char *name);
This routine will print the list of all POST tests that can be
int post_run (char *name, int flags);
int post_info (char *name);
int post_log (char *format, ...);
-#ifdef CONFIG_NEEDS_MANUAL_RELOC
-void post_reloc (void);
-#endif
unsigned long post_time_ms (unsigned long base);
/**
return 0;
}
-#ifdef CONFIG_NEEDS_MANUAL_RELOC
-void post_reloc(void)
-{
- unsigned int i;
-
- /*
- * We have to relocate the test table manually
- */
- for (i = 0; i < post_list_size; i++) {
- ulong addr;
- struct post_test *test = post_list + i;
-
- if (test->name) {
- addr = (ulong)(test->name) + gd->reloc_off;
- test->name = (char *)addr;
- }
-
- if (test->cmd) {
- addr = (ulong)(test->cmd) + gd->reloc_off;
- test->cmd = (char *)addr;
- }
-
- if (test->desc) {
- addr = (ulong)(test->desc) + gd->reloc_off;
- test->desc = (char *)addr;
- }
-
- if (test->test) {
- addr = (ulong)(test->test) + gd->reloc_off;
- test->test = (int (*)(int flags)) addr;
- }
-
- if (test->init_f) {
- addr = (ulong)(test->init_f) + gd->reloc_off;
- test->init_f = (int (*)(void)) addr;
- }
-
- if (test->reloc) {
- addr = (ulong)(test->reloc) + gd->reloc_off;
- test->reloc = (void (*)(void)) addr;
-
- test->reloc();
- }
- }
-}
-#endif
-
-
/*
* Some tests (e.g. SYSMON) need the time when post_init_f started,
* but we cannot use get_timer() at this point.