On 8/1/19 11:30 AM, Peter Maydell wrote: > Currently the SPARC target uses the old-style do_unassigned_access > hook. We want to switch it over to do_transaction_failed, but to do > this we must first remove all the direct calls in ldst_helper.c to > cpu_unassigned_access(). Factor out the body of the hook function's > code into a new sparc_raise_mmu_fault() and call it from the hook and > from the various places that used to call cpu_unassigned_access(). > > In passing, this fixes a bug where the code that raised the > MMU exception was directly calling GETPC() from a function that > was several levels deep in the callstack from the original > helper function: the new sparc_raise_mmu_fault() instead takes > the return address as an argument. > > Other than the use of retaddr rather than GETPC() and a comment > format fixup, the body of the new function has no changes from > that of the old hook function. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > target/sparc/ldst_helper.c | 201 +++++++++++++++++++------------------ > 1 file changed, 106 insertions(+), 95 deletions(-)
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~