+commit f1152f8c28db4a22087c21c618a3f7baa48e9a4f
+Author: Wolfgang Denk <wd@denx.de>
+Date:  Fri Jul 6 02:50:19 2007 +0200
+
+    Code cleanup and default config update for STC GP3 SSA board.
+
+    Signed-off-by: Wolfgang Denk <wd@denx.de>
+
+commit b44896215a09c60fa40cae906f7ed207bbc2c492
+Author: Sergei Poselenov <sposelenov@emcraft.com>
+Date:  Thu Jul 5 08:17:37 2007 +0200
+
+    Merged POST framework with the current TOT.
+
+    Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
+
+commit f780b83316d9af1f61d71cc88b1917b387b9b995
+Author: Niklaus Giger <niklausgiger@gmx.ch>
+Date:  Wed Jun 27 18:11:38 2007 +0200
+
+    resubmit: ppc4xx: Remove sequoia/sequioa.h. Cleanup ppc440.h for PPC440EPX
+
+    Signed-off-by: Niklaus Giger <niklaus.giger@nestal.com>
+
+commit 04e6c38b766eaa2f3287561563c9e215e0c3a0d4
+Author: Stefan Roese <sr@denx.de>
+Date:  Wed Jul 4 10:06:30 2007 +0200
+
+    ppc4xx: Update lwmon5 board
+
+    - Add optional ECC generation routine to preserve existing
+      RAM values. This is needed for the Linux log-buffer support
+    - Add optional DDR2 setup with CL=4
+    - GPIO50 not used anymore
+    - Lime register setup added
+
+    Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 1f2a05898658900dc5717761e27abf2052e67e13
+Author: Mushtaq Khan <mushtaqk_921@yahoo.co.in>
+Date:  Sat Jun 30 18:50:48 2007 +0200
+
+    Fix S-ATA support.
+
+    Signed-off-by: mushtaq khan <mushtaqk_921@yahoo.co.in>
+
+commit a5d71e290f3673269be8eefb4ec44f53412f9461
+Author: Heiko Schocher <hs@pollux.denx.de>
+Date:  Mon Jun 25 19:11:37 2007 +0200
+
+    [PCS440EP] get rid of CONFIG_PPC4xx_USE_SPD_DDR_INIT_HANG
+
+    Signed-off-by: Heiko Schocher <hs@denx.de>
+
+commit a1bd6200eccd3a02040a955d5f43d3ee1fc9f93b
+Author: Niklaus Giger <niklaus.giger@nestal.com>
+Date:  Mon Jun 25 17:03:13 2007 +0200
+
+    ppc4xx: PPC440EPx Emit DDR0 registers on machine check interrupt
+
+    This patch prints the DDR status registers upon machine check
+    interrupt on the 440EPx/GRx. This can be useful especially when
+    ECC support is enabled.
+
+    I added some small changes to the original patch from Niklaus to
+    make it compile clean.
+
+    Signed-off-by: Niklaus Giger <niklaus.giger@nestal.com>
+    Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 807018fb7faceb429ce0cb47baa2073746b33a4e
+Author: Niklaus Giger <niklaus.giger@nestal.com>
+Date:  Mon Jun 25 16:50:55 2007 +0200
+
+    ppc4xx: Fix O=buildir builds
+
+    This patch fixes the problem to assemble cpu/ppc4xx/start.S
+    experienced last week where building failed having specified
+    O=../build.sequoia.
+
+    Signed-off-by: Niklaus Giger <niklaus.giger@nestal.com>
+
+commit 466fff1a7bb5fe764a06450626f6098219f446b8
+Author: Stefan Roese <sr@denx.de>
+Date:  Mon Jun 25 15:57:39 2007 +0200
+
+    ppc4xx: Add pci_pre_init() for 405 boards
+
+    This patch removes the CFG_PCI_PRE_INIT option completely, since
+    it's not needed anymore with the patch from Matthias Fuchs with
+    the "weak" pci_pre_init() implementation.
+
+    Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 6f35c53166213c24a5a0e2390ed861136ff73870
+Author: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+Date:  Sun Jun 24 17:41:21 2007 +0200
+
+    ppc4xx: Maintenance patch for esd's CPCI405 derivats
+
+    -add pci_pre_init() for pci interrupt fixup code
+    -disable phy sleep mode via reset_phy() function
+    -use correct io accessors
+    -cleanup
+
+    Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+
+commit 5a1c9ff0c44305b57cb4d8f9369bba90bcf0e1f8
+Author: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+Date:  Sun Jun 24 17:23:41 2007 +0200
+
+    ppc4xx: Add pci_pre_init() for 405 boards
+
+    This patch adds support for calling a plattform dependant
+    pci_pre_init() function for 405 boards. This can be used to
+    move the current pci_405gp_fixup_irq() function into the
+    board code.
+
+    This patch also makes the CFG_PCI_PRE_INIT define obsolete.
+    A default function with 'weak' attribute is used when
+    a board specific pci_pre_init() is not implemented.
+
+    Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+
+commit 1636d1c8529c006d106287cfbc20cd0a246fe1cb
+Author: Wolfgang Denk <wd@denx.de>
+Date:  Fri Jun 22 23:59:00 2007 +0200
+
+    Coding stylke cleanup; rebuild CHANGELOG
+
 commit 2dc64451b4c08ffd619372abfdc2506a2e2363b9
 Author: Igor Lisitsin <igor@emcraft.com>
 Date:  Wed Apr 18 14:55:19 2007 +0400
     Signed-off-by: Igor Lisitsin <igor@emcraft.com>
     --
 
