Commit Graph
24290 Commits
Author SHA1 Message Date
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
Sebastian Huber 5e88538f97 libblock: Split file 2012-03-13 12:24:17 +01:00
Sebastian Huber beea58072d libblock: Add optional free at delete request 2012-03-13 12:24:16 +01:00
Sebastian Huber e998c98518 IMFS: Node specific stat handlers 2012-03-13 12:24:16 +01:00
Sebastian Huber 04ca77e31d IMFS: Generic device identifier 2012-03-13 12:24:16 +01:00
Sebastian Huber c5392ef924 IMFS: Add make generic node support
Generic nodes are an alternative to standard drivers in RTEMS.  The
handlers of a generic node are called with less overhead compared to the
standard driver operations.  The usage of file system node handlers
enable more features like support for fsync() and fdatasync().  The
generic nodes use the reference counting of the IMFS.  This provides
automatic node destruction when the last reference vanishes.

Extend type IMFS_types_union by new type IMFS_generic_t.

Extend enum IMFS_jnode_types_t by IMFS_GENERIC.

Add functions
 o IMFS_make_generic_node(),
 o IMFS_is_imfs_instance(),
 o IMFS_generic_get_context_by_node(),
 o IMFS_generic_get_context_by_location(), and
 o IMFS_generic_get_context_by_iop().

New test fstests/fsimfsgeneric01.
2012-03-13 12:24:16 +01:00
Sebastian Huber 699ac7c08f IMFS: Add and use node control
Add and use structure IMFS_node_control with support functions.  This
helps to make high level functions independent of the node type and
reduces the number of branches in the code.
2012-03-13 12:24:16 +01:00
Sebastian Huber 70927458b7 IMFS: New support functions
Add and use IMFS_type() and IMFS_is_directory().
2012-03-13 12:24:16 +01:00
Sebastian Huber 6661435f84 IMFS: Removed superfluous imfs_dir_open() 2012-03-13 12:24:16 +01:00
Sebastian Huber 1bdff036ac IMFS: Reference counting for nodes
The introduction of reference counting of nodes avoids the removal of
open nodes and potential usage of freed memory.
2012-03-13 12:24:15 +01:00