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 51032d885eb0646c40cf1cf8d5695ad82694eeff..f2329163241bfaba6c5274e047e4f920446f48be 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 b1e4dec72ee157026fc28d1806fb1a06458252dd..fdc2f0386d3df9aad891f545fdc696d5271db27d 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 12eb6ed838db633bb576498e3f40fad06ca05b62..8915528f17f32d623a49d4bd32d78e6e4ef8ae55 100644 (file)
@@ -406,10 +406,18 @@ The hyperprivileged trap base address register is referred to as
 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 5fc94a3bf86b7a9c59c2d778a6324de7ff2fd793..5e9773a7ed776847cf10bdb3c2c95601339e67e8 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 fbbd76dab8ea95ce642dc9aeccc2615347951c14..7a12ad3849b95ea6c51578446148bb53e55a1729 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 5e22f07f351baf5f5a2dc650ff3f009209a8d907..8f669c792397fe1cf8bea883a3f59c5a5f47839a 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 a9ec2b6bcd6d80df6cfa40362efbceb403c78499..67d7de32f1d67b6986b8ec0b638d9aeb5f98905b 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 838bb538ed3377ea9305c32a19b716a8bc8a8506..b93733e770bfff08152853f529e87ea7618bf2ef 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 950ff578641bc3ef85ee469b7edffc986922f7d2..2c4966382a7dc167e8f078093818df74c2dc2e99 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 38b76f7f7e4f0eb685f012d4d8e3b13c93a79a45..db09c442c7a7209197db47337ea5e9733995e72d 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