summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp
diff options
context:
space:
mode:
authorMaarten ter Huurne <mth@lexx-9122.trinair2002>2011-11-30 00:37:57 +0100
committerMaarten ter Huurne <mth@lexx-9122.trinair2002>2011-11-30 00:37:57 +0100
commit29865e63664d5b513d0f06e9414fbe0b7a43bd49 (patch)
tree8a4dbb76eb29e7abc098b229b9c83c2d58f29f13 /Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp
parent933d2dde42fe2de7ddea63e1d0492e677ac92b9c (diff)
Avoid virtual memory range collision between JIT and emulated RAM.
Passing MAP_FIXED to mmap causes already mapped pages in the requested region to be replaced. On Mac OS X this caused pages for JIT-generatd code to appear in the memory range previously auto-allocated for the RAM of the emulated machine. This led to a hang at boot time. The same problem can probably occur on FreeBSD, but not on Linux since MAP_32BIT is used there instead of MAP_FIXED. The solution is to not use MAP_FIXED, but instead rely on the OS honoring the hinted address which is below 4 GB: we don't need an exact match, just a low address.
Diffstat (limited to 'Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp')
0 files changed, 0 insertions, 0 deletions