summaryrefslogtreecommitdiff
path: root/cpu/simple_cpu
diff options
context:
space:
mode:
authorErik Hallnor <ehallnor@umich.edu>2004-09-28 16:55:55 -0400
committerErik Hallnor <ehallnor@umich.edu>2004-09-28 16:55:55 -0400
commit34742515f53fa807faa1809ef3cc7d319b9a244e (patch)
tree0171dad7be29509064854f01a25deb8842fe661b /cpu/simple_cpu
parenta7c089ab06c863c794f2096a2c321b7e31ead5b6 (diff)
downloadgem5-34742515f53fa807faa1809ef3cc7d319b9a244e.tar.xz
Add opt cpu and fix page copy warnings
SConscript: Add opt_cpu cpu/simple_cpu/simple_cpu.cc: Fix page spanning copy warning. cpu/trace/reader/itx_reader.cc: Fix reader to return correct address. --HG-- extra : convert_revision : f03e244971af4197743c7c717d64f21db0ae42d3
Diffstat (limited to 'cpu/simple_cpu')
-rw-r--r--cpu/simple_cpu/simple_cpu.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/cpu/simple_cpu/simple_cpu.cc b/cpu/simple_cpu/simple_cpu.cc
index 18e660483..0b45d2b9d 100644
--- a/cpu/simple_cpu/simple_cpu.cc
+++ b/cpu/simple_cpu/simple_cpu.cc
@@ -345,8 +345,9 @@ SimpleCPU::copySrcTranslate(Addr src)
int offset = src & (blk_size - 1);
// Make sure block doesn't span page
- if (no_warn && (src & (~8191)) == ((src + blk_size) & (~8191))) {
- warn("Copied block source spans pages.");
+ if (no_warn && (src & (~8191)) != ((src + blk_size) & (~8191)) &&
+ (src >> 40) != 0xfffffc) {
+ warn("Copied block source spans pages %x.", src);
no_warn = false;
}
@@ -380,9 +381,10 @@ SimpleCPU::copy(Addr dest)
int offset = dest & (blk_size - 1);
// Make sure block doesn't span page
- if (no_warn && (dest & (~8191)) == ((dest + blk_size) & (~8191))) {
+ if (no_warn && (dest & (~8191)) != ((dest + blk_size) & (~8191)) &&
+ (dest >> 40) != 0xfffffc) {
no_warn = false;
- warn("Copied block destination spans pages. ");
+ warn("Copied block destination spans pages %x. ", dest);
}
memReq->reset(dest & ~(blk_size -1), blk_size);