diff options
author | Andreas Sandberg <andreas@sandberg.pp.se> | 2013-06-18 16:10:22 +0200 |
---|---|---|
committer | Andreas Sandberg <andreas@sandberg.pp.se> | 2013-06-18 16:10:22 +0200 |
commit | 6151c0f7f43f0e3b62a6a2887a4a80d1c2154a3b (patch) | |
tree | 552a910dbb81f8e2aab3af338e0bc85be8612c52 /src/mem | |
parent | 46a8cbbb7f55e92943cc26266edd98c774edadac (diff) | |
download | gem5-6151c0f7f43f0e3b62a6a2887a4a80d1c2154a3b.tar.xz |
kvm: Use the address finalization code in the TLB
Reuse the address finalization code in the TLB instead of replicating
it when handling MMIO. This patch also adds support for injecting
memory mapped IPR requests into the memory system.
Diffstat (limited to 'src/mem')
-rw-r--r-- | src/mem/request.hh | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mem/request.hh b/src/mem/request.hh index 11f1c74b3..ac6e3550b 100644 --- a/src/mem/request.hh +++ b/src/mem/request.hh @@ -321,15 +321,15 @@ class Request } /** - * Set just the physical address. This should only be used to - * record the result of a translation, and thus the vaddr must be - * valid before this method is called. Otherwise, use setPhys() - * to guarantee that the size and flags are also set. + * Set just the physical address. This usually used to record the + * result of a translation. However, when using virtualized CPUs + * setPhys() is sometimes called to finalize a physical address + * without a virtual address, so we can't check if the virtual + * address is valid. */ void setPaddr(Addr paddr) { - assert(privateFlags.isSet(VALID_VADDR)); _paddr = paddr; privateFlags.set(VALID_PADDR); } |