Message ID | 20181207103631.28193-25-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/arm: Implement ARMv8.3-PAuth | expand |
On Fri, 7 Dec 2018 at 10:37, Richard Henderson <richard.henderson@linaro.org> wrote: > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > target/arm/cpu64.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c > index 1d57be0c91..84f70b2a24 100644 > --- a/target/arm/cpu64.c > +++ b/target/arm/cpu64.c > @@ -316,6 +316,10 @@ static void aarch64_max_initfn(Object *obj) > > t = cpu->isar.id_aa64isar1; > t = FIELD_DP64(t, ID_AA64ISAR1, FCMA, 1); > + t = FIELD_DP64(t, ID_AA64ISAR1, APA, 1); /* PAuth, architected only */ > + t = FIELD_DP64(t, ID_AA64ISAR1, API, 0); > + t = FIELD_DP64(t, ID_AA64ISAR1, GPA, 1); > + t = FIELD_DP64(t, ID_AA64ISAR1, GPI, 0); > cpu->isar.id_aa64isar1 = t; > > t = cpu->isar.id_aa64pfr0; I don't see why this is enabling for user-only and not also for system: what am I missing ? thanks -- PMM
On 12/11/18 9:45 AM, Peter Maydell wrote: > On Fri, 7 Dec 2018 at 10:37, Richard Henderson > <richard.henderson@linaro.org> wrote: >> >> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> >> --- >> target/arm/cpu64.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c >> index 1d57be0c91..84f70b2a24 100644 >> --- a/target/arm/cpu64.c >> +++ b/target/arm/cpu64.c >> @@ -316,6 +316,10 @@ static void aarch64_max_initfn(Object *obj) >> >> t = cpu->isar.id_aa64isar1; >> t = FIELD_DP64(t, ID_AA64ISAR1, FCMA, 1); >> + t = FIELD_DP64(t, ID_AA64ISAR1, APA, 1); /* PAuth, architected only */ >> + t = FIELD_DP64(t, ID_AA64ISAR1, API, 0); >> + t = FIELD_DP64(t, ID_AA64ISAR1, GPA, 1); >> + t = FIELD_DP64(t, ID_AA64ISAR1, GPI, 0); >> cpu->isar.id_aa64isar1 = t; >> >> t = cpu->isar.id_aa64pfr0; > > I don't see why this is enabling for user-only and > not also for system: what am I missing ? Err.. more brain fluff. This does enable for system; it's the next patch that's for user-only. r~
diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 1d57be0c91..84f70b2a24 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -316,6 +316,10 @@ static void aarch64_max_initfn(Object *obj) t = cpu->isar.id_aa64isar1; t = FIELD_DP64(t, ID_AA64ISAR1, FCMA, 1); + t = FIELD_DP64(t, ID_AA64ISAR1, APA, 1); /* PAuth, architected only */ + t = FIELD_DP64(t, ID_AA64ISAR1, API, 0); + t = FIELD_DP64(t, ID_AA64ISAR1, GPA, 1); + t = FIELD_DP64(t, ID_AA64ISAR1, GPI, 0); cpu->isar.id_aa64isar1 = t; t = cpu->isar.id_aa64pfr0;
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/arm/cpu64.c | 4 ++++ 1 file changed, 4 insertions(+) -- 2.17.2