[U-Boot-Users] [PATCH] PATCH: load ixp42x NPE firmware from separate flash block, remove dead code

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Wed Jan 9 13:30:11 CET 2008


From: Michael Schwingen <michael at schwingen.org>

Hi,

the following patch adds support to move the IXP42X NPE firmware to a
separate flash block, whose start address is defined in
CONFIG_IXP4XX_NPE_EXT_UCODE_BASE. Using that, it is possible to build
NPE-enabled u-boot without copyright problems due to the NPE firmware.

I have also removed some unused code (#if 0 currently - should we completely
remove those unused parts?)

I hope the patch applies, I get whitespace-related differences in the NPE
files due to trailing whitespace in the original versions.

Signed-off-by: Michael Schwingen <michael at schwingen.org>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>

diff --git a/cpu/ixp/npe/IxNpeDl.c b/cpu/ixp/npe/IxNpeDl.c
index ffe355c..3738337 100644
--- a/cpu/ixp/npe/IxNpeDl.c
+++ b/cpu/ixp/npe/IxNpeDl.c
@@ -109,38 +109,6 @@ PRIVATE IX_STATUS
 ixNpeDlNpeInitAndStartInternal (UINT32 *imageLibrary, UINT32 imageId);
 
 /*
- * Function definition: ixNpeDlMicrocodeImageLibraryOverride
- */
-PUBLIC IX_STATUS
-ixNpeDlMicrocodeImageLibraryOverride (UINT32 *clientImageLibrary)
-{
-    IX_STATUS status = IX_SUCCESS;
-
-    IX_NPEDL_TRACE0 (IX_NPEDL_FN_ENTRY_EXIT,
-                     "Entering ixNpeDlMicrocodeImageLibraryOverride\n");
-
-    if (clientImageLibrary == NULL)
-    {
-        status = IX_NPEDL_PARAM_ERR;
-        IX_NPEDL_ERROR_REPORT ("ixNpeDlMicrocodeImageLibraryOverride - "
-                               "invalid parameter\n");
-    }
-    else
-    {
-        status = ixNpeDlImageMgrMicrocodeImageLibraryOverride (clientImageLibrary);
-        if (status != IX_SUCCESS)
-        {
-            status = IX_FAIL;
-        }
-    } /* end of if-else(clientImageLibrary) */
-
-    IX_NPEDL_TRACE1 (IX_NPEDL_FN_ENTRY_EXIT,
-                     "Exiting ixNpeDlMicrocodeImageLibraryOverride : "
-                     "status = %d\n", status);
-    return status;
-}
-
-/*
  * Function definition: ixNpeDlImageDownload
  */
 PUBLIC IX_STATUS
diff --git a/cpu/ixp/npe/IxNpeDlImageMgr.c b/cpu/ixp/npe/IxNpeDlImageMgr.c
index e05c228..c0e7349 100644
--- a/cpu/ixp/npe/IxNpeDlImageMgr.c
+++ b/cpu/ixp/npe/IxNpeDlImageMgr.c
@@ -134,8 +134,8 @@ typedef struct
 static IxNpeDlImageMgrStats ixNpeDlImageMgrStats;
 
 /* default image */
-#ifdef IX_NPEDL_READ_MICROCODE_FROM_FILE
-static UINT32 *IxNpeMicroCodeImageLibrary = NULL;  /* Gets set to proper value at runtime */
+#ifdef CONFIG_IXP4XX_NPE_EXT_UCODE_BASE
+static UINT32 *IxNpeMicroCodeImageLibrary = (UINT32 *)CONFIG_IXP4XX_NPE_EXT_UCODE_BASE;
 #else
 static UINT32 *IxNpeMicroCodeImageLibrary = (UINT32 *)IxNpeMicrocode_array;
 #endif
@@ -158,6 +158,7 @@ PRIVATE BOOL
 ixNpeDlImageMgrNpeFunctionIdCompare (IxNpeDlImageId *imageIdA,
     				       IxNpeDlImageId *imageIdB);
 
+#if 0
 PRIVATE IX_STATUS
 ixNpeDlImageMgrImageFind_legacy (UINT32 *imageLibrary,
                                  UINT32 imageId,
@@ -195,7 +196,7 @@ ixNpeDlImageMgrMicrocodeImageLibraryOverride (
 		     status);
     return status;
 }
-
+#endif
 
 /*
  * Function definition: ixNpeDlImageMgrImageListExtract
@@ -527,6 +528,7 @@ ixNpeDlImageMgrStatsReset (void)
 }
 
 
+#if 0
 /*
  * Function definition: ixNpeDlImageMgrImageFind_legacy
  *
@@ -600,7 +602,7 @@ ixNpeDlImageMgrImageFind_legacy (
 		     "Exiting ixNpeDlImageMgrImageFind: status = %d\n", status);
     return status;
 }
-
+#endif
 
 /*
  * Function definition: ixNpeDlImageMgrImageFind
@@ -635,6 +637,7 @@ ixNpeDlImageMgrImageFind (
 #endif /* IX_NPEDL_READ_MICROCODE_FROM_FILE */
     }
 
+#if 0
     /* For backward's compatibility with previous image format */
     if (ixNpeDlImageMgrSignatureCheck(imageLibrary))
     {
@@ -643,6 +646,7 @@ ixNpeDlImageMgrImageFind (
                                                imagePtr,
                                                imageSize);
     }
+#endif
 
     while (*(imageLibrary+offset) == NPE_IMAGE_MARKER)
     {
-- 
1.5.3.7





More information about the U-Boot mailing list