diff options
author | ian <ian@FreeBSD.org> | 2016-01-02 22:00:52 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2016-01-02 22:00:52 +0000 |
commit | 8f3f2be925032d75b0ce8d0da4d1734e109c9bfe (patch) | |
tree | 1ee60f8884fc47f880fb02930088256295aa48bd /contrib/llvm/tools/clang/lib/Frontend/LayoutOverrideSource.cpp | |
parent | 326057fb58edb813d0e193372861e0e6b01af1b3 (diff) | |
download | FreeBSD-src-8f3f2be925032d75b0ce8d0da4d1734e109c9bfe.zip FreeBSD-src-8f3f2be925032d75b0ce8d0da4d1734e109c9bfe.tar.gz |
Use 64-bit math when processing the lists of physical and excluded memory
to generate the phys_avail and dump_avail arrays.
This is a partial fix for the kernel side of the problem mentioned in the
PR. This part handles the cases where comparing start and end addresses of
a block would fail because 32-bit wrap caused the end address to come out
zero if the end of the region is the end of the address space (0xffffffff
with 32-bit vm_paddr_t, but now the code should also work right if we ever
support LPAE with 36-bit addresses).
More work is necessary to make systems with ram at the end of the physical
address space usable, but at least initially it's going to be more like a
workaround than a fix, so this non-hacky part is being committed first.
PR: 201614
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Frontend/LayoutOverrideSource.cpp')
0 files changed, 0 insertions, 0 deletions