This patch adds support for the hyperprivileged registers %hstick_offset
authorJose E. Marchesi <jose.marchesi@oracle.com>
Wed, 19 Mar 2014 16:43:41 +0000 (16:43 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 19 Mar 2014 16:43:41 +0000 (16:43 +0000)
and %hstick_enable to the Sparc assembler.

* config/tc-sparc.c (hpriv_reg_table): Added entries for
%hstick_offset and %hstick_enable.
* doc/c-sparc.texi (Sparc-Regs): Document the %hstick_offset and
%hstick_enable hyperprivileged registers.

* sparc-dis.c (v9_hpriv_reg_names): Names for %hstick_offset and
%hstick_enable added.

* gas/sparc/rdhpr.s: Test rd %hstick_offset and %hstick_enable.
* gas/sparc/rdhpr.d: Likewise.

* gas/sparc/wrhpr.s: Test wr %hstick_offset and %hstick_enable.
* gas/sparc/wrhpr.d: Likewise.

gas/ChangeLog
gas/config/tc-sparc.c
gas/doc/c-sparc.texi
gas/testsuite/ChangeLog
gas/testsuite/gas/sparc/rdhpr.d
gas/testsuite/gas/sparc/rdhpr.s
gas/testsuite/gas/sparc/wrhpr.d
gas/testsuite/gas/sparc/wrhpr.s
opcodes/ChangeLog
opcodes/sparc-dis.c

index 51032d8..f232916 100644 (file)
@@ -1,3 +1,10 @@
+2014-03-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/tc-sparc.c (hpriv_reg_table): Added entries for
+       %hstick_offset and %hstick_enable.
+       * doc/c-sparc.texi (Sparc-Regs): Document the %hstick_offset and
+       %hstick_enable hyperprivileged registers.
+
 2014-03-19  Daniel Gutson <daniel.gutson@tallertechnologies.com>
            Nick Clifton  <nickc@redhat.com>
 
index b1e4dec..fdc2f03 100644 (file)
@@ -787,6 +787,8 @@ struct priv_reg_entry hpriv_reg_table[] =
   {"hintp", 3},
   {"htba", 5},
   {"hver", 6},
+  {"hstick_offset", 28},
+  {"hstick_enable", 29},
   {"hstick_cmpr", 31},
   {"", -1},                    /* End marker.  */
 };
index 12eb6ed..8915528 100644 (file)
@@ -407,9 +407,17 @@ The hyperprivileged implementation version register is referred
 to as @samp{%hver}.
 
 @item
+The hyperprivileged system tick offset register is referred to as
+@samp{%hstick_offset}.  Note that there is no @samp{%hstick} register,
+the normal @samp{%stick} is used.
+
+@item
+The hyperprivileged system tick enable register is referred to as
+@samp{%hstick_enable}.
+
+@item
 The hyperprivileged system tick compare register is referred
-to as @samp{%hstick_cmpr}.  Note that there is no @samp{%hstick}
-register, the normal @samp{%stick} is used.
+to as @samp{%hstick_cmpr}.
 @end itemize
 
 @node Sparc-Constants
index 5fc94a3..5e9773a 100644 (file)
@@ -3,6 +3,12 @@
        * gas/sparc/ldd_std.d: Fix objdump invocation in order to get
        the old opcodes for the ldtw, ldtwa, stw and stwa instructions.
 
+       * gas/sparc/rdhpr.s: Test rd %hstick_offset and %hstick_enable.
+       * gas/sparc/rdhpr.d: Likewise.
+
+       * gas/sparc/wrhpr.s: Test wr %hstick_offset and %hstick_enable.
+       * gas/sparc/wrhpr.d: Likewise.
+
 2014-03-19  Daniel Gutson <daniel.gutson@tallertechnologies.com>
            Nick Clifton  <nickc@redhat.com>
 
index fbbd76d..7a12ad3 100644 (file)
@@ -12,4 +12,6 @@ Disassembly of section .text:
    8:  87 48 c0 00     rdhpr  %hintp, %g3
    c:  89 49 40 00     rdhpr  %htba, %g4
   10:  8b 49 80 00     rdhpr  %hver, %g5
-  14:  8d 4f c0 00     rdhpr  %hstick_cmpr, %g6
+  14:  8d 4f 00 00     rdhpr  %hstick_offset, %g6
+  18:  8b 4f 40 00     rdhpr  %hstick_enable, %g5
+  1c:  89 4f c0 00     rdhpr  %hstick_cmpr, %g4
index 5e22f07..8f669c7 100644 (file)
@@ -5,4 +5,6 @@
        rdhpr %hintp,%g3
        rdhpr %htba,%g4
        rdhpr %hver,%g5
-       rdhpr %hstick_cmpr,%g6
+       rdhpr %hstick_offset,%g6
+       rdhpr %hstick_enable,%g5
+       rdhpr %hstick_cmpr,%g4
index a9ec2b6..67d7de3 100644 (file)
@@ -11,4 +11,6 @@ Disassembly of section .text:
    4:  83 98 80 00     wrhpr  %g2, %htstate
    8:  87 98 c0 00     wrhpr  %g3, %hintp
    c:  8b 99 00 00     wrhpr  %g4, %htba
-  10:  bf 99 40 00     wrhpr  %g5, %hstick_cmpr
+  10:  b9 99 40 00     wrhpr  %g5, %hstick_offset
+  14:  bb 99 80 00     wrhpr  %g6, %hstick_enable
+  18:  bf 99 c0 00     wrhpr  %g7, %hstick_cmpr
index 838bb53..b93733e 100644 (file)
@@ -4,4 +4,6 @@
        wrhpr %g2,%htstate
        wrhpr %g3,%hintp
        wrhpr %g4,%htba
-       wrhpr %g5,%hstick_cmpr
+       wrhpr %g5,%hstick_offset
+       wrhpr %g6,%hstick_enable
+       wrhpr %g7,%hstick_cmpr
index 950ff57..2c49663 100644 (file)
@@ -1,3 +1,8 @@
+2014-03-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * sparc-dis.c (v9_hpriv_reg_names): Names for %hstick_offset and
+       %hstick_enable added.
+
 2014-03-19  Nick Clifton  <nickc@redhat.com>
 
        * rx-decode.opc (bwl): Allow for bogus instructions with a size
index 38b76f7..db09c44 100644 (file)
@@ -97,7 +97,7 @@ static char *v9_hpriv_reg_names[] =
   "resv7", "resv8", "resv9", "resv10", "resv11", "resv12", "resv13", 
   "resv14", "resv15", "resv16", "resv17", "resv18", "resv19", "resv20",
   "resv21", "resv22", "resv23", "resv24", "resv25", "resv26", "resv27",
-  "resv28", "resv29", "resv30", "hstick_cmpr"
+  "hstick_offset", "hstick_enable", "resv30", "hstick_cmpr"
 };
 
 /* These are ordered according to there register number in