+commit 566a494f592ae3b3c0785d90d4e1ba45574880c4
+Author: Heiko Schocher <hs@pollux.denx.de>
+Date:  Fri Jun 22 19:11:54 2007 +0200
+
+    [PCS440EP]     upgrade the PCS440EP board:
+                   - Show on the Status LEDs, some States of the board.
+                   - Get the MAC addresses from the EEProm
+                   - use PREBOOT
+                   - use the CF on the board.
+                   - check the U-Boot image in the Flash with a SHA1
+                     checksum.
+                   - use dynamic TLB entries generation for the SDRAM
+
+    Signed-off-by: Heiko Schocher <hs@denx.de>
+
+commit 3a1f5c81b0b9557817a789bece839905581c2205
+Author: Stefan Roese <sr@denx.de>
+Date:  Fri Jun 22 16:58:40 2007 +0200
+
+    ppc4xx: Fix problem with extended program_tlb() funtion
+
+    The recently extended program_tlb() function had a problem when
+    multiple TLB's had to be setup (for example with 512MB of SDRAM). The
+    virtual address was not incremented. This patch fixes this issue
+    and is tested on Katmai with 512MB SDRAM.
+
+    Signed-off-by: Stefan Roese <sr@denx.de>
+
 commit 02032e8f14751a1a751b09240a4f1cf9f8a2077f
 Author: Rafal Jaworowski <raj@semihalf.com>
 Date:  Fri Jun 22 14:58:04 2007 +0200
 
     Signed-off-by: Stefan Roese <sr@denx.de>
 
+commit 822d55365bb557e084d0e33625a6dedcc866110b
+Author: Jon Loeliger <jdl@freescale.com>
+Date:  Wed May 23 14:09:46 2007 -0500
+
+    Add LIST_86xx MAKEALL target for PowerPC builds.
+
+    Signed-off-by: Jon Loeliger <jdl@freescale.com>
+
 commit 9f0077abd69f7a7c756a915b961037302be3e6f2
 Author: Stefan Roese <sr@denx.de>
 Date:  Tue May 22 12:48:09 2007 +0200
 
     Makefile permissions
 
+commit 255a3577c848706441daee0174543efe205a77f8
+Author: Kim Phillips <kim.phillips@freescale.com>
+Date:  Wed May 16 16:52:19 2007 -0500
+
+    Reduce CONFIG_MPC8YXX_TSECx to CONFIG_TSECx
+
+    For all practical u-boot purposes, TSECs don't differ throughout the
+    mpc8[356]xx families; reduce CONFIG_MPC8YXX_TSECx to CONFIG_TSECx.
+
+    Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
+
 commit 70124c2602ae2d4c5d3dba05b482d91548242de8
 Author: Stefano Babic <sbabic@denx.de>
 Date:  Wed May 16 14:49:12 2007 +0200
 
     Coding Style Cleanup, new CHANGELOG
 
+commit 3162eb836903c8b247fdc7470dd39bfa6996f495
+Author: Wolfgang Denk <wd@denx.de>
+Date:  Tue May 15 23:38:05 2007 +0200
+
+    Minor coding style cleanup.
+
+commit 66d9dbec1cc27d6398ee6cf84639dbe14971251e
+Author: mushtaq khan <mushtaq_k@procsys.com>
+Date:  Fri Apr 20 14:23:02 2007 +0530
+
+    Add driver for S-ATA-controller on Intel processors with South
+    Bridge, ICH-5, ICH-6 and ICH-7.
+
+    Implementation:
+
+    1. Code is divided in to two files. All functions, which are
+       controller specific are kept in "drivers/ata_piix.c" file and
+       functions, which are not controller specific, are kept in
+       "common/cmd_sata.c" file.
+
+    2. Reading and Writing from the S-ATA drive is done using PIO method.
+
+    3. Driver can be configured for 48-bit addressing by defining macro
+       CONFIG_LBA48, if this macro is not defined driver uses the 28-bit
+       addressing.
+
+    4. S-ATA read function is hooked to the File system, commands like
+       ext2ls and ext2load file can be used. This has been tested.
+
+    5. U-Boot command "SATA_init" is added, which initializes the S-ATA
+       controller and identifies the S-ATA drives connected to it.
+
+    6. U-Boot command "sata" is added, which is used to read/write, print
+       partition table and get info about the drives present. This I have
+       implemented in same way as "ide" command is implemented in U-Boot.
+
+    7. This driver is for S-ATA in native mode.
+
+    8. This driver does not support the Native command queuing and
+       Hot-plugging.
+
+    Signed-off-by: Mushtaq Khan <mushtaq_k@procsys.com>
+
+commit 644e6fb4eb8be90ea04ba34b643a8bf019d680e0
+Author: mushtaq khan <mushtaq_k@procsys.com>
+Date:  Mon Apr 30 15:57:22 2007 +0530
+
+    Fixes bug clearing the bss section for i386
+
+    Hi,
+    There is a bug in the code of clearing the bss section for processor
+    i386.(File: cpu/i386/start.S)
+    In the code, bss_start addr (starting addr of bss section) is put into
+    the register %eax, but the code which clears the bss section refers to
+    the addr pointed by %edi.
+
+    This patch fixes this bug by putting bss_start into %edi register.
+
+    Signed-off-by: Mushtaq Khan <mushtaq_k@procsys.com>
+
+commit c3243cf7b490057277d61acffe4ad0946f9eb4a4
+Author: Joe Hamman <joe.hamman@embeddedspecialties.com>
+Date:  Mon Apr 30 16:47:28 2007 -0500
+
+    Add support for BCM5464 Quad Phy
+
+    Added support for Broadcom's BCM5464 Quad Phy
+
+    Signed-off-by: Joe Hamman <joe.hamman@embeddedspecialties.com>
+
+commit 1b305bdc754c8468e1d5d858f5dcf8a7a0a4bb7a
+Author: Zang Roy-r61911 <tie-fei.zang@freescale.com>
+Date:  Wed May 9 08:10:57 2007 +0800
+
+    Search the exception table with linear algorithm
+
+    Search the exception table with linear algorithm instead of
+    bisecting algorithm.
+    Because the exception table might be unsorted.
+
+    Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
+
+commit 5dfaa50eb819686bfba1927e8c5b8a70a4d65fd3
+Author: Aubrey.Li <aubrey.adi@gmail.com>
+Date:  Mon May 14 11:47:35 2007 +0800
+
+    Fix compilation issues on MACOSX
+
+    Singed-off-by: Marc Hoffman <Marc.Hoffman@analog.com>
+    Signed-off-by: Aubrey Li <aubrey.adi@gmail.com>
+
+commit 56fd7162985c412317bbf763a225fba23c64fd31
+Author: Stephen Williams <steve@icarus.com>
+Date:  Tue May 15 07:55:42 2007 -0700
+
+    Fix for compile of JSE target
+
+    The attached patch fixes the compile of the JSE board in the
+    denx git as of 14 may 2007. It is an extremely simple patch,
+    it just adds the missing define of CFG_SYSTEMACE_WIDTH.
+
+     Fix to compile JSE against 20070514 git of u-boot
+
 commit 61936667e86a250ae12fd2dc189d3588f0a59e0b
 Author: Stefan Roese <sr@denx.de>
 Date:  Fri May 11 12:01:49 2007 +0200
 
     Signed-off-by: Stefan Roese <sr@denx.de>
 
