diff options
author | Gabe Black <gabeblack@google.com> | 2019-05-02 02:16:33 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2019-05-30 14:20:03 +0000 |
commit | 5365c18f2e309b54d3e37dc98d8cca20ec9d4219 (patch) | |
tree | da93a5b6abd743177d3b5841436383fbc3a24836 /src/arch | |
parent | 74e494e1a28562245d9733df61739ea3cc32f92d (diff) | |
download | gem5-5365c18f2e309b54d3e37dc98d8cca20ec9d4219.tar.xz |
arch, base, cpu, gpu, sim: Merge getMemProxy and getVirtProxy.
These two functions were performing the same function but had two
different names for historical reasons. This change merges them
together, keeping the getVirtProxy name to be consistent with the
getPhysProxy method used to get a non-translating proxy port.
Change-Id: Idd83c6b899f9343795075b030ccbc723a79e52a4
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18581
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/alpha/linux/process.cc | 6 | ||||
-rw-r--r-- | src/arch/arm/freebsd/process.cc | 16 | ||||
-rw-r--r-- | src/arch/arm/linux/process.cc | 18 | ||||
-rw-r--r-- | src/arch/mips/linux/process.cc | 6 | ||||
-rw-r--r-- | src/arch/power/linux/process.cc | 2 | ||||
-rw-r--r-- | src/arch/riscv/linux/process.cc | 4 | ||||
-rw-r--r-- | src/arch/sparc/linux/syscalls.cc | 8 | ||||
-rw-r--r-- | src/arch/sparc/process.cc | 4 | ||||
-rw-r--r-- | src/arch/sparc/solaris/process.cc | 2 | ||||
-rw-r--r-- | src/arch/x86/linux/process.cc | 12 | ||||
-rw-r--r-- | src/arch/x86/pseudo_inst.cc | 2 |
11 files changed, 40 insertions, 40 deletions
diff --git a/src/arch/alpha/linux/process.cc b/src/arch/alpha/linux/process.cc index d342c5d2d..f129b263f 100644 --- a/src/arch/alpha/linux/process.cc +++ b/src/arch/alpha/linux/process.cc @@ -89,7 +89,7 @@ unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003"); strcpy(name->machine, "alpha"); - name.copyOut(tc->getMemProxy()); + name.copyOut(tc->getVirtProxy()); return 0; } @@ -111,7 +111,7 @@ osf_getsysinfoFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) TypedBufferArg<uint64_t> fpcr(bufPtr); // I don't think this exactly matches the HW FPCR *fpcr = 0; - fpcr.copyOut(tc->getMemProxy()); + fpcr.copyOut(tc->getVirtProxy()); return 0; } @@ -139,7 +139,7 @@ osf_setsysinfoFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) case 14: { // SSI_IEEE_FP_CONTROL TypedBufferArg<uint64_t> fpcr(bufPtr); // I don't think this exactly matches the HW FPCR - fpcr.copyIn(tc->getMemProxy()); + fpcr.copyIn(tc->getVirtProxy()); DPRINTFR(SyscallVerbose, "osf_setsysinfo(SSI_IEEE_FP_CONTROL): " " setting FPCR to 0x%x\n", gtoh(*(uint64_t*)fpcr)); return 0; diff --git a/src/arch/arm/freebsd/process.cc b/src/arch/arm/freebsd/process.cc index 41549eaab..69424c989 100644 --- a/src/arch/arm/freebsd/process.cc +++ b/src/arch/arm/freebsd/process.cc @@ -109,13 +109,13 @@ sysctlFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) BufferArg buf3(oldlenp, sizeof(size_t)); BufferArg buf4(newp, sizeof(size_t)); - buf.copyIn(tc->getMemProxy()); - buf2.copyIn(tc->getMemProxy()); - buf3.copyIn(tc->getMemProxy()); + buf.copyIn(tc->getVirtProxy()); + buf2.copyIn(tc->getVirtProxy()); + buf3.copyIn(tc->getVirtProxy()); void *hnewp = NULL; if (newp) { - buf4.copyIn(tc->getMemProxy()); + buf4.copyIn(tc->getVirtProxy()); hnewp = (void *)buf4.bufferPtr(); } @@ -125,11 +125,11 @@ sysctlFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) ret = sysctl((int *)hnamep, namelen, holdp, holdlenp, hnewp, newlen); - buf.copyOut(tc->getMemProxy()); - buf2.copyOut(tc->getMemProxy()); - buf3.copyOut(tc->getMemProxy()); + buf.copyOut(tc->getVirtProxy()); + buf2.copyOut(tc->getVirtProxy()); + buf3.copyOut(tc->getVirtProxy()); if (newp) - buf4.copyOut(tc->getMemProxy()); + buf4.copyOut(tc->getVirtProxy()); return (ret); } diff --git a/src/arch/arm/linux/process.cc b/src/arch/arm/linux/process.cc index 3fcb01fe7..426f66a55 100644 --- a/src/arch/arm/linux/process.cc +++ b/src/arch/arm/linux/process.cc @@ -117,7 +117,7 @@ unameFunc32(SyscallDesc *desc, int callnum, ThreadContext *tc) strcpy(name->version, "#1 SMP Sat Dec 1 00:00:00 GMT 2012"); strcpy(name->machine, "armv7l"); - name.copyOut(tc->getMemProxy()); + name.copyOut(tc->getVirtProxy()); return 0; } @@ -135,7 +135,7 @@ unameFunc64(SyscallDesc *desc, int callnum, ThreadContext *tc) strcpy(name->version, "#1 SMP Sat Dec 1 00:00:00 GMT 2012"); strcpy(name->machine, "armv8l"); - name.copyOut(tc->getMemProxy()); + name.copyOut(tc->getVirtProxy()); return 0; } @@ -147,7 +147,7 @@ setTLSFunc32(SyscallDesc *desc, int callnum, ThreadContext *tc) auto process = tc->getProcessPtr(); uint32_t tlsPtr = process->getSyscallArg(tc, index); - tc->getMemProxy().writeBlob(ArmLinuxProcess32::commPage + 0x0ff0, + tc->getVirtProxy().writeBlob(ArmLinuxProcess32::commPage + 0x0ff0, &tlsPtr, sizeof(tlsPtr)); tc->setMiscReg(MISCREG_TPIDRURO,tlsPtr); return 0; @@ -1737,8 +1737,8 @@ ArmLinuxProcess32::initState() // Fill this page with swi -1 so we'll no if we land in it somewhere. for (Addr addr = 0; addr < PageBytes; addr += sizeof(swiNeg1)) { - tc->getMemProxy().writeBlob(commPage + addr, - swiNeg1, sizeof(swiNeg1)); + tc->getVirtProxy().writeBlob(commPage + addr, + swiNeg1, sizeof(swiNeg1)); } uint8_t memory_barrier[] = @@ -1746,8 +1746,8 @@ ArmLinuxProcess32::initState() 0x5f, 0xf0, 0x7f, 0xf5, // dmb 0x0e, 0xf0, 0xa0, 0xe1 // return }; - tc->getMemProxy().writeBlob(commPage + 0x0fa0, memory_barrier, - sizeof(memory_barrier)); + tc->getVirtProxy().writeBlob(commPage + 0x0fa0, memory_barrier, + sizeof(memory_barrier)); uint8_t cmpxchg[] = { @@ -1760,7 +1760,7 @@ ArmLinuxProcess32::initState() 0x5f, 0xf0, 0x7f, 0xf5, // dmb 0x0e, 0xf0, 0xa0, 0xe1 // return }; - tc->getMemProxy().writeBlob(commPage + 0x0fc0, cmpxchg, sizeof(cmpxchg)); + tc->getVirtProxy().writeBlob(commPage + 0x0fc0, cmpxchg, sizeof(cmpxchg)); uint8_t get_tls[] = { @@ -1768,7 +1768,7 @@ ArmLinuxProcess32::initState() 0x70, 0x0f, 0x1d, 0xee, // mrc p15, 0, r0, c13, c0, 3 0x0e, 0xf0, 0xa0, 0xe1 // return }; - tc->getMemProxy().writeBlob(commPage + 0x0fe0, get_tls, sizeof(get_tls)); + tc->getVirtProxy().writeBlob(commPage + 0x0fe0, get_tls, sizeof(get_tls)); } void diff --git a/src/arch/mips/linux/process.cc b/src/arch/mips/linux/process.cc index 9efaf2624..596f2dda0 100644 --- a/src/arch/mips/linux/process.cc +++ b/src/arch/mips/linux/process.cc @@ -92,7 +92,7 @@ unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003"); strcpy(name->machine, "mips"); - name.copyOut(tc->getMemProxy()); + name.copyOut(tc->getVirtProxy()); return 0; } @@ -115,7 +115,7 @@ sys_getsysinfoFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) TypedBufferArg<uint64_t> fpcr(bufPtr); // I don't think this exactly matches the HW FPCR *fpcr = 0; - fpcr.copyOut(tc->getMemProxy()); + fpcr.copyOut(tc->getVirtProxy()); return 0; } default: @@ -144,7 +144,7 @@ sys_setsysinfoFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) // SSI_IEEE_FP_CONTROL TypedBufferArg<uint64_t> fpcr(bufPtr); // I don't think this exactly matches the HW FPCR - fpcr.copyIn(tc->getMemProxy()); + fpcr.copyIn(tc->getVirtProxy()); DPRINTFR(SyscallVerbose, "sys_setsysinfo(SSI_IEEE_FP_CONTROL): " " setting FPCR to 0x%x\n", gtoh(*(uint64_t*)fpcr)); return 0; diff --git a/src/arch/power/linux/process.cc b/src/arch/power/linux/process.cc index 8a5cd137c..97032d989 100644 --- a/src/arch/power/linux/process.cc +++ b/src/arch/power/linux/process.cc @@ -92,7 +92,7 @@ unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003"); strcpy(name->machine, "power"); - name.copyOut(tc->getMemProxy()); + name.copyOut(tc->getVirtProxy()); return 0; } diff --git a/src/arch/riscv/linux/process.cc b/src/arch/riscv/linux/process.cc index 8aebd558e..6708e026f 100644 --- a/src/arch/riscv/linux/process.cc +++ b/src/arch/riscv/linux/process.cc @@ -100,7 +100,7 @@ unameFunc64(SyscallDesc *desc, int callnum, ThreadContext *tc) strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003"); strcpy(name->machine, "riscv64"); - name.copyOut(tc->getMemProxy()); + name.copyOut(tc->getVirtProxy()); return 0; } @@ -118,7 +118,7 @@ unameFunc32(SyscallDesc *desc, int callnum, ThreadContext *tc) strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003"); strcpy(name->machine, "riscv32"); - name.copyOut(tc->getMemProxy()); + name.copyOut(tc->getVirtProxy()); return 0; } diff --git a/src/arch/sparc/linux/syscalls.cc b/src/arch/sparc/linux/syscalls.cc index 70d1b2af6..1abe2476c 100644 --- a/src/arch/sparc/linux/syscalls.cc +++ b/src/arch/sparc/linux/syscalls.cc @@ -51,7 +51,7 @@ unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003"); strcpy(name->machine, "sparc"); - name.copyOut(tc->getMemProxy()); + name.copyOut(tc->getVirtProxy()); return 0; } @@ -71,19 +71,19 @@ getresuidFunc(SyscallDesc *desc, int num, ThreadContext *tc) if (ruid) { BufferArg ruidBuff(ruid, sizeof(uint64_t)); memcpy(ruidBuff.bufferPtr(), &id, sizeof(uint64_t)); - ruidBuff.copyOut(tc->getMemProxy()); + ruidBuff.copyOut(tc->getVirtProxy()); } // Set the euid if (euid) { BufferArg euidBuff(euid, sizeof(uint64_t)); memcpy(euidBuff.bufferPtr(), &id, sizeof(uint64_t)); - euidBuff.copyOut(tc->getMemProxy()); + euidBuff.copyOut(tc->getVirtProxy()); } // Set the suid if (suid) { BufferArg suidBuff(suid, sizeof(uint64_t)); memcpy(suidBuff.bufferPtr(), &id, sizeof(uint64_t)); - suidBuff.copyOut(tc->getMemProxy()); + suidBuff.copyOut(tc->getVirtProxy()); } return 0; } diff --git a/src/arch/sparc/process.cc b/src/arch/sparc/process.cc index 3bd3ea0bf..d89c606a3 100644 --- a/src/arch/sparc/process.cc +++ b/src/arch/sparc/process.cc @@ -451,7 +451,7 @@ void Sparc32Process::flushWindows(ThreadContext *tc) for (int index = 16; index < 32; index++) { uint32_t regVal = tc->readIntReg(index); regVal = htog(regVal); - if (!tc->getMemProxy().tryWriteBlob( + if (!tc->getVirtProxy().tryWriteBlob( sp + (index - 16) * 4, (uint8_t *)®Val, 4)) { warn("Failed to save register to the stack when " "flushing windows.\n"); @@ -486,7 +486,7 @@ Sparc64Process::flushWindows(ThreadContext *tc) for (int index = 16; index < 32; index++) { RegVal regVal = tc->readIntReg(index); regVal = htog(regVal); - if (!tc->getMemProxy().tryWriteBlob( + if (!tc->getVirtProxy().tryWriteBlob( sp + 2047 + (index - 16) * 8, (uint8_t *)®Val, 8)) { warn("Failed to save register to the stack when " "flushing windows.\n"); diff --git a/src/arch/sparc/solaris/process.cc b/src/arch/sparc/solaris/process.cc index 3a13229ed..fb38c77ee 100644 --- a/src/arch/sparc/solaris/process.cc +++ b/src/arch/sparc/solaris/process.cc @@ -84,7 +84,7 @@ unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) strcpy(name->version, "Generic_118558-21"); strcpy(name->machine, "sun4u"); - name.copyOut(tc->getMemProxy()); + name.copyOut(tc->getVirtProxy()); return 0; } diff --git a/src/arch/x86/linux/process.cc b/src/arch/x86/linux/process.cc index 1d8bcbf6c..8a58ee1fe 100644 --- a/src/arch/x86/linux/process.cc +++ b/src/arch/x86/linux/process.cc @@ -103,7 +103,7 @@ unameFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) strcpy(name->version, "#1 Mon Aug 18 11:32:15 EDT 2003"); strcpy(name->machine, "x86_64"); - name.copyOut(tc->getMemProxy()); + name.copyOut(tc->getVirtProxy()); return 0; } @@ -125,7 +125,7 @@ archPrctlFunc(SyscallDesc *desc, int callnum, ThreadContext *tc) int code = process->getSyscallArg(tc, index); uint64_t addr = process->getSyscallArg(tc, index); uint64_t fsBase, gsBase; - PortProxy &p = tc->getMemProxy(); + PortProxy &p = tc->getVirtProxy(); switch(code) { // Each of these valid options should actually check addr. @@ -194,10 +194,10 @@ setThreadArea32Func(SyscallDesc *desc, int callnum, ThreadContext *tc) gdt(x86p->gdtStart() + minTLSEntry * sizeof(uint64_t), numTLSEntries * sizeof(uint64_t)); - if (!userDesc.copyIn(tc->getMemProxy())) + if (!userDesc.copyIn(tc->getVirtProxy())) return -EFAULT; - if (!gdt.copyIn(tc->getMemProxy())) + if (!gdt.copyIn(tc->getVirtProxy())) panic("Failed to copy in GDT for %s.\n", desc->name()); if (userDesc->entry_number == (uint32_t)(-1)) { @@ -249,9 +249,9 @@ setThreadArea32Func(SyscallDesc *desc, int callnum, ThreadContext *tc) gdt[index] = (uint64_t)segDesc; - if (!userDesc.copyOut(tc->getMemProxy())) + if (!userDesc.copyOut(tc->getVirtProxy())) return -EFAULT; - if (!gdt.copyOut(tc->getMemProxy())) + if (!gdt.copyOut(tc->getVirtProxy())) panic("Failed to copy out GDT for %s.\n", desc->name()); return 0; diff --git a/src/arch/x86/pseudo_inst.cc b/src/arch/x86/pseudo_inst.cc index 253c91441..6c1a7f8bf 100644 --- a/src/arch/x86/pseudo_inst.cc +++ b/src/arch/x86/pseudo_inst.cc @@ -68,7 +68,7 @@ m5PageFault(ThreadContext *tc) Process *p = tc->getProcessPtr(); if (!p->fixupStackFault(tc->readMiscReg(MISCREG_CR2))) { - PortProxy &proxy = tc->getMemProxy(); + PortProxy &proxy = tc->getVirtProxy(); // at this point we should have 6 values on the interrupt stack int size = 6; uint64_t is[size]; |