summaryrefslogtreecommitdiff
path: root/dev/tsunami_pchip.cc
diff options
context:
space:
mode:
authorAndrew Schultz <alschult@umich.edu>2004-05-11 18:06:50 -0400
committerAndrew Schultz <alschult@umich.edu>2004-05-11 18:06:50 -0400
commit3bfb59f70d4bf8ca7b9e6a0bdbcacdbbebf41403 (patch)
tree38265703cdce2674d31de1dcb18c6effb1ae901b /dev/tsunami_pchip.cc
parent4a5dcc37bfb26c152c195061fa70c7aa246b5ca6 (diff)
downloadgem5-3bfb59f70d4bf8ca7b9e6a0bdbcacdbbebf41403.tar.xz
Changes to fix bad DMA handling by disk when using scatter gather page
mappings (writes still unverified, and read could probably be looked over a bit more too) dev/ide_disk.cc: dev/ide_disk.hh: Major changes to fix bogus handling of dma transfers. The read seems to work pretty well, but the write is unverfied until we can get a disk image that actually tries to write. dev/tsunami_pchip.cc: Change mask to properly mask 13 bits not 12 --HG-- extra : convert_revision : 08fe9bc32970e449cd045de479553a96a4e389d6
Diffstat (limited to 'dev/tsunami_pchip.cc')
-rw-r--r--dev/tsunami_pchip.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/dev/tsunami_pchip.cc b/dev/tsunami_pchip.cc
index ea23cce08..dabf6bf40 100644
--- a/dev/tsunami_pchip.cc
+++ b/dev/tsunami_pchip.cc
@@ -263,7 +263,7 @@ TsunamiPChip::translatePciToDma(Addr busAddr)
physmem->dma_addr(pteAddr, sizeof(uint64_t)),
sizeof(uint64_t));
- dmaAddr = ((pteEntry & ~0x1) << 12) | (busAddr & 0xfff);
+ dmaAddr = ((pteEntry & ~0x1) << 12) | (busAddr & 0x1fff);
} else {
baMask = (wsm[i] & (0x7ff << 20)) | 0xfffff;