1. 16 7月, 2010 16 次提交
  2. 10 7月, 2010 1 次提交
  3. 05 7月, 2010 1 次提交
    • W
      Make sure that argv[] argument pointers are not modified. · 54841ab5
      Wolfgang Denk 提交于
      The hush shell dynamically allocates (and re-allocates) memory for the
      argument strings in the "char *argv[]" argument vector passed to
      commands.  Any code that modifies these pointers will cause serious
      corruption of the malloc data structures and crash U-Boot, so make
      sure the compiler can check that no such modifications are being done
      by changing the code into "char * const argv[]".
      
      This modification is the result of debugging a strange crash caused
      after adding a new command, which used the following argument
      processing code which has been working perfectly fine in all Unix
      systems since version 6 - but not so in U-Boot:
      
      int main (int argc, char **argv)
      {
      	while (--argc > 0 && **++argv == '-') {
      /* ====> */	while (*++*argv) {
      			switch (**argv) {
      			case 'd':
      				debug++;
      				break;
      			...
      			default:
      				usage ();
      			}
      		}
      	}
      	...
      }
      
      The line marked "====>" will corrupt the malloc data structures and
      usually cause U-Boot to crash when the next command gets executed by
      the shell.  With the modification, the compiler will prevent this with
      an
      	error: increment of read-only location '*argv'
      
      N.B.: The code above can be trivially rewritten like this:
      
      	while (--argc > 0 && **++argv == '-') {
      		char *arg = *argv;
      		while (*++arg) {
      			switch (*arg) {
      			...
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      Acked-by: NMike Frysinger <vapier@gentoo.org>
      54841ab5
  4. 01 7月, 2010 6 次提交
  5. 30 6月, 2010 1 次提交
  6. 29 6月, 2010 1 次提交
  7. 24 6月, 2010 2 次提交
    • W
      Remove AmigaOneG3SE board · 953b7e62
      Wolfgang Denk 提交于
      The AmigaOneG3SE board has been orphaned or a very long time, and
      broken for more than 12 releases resp. more than 3 years.  As nobody
      seems to be interested any more in this stuff we may as well ged rid
      of it, especially as it clutters many areas of the code so it is a
      continuous pain for all kinds of ongoing work.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      953b7e62
    • W
      Get rid of bogus CONFIG_SYS_BUS_HZ and CONFIG_SYS_CONFIG_BUS_CLK definitions · ee80fa7b
      Wolfgang Denk 提交于
      CONFIG_SYS_BUS_HZ has not really been used anywhere except to be
      redined as CONFIG_SYS_BUS_CLK; in addition, the mpc7448hpc2 had the
      bogus CONFIG_SYS_CONFIG_BUS_CLK setting which duplicated the
      funtionality.  Change all this to use CONFIG_SYS_BUS_CLK consistently.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      Cc: Frank Gottschling <fgottschling@eltec.de>
      Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com>
      Cc: Eran Man <eran@nbase.co.il>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Nye Liu <nyet@zumanetworks.com>
      Cc: Roy Zang <tie-fei.zang@freescale.com>
      ee80fa7b
  8. 23 6月, 2010 1 次提交
    • W
      MPC5200: workaround data corruption for unaligned local bus accesses · 460c2ce3
      Wolfgang Denk 提交于
      The MPC5200 has a nasty problem that will cause silent data corruption
      when performing unaligned 16 or 32 byte accesses when reading from the
      local bus - typically this affects reading from flash. The problem can
      be easily shown:
      
      => md fc0c0000 10
      fc0c0000: 323e4337 01626f6f 74636d64 3d72756e    2>C7.bootcmd=run
      fc0c0010: 206e6574 5f6e6673 00626f6f 7464656c     net_nfs.bootdel
      fc0c0020: 61793d35 00626175 64726174 653d3131    ay=5.baudrate=11
      fc0c0030: 35323030 00707265 626f6f74 3d656368    5200.preboot=ech
      => md fc0c0001 10
      fc0c0001: 65636801 00000074 0000003d 00000020    ech....t...=...
      fc0c0011: 0000005f 00000000 00000074 00000061    ..._.......t...a
      fc0c0021: 00000000 00000064 00000065 00000035    .......d...e...5
      fc0c0031: 00000000 00000062 0000003d 0000006f    .......b...=...o
      => md.w fc0c0001 10
      fc0c0001: 0000 3701 0000 6f74 0000 643d 0000 6e20    ..7...ot..d=..n
      fc0c0011: 0000 745f 0000 7300 0000 6f74 0000 6c61    ..t_..s...ot..la
      
      This commit implements a workaround at least for the most blatant
      problem: using memcpy() from NOR flash. We rename the assembler
      routine into __memcpy() and provide a wrapper, which will use a
      byte-wise copy loop for unaligned source or target addresses when
      reading from NOR flash, and branch to the optimized __memcpy()
      in all other cases, thus minimizing the performance impact.
      
      Tested on lite5200b and TQM5200S.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      Cc: Detlev Zundel <dzu@denx.de>
      460c2ce3
  9. 14 6月, 2010 1 次提交
  10. 31 5月, 2010 1 次提交
  11. 27 5月, 2010 2 次提交
  12. 22 5月, 2010 2 次提交
  13. 18 5月, 2010 1 次提交
    • K
      mpc83xx: fix NAND bootstrap too big error · a4bfc4cc
      Kim Phillips 提交于
      commit 167cdad1 "SERIAL: Enable
      port-mapped access" inadvertently broke 83xx nand boards by
      converting NS16550_init to use io accessors, which expanded
      the size of the generated code.
      
      this patch fixes the problem by removing icache functions from
      the nand builds, which somewhat follows commit
      1a2e203b "mpc83xx: turn on icache
      in core initialization to improve u-boot boot time"
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      a4bfc4cc
  14. 12 5月, 2010 4 次提交