1 diff -Naur ixp400_xscale_sw.orig/Readme-Kernel-2_6-Patch.txt ixp400_xscale_sw/Readme-Kernel-2_6-Patch.txt
2 --- ixp400_xscale_sw.orig/Readme-Kernel-2_6-Patch.txt 1970-01-01 01:00:00.000000000 +0100
3 +++ ixp400_xscale_sw/Readme-Kernel-2_6-Patch.txt 2005-09-28 19:50:30.000000000 +0200
5 +This file describes a patch to use version 1.5 of the Intel Ixp4XX
6 +Access Library with Linux 2.6 kernels.
11 +This patch consists of the changes made by Marc Singer for use of
12 +version 1.5 of the library with the APEX bootloader, and a patch made
13 +by Robin Farine and Tom Winkler for use of version 1.4 of the library
14 +with Linux-2.6 kernels. These changes were merged together by Hannes
17 +Both patches are incorporated in their entirety, with the exception of
18 +some tweaks to sleep times in the ethAcc code and modifications to
19 +the code in src/codelets/usb/ from the Robin Farine / Tom Winkler
25 +This code has been tested on a Linksys NSLU2. It works in big-endian
26 +mode, performance seems around 10% faster than 1.4.
28 +The code does not work in little-endian mode. It appears as though the
29 +hardware is initialised correctly, but packet receive / transmit done
30 +callbacks are never called.
35 +The patch is licenced under the same conditions as the original Access
36 +Library 1.5 (INTEL SOFTWARE LICENSE AGREEMENT). The full text of the
37 +licence can be downloaded from:
38 +http://www.intel.com/design/network/swsup/np_sla/ixp400.htm
40 +The patch is free, unsupported and the authors make no warranties.
41 +Use it at your own risk, do with it as you see fit so long as you do
42 +not violate the original licence agreement.
44 +The authors permit derivative works based upon the patch.
49 +The version 1.4 patch by Robin Farine and Tom Winkler is available from
50 +http://www.wnk.at/ixp400_accesslib_kernel26/data/patch_accesslib_kernel26_20040811.diff
52 +The version 1.5 patch by Marc Singer is at
53 +http://wiki.buici.com/bin/view/Main/IXPAccessLibrary
54 diff -Naur ixp400_xscale_sw.orig/src/codelets/dmaAcc/IxDmaAccCodelet_p.h ixp400_xscale_sw/src/codelets/dmaAcc/IxDmaAccCodelet_p.h
55 --- ixp400_xscale_sw.orig/src/codelets/dmaAcc/IxDmaAccCodelet_p.h 2005-08-24 00:16:36.000000000 +0200
56 +++ ixp400_xscale_sw/src/codelets/dmaAcc/IxDmaAccCodelet_p.h 2005-08-24 00:18:02.000000000 +0200
58 * @return IX_FAIL - Error initialising codelet
61 -ixDmaAccCodeletInit(IxDmaNpeId npeId);
62 +ixDmaAccCodeletInit(IxNpeDlNpeId npeId);
65 * @fn ixDmaAccCodeletTestPerform( UINT16 transferLength,
66 diff -Naur ixp400_xscale_sw.orig/src/ethDB/include/IxEthDB_p.h ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h
67 --- ixp400_xscale_sw.orig/src/ethDB/include/IxEthDB_p.h 2005-08-24 00:16:36.000000000 +0200
68 +++ ixp400_xscale_sw/src/ethDB/include/IxEthDB_p.h 2005-08-24 00:18:02.000000000 +0200
70 IX_ETH_DB_PUBLIC UINT32 ixEthDBKeyXORHash(void *macAddress);
73 -IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBFeature type);
74 +IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBNPEUpdateHandler(IxEthDBPortId portID, IxEthDBRecordType type);
75 IX_ETH_DB_PUBLIC void ixEthDBUpdatePortLearningTrees(IxEthDBPortMap triggerPorts);
76 IX_ETH_DB_PUBLIC void ixEthDBNPEAccessRequest(IxEthDBPortId portID);
77 IX_ETH_DB_PUBLIC void ixEthDBUpdateLock(void);
78 diff -Naur ixp400_xscale_sw.orig/src/include/IxTypes.h ixp400_xscale_sw/src/include/IxTypes.h
79 --- ixp400_xscale_sw.orig/src/include/IxTypes.h 2005-08-24 00:16:36.000000000 +0200
80 +++ ixp400_xscale_sw/src/include/IxTypes.h 2005-08-26 01:19:15.000000000 +0200
86 +#define BIT(x) ((1)<<(x))
89 #include "IxOsalBackward.h"
91 #endif /* IxTypes_H */
92 diff -Naur ixp400_xscale_sw.orig/src/usb/include/usbprivatetypes.h ixp400_xscale_sw/src/usb/include/usbprivatetypes.h
93 --- ixp400_xscale_sw.orig/src/usb/include/usbprivatetypes.h 2005-08-24 00:16:36.000000000 +0200
94 +++ ixp400_xscale_sw/src/usb/include/usbprivatetypes.h 2005-08-24 00:18:02.000000000 +0200
146 typedef struct /* UDCRegisters */
148 volatile UINT32 UDCCR;