Commit 7bf5be70f78b10cb9e679217db1c770e607bb2fb
1 parent
fb9f9444
pci memory mapping fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@844 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
5 additions
and
4 deletions
hw/pci.c
| ... | ... | @@ -214,7 +214,7 @@ void pci_default_write_config(PCIDevice *d, |
| 214 | 214 | uint32_t address, uint32_t val, int len) |
| 215 | 215 | { |
| 216 | 216 | int can_write, i; |
| 217 | - uint32_t end; | |
| 217 | + uint32_t end, addr; | |
| 218 | 218 | |
| 219 | 219 | if (len == 4 && (address >= 0x10 && address < 0x10 + 4 * 6)) { |
| 220 | 220 | PCIIORegion *r; |
| ... | ... | @@ -233,9 +233,10 @@ void pci_default_write_config(PCIDevice *d, |
| 233 | 233 | } |
| 234 | 234 | default_config: |
| 235 | 235 | /* not efficient, but simple */ |
| 236 | + addr = address; | |
| 236 | 237 | for(i = 0; i < len; i++) { |
| 237 | 238 | /* default read/write accesses */ |
| 238 | - switch(address) { | |
| 239 | + switch(addr) { | |
| 239 | 240 | case 0x00: |
| 240 | 241 | case 0x01: |
| 241 | 242 | case 0x02: |
| ... | ... | @@ -253,9 +254,9 @@ void pci_default_write_config(PCIDevice *d, |
| 253 | 254 | break; |
| 254 | 255 | } |
| 255 | 256 | if (can_write) { |
| 256 | - d->config[address] = val; | |
| 257 | + d->config[addr] = val; | |
| 257 | 258 | } |
| 258 | - address++; | |
| 259 | + addr++; | |
| 259 | 260 | val >>= 8; |
| 260 | 261 | } |
| 261 | 262 | ... | ... |