diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-08-28 13:19:02 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-08-28 13:26:35 +0200 |
commit | b1f537b5e058512a263036b74d3b755301adaf96 (patch) | |
tree | affed955ed63f6418039130be91133d5cea55f88 /device/dev_pager.c | |
parent | dbf96c4953a2acf193c7804f3853eddd92a66f65 (diff) | |
download | gnumach-b1f537b5e058512a263036b74d3b755301adaf96.tar.gz gnumach-b1f537b5e058512a263036b74d3b755301adaf96.tar.bz2 gnumach-b1f537b5e058512a263036b74d3b755301adaf96.zip |
linux block: allow loading data up to 4GiB limit
Linux drivers are only limited by the DMA32 constraint, not by the directmap
constraint. But our segment order is currently set to
DMA < DMA32 < DIRECTMAP < HIGHMEM (since that is what we will have in 64bit
mode). In PAE mode this makes DMA32 limited to 800MiB. Ideally we'd have
DMA < DIRECTMAP < DMA32 < HIGHMEM but that'd make the memory code more
complex, and we are to remove the Linux drivers anyway. In the
meanwhile, In non-PAE mode we can just use HIGHMEM which is already
limited to 4GiB, that will do the work.
* linux/dev/glue/block.c (VM_PAGE_LINUX): New macro.
(device_read): Use VM_PAGE_LINUX instead of VM_PAGE_DMA32.
Diffstat (limited to 'device/dev_pager.c')
0 files changed, 0 insertions, 0 deletions