diff options
author | Andrew Schultz <alschult@umich.edu> | 2004-05-11 18:06:50 -0400 |
---|---|---|
committer | Andrew Schultz <alschult@umich.edu> | 2004-05-11 18:06:50 -0400 |
commit | 3bfb59f70d4bf8ca7b9e6a0bdbcacdbbebf41403 (patch) | |
tree | 38265703cdce2674d31de1dcb18c6effb1ae901b /dev/tsunami_pchip.cc | |
parent | 4a5dcc37bfb26c152c195061fa70c7aa246b5ca6 (diff) | |
download | gem5-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.cc | 2 |
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; |