Commit Graph

24449 Commits

Author SHA1 Message Date
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
Sebastian Huber
113944fa63 fstests/fsbdpart01: New test 2012-03-13 12:24:19 +01:00
Sebastian Huber
3ab9c76d3f libblock: Use new API for disk media 2012-03-13 12:24:19 +01:00
Sebastian Huber
01211720ec libblock: Add generic IMFS block device nodes
New functions
 o rtems_blkdev_create(), and
 o rtems_blkdev_create_partition().

New test libtests/block11.
2012-03-13 12:24:18 +01:00
Sebastian Huber
291c926449 libblock: Split file and simplify 2012-03-13 12:24:18 +01:00
Sebastian Huber
3ee7b84394 libblock: New support functions
Add
 o rtems_disk_get_block_size(),
 o rtems_disk_get_block_begin(), and
 o rtems_disk_get_block_count().
2012-03-13 12:24:18 +01:00
Sebastian Huber
796967c3df libblock: Change bdbuf API
The functions
 o rtems_bdbuf_get(),
 o rtems_bdbuf_read(),
 o rtems_bdbuf_syncdev(), and
 o rtems_bdbuf_purge_dev(),
use now the disk device instead of the device identifier.  This makes
bdbuf independent of rtems_disk_obtain() and rtems_disk_release().  It
is the responsiblity of the file system to obtain the disk device.  This
also reduces the overhead to get a buffer.

The key for the AVL tree uses now the disk device instead of the device
identifier.  The pointer is interpreted as an unsigned integer.  This
reduces the memory overhead and makes the comparison operation a bit
faster.

Removed function rtems_bdbuf_purge_major().  This function was too
destructive and could have unpredictable side effects.
2012-03-13 12:24:18 +01:00
Sebastian Huber
1024561f19 libblock: Documentation 2012-03-13 12:24:18 +01:00
Sebastian Huber
c42b03f498 libblock: Remove superfluous volatile qualifier
All these variables are protected by the bdbuf cache mutex.
2012-03-13 12:24:18 +01:00
Sebastian Huber
a3170f70b6 libblock: Discard extended partitions
Discard the extended partitions after evaluation.  This prevents logical
disks that contain other logical disks.
2012-03-13 12:24:17 +01:00
Sebastian Huber
c93fc2b36b libblock: rtems_ide_part_table_initialize() API 2012-03-13 12:24:17 +01:00
Sebastian Huber
c649976859 libblock: New block IO control support functions 2012-03-13 12:24:17 +01:00
Sebastian Huber
4f3cbd9240 libblock: New IO control RTEMS_BLKIO_GETDISKDEV 2012-03-13 12:24:17 +01:00
Sebastian Huber
03ad6b1d85 libblock: Avoid bdbuf API 2012-03-13 12:24:17 +01:00