aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Barrat <fbarrat@linux.vnet.ibm.com>2017-01-03 18:38:22 +0100
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-03-02 18:24:40 +1100
commit95c59d192376a4360278393da5df53e21ae3fc72 (patch)
tree350553b209d78738fe1e1d7fb41ebd9c8c9b2247
parente812fd6053b92e8fae658b8731cc96c12f65270c (diff)
downloadskiboot-95c59d192376a4360278393da5df53e21ae3fc72.zip
skiboot-95c59d192376a4360278393da5df53e21ae3fc72.tar.gz
skiboot-95c59d192376a4360278393da5df53e21ae3fc72.tar.bz2
phb4: Fix TVE encoding for start address
>From the phb4 spec, when encoding the TVE, the pci start address bits 49:24 are encoded in bits TVE[52:53]||[0:23]. The mask to select bits 47:24 is incorrectly set. It should be 0xffffff000000, shifted left by 16, i.e. 0xffffff << 40 Signed-off-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> Reviewed-By: Alistair Popple <alistair@popple.id.au> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--hw/phb4.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/phb4.c b/hw/phb4.c
index f4b5af3..7117668 100644
--- a/hw/phb4.c
+++ b/hw/phb4.c
@@ -1330,7 +1330,7 @@ static int64_t phb4_map_pe_dma_window_real(struct phb *phb,
* and end address bits 49:24 into TVE[54:55]||[24:47]
* and set TVE[51]
*/
- tve = (pci_start_addr << 16) & (0xffffffull << 48);
+ tve = (pci_start_addr << 16) & (0xffffffull << 40);
tve |= (pci_start_addr >> 38) & (3ull << 10);
tve |= (end >> 8) & (0xfffffful << 16);
tve |= (end >> 40) & (3ull << 8);