summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include/rtems/rtems/part.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-04-04 10:13:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-04-06 09:08:22 +0200
commit3570ec684f23dc57772856d1170d39252299a490 (patch)
tree9729d0ff751ec562e68a99dfb62e1f60de5e1f0c /cpukit/rtems/include/rtems/rtems/part.h
parentscore: Use red-black tree for active global objects (diff)
downloadrtems-3570ec684f23dc57772856d1170d39252299a490.tar.bz2
rtems: Avoid Giant lock for partitions
Use an ISR lock to protect the partition state changes. Update #2555.
Diffstat (limited to 'cpukit/rtems/include/rtems/rtems/part.h')
-rw-r--r--cpukit/rtems/include/rtems/rtems/part.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/part.h b/cpukit/rtems/include/rtems/rtems/part.h
index 7dd90a9eaf..5b840cc96c 100644
--- a/cpukit/rtems/include/rtems/rtems/part.h
+++ b/cpukit/rtems/include/rtems/rtems/part.h
@@ -34,6 +34,7 @@
#include <rtems/rtems/attr.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/types.h>
+#include <rtems/score/isrlock.h>
#ifdef __cplusplus
extern "C" {
@@ -55,6 +56,8 @@ extern "C" {
typedef struct {
/** This field is the object management portion of a Partition instance. */
Objects_Control Object;
+ /** This field is the lock of the Partition. */
+ ISR_LOCK_MEMBER( Lock )
/** This field is the physical starting address of the Partition. */
void *starting_address;
/** This field is the size of the Partition in bytes. */