+commit 2f550ab976405300f5b07bf2890800840d0aa05f
+Author: Timur Tabi <timur@freescale.com>
+Date:  Sat May 5 08:12:30 2007 +0200
+
+    5xxx: write MAC address to mac-address and local-mac-address
+
+    Some device trees have a mac-address property, some have local-mac-address,
+    and some have both.  To support all of these device trees, ftp_cpu_setup()
+    should write the MAC address to mac-address and local-mac-address, if they
+    exist.
+
+    Signed-off-by: Timur Tabi <timur@freescale.com>
+    Acked-by: Grant Likely <grant.likely@secretlab.ca>
+
 commit a79886590593ba1d667c840caa4940c61639f18f
 Author: Thomas Knobloch <knobloch@siemens.com>
 Date:  Sat May 5 07:04:42 2007 +0200
 
     Signed-off-by: Stefan Roese <sr@denx.de>
 
+commit 864aa6a6a466fcb92bf32b1d7dba79cd709b52c9
+Author: Grzegorz Wianecki <grzegorz.wianecki@gmail.com>
+Date:  Sun Apr 29 14:01:54 2007 +0200
+
+    [PATCH] Use PVR to distinguish MPC5200B from MPC5200 in boot message
+
+    MPC5200B systems are incorrectly reported as MPC5200 in U-Boot start-up
+    message. Use PVR to distinguish between the two variants, and print proper CPU
+    information.
+
+    Signed-off-by: Grzegorz Wianecki <grzegorz.wianecki@gmail.com>
+    Signed-off-by: Bartlomiej Sieka <tur@semihalf.com>
+    Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+
 commit 5c5d3242935cf3543af01142627494434834cf98
 Author: Kim Phillips <kim.phillips@freescale.com>
 Date:  Wed Apr 25 12:34:38 2007 -0500
 
     mpc83xx: minor fixups for 8313rdb introduction
 
+commit ada4d40091f6ed4a4f0040e08d20db21967e4a67
+Author: Ladislav Michl <ladis@linux-mips.org>
+Date:  Wed Apr 25 16:01:26 2007 +0200
+
+    [PATCH] simplify silent console
+
+    Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
+    Acked-by: Stefan Roese <sr@denx.de>
+
 commit 144876a380f5756f57412caf74c1d6dc201dd796
 Author: Michal Simek <monstr@monstr.eu>
 Date:  Tue Apr 24 23:01:02 2007 +0200
 
     Signed-off-by: Scott Wood <scottwood@freescale.com>
 
+commit 7fc4c71a143be8666d70803fb25ae60379c95622
+Author: Stefan Roese <sr@denx.de>
+Date:  Mon Apr 23 15:39:59 2007 +0200
+
+    Fix file mode
+
+    Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 38257988abfe74d459ca2ad748b109ca04e4efe1
+Author: Sergei Shtylyov <sshtylyov@ru.mvista.com>
+Date:  Mon Apr 23 15:30:39 2007 +0200
+
+    [PATCH] Avoid assigning PCI resources from zero address
+
+    If a PCI IDE card happens to get a zero address assigned to it, the Linux IDE
+    core complains and IDE drivers fails to work.  Also, assigning zero to a BAR
+    was illegal according to PCI 2.1 (the later revisions seem to have excluded the
+    sentence about "0" being considered an invalid address) -- so, use a reasonable
+    starting value of 0x1000 (that's what the most Linux archs are using).
+
+    Alternatively, one might have fixed the calls to pci_set_region() individually
+    (some code even seems to have taken care of this issue) but that would have
+    been a lot more work. :-)
+
+    Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
+    Acked-by: Stefan Roese <sr@denx.de>
+
+commit afb903a2eb9436baa9270ccc0c27082d86497d89
+Author: Jeffrey Mann <mannj@embeddedplanet.com>
+Date:  Mon Apr 23 14:00:11 2007 +0200
+
+    [patch] setenv(...) can delete environmentalvariables
+
+    update setenv() function so that entering a NULL value for the
+    variable's value will delete the environmental variable
+
+    Signed-off-by: Jeffrey Mann <mannj@embeddedplanet.com>
+    Acked-by: Stefan Roese <sr@denx.de>
+
+commit 36f104e5caa747d568eff26b369565af57c2ffa6
+Author: Mike Frysinger <vapier@gentoo.org>
+Date:  Mon Apr 23 13:54:24 2007 +0200
+
+    [patch] use unsigned char in smc91111 driver for mac
+
+    the v_mac variable in the smc91111 driver is declared as a signed char ...
+    this causes problems when one of the bytes in the MAC is "signed" like 0xE0
+    because when it gets printed out, you get a display like:
+    0xFFFFFFE0 and that's no good
+
+    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
 commit 323bfa8f436dc3bc57187c9b1488bc3146ff1522
 Author: Stefan Roese <sr@denx.de>
 Date:  Mon Apr 23 12:00:22 2007 +0200
 
  * 32-bit integer manipulation macros (big endian)
  */
 #ifndef GET_UINT32_BE
