suyu/src
Lioncash 32a6ceb4e5 core/process: Remove unideal page table setting from LoadFromMetadata()
Initially required due to the split codepath with how the initial main
process instance was initialized. We used to initialize the process
like:

Init() {
    main_process = Process::Create(...);
    kernel.MakeCurrentProcess(main_process.get());
}

Load() {
    const auto load_result = loader.Load(*kernel.GetCurrentProcess());
    if (load_result != Loader::ResultStatus::Success) {
        // Handle error here.
    }
    ...
}

which presented a problem.

Setting a created process as the main process would set the page table
for that process as the main page table. This is fine... until we get to
the part that the page table can have its size changed in the Load()
function via NPDM metadata, which can dictate either a 32-bit, 36-bit,
or 39-bit usable address space.

Now that we have full control over the process' creation in load, we can
simply set the initial process as the main process after all the loading
is done, reflecting the potential page table changes without any
special-casing behavior.

We can also remove the cache flushing within LoadModule(), as execution
wouldn't have even begun yet during all usages of this function, now
that we have the initialization order cleaned up.
2019-04-11 22:11:41 -04:00
..
audio_core core/core_timing: Make callback parameters consistent 2019-03-24 18:12:17 -04:00
common Merge pull request #2300 from FernandoS27/null-shader 2019-04-07 17:58:27 -04:00
core core/process: Remove unideal page table setting from LoadFromMetadata() 2019-04-11 22:11:41 -04:00
input_common general: Use deducation guides for std::lock_guard and std::unique_lock 2019-04-01 12:53:47 -04:00
tests kernel: Handle page table switching within MakeCurrentProcess() 2019-04-07 01:12:54 -04:00
video_core video_core/gpu: Create threads separately from initialization 2019-04-11 22:11:40 -04:00
web_service general: Use deducation guides for std::lock_guard and std::unique_lock 2019-04-01 12:53:47 -04:00
yuzu Merge pull request #2353 from lioncash/surface 2019-04-09 21:20:02 -04:00
yuzu_cmd Merge pull request #1957 from DarkLordZach/title-provider 2019-04-09 19:16:37 -04:00
.clang-format Remove special rules for Windows.h and library includes 2016-09-21 00:16:33 -07:00
CMakeLists.txt CMakeLists: Move off of modifying CMAKE_*-related flags 2019-03-17 06:55:24 -04:00