summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/memory.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2021-11-26 20:51:45 +0000
committercinap_lenrek <cinap_lenrek@felloff.net>2021-11-26 20:51:45 +0000
commit20ea113790c22e5fc8dd0051baa359e4fa083425 (patch)
treea64dbfef9f4e41db253a1d8f240bf6b060639b27 /sys/src/9/pc/memory.c
parentadd3a0a4da2f46f69a87782699e77c794a8b2cb9 (diff)
kernel: support large 64-bit pci membars, increase pc64 VMAPSIZE to 1TB
This makes vmap()/vunmap() take a vlong size argument, and change the type of Pci.mem[].size to vlong as well. Even if vmap() wont support large mappings, it is nice to get the original unruncated value for error checking. pc64 needs a bigger VMAP window, as system76 pangolin puts the framebuffer at a physical address > 512GB.
Diffstat (limited to 'sys/src/9/pc/memory.c')
-rw-r--r--sys/src/9/pc/memory.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/src/9/pc/memory.c b/sys/src/9/pc/memory.c
index 8853d4c0b..8b6cf8620 100644
--- a/sys/src/9/pc/memory.c
+++ b/sys/src/9/pc/memory.c
@@ -245,13 +245,13 @@ rsdsearch(void)
* Call vmap to do that.
*/
uvlong
-upaalloc(uvlong pa, ulong size, ulong align)
+upaalloc(uvlong pa, uvlong size, uvlong align)
{
return memmapalloc(pa, size, align, MemUPA);
}
uvlong
-upaallocwin(uvlong pa, ulong win, ulong size, ulong align)
+upaallocwin(uvlong pa, uvlong win, uvlong size, uvlong align)
{
uvlong a, base, top = pa + win;
@@ -269,7 +269,7 @@ upaallocwin(uvlong pa, ulong win, ulong size, ulong align)
}
void
-upafree(uvlong pa, ulong size)
+upafree(uvlong pa, uvlong size)
{
memmapfree(pa, size, MemUPA);
}