Commit Graph

8207 Commits

Author SHA1 Message Date
Joel Sherrill
9da42fb87a powerpc/cpu.h: Define CPU_SIMPLE_VECTORED_INTERRUPTS and remove _CPU_ISR_Initialize 2012-06-11 13:00:57 -05:00
Joel Sherrill
3e5ff08227 mips/cpu.h: Define CPU_SIMPLE_VECTORED_INTERRUPTS and remove _CPU_ISR_Initialize 2012-06-11 12:40:11 -05:00
Joel Sherrill
562cadfaa5 i386/cpu.h: Define CPU_SIMPLE_VECTORED_INTERRUPTS and remove _CPU_ISR_Initialize 2012-06-11 12:40:10 -05:00
Joel Sherrill
dea1050312 arm/cpu.h: Define CPU_SIMPLE_VECTORED_INTERRUPTS and remove _CPU_ISR_Initialize 2012-06-11 12:40:10 -05:00
Joel Sherrill
61baaccef1 isr.c: Do not call _CPU_Initialize_vectors() if PIC Interrupt Model 2012-06-11 12:40:04 -05:00
Joel Sherrill
97bda25c0e threadhandler.c: Fix spelling of __main() in prototype 2012-06-11 12:26:21 -05:00
Sebastian Huber
8250503f21 librpc: PR2066: Fix for short enums
The XDR library has a problem on architectures with short enums like the
default ARM EABI.  Short enums means that the size of the enum type is
variable and the smallest integer type to hold all enum values will be
selected.  For many enums this is char.  The XDR library uses int32_t
for enum_t.  There are several evil casts from an enum type to enum_t
which leads to invalid memory accesses on short enum architectures.  A
workaround is to add appropriate dummy enum values.
2012-06-06 13:57:43 +02:00
Sebastien Bourdeauducq
6c18c97be0 network/bootp: PR2031: Add and use header file 2012-06-06 13:30:14 +02:00
Sebastian Huber
b2cb8d6fb4 libcsupport: Add rtems_printf_plugin() 2012-06-04 17:30:21 +02:00
Sebastian Huber
df84ca249d libblock: Rename structure 2012-06-04 17:30:20 +02:00
Sebastian Huber
96b1d7fcfe dosfs: Fix for no space left on device condition
The file size was wrong in the no space left on device condition.  This
resulted in turn in a read of an invalid block which lead to an EIO
error status.
2012-06-04 09:54:32 +02:00
Sebastian Huber
39ee704e75 libblock: Add read-ahead task
Read-ahead requests were previously executed in the context of the
reading task.  This blocks the reading task until the complete read
with read-ahead transfer is finished.  A read-ahead task is introduced
to off-load the read-ahead transfer.  This allows the reading task to
work with the requested block more quickly.  The read-ahead is triggered
after two misses of ascending consecutive blocks or a read hit of a
block read by the most-recent read-ahead transfer.  The read-ahead
feature is configurable and can be disabled.
2012-06-04 09:54:31 +02:00
Sebastian Huber
1869bb7101 powerpc: Simplify context switch
PowerPC cores with the SPE (Signal Processing Extension) have 64-bit
general-purpose registers.  The SPE context switch code has been merged
with the standard context switch code.  The context switch may use cache
operations to increase the performance.  It will be ensured that the
context is 32-byte aligned (PPC_DEFAULT_CACHE_LINE_SIZE).  This
increases the overall memory size of the context area in the thread
control block slightly.  The general-purpose registers GPR2 and GPR13
are no longer part of the context.  The BSP must initialize these
registers during startup (usually initialized by the __eabi() function).

The new BSP option BSP_USE_DATA_CACHE_BLOCK_TOUCH can be used to enable
the dcbt instruction in the context switch.