-#define GET_UINT32_BE(n,b,i)                            \
-{                                                       \
-    (n) = ( (unsigned long) (b)[(i)    ] << 24 )        \
-        | ( (unsigned long) (b)[(i) + 1] << 16 )        \
-        | ( (unsigned long) (b)[(i) + 2] <<  8 )        \
-        | ( (unsigned long) (b)[(i) + 3]       );       \
+#define GET_UINT32_BE(n,b,i) {                         \
+       (n) = ( (unsigned long) (b)[(i)    ] << 24 )    \
+           | ( (unsigned long) (b)[(i) + 1] << 16 )    \
+           | ( (unsigned long) (b)[(i) + 2] <<  8 )    \
+           | ( (unsigned long) (b)[(i) + 3]       );   \
 }
 #endif
 #ifndef PUT_UINT32_BE
-#define PUT_UINT32_BE(n,b,i)                            \
-{                                                       \
-    (b)[(i)    ] = (unsigned char) ( (n) >> 24 );       \
-    (b)[(i) + 1] = (unsigned char) ( (n) >> 16 );       \
-    (b)[(i) + 2] = (unsigned char) ( (n) >>  8 );       \
-    (b)[(i) + 3] = (unsigned char) ( (n)       );       \
+#define PUT_UINT32_BE(n,b,i) {                         \
+       (b)[(i)    ] = (unsigned char) ( (n) >> 24 );   \
+       (b)[(i) + 1] = (unsigned char) ( (n) >> 16 );   \
+       (b)[(i) + 2] = (unsigned char) ( (n) >>  8 );   \
+       (b)[(i) + 3] = (unsigned char) ( (n)       );   \
 }
 #endif
 
 /*
  * SHA-1 context setup
  */
-void sha1_starts( sha1_context *ctx )
+void sha1_starts (sha1_context * ctx)
 {
-    ctx->total[0] = 0;
-    ctx->total[1] = 0;
-
-    ctx->state[0] = 0x67452301;
-    ctx->state[1] = 0xEFCDAB89;
-    ctx->state[2] = 0x98BADCFE;
-    ctx->state[3] = 0x10325476;
-    ctx->state[4] = 0xC3D2E1F0;
+       ctx->total[0] = 0;
+       ctx->total[1] = 0;
+
+       ctx->state[0] = 0x67452301;
+       ctx->state[1] = 0xEFCDAB89;
+       ctx->state[2] = 0x98BADCFE;
+       ctx->state[3] = 0x10325476;
+       ctx->state[4] = 0xC3D2E1F0;
 }
 
