This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.22-102-g1747fcd


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  1747fcda4902a3b46183d93fb16ed9b436b2608b (commit)
      from  1f3be1988bce6756ad8cd37386eedef95aa0f2ed (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=1747fcda4902a3b46183d93fb16ed9b436b2608b

commit 1747fcda4902a3b46183d93fb16ed9b436b2608b
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Mon Aug 10 10:58:12 2015 -0300

    PowerPC: Extend Program Priority Register support
    
    This patch adds extra inline functions to change the Program Priority
    Register from ISA 2.07.
    
    2015-08-19  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>
    
    	* sysdeps/powerpc/sys/platform/ppc.h (__ppc_set_ppr_med_high,
    	__ppc_set_ppr_very_low): New functions.
    	* manual/platform.texi: Add documentation about
    	__ppc_set_ppr_med_high and __ppc_set_ppr_very_low.

diff --git a/ChangeLog b/ChangeLog
index 2376021..1d9d5bc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-08-19  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>
+
+	* sysdeps/powerpc/sys/platform/ppc.h (__ppc_set_ppr_med_high,
+	__ppc_set_ppr_very_low): New functions.
+	* manual/platform.texi: Add documentation about
+	__ppc_set_ppr_med_high and __ppc_set_ppr_very_low.
+
 2015-08-19  Wilco Dijkstra  <wdijkstr@arm.com>
 
 	* string/stpncpy.c (stpncpy): Improve performance using
diff --git a/manual/platform.texi b/manual/platform.texi
index 872e32e..cb16664 100644
--- a/manual/platform.texi
+++ b/manual/platform.texi
@@ -97,3 +97,21 @@ Set the Program Priority Register to low value.
 @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
 Set the Program Priority Register to medium low value.
 @end deftypefun
+
+Power ISA 2.07 extends the priorities that can be set to the Program Priority
+Register (PPR).  The following functions implement the new priority levels:
+very low and medium high.
+
+@deftypefun {void} __ppc_set_ppr_very_low (void)
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+Set the Program Priority Register to very low value.
+@end deftypefun
+
+@deftypefun {void} __ppc_set_ppr_med_high (void)
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+Set the Program Priority Register to medium high value.  The medium high
+priority is privileged and may only be set during certain time intervals by
+problem-state programs.  If the program priority is medium high when the time
+interval expires or if an attempt is made to set the priority to medium high
+when it is not allowed, the priority is set to medium.
+@end deftypefun
diff --git a/sysdeps/powerpc/sys/platform/ppc.h b/sysdeps/powerpc/sys/platform/ppc.h
index 3febb61..2594606 100644
--- a/sysdeps/powerpc/sys/platform/ppc.h
+++ b/sysdeps/powerpc/sys/platform/ppc.h
@@ -112,4 +112,35 @@ __ppc_set_ppr_low (void)
   __asm__ volatile ("or 1,1,1");
 }
 
+/* Power ISA 2.07 (Book II, Chapter 3) extends the priorities that can be set
+   to the Program Priority Register (PPR).  The form 'or Rx,Rx,Rx' is used to
+   modify the PRI field of the PPR, the same way as described above.
+   The new priority levels are:
+     Rx = 31 (very low)
+     Rx = 5 (medium high)
+   Any program can set the priority to very low, low, medium low, and medium,
+   as these are unprivileged.
+   The medium high priority, on the other hand, is privileged, and may only be
+   set during certain time intervals by problem-state programs.  If the program
+   priority is medium high when the time interval expires or if an attempt is
+   made to set the priority to medium high when it is not allowed, the PRI
+   field is set to medium.
+ */
+
+#ifdef _ARCH_PWR8
+
+static inline void
+__ppc_set_ppr_very_low (void)
+{
+  __asm__ volatile ("or 31,31,31");
+}
+
+static inline void
+__ppc_set_ppr_med_high (void)
+{
+  __asm__ volatile ("or 5,5,5");
+}
+
+#endif
+
 #endif  /* sys/platform/ppc.h */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                          |    7 +++++++
 manual/platform.texi               |   18 ++++++++++++++++++
 sysdeps/powerpc/sys/platform/ppc.h |   31 +++++++++++++++++++++++++++++++
 3 files changed, 56 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]