The new BSP option BSP_USE_SYNC_IN_CONTEXT_SWITCH can be used to enable
sync and isync instructions in the context switch.  This should be not
necessary in most cases.
2012-06-04 09:54:31 +02:00
Joel Sherrill
721fe34aae Fix C files which had two semi-colons at EOL 2012-05-31 15:34:36 -05:00
Sebastian Huber
53f2ca3be6 dosfs: Fix format request with sectors per cluster 2012-05-31 13:50:08 +02:00
Sebastian Huber
f164ae751a libblock: Move rtems_bdbuf_get_media_block() call
Move rtems_bdbuf_get_media_block() call inside the bdbuf lock.
2012-05-31 11:05:48 +02:00
Sebastian Huber
73c09b3b8e libblock: Simplify disk management
Add block_count and media_blocks_per_block to rtems_disk_device.  Add
and use rtems_disk_init_phys() and rtems_disk_init_log().
2012-05-31 11:05:48 +02:00
Sebastian Huber
2c6cc3c0de libblock: Remove explicit bds_per_group parameter 2012-05-31 11:05:48 +02:00
Sebastian Huber
40284de844 libblock: Remove const qualifier from bdbuf API
This allows addtion of per disk statistics for example.
2012-05-31 11:05:48 +02:00
Sebastian Huber
b6911069d4 libblock: Add task stack size bdbuf configuration
The task stack size for the swap-out and worker tasks is now
configurable.  The bdbuf task resources are now included in the work
space size estimate.
2012-05-31 11:05:48 +02:00
Sebastian Huber
f7f2eb5799 dosfs: Fix print format string 2012-05-29 16:18:44 +02:00
Sebastian Huber
4da3fef455 ftpd: Set current directory after session close
The chroot() is an implicit chdir("/").  Set the current directory to
"/" after session close.  This helps to avoid references to mounted file
systems in dynamic media.
2012-05-29 16:18:44 +02:00
Sebastian Huber
847ad441cd Filesystem: Wait for unmount() to finish 2012-05-29 12:25:34 +02:00
Sebastian Huber
4acbff6c8e shell/lsof: Use fprintf() instead of printk() 2012-05-24 17:39:03 +02:00
Sebastian Huber
13d3a37d38 libblock: Fix read request block count calculation 2012-05-24 17:36:49 +02:00
Sebastian Huber
e7096b1fdf libblock: Fix state descriptions 2012-05-24 17:32:24 +02:00
Ralf Corsépius
cf42a6ea9d Add config.h.in. 2012-05-24 07:17:05 +02:00
Sebastien Bourdeauducq
7aba2ea4a8 network/dhcp: PR1841: Fix DNS processing in DHCP 2012-05-22 14:47:15 +02:00
Joel Sherrill
8bbf69e6e6 pci.h cleanup - Consolidate common defines to cpukit pci.h
+ libbsp/sparc/shared/include/pci.h was largely a copy of
  an older version of the cpukit pci.h. Removed much of the
  contents and included <rtems/pci.h>.
