AG patches chunk B

Daniel Hellstrom daniel at gaisler.com
Mon Feb 6 13:48:16 UTC 2012


Hello,

This is the second chunk of patches, there are still two open (bootstrap and IO_MANAGER) since last chunk. Since the first patches does not depend on anything in chunk B I descided to move on.

As before, PATCH means I will send them on the rtems-devel list solely, PR means I will file a bugzilla PR.

Note that GRETH-autoneg patch closes already opened PR 1465, thanks to Joris the PR was brought up again.

Thanks,
Daniel




+ SPARC specific enhancements
LIST 512a080 SPARC: added libcpu lowlevel access and byteorder routines/definitions
LIST 5a2482c SPARC BSPs: bsp_early_malloc() routine for startup memory allocation
LIST dec5e65 LEON3: make SHM driver configurable using weak
LIST 62003f0 LEON3: spurious trap handler print out trap in hex instead

+ SPARC specific bugs
  NONE

+ General bugs
PR be4f867 SMC91111: ERC32 was never supported by driver

+ General bugs (only used by LEON2/LEON3 BSPS)
PR 4a81ecd GRETH: Fixed autonego timeout overflow problem
PR[1465] 815d368 GRETH: added support for non-snooping GRETH 10/100 systems

+ General enhancements
LIST cf004f3 shared-irq: add support for custom BSP vector verification




Patches are listed in reverse apply order, thus SPARC-access patch comes last.

PR commit 815d36885ec5e5d93926aac517bb8fe6d8c654b5
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Fri Dec 2 10:53:35 2011 +0100

     GRETH: added support for non-snooping GRETH 10/100 systems

     When data cache snooping is not present the cache needs
     flushing, the SPARC LEON CPUs does not have to ability
     to flush individual cache rows and flushing all cache is
     expensive. Instead the LDA instruction is used to force
     cache miss on individual loads during the IP-align copy
     operation required anyway.

     GRETH GBIT non-snooping systems are still unsupported,
     since it use zero-copy (can deal with unaligned DMA).

     Also, made the GRETH driver only built on LEON2/LEON3
     platforms.

     Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>

  c/src/libchip/network/greth.c |   80 +++++++++++++++++++++++++++++++++++++---
  1 files changed, 74 insertions(+), 6 deletions(-)

PR[1465] commit 4a81ecd7b95187ddfc0695d04b69efddc5eae368
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Fri Dec 2 10:54:44 2011 +0100

     GRETH: Fixed autonego timeout overflow problem

     Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>

  c/src/libchip/network/greth.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

PR commit be4f8674f3cd1e6f5e6116c5581ac96660eeb136
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Mon Nov 28 14:04:19 2011 +0100

     SMC91111: ERC32 was never supported by driver

     Moved the intelligence whether the driver is supported or not
     completely to the BSP, now that bsp.h is included (even though it
     is a driver... hmm). The ERC32 was never supported, so HAS_SMC91111
     is not added to erc32/include/bsp.h.

     Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>

  c/src/lib/libbsp/sparc/leon2/include/bsp.h |    2 ++
  c/src/lib/libbsp/sparc/leon3/include/bsp.h |    2 ++
  c/src/libchip/network/smc91111.c           |    4 ++--
  3 files changed, 6 insertions(+), 2 deletions(-)

LIST commit cf004f315932dca97b33cf56c0afedfa000e33a7
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Fri Nov 25 13:11:28 2011 +0100

     shared-irq: add support for custom BSP vector verification

     Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>

  c/src/lib/libbsp/shared/include/irq-generic.h |    2 ++
  c/src/lib/libbsp/shared/include/irq.h         |    8 ++++++++
  2 files changed, 10 insertions(+), 0 deletions(-)

LIST commit 62003f0e8fd23ca91508887e934b2c9f9c885c9d
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Fri Nov 25 12:11:09 2011 +0100

     LEON3: spurious trap handler print out trap in hex instead

     Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>

  c/src/lib/libbsp/sparc/leon3/startup/spurious.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

LIST commit dec5e65f707b1a7a4a190464f5f9129bda7e01f7
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Fri Nov 25 11:17:51 2011 +0100

     LEON3: make SHM driver configurable using weak

     Since the configuration struct is always present one can let
     DATA initialize it to reduce footprint, at the same time it
     is made weak to let the user able to configure the SHM driver
     without editing the driver code.

     Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>

  c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c |   10 ++++++----
  1 files changed, 6 insertions(+), 4 deletions(-)

LIST commit 5a2482c8839d81fecd8d3e170609e0c253df79bc
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Thu Oct 13 13:37:45 2011 +0200

     SPARC BSPs: bsp_early_malloc() routine for startup memory allocation

     If bsp_early_malloc() is called early during boot room will be
     allocated after BSS END. If the function is called after boot
     is will call malloc() instead. The returned memory is not freeable
     and always 8-byte aligned.

     If the bsp_early_malloc() isn't called the function is not
     dragged in and the workspace will be unmodified in size.

     Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>

  c/src/lib/libbsp/sparc/erc32/Makefile.am           |    2 +-
  c/src/lib/libbsp/sparc/erc32/include/bsp.h         |    3 +
  c/src/lib/libbsp/sparc/leon2/Makefile.am           |    3 +-
  c/src/lib/libbsp/sparc/leon2/include/bsp.h         |    3 +
  c/src/lib/libbsp/sparc/leon3/Makefile.am           |    2 +-
  c/src/lib/libbsp/sparc/leon3/include/bsp.h         |    3 +
  c/src/lib/libbsp/sparc/shared/bspgetworkarea.c     |   10 ++++-
  .../lib/libbsp/sparc/shared/startup/early_malloc.c |   44 ++++++++++++++++++++
  8 files changed, 65 insertions(+), 5 deletions(-)

LIST commit 512a080dddbe76b2824b4efdf7219e06fd514935
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Fri Nov 25 10:08:13 2011 +0100

     SPARC: added libcpu lowlevel access and byteorder routines/definitions

     The low level routines can be used in different occasions, it will be
     required when accessing PCI.

     Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>

  c/src/lib/libbsp/sparc/erc32/Makefile.am          |    4 +-
  c/src/lib/libbsp/sparc/leon2/Makefile.am          |    1 +
  c/src/lib/libbsp/sparc/leon3/Makefile.am          |    4 +-
  c/src/lib/libcpu/sparc/Makefile.am                |    7 ++
  c/src/lib/libcpu/sparc/access/access.S            |   65 ++++++++++++++++++++
  c/src/lib/libcpu/sparc/access/access_le.c         |   32 ++++++++++
  c/src/lib/libcpu/sparc/include/libcpu/access.h    |   48 +++++++++++++++
  c/src/lib/libcpu/sparc/include/libcpu/byteorder.h |   66 +++++++++++++++++++++
  c/src/lib/libcpu/sparc/preinstall.am              |    8 +++
  9 files changed, 233 insertions(+), 2 deletions(-)




More information about the devel mailing list