diff options
author | Benjamin Nash <benash@umich.edu> | 2005-07-01 15:57:14 -0400 |
---|---|---|
committer | Benjamin Nash <benash@umich.edu> | 2005-07-01 15:57:14 -0400 |
commit | 6d7911dea0a4f60cbe6726416a9e3248843cc03b (patch) | |
tree | df48c6631e28a368a27f04b6a7ddee854f938d2b /dev/pcidev.cc | |
parent | 6bf97032135fcff8eb4993409cef3511db800e6c (diff) | |
parent | 4f2480a18bdf98792e2ebf3471ce7cd3109ef824 (diff) | |
download | gem5-6d7911dea0a4f60cbe6726416a9e3248843cc03b.tar.xz |
Hand merge ide_disk.cc
dev/ide_disk.cc:
Don't initialize data to 0.
--HG--
extra : convert_revision : 643bcf15b52c3e14231d8136b8cb049a8896457a
Diffstat (limited to 'dev/pcidev.cc')
-rw-r--r-- | dev/pcidev.cc | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/dev/pcidev.cc b/dev/pcidev.cc index 93200a8c7..7f4acea1c 100644 --- a/dev/pcidev.cc +++ b/dev/pcidev.cc @@ -78,33 +78,35 @@ PciDev::ReadConfig(int offset, int size, uint8_t *data) switch(size) { case sizeof(uint32_t): - memcpy((uint8_t*)data, config.data + offset, sizeof(uint32_t)); + memcpy(data, &config.data[offset], sizeof(uint32_t)); *(uint32_t*)data = htoa(*(uint32_t*)data); + DPRINTF(PCIDEV, "read device: %#x function: %#x register: %#x %d bytes: data: %#x\n", params()->deviceNum, params()->functionNum, offset, size, - *(uint32_t*)(config.data + offset)); + *(uint32_t*)data); break; case sizeof(uint16_t): - memcpy((uint8_t*)data, config.data + offset, sizeof(uint16_t)); + memcpy(data, &config.data[offset], sizeof(uint16_t)); *(uint16_t*)data = htoa(*(uint16_t*)data); + DPRINTF(PCIDEV, "read device: %#x function: %#x register: %#x %d bytes: data: %#x\n", params()->deviceNum, params()->functionNum, offset, size, - *(uint16_t*)(config.data + offset)); + *(uint16_t*)data); break; case sizeof(uint8_t): - memcpy((uint8_t*)data, config.data + offset, sizeof(uint8_t)); + memcpy(data, &config.data[offset], sizeof(uint8_t)); DPRINTF(PCIDEV, "read device: %#x function: %#x register: %#x %d bytes: data: %#x\n", params()->deviceNum, params()->functionNum, offset, size, - (uint16_t)(*(uint8_t*)(config.data + offset))); + *data); break; default: - panic("Invalid Read Size"); + panic("Invalid PCI configuration read size!\n"); } } |