Commit Graph

11419 Commits

Author SHA1 Message Date
Gedare Bloom
e99dbaa7cd no_cpu: replace no_cpu_isr with rtems_isr 2012-04-16 19:39:22 -04:00
Gedare Bloom
a114011d70 lm32: use shared setvec.c 2012-04-16 13:11:20 -04:00
Gedare Bloom
06d34af96f m68k: use shared setvec.c 2012-04-16 13:11:20 -04:00
Gedare Bloom
416f1efbd2 lm32: replace lm32_isr with rtems_isr 2012-04-16 13:11:20 -04:00
Gedare Bloom
1fec9e0357 m68k: replace m68k_isr with rtems_isr 2012-04-16 13:11:20 -04:00
Sebastian Huber
7be19f849c bsp/stm32f4: API changes 2012-04-15 21:47:43 +02:00
Sebastian Huber
228ece9127 bsp/stm32f4: Add IO and RCC 2012-04-12 22:48:56 +02:00
Daniel Hellstrom
7afcb2619b PR2052: LEON3: fix open_eth interrupt initialization bug
Fixed a bug where the vector number is used to clean and unmask
the IRQ at the IRQ controller, the irq number must be used.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-04-10 15:12:23 -04:00
Sebastian Huber
e230fb44a6 bsp/stm32f4: New BSP 2012-04-07 19:08:53 +02:00
Sebastian Huber
d8f05c837d bsps/arm: Add BSP_ARMV7M_SYSTICK_PRIORITY 2012-04-07 19:08:52 +02:00
Sebastian Huber
5ea637ed2e bsps/arm: Add BSP_ARMV7M_IRQ_PRIORITY_DEFAULT 2012-04-07 19:08:52 +02:00
Sebastian Huber
1aebb706b1 bsps: Update due to API changes 2012-04-07 19:08:51 +02:00
Daniel Hellstrom
7499b84f41 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@gaisler.com>
2012-04-06 11:38:31 -05:00
Daniel Hellstrom
0f04edd9cc SMC91111: updated to use shared IRQ service
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-04-06 11:38:25 -05:00
Joel Sherrill
c500cbc384 LEON3 - Fix spacing 2012-04-06 09:09:35 -05:00
Daniel Hellstrom
3722ff5a73 LEON3: added IRQAMP support 2012-04-06 09:03:40 -05:00
Daniel Hellstrom
684b54a986 LEON3: halt boot if IRQ controller not found
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-04-06 09:03:35 -05:00
Daniel Hellstrom
95518e59bd SPARC BSPs: 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.

ERC32 patches untested.

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

Regenerate
2012-04-06 08:17:58 -05:00
Daniel Hellstrom
e60e862c64 LEON3: console use register pointers instead of UART indexes
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-04-05 14:47:41 -05:00
Daniel Hellstrom
4b557617fd 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@gaisler.com>
2012-04-05 14:33:48 -05:00
Jennifer Averett
a36d1b4358 Add MIPS/Malta BSP. 2012-04-04 12:21:15 -05:00
Jennifer Averett
0c0181dee2 PR 1993 - Convert MIPS to PIC IRQ model 2012-04-04 08:43:08 -05:00
Sebastian Huber
eb6362dccb bsp/mpc55xx: Add and use chip features
Add defines MPC55XX_HAS_SIU and MPC55XX_HAS_SIU_LITE.
2012-04-03 17:12:14 +02:00
Sebastian Huber
ba56882cd9 bsp/tqm8xx: Install header file <bsp/irq-info.h> 2012-04-02 14:08:42 +02:00
Sebastian Huber
270fa1e800 bsp/qemuppc: Install header file <bsp/irq-info.h> 2012-04-02 14:08:42 +02:00
Sebastian Huber
b0b32b8906 bsps: Fix for clock driver
Do not use the e300 core decrementer auto-reload feature.  We have to
use the normal decrementer handler since otherwise it is impossible to
pass test sptests/spnsext01.
2012-04-02 13:40:16 +02:00
Sebastian Huber
c988f180c7 bsp/gen83xx: Fix console driver configuration 2012-04-02 13:40:16 +02:00
Sebastian Huber
15fde68c28 bsp/gen83xx: Removed file 2012-04-02 13:40:16 +02:00
Sebastian Huber
06b6a03dc1 bsp/gen83xx: Regenerate 2012-04-02 13:40:16 +02:00
Sebastian Huber
8bb00ace50 bsps: More accurate PowerPC clock driver
The clock driver used previously the bsp_clicks_per_usec value.  For a
33333333Hz time base frequency this leads to a relative error of one per
cent for example due to integer truncation.
2012-04-02 13:40:15 +02:00
Sebastian Huber
1bb72a9487 bsp/gen83xx: Support cache BSP options 2012-04-02 11:40:31 +02:00
Sebastian Huber
a3db5ff4ac bsp/gen83xx: Support for MPC830X 2012-04-02 11:40:31 +02:00
Sebastian Huber
31ea310949 bsp/gen83xx: Add sections for BSD support 2012-04-02 11:40:31 +02:00
Sebastian Huber
73f1b303c3 bsp/gen83xx: Install new header file 2012-04-02 11:40:30 +02:00
Sebastian Huber
69237c1696 bsp/virtex5: Regenerate 2012-04-02 11:40:30 +02:00
Ric Claus
16a86162a2 Add Virtex4 and Virtex5 BSPs
This commit covers at least PR2020, 2022, and 2023. This
patch adds all of the code for both BSPs, modifications
to libcpu/powerpc for the ppc440, and some updates to the
BSPs from follow up review and testing.

