aboutsummaryrefslogtreecommitdiff
path: root/target-sparc/op_helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'target-sparc/op_helper.c')
-rw-r--r--target-sparc/op_helper.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c
index 47b4b87aae..fb24fc8f17 100644
--- a/target-sparc/op_helper.c
+++ b/target-sparc/op_helper.c
@@ -1499,6 +1499,8 @@ uint64_t helper_ld_asi(target_ulong addr, int asi, int size, int sign)
case 0x18: // As if user primary LE
case 0x80: // Primary
case 0x88: // Primary LE
+ case 0xe2: // UA2007 Primary block init
+ case 0xe3: // UA2007 Secondary block init
if ((asi & 0x80) && (env->pstate & PS_PRIV)) {
if ((env->def->features & CPU_FEATURE_HYPV)
&& env->hpstate & HS_PRIV) {
@@ -1771,6 +1773,8 @@ void helper_st_asi(target_ulong addr, target_ulong val, int asi, int size)
case 0x18: // As if user primary LE
case 0x80: // Primary
case 0x88: // Primary LE
+ case 0xe2: // UA2007 Primary block init
+ case 0xe3: // UA2007 Secondary block init
if ((asi & 0x80) && (env->pstate & PS_PRIV)) {
if ((env->def->features & CPU_FEATURE_HYPV)
&& env->hpstate & HS_PRIV) {
@@ -2146,6 +2150,8 @@ void helper_stf_asi(target_ulong addr, int asi, int size, int rd)
helper_check_align(addr, 3);
switch (asi) {
+ case 0xe0: // UA2007 Block commit store primary (cache flush)
+ case 0xe1: // UA2007 Block commit store secondary (cache flush)
case 0xf0: // Block store primary
case 0xf1: // Block store secondary
case 0xf8: // Block store primary LE