+ sparc/*/pci*.c - Move to <rtems/pci.h> required updating
  to use uint32_t for dword accesses.
+ Rename PCI_MULTI_FUNCTION to PCI_HEADER_TYPE_MULTI_FUNCTION
+ Define PCI_HEADER_TYPE_MULTI_FUNCTION in cpukit pci.h and remove
  PCI_MULTI_FUNCTION definitions in C files.
+ Move PCI_INVALID_VENDORDEVICEID definitions from various C files
  to cpukit pci.h
2012-05-16 16:11:44 -05:00
Joel Sherrill
1364701915 mvme5500 and cpukit pci.h - Eliminate mvme5500 specific pci.h
All constants that should have been in cpukit pci.h were moved there.
One naming style was corrected. This impacted if_wm.c.

All other contents were the same as powerpc/shared/pci.h so BSP
specific pci.h could be eliminated.
2012-05-16 16:11:44 -05:00
Sebastian Huber
ca764e66ea nfsclient: Fix symbolic link evaluation 2012-05-16 12:40:21 +02:00
Sebastian Huber
502629707d libcsupport: Adjust malloc_walk() prototype
The header file <rtems/malloc.h> provides now also the malloc_walk()
prototype.

The malloc_walk() prototype reflects now the _Protected_heap_Walk() API.
The return status helps to print only in case of an error.
2012-05-16 12:38:21 +02:00
Sebastian Huber
e37ed99c99 Filesystem: Add missing include file <stdint.h> 2012-05-15 16:27:51 +02:00
Sebastian Huber
0a95800a58 Filesystem: Change pathconf_limits_and_options
The pathconf_limits_and_options field of
rtems_filesystem_mount_table_entry_t is now a const pointer to reduce
the read-write memory demands of file system instances.
2012-05-15 10:37:00 +02:00
Sebastian Huber
da154e14f6 Filesystem: Move operations to mount table entry
The scope of the file system operations is the file system instance.
The scope of the file system node handlers is the file location.  The
benefit of moving the operations to the mount table entry is a size
reduction of the file location (rtems_filesystem_location_info_t).  The
code size is slightly increased due to additional load instructions.

Restructure rtems_filesystem_mount_table_entry_t to improve cache
efficiency.
2012-05-15 10:01:43 +02:00
Sebastian Huber
7666afc97a Filesystem: Add const qualifier to lock/unlock 2012-05-15 10:01:43 +02:00
Sebastian Huber
53da07e436 Filesystem: PR1255: Move offset update to handlers
It is now the responsibility of the read() and write() handler to update
the offset field of the IO descriptor (rtems_libio_t).  This change
makes it possible to protect the IO descriptor from concurrent access by
per file locks.
2012-05-15 10:01:42 +02:00
Sebastian Huber
fed66f9910 Filesystem: Add shared device IO support
The device IO file system support in IMFS, devFS, and RFS uses now a
shared implementation.
2012-05-15 10:01:42 +02:00
Sebastian Huber
df01da6707 Filesystem: Use ioctl_command_t 2012-05-15 10:01:42 +02:00
Sebastian Huber
a1c6b96ac7 rfs: Fix major and minor number integer types 2012-05-15 10:01:42 +02:00
Sebastian Huber
3c462734ba libblock: Fix purge device tree traversal 2012-05-14 16:57:59 +02:00
Sebastian Huber
fce1169de0 dosfs: Remove unused parameter 2012-05-14 16:57:59 +02:00
Sebastian Huber
29192481a8 devfs: C++ compatibility 2012-05-14 16:57:59 +02:00
Sebastian Huber
52c0db28a1 Filesystem: Remove duplicate prototype 2012-05-14 16:57:58 +02:00
Gedare Bloom
2b36355b44 PR2065: RBTree: Insert function (protected) does not enable interrupts
Save the return value from the unprotected version and return it after
enabling interrupts to their previous level.
2012-05-13 10:40:10 -04:00
Joel Sherrill
65c6425de9 Remove CVS Id Strings (manual edits after script)
These modifications were required by hand after running the script.
In some cases, the file names did not match patterns. In others,
the format of the file did not match any common patterns.
2012-05-11 08:44:14 -05:00
Joel Sherrill
ae55da7232 cpukit/aclocal - Fix one mistake by script 2012-05-11 08:44:14 -05:00
Joel Sherrill
9b4422a251 Remove All CVS Id Strings Possible Using a Script
Script does what is expected and tries to do it as
smartly as possible.

+ remove occurrences of two blank comment lines
  next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
  contain CVS Ids
+ If the processing left a blank line at the top of
  a file, it was removed.
2012-05-11 08:44:13 -05:00
Sebastian Huber
86ef0df976 dosfs: Remove fat_file_datasync()
The fat_file_datasync() read every cluster of the file into the cache
and then synchronized it step-by-step.  For unmodified buffers this is a
non-operation.  For modified buffers this will wake-up the swapout task
which performs then a single buffer write operation.  This is usually
quite inefficient.  Firstly we do single buffer writes, secondly we
may perform a lot of unnecessary read operations (for huge files this is
really bad), and thirdly this leads likely to cache evictions.

The synchronization procedure is replaced by a simple
rtems_bdbuf_sync_dev().  This has the side-effect that also buffers not
related to the file are synchronized, but since the modified list is
normally short this should be acceptable.
2012-05-11 13:58:43 +02:00
Sebastian Huber
84ab4fce24 libblock: Add RTEMS_BLKIO_PURGEDEV 2012-05-11 13:58:43 +02:00