2008-08-04 Joel Sherrill <joel.sherrill@OARcorp.com>

PR 1263/doc
	* user/part.t: Improve discussion of alignment and minimum buffer
	sizes.
This commit is contained in:
Joel Sherrill
2008-08-04 20:45:31 +00:00
parent 9f170c9e84
commit 014d541f37
2 changed files with 19 additions and 7 deletions

View File

@@ -1,3 +1,9 @@
2008-08-04 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1263/doc
* user/part.t: Improve discussion of alignment and minimum buffer
sizes.
2008-08-04 Joel Sherrill <joel.sherrill@OARcorp.com> 2008-08-04 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1288/doc PR 1288/doc

View File

@@ -1,5 +1,5 @@
@c @c
@c COPYRIGHT (c) 1988-2002. @c COPYRIGHT (c) 1988-2008.
@c On-Line Applications Research Corporation (OAR). @c On-Line Applications Research Corporation (OAR).
@c All rights reserved. @c All rights reserved.
@c @c
@@ -39,9 +39,9 @@ allocated and deallocated.
Partitions are managed and maintained as a list of Partitions are managed and maintained as a list of
buffers. Buffers are obtained from the front of the partition's buffers. Buffers are obtained from the front of the partition's
free buffer chain and returned to the rear of the same chain. free buffer chain and returned to the rear of the same chain.
When a buffer is on the free buffer chain, RTEMS uses eight When a buffer is on the free buffer chain, RTEMS uses two
bytes of each buffer as the free buffer chain. When a buffer is pointers of memory from each buffer as the free buffer chain.
allocated, the entire buffer is available for application use. When a buffer is allocated, the entire buffer is available for application use.
Therefore, modifying memory that is outside of an allocated Therefore, modifying memory that is outside of an allocated
buffer could destroy the free buffer chain or the contents of an buffer could destroy the free buffer chain or the contents of an
adjacent allocated buffer. adjacent allocated buffer.
@@ -187,7 +187,7 @@ This directive creates a partition of fixed size
buffers from a physically contiguous memory space which starts buffers from a physically contiguous memory space which starts
at starting_address and is length bytes in size. Each allocated at starting_address and is length bytes in size. Each allocated
buffer is to be of @code{buffer_size} in bytes. The assigned buffer is to be of @code{buffer_size} in bytes. The assigned
partition id is returned in id. This partition id is used to partition id is returned in @code{id}. This partition id is used to
access the partition with other partition related directives. access the partition with other partition related directives.
For control and maintenance of the partition, RTEMS allocates a For control and maintenance of the partition, RTEMS allocates a
PTCB from the local PTCB free pool and initializes it. PTCB from the local PTCB free pool and initializes it.
@@ -197,8 +197,14 @@ PTCB from the local PTCB free pool and initializes it.
This directive will not cause the calling task to be This directive will not cause the calling task to be
preempted. preempted.
The starting_address and buffer_size parameters must The @code{starting_address} must be properly aligned for the
be multiples of four. target architecture.
Th @code{buffer_size} parameter must be a multiple of
the CPU alignment factor. Additionally, @code{buffer_size}
must be large enough to hold two pointers on the target
architecture. This is required for RTEMS to manage the
buffers when they are free.
Memory from the partition is not used by RTEMS to Memory from the partition is not used by RTEMS to
store the Partition Control Block. store the Partition Control Block.