-static void sha1_process( sha1_context *ctx, unsigned char data[64] )
+static void sha1_process (sha1_context * ctx, unsigned char data[64])
 {
-    unsigned long temp, W[16], A, B, C, D, E;
-
-    GET_UINT32_BE( W[0],  data,  0 );
-    GET_UINT32_BE( W[1],  data,  4 );
-    GET_UINT32_BE( W[2],  data,  8 );
-    GET_UINT32_BE( W[3],  data, 12 );
-    GET_UINT32_BE( W[4],  data, 16 );
-    GET_UINT32_BE( W[5],  data, 20 );
-    GET_UINT32_BE( W[6],  data, 24 );
-    GET_UINT32_BE( W[7],  data, 28 );
-    GET_UINT32_BE( W[8],  data, 32 );
-    GET_UINT32_BE( W[9],  data, 36 );
-    GET_UINT32_BE( W[10], data, 40 );
-    GET_UINT32_BE( W[11], data, 44 );
-    GET_UINT32_BE( W[12], data, 48 );
-    GET_UINT32_BE( W[13], data, 52 );
-    GET_UINT32_BE( W[14], data, 56 );
-    GET_UINT32_BE( W[15], data, 60 );
-
-#define S(x,n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))
-
-#define R(t)                                            \
-(                                                       \
-    temp = W[(t -  3) & 0x0F] ^ W[(t - 8) & 0x0F] ^     \
-           W[(t - 14) & 0x0F] ^ W[ t      & 0x0F],      \
-    ( W[t & 0x0F] = S(temp,1) )                         \
+       unsigned long temp, W[16], A, B, C, D, E;
+
+       GET_UINT32_BE (W[0], data, 0);
+       GET_UINT32_BE (W[1], data, 4);
+       GET_UINT32_BE (W[2], data, 8);
+       GET_UINT32_BE (W[3], data, 12);
+       GET_UINT32_BE (W[4], data, 16);
+       GET_UINT32_BE (W[5], data, 20);
+       GET_UINT32_BE (W[6], data, 24);
+       GET_UINT32_BE (W[7], data, 28);
+       GET_UINT32_BE (W[8], data, 32);
+       GET_UINT32_BE (W[9], data, 36);
+       GET_UINT32_BE (W[10], data, 40);
+       GET_UINT32_BE (W[11], data, 44);
+       GET_UINT32_BE (W[12], data, 48);
+       GET_UINT32_BE (W[13], data, 52);
+       GET_UINT32_BE (W[14], data, 56);
+       GET_UINT32_BE (W[15], data, 60);
+
+#define S(x,n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))
+
+#define R(t) (                                         \
+       temp = W[(t -  3) & 0x0F] ^ W[(t - 8) & 0x0F] ^ \
+              W[(t - 14) & 0x0F] ^ W[ t      & 0x0F],  \
+       ( W[t & 0x0F] = S(temp,1) )                     \
 )
 
-#define P(a,b,c,d,e,x)                                  \
-{                                                       \
-    e += S(a,5) + F(b,c,d) + K + x; b = S(b,30);        \
+#define P(a,b,c,d,e,x) {                               \
+       e += S(a,5) + F(b,c,d) + K + x; b = S(b,30);    \
 }
 
-    A = ctx->state[0];
-    B = ctx->state[1];
-    C = ctx->state[2];
-    D = ctx->state[3];
-    E = ctx->state[4];
+       A = ctx->state[0];
+       B = ctx->state[1];
+       C = ctx->state[2];
+       D = ctx->state[3];
+       E = ctx->state[4];
 
 #define F(x,y,z) (z ^ (x & (y ^ z)))
 #define K 0x5A827999
 
-    P( A, B, C, D, E, W[0]  );
-    P( E, A, B, C, D, W[1]  );
-    P( D, E, A, B, C, W[2]  );
-    P( C, D, E, A, B, W[3]  );
-    P( B, C, D, E, A, W[4]  );
-    P( A, B, C, D, E, W[5]  );
-    P( E, A, B, C, D, W[6]  );
-    P( D, E, A, B, C, W[7]  );
-    P( C, D, E, A, B, W[8]  );
-    P( B, C, D, E, A, W[9]  );
-    P( A, B, C, D, E, W[10] );
-    P( E, A, B, C, D, W[11] );
-    P( D, E, A, B, C, W[12] );
-    P( C, D, E, A, B, W[13] );
-    P( B, C, D, E, A, W[14] );
-    P( A, B, C, D, E, W[15] );
-    P( E, A, B, C, D, R(16) );
-    P( D, E, A, B, C, R(17) );
-    P( C, D, E, A, B, R(18) );
-    P( B, C, D, E, A, R(19) );
+       P (A, B, C, D, E, W[0]);
+       P (E, A, B, C, D, W[1]);
+       P (D, E, A, B, C, W[2]);
+       P (C, D, E, A, B, W[3]);
+       P (B, C, D, E, A, W[4]);
+       P (A, B, C, D, E, W[5]);
+       P (E, A, B, C, D, W[6]);
+       P (D, E, A, B, C, W[7]);
+       P (C, D, E, A, B, W[8]);
+       P (B, C, D, E, A, W[9]);
+       P (A, B, C, D, E, W[10]);
+       P (E, A, B, C, D, W[11]);
+       P (D, E, A, B, C, W[12]);
+       P (C, D, E, A, B, W[13]);
+       P (B, C, D, E, A, W[14]);
+       P (A, B, C, D, E, W[15]);
+       P (E, A, B, C, D, R (16));
+       P (D, E, A, B, C, R (17));
+       P (C, D, E, A, B, R (18));
+       P (B, C, D, E, A, R (19));
 
 #undef K
 #undef F
 #define F(x,y,z) (x ^ y ^ z)
 #define K 0x6ED9EBA1
 
-    P( A, B, C, D, E, R(20) );
-    P( E, A, B, C, D, R(21) );
-    P( D, E, A, B, C, R(22) );
-    P( C, D, E, A, B, R(23) );
-    P( B, C, D, E, A, R(24) );
-    P( A, B, C, D, E, R(25) );
-    P( E, A, B, C, D, R(26) );
-    P( D, E, A, B, C, R(27) );
-    P( C, D, E, A, B, R(28) );
-    P( B, C, D, E, A, R(29) );
-    P( A, B, C, D, E, R(30) );
-    P( E, A, B, C, D, R(31) );
-    P( D, E, A, B, C, R(32) );
-    P( C, D, E, A, B, R(33) );
-    P( B, C, D, E, A, R(34) );
-    P( A, B, C, D, E, R(35) );
-    P( E, A, B, C, D, R(36) );
-    P( D, E, A, B, C, R(37) );
-    P( C, D, E, A, B, R(38) );
-    P( B, C, D, E, A, R(39) );
+       P (A, B, C, D, E, R (20));
+       P (E, A, B, C, D, R (21));
+       P (D, E, A, B, C, R (22));
+       P (C, D, E, A, B, R (23));
+       P (B, C, D, E, A, R (24));
+       P (A, B, C, D, E, R (25));
+       P (E, A, B, C, D, R (26));
+       P (D, E, A, B, C, R (27));
+       P (C, D, E, A, B, R (28));
+       P (B, C, D, E, A, R (29));
+       P (A, B, C, D, E, R (30));
+       P (E, A, B, C, D, R (31));
+       P (D, E, A, B, C, R (32));
+       P (C, D, E, A, B, R (33));
+       P (B, C, D, E, A, R (34));
+       P (A, B, C, D, E, R (35));
+       P (E, A, B, C, D, R (36));
+       P (D, E, A, B, C, R (37));
+       P (C, D, E, A, B, R (38));
+       P (B, C, D, E, A, R (39));
 
 #undef K
 #undef F
 #define F(x,y,z) ((x & y) | (z & (x | y)))
 #define K 0x8F1BBCDC
 
-    P( A, B, C, D, E, R(40) );
-    P( E, A, B, C, D, R(41) );
-    P( D, E, A, B, C, R(42) );
-    P( C, D, E, A, B, R(43) );
-    P( B, C, D, E, A, R(44) );
-    P( A, B, C, D, E, R(45) );
-    P( E, A, B, C, D, R(46) );
-    P( D, E, A, B, C, R(47) );
-    P( C, D, E, A, B, R(48) );
-    P( B, C, D, E, A, R(49) );
-    P( A, B, C, D, E, R(50) );
-    P( E, A, B, C, D, R(51) );
-    P( D, E, A, B, C, R(52) );
-    P( C, D, E, A, B, R(53) );
-    P( B, C, D, E, A, R(54) );
-    P( A, B, C, D, E, R(55) );
-    P( E, A, B, C, D, R(56) );
-    P( D, E, A, B, C, R(57) );
-    P( C, D, E, A, B, R(58) );
-    P( B, C, D, E, A, R(59) );
+       P (A, B, C, D, E, R (40));
+       P (E, A, B, C, D, R (41));
+       P (D, E, A, B, C, R (42));
+       P (C, D, E, A, B, R (43));
+       P (B, C, D, E, A, R (44));
+       P (A, B, C, D, E, R (45));
+       P (E, A, B, C, D, R (46));
+       P (D, E, A, B, C, R (47));
+       P (C, D, E, A, B, R (48));
+       P (B, C, D, E, A, R (49));
+       P (A, B, C, D, E, R (50));
+       P (E, A, B, C, D, R (51));
+       P (D, E, A, B, C, R (52));
+       P (C, D, E, A, B, R (53));
+       P (B, C, D, E, A, R (54));
+       P (A, B, C, D, E, R (55));
+       P (E, A, B, C, D, R (56));
+       P (D, E, A, B, C, R (57));
+       P (C, D, E, A, B, R (58));
+       P (B, C, D, E, A, R (59));
 
 #undef K
 #undef F
 #define F(x,y,z) (x ^ y ^ z)
 #define K 0xCA62C1D6
 
-    P( A, B, C, D, E, R(60) );
-    P( E, A, B, C, D, R(61) );
-    P( D, E, A, B, C, R(62) );
-    P( C, D, E, A, B, R(63) );
-    P( B, C, D, E, A, R(64) );
-    P( A, B, C, D, E, R(65) );
-    P( E, A, B, C, D, R(66) );
-    P( D, E, A, B, C, R(67) );
-    P( C, D, E, A, B, R(68) );
-    P( B, C, D, E, A, R(69) );
-    P( A, B, C, D, E, R(70) );
-    P( E, A, B, C, D, R(71) );
-    P( D, E, A, B, C, R(72) );
-    P( C, D, E, A, B, R(73) );
-    P( B, C, D, E, A, R(74) );
-    P( A, B, C, D, E, R(75) );
-    P( E, A, B, C, D, R(76) );
-    P( D, E, A, B, C, R(77) );
-    P( C, D, E, A, B, R(78) );
-    P( B, C, D, E, A, R(79) );
+       P (A, B, C, D, E, R (60));
+       P (E, A, B, C, D, R (61));
+       P (D, E, A, B, C, R (62));
+       P (C, D, E, A, B, R (63));
+       P (B, C, D, E, A, R (64));
+       P (A, B, C, D, E, R (65));
+       P (E, A, B, C, D, R (66));
+       P (D, E, A, B, C, R (67));
+       P (C, D, E, A, B, R (68));
+       P (B, C, D, E, A, R (69));
+       P (A, B, C, D, E, R (70));
+       P (E, A, B, C, D, R (71));
+       P (D, E, A, B, C, R (72));
+       P (C, D, E, A, B, R (73));
+       P (B, C, D, E, A, R (74));
+       P (A, B, C, D, E, R (75));
+       P (E, A, B, C, D, R (76));
+       P (D, E, A, B, C, R (77));
+       P (C, D, E, A, B, R (78));
+       P (B, C, D, E, A, R (79));
 
 #undef K
 #undef F
 
-    ctx->state[0] += A;
-    ctx->state[1] += B;
-    ctx->state[2] += C;
-    ctx->state[3] += D;
-    ctx->state[4] += E;
+       ctx->state[0] += A;
+       ctx->state[1] += B;
+       ctx->state[2] += C;
+       ctx->state[3] += D;
+       ctx->state[4] += E;
 }
 
 /*
  * SHA-1 process buffer
  */