These BSPs should be good baselines for future development.
The configurations used by Ric are custom and have a non-standard
NIC. They also do not have a UART.  Thus the current console
driver just prints to a RAM buffer.

The NIC and UART support are left for future work. When the UART
support is added, moving the existing "to RAM" console driver to
a shared location is likely desirable because boards with no debug
UART port are commonly deployed. This would let printk() go to RAM.
2012-03-30 10:03:43 -05:00
Jennifer Averett
0b095f7673 Resolve link problems with psim irq-server
Add IRQ support components needed by new BSD code.
2012-03-30 08:41:15 -05:00
Jennifer Averett
97f82fcdc0 Resolve link problems with psim irq-server 2012-03-30 08:38:14 -05:00
Joel Sherrill
8d0913b865 PC386 - Add files missed in previous commit 2012-03-29 15:53:16 -05:00
Joel Sherrill
2cc30b0d0c PC386 Add RTD316 and Exar 17D15x multi-port serial card support
- RTD316 is a PC-104 board with one Z85C30 SCC for two synchronous
    or asynchronous serial ports.
      http://www.rtd.com/PC104/UM/network/CM316HR.htm
  - Exar 17D15X is a chip with 2, 4, or 8 NS16550 compatible
    serial ports with a PCI interface. It may be found on
    many multi-port serial ports including:
     http://www.rtd.com/PC104/UM/network/CM17320HR.htm
2012-03-29 15:28:13 -05:00
Daniel Hellstrom
2cee553138 LEON3: various cleanups in leon.h
Removed old LEON2 definitions never used in LEON3 leon.h.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-29 16:01:19 -04:00
Daniel Hellstrom
226771c5bc LEON3: IRQ index mask was bad, but always shifted out anyway
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-29 15:08:35 -04:00
Daniel Hellstrom
4fa6be9779 LEON3: clock timer indexing should be consequent
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-29 15:08:26 -04:00
Jennifer Averett
752f876e3b Address Conflicts:
c/src/lib/libbsp/powerpc/psim/startup/linkcmds
2012-03-29 12:07:30 -05:00
Daniel Hellstrom
0729e2a7af SPARC: 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@gaisler.com>
2012-03-29 12:33:01 -04:00
Daniel Hellstrom
b9d8cd3389 SMC91111: remove old unused LEON2/LEON3 intialization code
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-29 11:17:42 -05:00
Daniel Hellstrom
d0dbcf8a1a LEON3: fix GRETH interrupt initialization bug
Fixed a bug where the vector number is used to clean and unmask
the IRQ at the IRQ controller, the irq number must be used.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-29 11:17:42 -05:00
Daniel Hellstrom
e6f327c785 GRETH: removed the use of rtems_set_clock() in auto-nego timeout
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-29 11:17:42 -05:00
Daniel Hellstrom
39671330dc 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).

Let the bsp.h select if the GRETH driver is supported.
Currently only the LEON2/LEON3 platforms BSPs builds the
driver.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-27 16:29:22 -04:00
Sebastian Huber
a73884e9a5 bsp/lm3s69xx: Reflect new Qemu patch 2012-03-24 23:00:18 +01:00