[U-Boot-Users] [PATCH 5/8] SPARC: Added AMBA PnP Information listing command for LEON3
Daniel Hellstrom
daniel at gaisler.com
Thu Mar 13 13:53:42 CET 2008
Wolfgang Denk wrote:
>In message <47D8F64D.6030903 at gaisler.com> you wrote:
>
>
>>This patch adds an U-Boot command, ambapp, which prints a summary
>>of AMBA Bus Plug & Play information.
>>
>>
>...
>
>
>>diff --git a/common/Makefile b/common/Makefile
>>index a88d1ef..3d369ff 100644
>>--- a/common/Makefile
>>+++ b/common/Makefile
>>@@ -91,6 +91,7 @@ COBJS-$(CONFIG_CMD_STRINGS) += cmd_strings.o
>> COBJS-$(CONFIG_CMD_TERMINAL) += cmd_terminal.o
>> COBJS-$(CONFIG_CMD_UNIVERSE) += cmd_universe.o
>> COBJS-$(CONFIG_CMD_USB) += cmd_usb.o
>>+COBJS-y += cmd_ambapp.o
>>
>>
>
>Please compile the code only for boards that enable it in the
>configuration.
>
>
Ok.
>
>
>>diff --git a/common/cmd_ambapp.c b/common/cmd_ambapp.c
>>new file mode 100644
>>index 0000000..5329a3a
>>--- /dev/null
>>+++ b/common/cmd_ambapp.c
>>
>>
>...
>...
>
>
>>+#include <common.h>
>>+#include <command.h>
>>+
>>+#if defined(CONFIG_CMD_AMBAPP)
>>
>>
>
>This should not be needed any more, then.
>
>
>
>>+#ifndef CONFIG_LEON3
>>+#error Only LEON3 processors support the AMBA Plug&Play bus
>>+#endif
>>+
>>+#include <ambapp.h>
>>+
>>+DECLARE_GLOBAL_DATA_PTR;
>>+
>>+/* We put these variables into .data section so that they are
>>+ * zero when entering the AMBA Plug & Play Section the first time.
>>+ * BSS is not garantueed to be zero since BSS hasn't been cleared
>>+ * the first times entering the AMBA functions.
>>+ */
>>
>>
>
>Um.... when would that be? Command code like this cannot be executed
>before relocation to RAM, and by then the BSS *is* zeroed.
>
>
>
One part of this patch was part of the LEON2&3 patch, I missed that.
cpu/leon3/ambapp.c:31,73,220
The thing is that the ambapp_apb_print variable is used when executing
in rom before BSS has been cleared (cpu/leon3/ambapp.c:74 called from
cpu/leon3/cpu_init.c:92 used to find the IRQ contoller). This is the
case only because the ambapp command extends the standard leon3 scanning
functions with a callback that is responsible to print what is found
during scanning. The ambapp_apb_print controls if the callback function
is called or not. I choose to implement it like this for smaller size,
else I would have two scanning routines doing almost the exact same thing.
Best Regards,
Daniel Hellstrom
>Best regards,
>
>Wolfgang Denk
>
>
>
More information about the U-Boot
mailing list