OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [exec/] [rtems/] [macros/] [rtems/] [rtems/] [part.inl] - Blame information for rev 594

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/*  part.inl
2
 *
3
 *  This file contains the macro implementation of all inlined routines
4
 *  in the Partition Manager.
5
 *
6
 *  COPYRIGHT (c) 1989-1999.
7
 *  On-Line Applications Research Corporation (OAR).
8
 *
9
 *  The license and distribution terms for this file may be
10
 *  found in the file LICENSE in this distribution or at
11
 *  http://www.OARcorp.com/rtems/license.html.
12
 *
13
 *  $Id: part.inl,v 1.2 2001-09-27 11:59:19 chris Exp $
14
 */
15
 
16
#ifndef __PARTITION_inl
17
#define __PARTITION_inl
18
 
19
/*PAGE
20
 *
21
 *  _Partition_Allocate_buffer
22
 *
23
 */
24
 
25
#define _Partition_Allocate_buffer( _the_partition ) \
26
  _Chain_Get( &(_the_partition)->Memory )
27
 
28
/*PAGE
29
 *
30
 *  _Partition_Free_buffer
31
 *
32
 */
33
 
34
#define _Partition_Free_buffer( _the_partition, _the_buffer ) \
35
  _Chain_Append( &(_the_partition)->Memory, (_the_buffer) )
36
 
37
/*PAGE
38
 *
39
 *  _Partition_Is_buffer_on_boundary
40
 *
41
 */
42
 
43
#define _Partition_Is_buffer_on_boundary( _the_buffer, _the_partition ) \
44
  ((((unsigned32) _Addresses_Subtract( \
45
                    (_the_buffer), \
46
                    (_the_partition)->starting_address ) \
47
                  ) % \
48
                  (_the_partition)->buffer_size) == 0)
49
 
50
/*PAGE
51
 *
52
 *  _Partition_Is_buffer_valid
53
 *
54
 */
55
 
56
#define _Partition_Is_buffer_valid( _the_buffer, _the_partition ) \
57
  ( \
58
    _Addresses_Is_in_range( \
59
      (_the_buffer), \
60
      (_the_partition)->starting_address, \
61
      _Addresses_Add_offset( \
62
         (_the_partition)->starting_address, \
63
         (_the_partition)->length \
64
      ) \
65
    ) && \
66
    _Partition_Is_buffer_on_boundary( (_the_buffer), (_the_partition) ) \
67
  )
68
 
69
/*PAGE
70
 *
71
 *  _Partition_Is_buffer_size_aligned
72
 *
73
 */
74
 
75
#define _Partition_Is_buffer_size_aligned( _buffer_size ) \
76
  ((_buffer_size) % CPU_PARTITION_ALIGNMENT == 0)
77
 
78
/*PAGE
79
 *
80
 *  _Partition_Allocate
81
 *
82
 */
83
 
84
#define _Partition_Allocate() \
85
  (Partition_Control *) _Objects_Allocate( &_Partition_Information )
86
 
87
/*PAGE
88
 *
89
 *  _Partition_Free
90
 *
91
 */
92
 
93
#define _Partition_Free( _the_partition ) \
94
  _Objects_Free( &_Partition_Information, &(_the_partition)->Object )
95
 
96
/*PAGE
97
 *
98
 *  _Partition_Get
99
 *
100
 */
101
 
102
#define _Partition_Get( _id, _location ) \
103
  (Partition_Control *) \
104
    _Objects_Get( &_Partition_Information, (_id), (_location) )
105
 
106
/*PAGE
107
 *
108
 *  _Partition_Is_null
109
 *
110
 */
111
 
112
#define _Partition_Is_null( _the_partition ) \
113
   ( (_the_partition) == NULL  )
114
 
115
#endif
116
/* end of include file */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.