Ryan Houdek a5d9e62cc6 More improvements to BRK handling
Base size is now only one page in size. We will then increment that BRK
size by 8MB alignments. 256MB for 32bit applications was causing some
applications on the edge to run out of virtual memory
I was hitting some 32bit applications that were being fairly mean with
BRK. They were allocating all of BRK space then running out of virtual
memory space with its mmap handler fallback after freeing BRK space.

This means we now munmap BRK pages on release for the guest, similar to
behaviour that Linux does.

Additionally I had an application that was getting very upset that BRK
wasn't actually at the end of program space. So allocate at the end of
program space like expected.

brk test now passes from gvisor
2021-01-27 10:12:25 -08:00
2020-11-29 00:30:28 -08:00
2021-01-27 10:12:25 -08:00
2020-08-21 01:29:37 +12:00
2020-12-25 01:57:09 -08:00
2021-01-26 02:34:26 -08:00
2020-03-06 09:08:13 +02:00
2021-01-26 02:34:26 -08:00

FEX - Fast x86 emulation frontend

This is the frontend application and tooling used for development and debugging of the FEXCore library.

Dependencies

  • FEXCore
  • cpp-optparse
  • imgui
  • json-maker
  • tiny-json
  • A C++17 compliant compiler (There are assumptions made about using Clang and LTO)
  • clang-tidy if you want the code cleaned up
  • cmake

FEX diagram

Description
A fast usermode x86 and x86-64 emulator for Arm64 Linux
Readme 51 MiB
Languages
C++ 59.4%
Assembly 30.7%
C 7.1%
Python 1.5%
CMake 1%
Other 0.3%