tegra132: fix carveout address calculation >= 4GiB
The high address field was being shifted in the wrong direction resulting in the lower 12 bits of the upper address being dropped. BUG=chrome-os-partner:30572 BRANCH=None TEST=Was able to run on ryu and not hang while wiping memory. Change-Id: If1d7ef1c63ce79c143af3c5012b206ee297cd889 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 6b0da6fa391db2ec2bc1e0bec9325f4e74b5286c Original-Change-Id: I7bf173bb0373d2d25ce9014c80236fb55cc8e17e Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/211941 Original-Reviewed-by: Tom Warren <twarren@nvidia.com> Reviewed-on: http://review.coreboot.org/8923 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
d5904c46a0
commit
4185f9b9f2
|
@ -61,7 +61,7 @@ static void carveout_from_regs(uintptr_t *base_mib, size_t *size_mib,
|
||||||
|
|
||||||
*size_mib = size;
|
*size_mib = size;
|
||||||
bom >>= 20;
|
bom >>= 20;
|
||||||
bom |= bom_hi >> (32 - 20);
|
bom |= bom_hi << (32 - 20);
|
||||||
|
|
||||||
*base_mib = bom;
|
*base_mib = bom;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue