PPC: e500 pci host: Fix ATMUs register reads

There is a bug in the register mask when reading
the ATMUs registers. As the result some registers
cannot be read, and read is aliased to the other
registers. Fix it.

Signed-off-by: Rudolf Marek <rudolf.marek@sysgo.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Rudolf Marek 2015-08-14 13:38:55 +02:00 committed by Alexander Graf
parent 1cde732d88
commit e7f08320f0

View file

@ -140,7 +140,7 @@ static uint64_t pci_reg_read4(void *opaque, hwaddr addr,
case PPCE500_PCI_OW3:
case PPCE500_PCI_OW4:
idx = (addr >> 5) & 0x7;
switch (addr & 0xC) {
switch (addr & 0x1F) {
case PCI_POTAR:
value = pci->pob[idx].potar;
break;
@ -162,7 +162,7 @@ static uint64_t pci_reg_read4(void *opaque, hwaddr addr,
case PPCE500_PCI_IW2:
case PPCE500_PCI_IW1:
idx = ((addr >> 5) & 0x3) - 1;
switch (addr & 0xC) {
switch (addr & 0x1F) {
case PCI_PITAR:
value = pci->pib[idx].pitar;
break;