-void sha1_update( sha1_context *ctx, unsigned char *input, int ilen )
+void sha1_update (sha1_context * ctx, unsigned char *input, int ilen)
 {
-    int fill;
-    unsigned long left;
-
-    if( ilen <= 0 )
-        return;
-
-    left = ctx->total[0] & 0x3F;
-    fill = 64 - left;
-
-    ctx->total[0] += ilen;
-    ctx->total[0] &= 0xFFFFFFFF;
-
-    if( ctx->total[0] < (unsigned long) ilen )
-        ctx->total[1]++;
-
-    if( left && ilen >= fill )
-    {
-        memcpy( (void *) (ctx->buffer + left),
-                (void *) input, fill );
-        sha1_process( ctx, ctx->buffer );
-        input += fill;
-        ilen  -= fill;
-        left = 0;
-    }
-
-    while( ilen >= 64 )
-    {
-        sha1_process( ctx, input );
-        input += 64;
-        ilen  -= 64;
-    }
-
-    if( ilen > 0 )
-    {
-        memcpy( (void *) (ctx->buffer + left),
-                (void *) input, ilen );
-    }
+       int fill;
+       unsigned long left;
+
+       if (ilen <= 0)
+               return;
+
+       left = ctx->total[0] & 0x3F;
+       fill = 64 - left;
+
+       ctx->total[0] += ilen;
+       ctx->total[0] &= 0xFFFFFFFF;
+
+       if (ctx->total[0] < (unsigned long) ilen)
+               ctx->total[1]++;
+
+       if (left && ilen >= fill) {
+               memcpy ((void *) (ctx->buffer + left), (void *) input, fill);
+               sha1_process (ctx, ctx->buffer);
+               input += fill;
+               ilen -= fill;
+               left = 0;
+       }
+
+       while (ilen >= 64) {
+               sha1_process (ctx, input);
+               input += 64;
+               ilen -= 64;
+       }
+
+       if (ilen > 0) {
+               memcpy ((void *) (ctx->buffer + left), (void *) input, ilen);
+       }
 }
 
