AG patches chunkD

Daniel Hellstrom daniel at gaisler.com
Thu Apr 5 15:22:38 UTC 2012


Hello,

This is the fourth chunk of patches, it consist of shared-IRQ implementation for the LEON family and LEON3 console improvements. No bug fixes, only improvements.

Thanks,
Daniel


PATCH 27 consists of three patches:
bd680fd LEON: implemented shared-irq using libbsp/shared layer
2545225 SMC91111: updated to use shared IRQ service
587dffe GRETH: use shared-irq service instead of BSP specific set_vec()

LEON3 BSP specific patches
f587d88 LEON3: cleanup console UART indexing handling
678abd1 LEON3: console use register pointers instead of UART indexes
c305ccc LEON3: halt boot if IRQ controller not found
8a98ec1 LEON3: added IRQAMP support



commit 8a98ec1844698b88c7ce2e439145c9113553c51e
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Tue Dec 13 09:24:34 2011 +0100

     LEON3: added IRQAMP support

  c/src/lib/libbsp/sparc/leon3/amba/amba.c       |   14 ++++++++++++++
  c/src/lib/libbsp/sparc/shared/include/ambapp.h |    7 ++++---
  2 files changed, 18 insertions(+), 3 deletions(-)

commit c305ccc7e579ebc5853d40f95d38e4e7f9c360f0
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Mon Dec 12 17:24:38 2011 +0100

     LEON3: halt boot if IRQ controller not found

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

  c/src/lib/libbsp/sparc/leon3/amba/amba.c |   13 +++++++++----
  1 files changed, 9 insertions(+), 4 deletions(-)

commit 678abd1634184e240b68a222eeeba0c693eff93b
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Wed Dec 7 17:26:31 2011 +0100

     LEON3: console use register pointers instead of UART indexes

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

  c/src/lib/libbsp/sparc/leon3/console/console.c   |   16 ++++----
  c/src/lib/libbsp/sparc/leon3/console/debugputs.c |   50 +++++++++++-----------
  2 files changed, 33 insertions(+), 33 deletions(-)

commit f587d88dd95880be31ab6aaf27ccb8f9499df0f5
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Wed Dec 7 14:29:37 2011 +0100

     LEON3: cleanup console UART indexing handling

     The UART indexing was rather a mess when MP was enabled. The changes
     introduces two weak variables syscon_uart_index and debug_uart_index
     so that the user can override the default system debug console (printk)
     and system console UART (/dev/console).

     The two weak variables is updated on boot to reflect the "real" UART
     index.

     MINOR    DEVICE-FS-NAME       UART
     0        /dev/console         Default /dev/console_a, user selectable
     1        /dev/console_a       APBUART[0]   (missing by default)
     2        /dev/console_b       APBUART[1]
     ...

     /dev/console_a is by default renamed /dev/console and assigned minor=0,
     but user can select /dev/console_['a'+N] to be renamed to /dev/console
     by setting syscon_uart_index=N.

     On a MP system the console renamed to /dev/console is selected by CPU
     index (LEON3_Cpu_Index). /dev/console_['a' + LEON3_Cpu_Index] is
     renamed unless overrided. Resource sharing is performed by the user,
     one should not open/access a console that another OS instance uses.

     This patch also moves the initialization of the UART to the open()
     call, note that before APBUART[0] was always enabled as debug uart
     even on MP systems. The debug UART is initialized at boot time.

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

  c/src/lib/libbsp/sparc/leon3/console/console.c   |  114 ++++++++++++++-------
  c/src/lib/libbsp/sparc/leon3/console/debugputs.c |   73 ++++++++++-----
  2 files changed, 126 insertions(+), 61 deletions(-)

commit 587dffef5274b515f30e6ddf483e8eecadc7a6a4
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Fri Dec 2 14:15:53 2011 +0100

     GRETH: use shared-irq service instead of BSP specific set_vec()

     The ISR code is updated to use argument instead of global greth
     structure, now that the greth private is available in the ISR.

     The shared-irq routines will unmask the IRQ, so the forced LEON3
     BSP unmask/clear IRQ is removed.

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

  .../lib/libbsp/sparc/leon3/leon_greth/leon_greth.c |    7 +---
  c/src/libchip/network/greth.c                      |   36 ++++++++------------
  c/src/libchip/network/greth.h                      |    2 +-
  3 files changed, 17 insertions(+), 28 deletions(-)

commit 2545225f448288fed18d628b3f50f312b1c996db
Author: Daniel Hellstrom <daniel at gaisler.com>
Date:   Mon Nov 28 14:08:14 2011 +0100

     SMC91111: updated to use shared IRQ service

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

  .../sparc/leon2/leon_smc91111/leon_smc91111.c      |   10 ++++------
  .../sparc/leon3/leon_smc91111/leon_smc91111.c      |    4 ++--
  c/src/libchip/network/smc91111.c                   |   19 ++++++++-----------
  c/src/libchip/network/smc91111exp.h                |    2 +-
  4 files changed, 15 insertions(+), 20 deletions(-)

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

     LEON: implemented shared-irq using libbsp/shared layer

     The implementation use IRQ number instead of vector number since
     some IRQs does not have a unique vector, for example the extended
     interrupts all enter the same trap vector entry.

     Added support for the LEON3 extended interrupt controller when using
     the shared IRQ layer.

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

  c/src/lib/libbsp/sparc/Makefile.am                 |    3 +
  c/src/lib/libbsp/sparc/leon2/Makefile.am           |   14 +++-
  c/src/lib/libbsp/sparc/leon2/include/bsp.h         |   74 +++++++++++++
  c/src/lib/libbsp/sparc/leon2/include/bsp/irq.h     |   20 ++++
  c/src/lib/libbsp/sparc/leon2/include/leon.h        |    5 +
  c/src/lib/libbsp/sparc/leon2/preinstall.am         |   12 ++
  .../lib/libbsp/sparc/leon2/startup/bsppredriver.c  |   25 +++++
  c/src/lib/libbsp/sparc/leon3/Makefile.am           |   15 +++-
  c/src/lib/libbsp/sparc/leon3/amba/amba.c           |    6 +
  c/src/lib/libbsp/sparc/leon3/include/bsp.h         |   74 +++++++++++++
  c/src/lib/libbsp/sparc/leon3/include/bsp/irq.h     |   36 +++++++
  c/src/lib/libbsp/sparc/leon3/include/leon.h        |   17 +++
  c/src/lib/libbsp/sparc/leon3/preinstall.am         |   12 ++
  .../lib/libbsp/sparc/leon3/startup/bsppredriver.c  |   27 +++++
  c/src/lib/libbsp/sparc/leon3/startup/eirq.c        |   27 +++++
  c/src/lib/libbsp/sparc/shared/include/ambapp.h     |    2 +
  c/src/lib/libbsp/sparc/shared/irq/irq-shared.c     |  110 ++++++++++++++++++++
  17 files changed, 477 insertions(+), 2 deletions(-)




More information about the devel mailing list