Message ID | 20170523030312.6360-31-rth@twiddle.net |
---|---|
State | New |
Headers | show |
On 2017-05-22 20:03, Richard Henderson wrote: > Signed-off-by: Richard Henderson <rth@twiddle.net> > --- > target/s390x/insn-data.def | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def > index 4c91f30..8604847 100644 > --- a/target/s390x/insn-data.def > +++ b/target/s390x/insn-data.def > @@ -838,6 +838,7 @@ > #ifndef CONFIG_USER_ONLY > /* COMPARE AND SWAP AND PURGE */ > D(0xb250, CSP, RRE, Z, r1_32u, ra2, r1_P, 0, csp, 0, MO_TEUL) > + D(0xb98a, CSPG, RRE, Z, r1_o, ra2, r1_P, 0, csp, 0, MO_TEQ) CSPG is part of the of the DAT-enhancement facility. I called it DAT_ENH in my local patches to match the name we have in the CPU features.
On 05/23/2017 04:12 AM, Aurelien Jarno wrote: > On 2017-05-22 20:03, Richard Henderson wrote: >> Signed-off-by: Richard Henderson <rth@twiddle.net> >> --- >> target/s390x/insn-data.def | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def >> index 4c91f30..8604847 100644 >> --- a/target/s390x/insn-data.def >> +++ b/target/s390x/insn-data.def >> @@ -838,6 +838,7 @@ >> #ifndef CONFIG_USER_ONLY >> /* COMPARE AND SWAP AND PURGE */ >> D(0xb250, CSP, RRE, Z, r1_32u, ra2, r1_P, 0, csp, 0, MO_TEUL) >> + D(0xb98a, CSPG, RRE, Z, r1_o, ra2, r1_P, 0, csp, 0, MO_TEQ) > > CSPG is part of the of the DAT-enhancement facility. I called it DAT_ENH > in my local patches to match the name we have in the CPU features. The translator needs a large overhaul to bring it into line with the (more recently added) facilities infrastructure. We don't currently enforce anything. But you're also right that I shouldn't just ignore the issue and leave it marked incorrectly. r~
On 2017-05-23 09:33, Richard Henderson wrote: > On 05/23/2017 04:12 AM, Aurelien Jarno wrote: > > On 2017-05-22 20:03, Richard Henderson wrote: > > > Signed-off-by: Richard Henderson <rth@twiddle.net> > > > --- > > > target/s390x/insn-data.def | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def > > > index 4c91f30..8604847 100644 > > > --- a/target/s390x/insn-data.def > > > +++ b/target/s390x/insn-data.def > > > @@ -838,6 +838,7 @@ > > > #ifndef CONFIG_USER_ONLY > > > /* COMPARE AND SWAP AND PURGE */ > > > D(0xb250, CSP, RRE, Z, r1_32u, ra2, r1_P, 0, csp, 0, MO_TEUL) > > > + D(0xb98a, CSPG, RRE, Z, r1_o, ra2, r1_P, 0, csp, 0, MO_TEQ) > > > > CSPG is part of the of the DAT-enhancement facility. I called it DAT_ENH > > in my local patches to match the name we have in the CPU features. > > The translator needs a large overhaul to bring it into line with the (more > recently added) facilities infrastructure. We don't currently enforce > anything. Agreed. That said it's actually useful to quickly check if all the instructions of a given facility have been implemented and then flip the corresponding facility bit.
diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index 4c91f30..8604847 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -838,6 +838,7 @@ #ifndef CONFIG_USER_ONLY /* COMPARE AND SWAP AND PURGE */ D(0xb250, CSP, RRE, Z, r1_32u, ra2, r1_P, 0, csp, 0, MO_TEUL) + D(0xb98a, CSPG, RRE, Z, r1_o, ra2, r1_P, 0, csp, 0, MO_TEQ) /* DIAGNOSE (KVM hypercall) */ C(0x8300, DIAG, RSI, Z, 0, 0, 0, 0, diag, 0) /* INSERT STORAGE KEY EXTENDED */
Signed-off-by: Richard Henderson <rth@twiddle.net> --- target/s390x/insn-data.def | 1 + 1 file changed, 1 insertion(+)