From: Philippe Mathieu-Daudé Date: Wed, 4 Feb 2026 21:44:39 +0000 (+0100) Subject: target/sparc: Replace legacy st_phys() -> address_space_st() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=11eb2f873b55575c7ee1af3364917c1b231ab15b;p=thirdparty%2Fqemu.git target/sparc: Replace legacy st_phys() -> address_space_st() Prefer the address_space_ld/st API over the legacy ld_phys() because it allow checking for bus access fault. get_physical_address() already accessed the PTE stored at %pde_ptr and is going to update it. Assume the address space is also writeable there. The SPARC v8 manual only mentions faults (with error condition bits updated) in the READ path but not on the WRITE (update) one. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20260204215304.52757-2-philmd@linaro.org> --- diff --git a/target/sparc/mmu_helper.c b/target/sparc/mmu_helper.c index 5a58239d65..a6f76a1ab7 100644 --- a/target/sparc/mmu_helper.c +++ b/target/sparc/mmu_helper.c @@ -190,7 +190,9 @@ static int get_physical_address(CPUSPARCState *env, CPUTLBEntryFull *full, if (is_dirty) { pde |= PG_MODIFIED_MASK; } - stl_be_phys(cs->as, pde_ptr, pde); + address_space_stl_be(cs->as, pde_ptr, pde, + MEMTXATTRS_UNSPECIFIED, &result); + assert(result == MEMTX_OK); } /* the page can be put in the TLB */