https://bugs.kde.org/show_bug.cgi?id=392146

--- Comment #30 from Paul Floyd <pjfl...@wanadoo.fr> ---
Going through the patch register by register.

MIDR_EL1 I think that this is OK and can be applied as-is. I might try to write
a test that generates the expected on the fly.

MPIDR_EL1 FreeBSD sets the affinity masks and MT. I don't think that is of any
concern in Valgrind so I'll ignore it for now.

REVDIR_EL1 same as standalone on both platforms

ID_AA64PFR0_EL1 looks OK. Also turns off all the exception level settings but
from what I see that only affects kernel code and userland is all EL0

ID_AA64PFR1_EL1 looks OK, this is turning off a flag that says the CPU can mark
regions as speculation safe, meaningless under Valgrind.

ID_AA64ZFR0_EL1 looks OK, FreeBSD sets BRP and WRP - hardware debug registers.
Might affect gdb or lldb under Valgrind, or are they only for kernel debuggers?

ID_AA64DFR1_EL1 looks OK manual says this returns 64bits RES0

ID_AA64AFR0_EL1 looks OK manual says this is RES0 / implementation defined

ID_AA64AFR1_EL1 looks OK manual says this returns 64bits RES0

ID_AA64ISAR0_EL1 ISA feature register. Fairly important!

In the patch
+   /* Clear all but AES, SHA1 and SHA2 parts*/
+   w &= ~0xFFFF;

That looks wrong to me. AES and SHA are in the lowest 16 bits, I think that
negation shouldn't be there.
We need to set DP bits 47-44  (if available on the underlying hardware) since
f42b9a434e12bc14ec821183a69b86e91da0577c added those instructions.
We need to set RDM bits 31-28 since a8c274d0682b7265af7a5a9c71251d48169c9dc9
We need to set Atomic bits 23-20 since f1cf734554320e92f0dfc80125dfc2a7e5356ff2
Finally we need to set CRC32 since 6c99d37dd036d562b6a56cce576d125d0d239a3a
The lowest 16 bits are already covered above.

ID_AA64ISAR1_EL1 more ISA features
OK for the moment, will need to be updated when
https://bugs.kde.org/show_bug.cgi?id=440095 gets applied

ID_AA64MMFR0_EL1
ID_AA64MMFR1_EL1
ID_AA64MMFR2_EL1
First two just pass values via dirty helpers. Last one uses constant zero.
Looks OK.

So, in summary, I'll look at updating ID_AA64ISAR0_EL1, think about writing
some tests.  And look at the other registers later.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to