This patch adds support for the hyperprivileged registers %hstick_offset

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.
This commit is contained in:
Jose E. Marchesi 2014-03-19 16:43:41 +00:00 committed by Nick Clifton
parent 999bf65c4b
commit ec92c392f7
10 changed files with 43 additions and 7 deletions

View 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>

View 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. */
};

View 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

View 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>

View 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

View 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

View 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

View 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

View 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

View 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