target/s390x/mmu: Replace [cpu_physical_memory -> address_space]_rw()
When cpu_address_space_init() isn't called during vCPU creation, its single address space is the global &address_space_memory. As s390x boards don't call cpu_address_space_init(), cpu->as points to &address_space_memory. We can then replace cpu_physical_memory_rw() by the semantically equivalent address_space_rw() call. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20251002084203.63899-9-philmd@linaro.org>
This commit is contained in:
parent
0d4e15e8f8
commit
2fd38d9c29
1 changed files with 6 additions and 2 deletions
|
|
@ -23,6 +23,7 @@
|
|||
#include "kvm/kvm_s390x.h"
|
||||
#include "system/kvm.h"
|
||||
#include "system/tcg.h"
|
||||
#include "system/memory.h"
|
||||
#include "exec/page-protection.h"
|
||||
#include "exec/target_page.h"
|
||||
#include "hw/hw.h"
|
||||
|
|
@ -522,6 +523,7 @@ int s390_cpu_pv_mem_rw(S390CPU *cpu, unsigned int offset, void *hostbuf,
|
|||
int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
|
||||
int len, bool is_write)
|
||||
{
|
||||
const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED;
|
||||
int currlen, nr_pages, i;
|
||||
target_ulong *pages;
|
||||
uint64_t tec;
|
||||
|
|
@ -542,11 +544,13 @@ int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
|
|||
if (ret) {
|
||||
trigger_access_exception(&cpu->env, ret, tec);
|
||||
} else if (hostbuf != NULL) {
|
||||
AddressSpace *as = CPU(cpu)->as;
|
||||
|
||||
/* Copy data by stepping through the area page by page */
|
||||
for (i = 0; i < nr_pages; i++) {
|
||||
currlen = MIN(len, TARGET_PAGE_SIZE - (laddr % TARGET_PAGE_SIZE));
|
||||
cpu_physical_memory_rw(pages[i] | (laddr & ~TARGET_PAGE_MASK),
|
||||
hostbuf, currlen, is_write);
|
||||
address_space_rw(as, pages[i] | (laddr & ~TARGET_PAGE_MASK),
|
||||
attrs, hostbuf, currlen, is_write);
|
||||
laddr += currlen;
|
||||
hostbuf += currlen;
|
||||
len -= currlen;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue