You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tree:
32a6ceb4e5
2ndAdjustmentVulkanV3-STOP_FORCE_PUSHING_CAMILLE
2ndAdjustmentVulkanv2
2ndgpuopts
John-android-rescale-toggle
TTYD
Update-some-barriers-test
android-meows
bcn-ternary-soft
bioshock
blit-fixes
buffer_cache
bump-httplib-minver
camile/wawawawa
civa
crueter-patch-1
crueter-patch-3
crueter-patch-4
descriptor_set
dmnt2
dynarmic
dynarmic-ppc64
eden-managarm
eden-orbis-ps4
eden-wasm
feat/android_kotlin_compose
feat/game_override
fix-cpmutil-win
fix-friend-list-freeze
fix-grid-autoalign
fix-update-android
flatopsfixes23485
fs-try
funny-meows
hid_core
kosmickrisp
liz-heaptrack-fix
lizzie/1st-anniversary-icon
lizzie/adjust-stream-buffer
lizzie/adl-fix-remove
lizzie/anv-cached-mesa-hack
lizzie/app-language
lizzie/areafixnvidia
lizzie/astc-decode-opts1
lizzie/better-mscxr
lizzie/brunofix7546847
lizzie/bump-18-version-cache
lizzie/cleanup-dynarmic-cmake
lizzie/debug-assert-demote-dynarmic
lizzie/docs-lz12
lizzie/dynarmic-abort-path-12
lizzie/dynarmic-exclusive-fixups
lizzie/eh-signed
lizzie/emulate-bgr565-android-only
lizzie/enable-icf
lizzie/fbsd-shm_create_largepage
lizzie/ffmpeg-fix-externel
lizzie/fix-nvmap-handles
lizzie/fxaa-123
lizzie/hbloader-fix
lizzie/hle-rework-1
lizzie/inline-audio-structure-parent-refs
lizzie/inlinecodecnvenc
lizzie/invert-gyro
lizzie/ios-port-sud
lizzie/jamboree-audio-crash
lizzie/joycon-revision
lizzie/lto-fafaf-test-123
lizzie/macos-network-ifaces
lizzie/marknocore
lizzie/memcorrupt-afuzz1
lizzie/mlibc-fixes
lizzie/mlp223
lizzie/nce-invalidate-split
lizzie/netbsdgcc14-fix
lizzie/noexcept-dynarmic
lizzie/non-english-policy
lizzie/nuke-cubeb-2
lizzie/nuke-oboe
lizzie/nuke-ssl
lizzie/opus-regr-not-rep
lizzie/pixelphonefix
lizzie/pkza-mwait
lizzie/pokemon-search-fix
lizzie/powerunswizzle
lizzie/product-model-wawa
lizzie/ptable-revert-1212
lizzie/rdynr
lizzie/refactor-networking-12
lizzie/remove-concepts-common-hdr
lizzie/remove-disassembler-dynarmic
lizzie/remove-memcpy-on-vector
lizzie/remove-vector-math-unused
lizzie/revert-opt-pagetable-djgdjgdfjg
lizzie/sd-gamemode-fix-queue
lizzie/sdl-nuke-SDL_Vibration-thread
lizzie/settings-preserve-across
lizzie/simplify-invalid-acc
lizzie/smallvector-use-on-ipc
lizzie/sparse-vectoriz
lizzie/ssaa-what-the-fuck
lizzie/stable-shader-pools
lizzie/swkbd-mhu
lizzie/thread-names-log
lizzie/trivial-warn-fixes-4
lizzie/tryfixrandomvkshit
lizzie/ulaunch-attempt1
lizzie/unaligned-attempt-2
lizzie/usepoolinstdynarm
lizzie/vk-ext-fault-info
lizzie/vkweep12
lizzie/vp9-remove-stream
lizzie/wstring-uni-123
lizzie/xcode-evil-shit-123
lizzie/zbic-patch-zstd
lsfg-android
macroify-surface-stuffs
master
memory_changes
mmap-fixews
mutliplayer-filter-better1
n64
pr-template-v2
querybugfix
release/0.0.3
release/0.0.4
release/0.1.0
release/0.2.0
restore-metal-surface
sjkdbsdfjkbsdf-2834
temporary-branch
tiled-gpu
tiled-gpu-v2
unified-memory-access
update-deps-1780370490
update-deps-1780370770
update-translations-1777730513
update-translations-1788192077
vk-experiments5
vk-experiments7
vk-experiments8
warp-fixes
xbzk/fragmented-storage-buffers
xbzk/hb-tico-support-part-2
xbzk/opus-proper-limit-and-error
xbzk/unreal-unsafe-junk-guards
0.0.0
0.0.1-pre-alpha
0.0.2-pre-alpha
test-tag1
test-tag2
v0.0.3
v0.0.3-rc1
v0.0.3-rc2
v0.0.3-rc3
v0.0.3.git
v0.0.4
v0.0.4-rc1
v0.0.4-rc2
v0.0.4-rc2.test
v0.0.4-rc2.test2
v0.0.4-rc3
v0.0.4-rc3.test1
v0.0.4-rc3.test2
v0.0.4.test
v0.1.0
v0.1.0-rc1
v0.1.1
v0.2.0
v0.2.0-rc1
v0.2.0-rc2
v0.2.1
${ noResults }
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.
|
8 years ago | |
|---|---|---|
| .. | ||
| checked.png | Add Dark theme, Icon theming | 9 years ago |
| failed.png | Add Dark theme, Icon theming | 9 years ago |