[U-Boot] Interrupt issue about bootvx command

Peter Pan pppeterpppan at gmail.com
Wed Oct 12 04:34:27 CEST 2011


Hi Wolfgang,

vxWorks needs all interrupt to be disabled before it's boot up, while
u-boot sometimes enables them.
Recently, I'm facing this kind of problem about booting up vxWorks
through bootvx command.
So, I added a patch to the common/cmd_elf.c to disable all interrupts
before run into vxWorks image.
This patch is now working fine on my board. So I think maybe it will
be helpful for others.

The following is my patch :

commit 66768801bb10477ca8431b284d1738dcf3a834b8
Author: Ke Pan <pppeterpppan at gmail.com>
Date:   Wed Oct 12 09:50:44 2011 +0800

    common/cmd_elf : Disable interrupts before boot vxWorks

    The vxWorks needs all interrupts to be disabled before its boot.

diff --git a/common/cmd_elf.c b/common/cmd_elf.c
index bf32612..7fc5ef5 100644
--- a/common/cmd_elf.c
+++ b/common/cmd_elf.c
@@ -229,6 +229,9 @@ int do_bootvx (cmd_tbl_t *cmdtp, int flag, int
argc, char * const argv[])
        printf ("## Using bootline (@ 0x%lx): %s\n", bootaddr,
                        (char *) bootaddr);
        printf ("## Starting vxWorks at 0x%08lx ...\n", addr);
+    printf ("## Disableing interrupts ...\n");
+
+    disable_interrupts();

        ((void (*)(void)) addr) ();


More information about the U-Boot mailing list