Commit Graph

21 Commits

Author SHA1 Message Date
wheremyfoodat
6d1ef7cb4f Memory rework pt 2 (#801)
* Memory: Rework FCRAM management entirely

Disables a lot of functionality... but I didn't want to commit too much to this commit
Also reworks virtual memory management somewhat (but needs more work)

* Accurately handle MemoryState for virtual memory

Previously all non-free blocks were marked as Reserved

* Memory: Consolidate state and permission changes

Can now use a single function to change either state, permissions, or both
Also merge vmem blocks that have the same state and permissions

* Memory: Fix double reset for FCRAM manager

Fix minor bug with permission tracking

* Memory: Implement Protect operation in ControlMemory

* Memory: Implement Unmap in ControlMemory

Also do a sanity check to make sure the memory region is free for linear allocations

* Memory: Make TLS only 0x200 bytes for each thread

Also move TLS to Base region

* RO: Unmap CROs when unloaded

Thanks @noumidev

* Kernel: Return used app memory for Commit ResourceLimit

Not quite correct, but nothing to be done until process management is improved
Also remove the stack limit for CXIs (thanks amogus)

* Kernel: Report used app memory for GetProcessInfo 2

Not really correct, but it should be accurate for applications at least

* Formatting changes

* Initial fastmem support

* PCSX2 fastmem depression

* Move away from PCSX2 fastmem

* Add enum_flag_ops.hpp

* Finally building on Windows

* Almost got a PoC

* Fix arm64 builds

* This somehow works

* This also works...

* Properly fix fastmem

* Add free region manager

* Update boost

* Add ScopeExit

* Comment out asserts on Linux/Mac/Android

* Comment out ASSERT_MSG asserts too

* Fix derp

* Attempt to fix Android

* Disable fastmem on Android

* Fix Android again maybe pt 2

* android pls

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Update host_memory.cpp

* Properly reset memory arena on reset

* Proper ashmem code for Android

* more

* Add temporary Android buildjet script for faster prototype builds

* Fix fastmem (again)

* Clean up shared memory

* Remove Android BuildJet runner

* a

* Revert "a"

This reverts commit 5443ad6f2a794c19c9b1a1567ca1c7f58eed78cd.

* Re-add ELF support

* Re-add 3DSX support

* GetSystemInfo, GetProcessInfo: Memory sizes should be in bytes

* Update Boost

* Update metal-cpp

* Fix metal renderer compilation

* Fix fastmem mapping

* Clean up fastmem code

* Fix oopsie again

* Emulator: Reorder struct

* Kernel types: Cleanup

* Cleanup

* More cleanup

* Make invalid mprotects warn instead of panicking

* Add setting for toggling fastmem

* More cleanup

* Properly initialize BSS to zeroes

* Remove unused code

* Formatting

* Cleanup

* Memory/CRO: Workaround for Pokemon XY

* NCSD loader: Fix BSS (again)

* NCSD loader: Fix BSS (again) (again)

* More memory fixes

* Memory: Remove unused code

* FS: Warn on unimplemented functions instead of panic

* Update software_keyboard.cpp

* Libretro: Add fastmem option

* FRD: Stub SaveLocalAccountData

---------

Co-authored-by: PSI-Rockin <PSI-Rockin@users.noreply.github.com>
2025-08-07 20:18:09 +03:00
wheremyfoodat
3c25be4c63 CPU: Remove totalTicks (unused since scheduler was added) 2024-02-11 21:57:44 +00:00
wheremyfoodat
af996c55ba Remove debug printfs 2024-01-22 04:14:46 +02:00
wheremyfoodat
0be099d1ea Hook up KTimer to scheduler 2024-01-22 04:04:05 +02:00
wheremyfoodat
fa82dad38d First stuff running with scheduler 2024-01-22 02:29:14 +02:00
wheremyfoodat
97f97dc6e2 Use CPU for counting ticks instead of scheduler 2024-01-22 00:38:11 +02:00
wheremyfoodat
7343497f36 Add basic scheduler structure 2024-01-20 23:17:35 +02:00
offtkp
dfde03a344 Remove unused parameter in MyEnvironment 2023-07-27 15:03:50 +03:00
wheremyfoodat
672a893938 Fix typo & reset FPRs on CPU reset 2022-12-31 16:38:28 +02:00
wheremyfoodat
23a6ef447f Stuffs 2022-12-31 15:54:24 +02:00
wheremyfoodat
cbefe3c2d0 [Kernel] Implement GetSystemTick 2022-09-21 00:48:51 +03:00
wheremyfoodat
33fc380896 [CPU] Move ARM definitions to arm_defs.hpp file 2022-09-20 15:43:37 +03:00
wheremyfoodat
9b95bd87f1 We can now change threads 2022-09-20 15:30:41 +03:00
wheremyfoodat
1678cd6172 Hacks to let the kernel access the CPU and vice versa (TODO: Fix) 2022-09-20 03:49:53 +03:00
wheremyfoodat
8bb494229d Fix LDREX/STREX 2022-09-17 01:31:45 +03:00
wheremyfoodat
d8cf0e2de2 cp15 but better 2022-09-15 22:42:36 +03:00
wheremyfoodat
58fe2bcf18 Add cp15 2022-09-15 22:13:25 +03:00
wheremyfoodat
e0204a1eff Bare minimum createAddressArbiter HLE 2022-09-15 18:43:20 +03:00
wheremyfoodat
275c6dfd0c Finish ELF loading, running actual code now 2022-09-15 17:35:59 +03:00
wheremyfoodat
51689af51f Update opengl.hpp, start with ELFs 2022-09-15 14:59:44 +03:00
wheremyfoodat
905c7ed770 Start adding memory stuff 2022-09-15 13:35:15 +03:00