diff options
author | Andrew Schultz <alschult@umich.edu> | 2004-06-03 17:48:05 -0400 |
---|---|---|
committer | Andrew Schultz <alschult@umich.edu> | 2004-06-03 17:48:05 -0400 |
commit | 0408051f201cb5b19c4f8d5ec1d6e96de4a9aa3f (patch) | |
tree | e8f6a6735054a52c21e5f1b0bd215ceabffe8d24 /dev/ide_disk.hh | |
parent | 44a2a2336e7f0d2048d3e79cbabf2e081abc0916 (diff) | |
download | gem5-0408051f201cb5b19c4f8d5ec1d6e96de4a9aa3f.tar.xz |
Fixes in translation in PCI to DMA address to fix boot problems with
Linux 2.6 with DMA support
dev/ide_disk.cc:
Add debug infomation for DMA transfers and fix handling of PRD pointer
values
dev/ide_disk.hh:
Reduce buffer (MAX_DMA) size to 64K
dev/tsunami_pchip.cc:
dev/tsunami_pchip.hh:
Add handling of PCTL register and also fix the translate from PCI to DMA
addresses which was incorrect
--HG--
extra : convert_revision : 562f55fa1c7099ad0f5a23f59dec2c8ec7601d43
Diffstat (limited to 'dev/ide_disk.hh')
-rw-r--r-- | dev/ide_disk.hh | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/dev/ide_disk.hh b/dev/ide_disk.hh index eb8c8a047..8f1d582c9 100644 --- a/dev/ide_disk.hh +++ b/dev/ide_disk.hh @@ -40,8 +40,8 @@ #define DMA_BACKOFF_PERIOD 200 -#define MAX_DMA_SIZE (131072) // 256 * SectorSize (512) -#define MAX_MULTSECT (128) +#define MAX_DMA_SIZE (65536) // 64K +#define MAX_MULTSECT (128) #define PRD_BASE_MASK 0xfffffffe #define PRD_COUNT_MASK 0xfffe @@ -62,7 +62,7 @@ class PrdTableEntry { return (entry.baseAddr & PRD_BASE_MASK); } - uint16_t getByteCount() + uint32_t getByteCount() { return ((entry.byteCount == 0) ? MAX_DMA_SIZE : (entry.byteCount & PRD_COUNT_MASK)); |