Commit Graph
23762 Commits
Author SHA1 Message Date
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
Sebastian Huber 40b8f63a10 NIOS2: Add MPU support functions 2012-03-30 15:03:26 +02:00
Sebastian Huber 64d2c8adf9 NIOS2: Fix outermost interrupt check
This fix is critical.  The previous implementation leads to system
corruption.
2012-03-30 15:03:15 +02:00
Sebastian Huber 9fc284cfde score/rbtree: Add const qualifier 2012-03-30 11:40:31 +02:00
Sebastian Huber c6dbcd6910 score/rbtree: C++ compatibility 2012-03-30 11:40:20 +02:00
Sebastian Huber c6218c2407 score/scheduleredf: Simplify and fix warning 2012-03-30 11:07:31 +02:00
Gedare Bloom 890358f4f7 PR1994: RBTree Compare Result Change
Change the meaning of the compare result to simplify comparison of
integer keys.
2012-03-29 20:42:36 -04: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
Gedare Bloom e53aae2676 confdefs: Add declaration for unlimited objects.
Adds to confdefs a way to specify rtems_resource_unlimited for classic and
posix objects using a new macro CONFIGURE_OBJECTS_UNLIMITED.
Use CONFIGURE_OBJECTS_ALLOCATION_SIZE to declare the allocation size for
extending the set of objects at runtime. Updates the unlimited sample
to demonstrate how to use the new macros. Also adds new documentation in
the C User's Manual regarding configuring with unlimited objects.
2012-03-27 19:51:31 -04: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 f442e6b45c ARM: PR2042: Provide stub for ARMv6-M 2012-03-27 17:41:05 +02:00
Sebastian Huber 4ee0fa8798 libtests/block06: Increase stack size 2012-03-26 15:04:53 +02:00
Sebastian Huber a73884e9a5 bsp/lm3s69xx: Reflect new Qemu patch 2012-03-24 23:00:18 +01:00
Sebastian Huber bd0fb473c3 bsps: Shared ARMv7-M interrupt support 2012-03-24 23:00:08 +01:00
Sebastian Huber 0f31fddcac bsps: Add shared default IRQ handler 2012-03-24 23:00:00 +01:00
Sebastian Huber b2ee4d5fef bsp/lm3s69xx: Format 2012-03-24 22:59:48 +01:00
Sebastian Huber 954393caec bsp/lm3s69xx: Use shared timer stub driver 2012-03-24 22:59:39 +01:00
Sebastian Huber 1ed238ec43 bsp/lm3s69xx: Use shared start.S 2012-03-24 22:59:27 +01:00
Sebastian Huber 34c6151754 bsps: Shared ARMv7-M clock driver 2012-03-24 20:31:22 +01:00
Sebastian Huber f9ec60046b ARM: New define ARMV7M_EXCEPTION_PRIORITY_LOWEST 2012-03-24 20:31:10 +01:00
Sebastian Huber 3c0e7f9b4a bsp/lm3s69xx: New Qemu patch 2012-03-24 20:30:55 +01:00
Sebastian Huber 5cc813f2b5 bsps: Provide optional prototype 2012-03-24 17:33:22 +01:00
Sebastian Huber e8adc8e355 bsp/lpc24xx: Use proper clock value 2012-03-24 17:03:59 +01:00
Sebastian Huber f3cdf27975 bsp/lpc24xx: More CAN pin definitions 2012-03-24 17:03:45 +01:00
Daniel Hellstrom 67b1ce4a69 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@gaisler.com>
2012-03-21 12:36:02 -04:00
Daniel Hellstrom f636ba640e shared-irq: add support for custom BSP vector verification
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-21 12:36:00 -04:00
Daniel Hellstrom b4dfce9b7a LEON3: spurious trap handler print out trap in hex instead
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-21 12:35:56 -04:00
Daniel Hellstrom 80d01b3cf8 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.

Note the difference between byteorder.h (inlined functions) and access.S
where the functions will be declared in the library archive librtemscpu.a.
Function names starting with _ are in library and can be referenced by
function pointers.

Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-21 12:35:47 -04:00
Jennifer Averett 7e66402369 Added irq server and link commands for new libbsd support. 2012-03-16 08:23:43 -05:00
Gedare Bloom 67baf6071d PR2041: sparc64: vector number not included in CPU_Interrupt_frame
Add the trap vector to the interrupt frame. Also rename the assembly
macro that accesses the field to be consistent with similar macros.
2012-03-14 13:06:13 -04:00
Sebastian Huber 4868c7718f bsp/lpc24xx: New BSP variant 2012-03-14 16:45:26 +01:00
Sebastian Huber 23ed785839 PR2040: libtests/flashdisk01: New test 2012-03-14 11:14:38 +01:00
Sebastian Huber 9f808d1f53 PR2040: libblock: Flash disk starvations statistic 2012-03-14 10:49:49 +01:00
Sebastian Huber a757d0f80a PR2040: libblock: Flash disk documentation 2012-03-14 10:49:49 +01:00
Sebastian Huber a309a7941e PR2040: libblock: Fix return status 2012-03-14 10:49:07 +01:00
Sebastian Huber c08072ce31 PR2040: libblock: Avoid erased blocks starvation
The compaction process needs erased blocks.  It is only possible to
erase an entire segment.  Thus in order to make a progress we always
need enough erased blocks to empty a used or available segment which can
be erased in turn.  A (possibly the worst case) lower bound of erased
blocks is the block count of the largest segment.  The number of
unavailable blocks specified by the configuration will be used to
determine the erase blocks starvation situation.  The number of
unavailable blocks must be greater than or equal to the number of blocks
in the largest segment.
2012-03-14 10:48:54 +01:00
Sebastian Huber f9fd0c203e PR2040: libblock: Track number of erased blocks 2012-03-14 10:48:39 +01:00
Sebastian Huber 12806cd02f PR2040: libblock: Use segment control as parameter 2012-03-14 10:48:17 +01:00
Sebastian Huber 790f04ddbb PR2039: Fix NULL pointer access
In case rtems_bdbuf_read() returns an error status, the block device
buffer pointer will be set to NULL.  In RFS the chain node of the block
device buffer will be used for RFS purposes.  We must not do this after
an erroneous read.
2012-03-14 09:11:13 +01:00