CVS difference for ais/ai-00249.txt
--- ais/ai-00249.txt 2002/10/24 00:40:19 1.8
+++ ais/ai-00249.txt 2002/10/29 20:24:57 1.9
@@ -1,6 +1,7 @@
-!standard D.2.2 (5) 02-10-13 AI95-00249/07
-!standard D.7 (00)
+!standard D.13 (01) 02-10-23 AI95-00249/08
!class amendment 00-12-04
+!status Amendment 200Y 02-10-23
+!status ARG approved 9-0-0 02-10-13
!status work item 00-12-04
!status received 00-12-04
@@ -23,14 +24,14 @@
This amendment proposes a pragma-based mechanism to allow the application to
request use of the Ravenscar Profile. It proposes the addition of a pragma to
-support the concept of a runtime profile. The amendment then proposes the
-runtime profile identifier "Ravenscar" to be defined in the standard and
+support the concept of a run-time profile. The amendment then proposes the
+run-time profile identifier "Ravenscar" to be defined in the standard and
specifies its semantics.
The proposal assumes that additional Restriction identifiers and pragma
Detect_Blocking have been defined (see AI-305).
-A runtime profile is an alternative mode of operation that is defined by the
+A run-time profile is an alternative mode of operation that is defined by the
standard. It is selected by inclusion of the configuration pragma Profile that
applies to an active partition. The profile identifier "Ravenscar" selects the
mode of operation to be the Ravenscar Profile.
@@ -90,7 +91,6 @@
Pragma Profile is a configuration pragma. There may be more than one
pragma Profile for a partition.
The effect of the Max_Entry_Queue_Length => 1 restriction applies
only to protected entry queues due to the accompanying restriction of
@@ -110,7 +110,7 @@
c) The restrictions forcing the maximum length of an entry queue to be one and
the maximum number of entries to be one are there for deterministic operation
-of entry queue servicing and to simplify the runtime implementation. The
+of entry queue servicing and to simplify the run-time implementation. The
semantics are intended to be consistent with those for blocking on a
suspension object via Suspend_Until_True.
@@ -119,6 +119,67 @@
e) Should the identifier for Ravenscar actually be Ravenscar_Profile
with Implementation Advice that all profiles end with _Profile?
+This clause specifies a mechanism for defining run-time profiles.
+It also defines one such profile, namely Ravenscar.
+The form of a pragma Profile is as follows:@hr
+@fa<@b<pragma> Profile (profile_identifier [profile_argument_definition]);>
+The @fa<profile_identifier> shall be either Ravenscar or an
+implementation-defined identifier. For @fa<profile_identifier> Ravenscar,
+there shall be no @fa<profile_argument_definition>. For other
+@fa<profile_identifier>s, the semantics of the @fa<profile_argument_definition>
+A profile is equivalent to the set of configuration pragmas that are
+defined for each @fa<profile_identifier>. The @fa<profile_identifier> Ravenscar
+is equivalent to the following pragmas:
+@xcode<@b<pragma> Task_Dispatching_Policy (FIFO_Within_Priorities);
+@b<pragma> Locking_Policy (Ceiling_Locking);
+@b<pragma> Restrictions (
+ Max_Entry_Queue_Length =@> 1,
+ Max_Protected_Entries =@> 1,
+ Max_Task_Entries =@> 0);>
+Pragma Profile is a configuration pragma. There may be more than one
+pragma Profile for a partition.
+37 The effect of the Max_Entry_Queue_Length =@> 1 restriction applies
+only to protected entry queues due to the accompanying restriction of
+Max_Task_Entries =@> 0.>
Questions? Ask the ACAA Technical Agent