-static const unsigned char sha1_padding[64] =
-{
- 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+static const unsigned char sha1_padding[64] = {
+       0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 };
 
 /*
  * SHA-1 final digest
  */
-void sha1_finish( sha1_context *ctx, unsigned char output[20] )
+void sha1_finish (sha1_context * ctx, unsigned char output[20])
 {
-    unsigned long last, padn;
-    unsigned long high, low;
-    unsigned char msglen[8];
+       unsigned long last, padn;
+       unsigned long high, low;
+       unsigned char msglen[8];
 
-    high = ( ctx->total[0] >> 29 )
-         | ( ctx->total[1] <<  3 );
-    low  = ( ctx->total[0] <<  3 );
+       high = (ctx->total[0] >> 29)
+               | (ctx->total[1] << 3);
+       low = (ctx->total[0] << 3);
 
-    PUT_UINT32_BE( high, msglen, 0 );
-    PUT_UINT32_BE( low,  msglen, 4 );
+       PUT_UINT32_BE (high, msglen, 0);
+       PUT_UINT32_BE (low, msglen, 4);
 
-    last = ctx->total[0] & 0x3F;
-    padn = ( last < 56 ) ? ( 56 - last ) : ( 120 - last );
+       last = ctx->total[0] & 0x3F;
+       padn = (last < 56) ? (56 - last) : (120 - last);
 
-    sha1_update( ctx, (unsigned char *) sha1_padding, padn );
-    sha1_update( ctx, msglen, 8 );
+       sha1_update (ctx, (unsigned char *) sha1_padding, padn);
+       sha1_update (ctx, msglen, 8);
 
-    PUT_UINT32_BE( ctx->state[0], output,  0 );
-    PUT_UINT32_BE( ctx->state[1], output,  4 );
-    PUT_UINT32_BE( ctx->state[2], output,  8 );
-    PUT_UINT32_BE( ctx->state[3], output, 12 );
-    PUT_UINT32_BE( ctx->state[4], output, 16 );
+       PUT_UINT32_BE (ctx->state[0], output, 0);
+       PUT_UINT32_BE (ctx->state[1], output, 4);
+       PUT_UINT32_BE (ctx->state[2], output, 8);
+       PUT_UINT32_BE (ctx->state[3], output, 12);
+       PUT_UINT32_BE (ctx->state[4], output, 16);
 }
 
 /*
  * Output = SHA-1( input buffer )
  */
-void sha1_csum( unsigned char *input, int ilen,
-                unsigned char output[20] )
+void sha1_csum (unsigned char *input, int ilen, unsigned char output[20])
 {
-    sha1_context ctx;
+       sha1_context ctx;
 
-    sha1_starts( &ctx );
-    sha1_update( &ctx, input, ilen );
-    sha1_finish( &ctx, output );
+       sha1_starts (&ctx);
+       sha1_update (&ctx, input, ilen);
+       sha1_finish (&ctx, output);
 }
 
 /*
  * Output = HMAC-SHA-1( input buffer, hmac key )
  */
-void sha1_hmac( unsigned char *key, int keylen,
-                unsigned char *input, int ilen,
-                unsigned char output[20] )
+void sha1_hmac (unsigned char *key, int keylen,
+               unsigned char *input, int ilen, unsigned char output[20])
 {
-    int i;
-    sha1_context ctx;
-    unsigned char k_ipad[64];
-    unsigned char k_opad[64];
-    unsigned char tmpbuf[20];
-
-    memset( k_ipad, 0x36, 64 );
-    memset( k_opad, 0x5C, 64 );
-
-    for( i = 0; i < keylen; i++ )
-    {
-        if( i >= 64 ) break;
-
-        k_ipad[i] ^= key[i];
-        k_opad[i] ^= key[i];
-    }
-
-    sha1_starts( &ctx );
-    sha1_update( &ctx, k_ipad, 64 );
-    sha1_update( &ctx, input, ilen );
-    sha1_finish( &ctx, tmpbuf );
-
-    sha1_starts( &ctx );
-    sha1_update( &ctx, k_opad, 64 );
-    sha1_update( &ctx, tmpbuf, 20 );
-    sha1_finish( &ctx, output );
-
-    memset( k_ipad, 0, 64 );
-    memset( k_opad, 0, 64 );
-    memset( tmpbuf, 0, 20 );
-    memset( &ctx, 0, sizeof( sha1_context ) );
+       int i;
+       sha1_context ctx;
+       unsigned char k_ipad[64];
+       unsigned char k_opad[64];
+       unsigned char tmpbuf[20];
+
+       memset (k_ipad, 0x36, 64);
+       memset (k_opad, 0x5C, 64);
+
+       for (i = 0; i < keylen; i++) {
+               if (i >= 64)
+                       break;
+
+               k_ipad[i] ^= key[i];
+               k_opad[i] ^= key[i];
+       }
+
+       sha1_starts (&ctx);
+       sha1_update (&ctx, k_ipad, 64);
+       sha1_update (&ctx, input, ilen);
+       sha1_finish (&ctx, tmpbuf);
+
+       sha1_starts (&ctx);
+       sha1_update (&ctx, k_opad, 64);
+       sha1_update (&ctx, tmpbuf, 20);
+       sha1_finish (&ctx, output);
+
+       memset (k_ipad, 0, 64);
+       memset (k_opad, 0, 64);
+       memset (tmpbuf, 0, 20);
+       memset (&ctx, 0, sizeof (sha1_context));
 }
 
 static const char _sha1_src[] = "_sha1_src";
 /*
  * FIPS-180-1 test vectors
  */
-static const char sha1_test_str[3][57] = 
-{
-    { "abc" },
-    { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" },
-    { "" }
+static const char sha1_test_str[3][57] = {
+       {"abc"},
+       {"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"},
+       {""}
 };
 
-static const unsigned char sha1_test_sum[3][20] =
-{
-    { 0xA9, 0x99, 0x3E, 0x36, 0x47, 0x06, 0x81, 0x6A, 0xBA, 0x3E,
-      0x25, 0x71, 0x78, 0x50, 0xC2, 0x6C, 0x9C, 0xD0, 0xD8, 0x9D },
-    { 0x84, 0x98, 0x3E, 0x44, 0x1C, 0x3B, 0xD2, 0x6E, 0xBA, 0xAE,
-      0x4A, 0xA1, 0xF9, 0x51, 0x29, 0xE5, 0xE5, 0x46, 0x70, 0xF1 },
-    { 0x34, 0xAA, 0x97, 0x3C, 0xD4, 0xC4, 0xDA, 0xA4, 0xF6, 0x1E,
-      0xEB, 0x2B, 0xDB, 0xAD, 0x27, 0x31, 0x65, 0x34, 0x01, 0x6F }
+static const unsigned char sha1_test_sum[3][20] = {
+       {0xA9, 0x99, 0x3E, 0x36, 0x47, 0x06, 0x81, 0x6A, 0xBA, 0x3E,
+        0x25, 0x71, 0x78, 0x50, 0xC2, 0x6C, 0x9C, 0xD0, 0xD8, 0x9D},
+       {0x84, 0x98, 0x3E, 0x44, 0x1C, 0x3B, 0xD2, 0x6E, 0xBA, 0xAE,
+        0x4A, 0xA1, 0xF9, 0x51, 0x29, 0xE5, 0xE5, 0x46, 0x70, 0xF1},
+       {0x34, 0xAA, 0x97, 0x3C, 0xD4, 0xC4, 0xDA, 0xA4, 0xF6, 0x1E,
+        0xEB, 0x2B, 0xDB, 0xAD, 0x27, 0x31, 0x65, 0x34, 0x01, 0x6F}
 };
 
 /*
  * Checkup routine
  */
-int sha1_self_test( void )
+int sha1_self_test (void)
 {
-    int i, j;
-    unsigned char buf[1000];
-    unsigned char sha1sum[20];
-    sha1_context ctx;
-
-    for( i = 0; i < 3; i++ )
-    {
-        printf( "  SHA-1 test #%d: ", i + 1 );
-
-        sha1_starts( &ctx );
-
-        if( i < 2 )
-            sha1_update( &ctx, (unsigned char *) sha1_test_str[i],
-                         strlen( sha1_test_str[i] ) );
-        else
-        {
-            memset( buf, 'a', 1000 );
-            for( j = 0; j < 1000; j++ )
-                sha1_update( &ctx, buf, 1000 );
-        }
-
-        sha1_finish( &ctx, sha1sum );
-
-        if( memcmp( sha1sum, sha1_test_sum[i], 20 ) != 0 )
-        {
-            printf( "failed\n" );
-            return( 1 );
-        }
-
-        printf( "passed\n" );
-    }
-
-    printf( "\n" );
-    return( 0 );
+       int i, j;
+       unsigned char buf[1000];
+       unsigned char sha1sum[20];
+       sha1_context ctx;
+
+       for (i = 0; i < 3; i++) {
+               printf ("  SHA-1 test #%d: ", i + 1);
+
+               sha1_starts (&ctx);
+
+               if (i < 2)
+                       sha1_update (&ctx, (unsigned char *) sha1_test_str[i],
+                                    strlen (sha1_test_str[i]));
+               else {
+                       memset (buf, 'a', 1000);
+                       for (j = 0; j < 1000; j++)
+                               sha1_update (&ctx, buf, 1000);
+               }
+
+               sha1_finish (&ctx, sha1sum);
+
+               if (memcmp (sha1sum, sha1_test_sum[i], 20) != 0) {
+                       printf ("failed\n");
+                       return (1);
+               }
+
+               printf ("passed\n");
+       }
+
+       printf ("\n");
+       return (0);
 }
 #else
-int sha1_self_test( void )
+int sha1_self_test (void)
 {
-    return( 0 );
+       return (0);
 }
 #endif