target-arm: Drop success/fail return from cpreg read and write functions
All cpreg read and write functions now return 0, so we can clean uptheir prototypes: * write functions return void * read functions return the value rather than taking a pointer to write the value to...
target-arm: Remove unnecessary code now read/write fns can't fail
Now that cpreg read and write functions can't fail and throw anexception, we can remove the code from the translator that synchronisesthe guest PC in case an exception is thrown.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target-arm: Convert generic timer reginfo to accessfn
Convert the reginfo structs for the generic timer registersto use access functions rather than returning EXCP_UDEF fromtheir read handlers. In some cases this allows us to removea read handler completely....
target-arm: Convert miscellaneous reginfo structs to accessfn
Convert the remaining miscellaneous cases of reginfo read/writefunctions returning EXCP_UDEF to use an accessfn instead:TEEHBR, and the ATS address-translation operations.
target-arm: Log bad system register accesses with LOG_UNIMP
Log guest attempts to access unimplemented system registers viathe LOG_UNIMP reporting mechanism (for both the 32 bit and 64 bitinstruction sets). This is particularly useful for debuggingproblems where the guest is trying to use a system register that...
target-arm: Stop underdecoding ARM946 PRBS registers
The ARM946 has 8 PRBS (protection region base and size) registers.Currently we implement these with a CP_ANY reginfo; however thisunderdecodes (since there are 16 possible values of CRm but only8 registers) and we catch the invalid values in the read and...
target-arm: Split cpreg access checks out from read/write functions
Several of the system registers handled via the ARMCPRegInfomechanism have access trap control bits controlling whether theregisters are accessible to lower privilege levels. Replacethe existing mechanism (allowing the read and write functions...
target-arm: Convert performance monitor reginfo to accessfn
Convert the performance monitor reginfo definitions to usean accessfn rather than returning EXCP_UDEF from read andwrite functions. This also allows us to fix a couple of XXXcases where we weren't imposing the access restrictions on...
target-arm: Restrict check_ap() use of S and R bits to v6 and earlier
The SCTLR bits S and R (8 and 9) only exist in ARMv6 and earlier.In ARMv7 these bits RAZ, and in ARMv8 they are reassigned. Guardthe use of them in check_ap() so that we don't get incorrect results...
target-arm: Remove unused ARMCPUState sr substruct
Remove the 'struct sr' from ARMCPUState -- it isn't actually used and isa hangover from the original separate system register implementation usedby the SuSE linux-user-mode-only AArch64 target.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>...
View all revisions | View revisions
Also available in: Atom