citra/src/core/hle/kernel
Weiyi Wang 2067946f59
Kernel: reimplement memory management on physical FCRAM (#4392)
* Kernel: reimplement memory management on physical FCRAM

* Kernel/Process: Unmap does not care the source memory permission

What game usually does is after mapping the memory, they reprotect the source memory as no permission to avoid modification there

* Kernel/SharedMemory: zero initialize new-allocated memory

* Process/Thread: zero new TLS entry

* Kernel: fix a bug where code segments memory usage are accumulated twice

It is added to both misc and heap (done inside HeapAlloc), which results a doubled number reported by svcGetProcessInfo. While we are on it, we just merge the three number misc, heap and linear heap usage together, as there is no where they are distinguished.

Question: is TLS page also added to this number?

* Kernel/SharedMemory: add more object info on mapping error

* Process: lower log level; SharedMemory: store phys offset

* VMManager: add helper function to retrieve backing block list for a range
2018-11-06 15:00:47 -05:00
..
address_arbiter.cpp Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
address_arbiter.h Kernel: pass Kernel reference into AddressArbiter 2018-10-18 21:41:00 -04:00
client_port.cpp Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
client_port.h Kernel: pass ref to session pair 2018-10-18 21:41:36 -04:00
client_session.cpp Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
client_session.h Kernel: pass ref to session pair 2018-10-18 21:41:36 -04:00
config_mem.cpp Kernel: make config_mem and MapSharedPages members of KernelSystem 2018-11-01 12:56:40 -04:00
config_mem.h Kernel: make config_mem and MapSharedPages members of KernelSystem 2018-11-01 12:56:40 -04:00
errors.h Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
event.cpp Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
event.h Kernel: pass Kernel ref in Event 2018-10-18 21:41:36 -04:00
handle_table.cpp Kernel/Thread: move thread queue, current thread, and scheduling related function into the manager 2018-10-26 16:07:11 -04:00
handle_table.h kernel: make handle table per-process 2018-10-22 21:32:34 -04:00
hle_ipc.cpp kernel: make handle table per-process 2018-10-22 21:32:34 -04:00
hle_ipc.h Kernel/Thread: move thread queue, current thread, and scheduling related function into the manager 2018-10-26 16:07:11 -04:00
ipc.cpp Merge pull request #4228 from NarcolepticK/lle-mapped-buffer 2018-10-30 19:18:11 -04:00
ipc.h Kernel/IPC: Partially implement MappedBuffer translation. 2018-01-23 08:27:00 -05:00
kernel.cpp Service, Kernel: move named port list to kernel 2018-11-01 12:56:40 -04:00
kernel.h Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
memory.cpp Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
memory.h Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
mutex.cpp Kernel/Thread: move thread queue, current thread, and scheduling related function into the manager 2018-10-26 16:07:11 -04:00
mutex.h Kernel: pass ref in Mutex 2018-10-18 21:41:36 -04:00
object.cpp Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
object.h Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
process.cpp Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
process.h Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
resource_limit.cpp Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
resource_limit.h Kernel: wrap resource limit state into kernel state; pass ref to resource limit 2018-10-18 21:41:36 -04:00
semaphore.cpp Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
semaphore.h Kernel: pass ref to sempahore 2018-10-18 21:41:36 -04:00
server_port.cpp Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
server_port.h Kernel: pass ref to port 2018-10-18 21:41:36 -04:00
server_session.cpp Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
server_session.h Kernel: pass ref to session pair 2018-10-18 21:41:36 -04:00
session.cpp Update the entire application to use the new clang format style 2018-03-09 10:54:43 -07:00
session.h kernel: Move object class to its own source files 2018-08-23 17:31:59 +02:00
shared_memory.cpp Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
shared_memory.h Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
shared_page.cpp HLE: move SharedPage into Kernel 2018-11-01 12:56:40 -04:00
shared_page.h HLE: move SharedPage into Kernel 2018-11-01 12:56:40 -04:00
svc.cpp Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
svc.h HLE: Move SVC handlers to the Kernel namespace 2017-12-09 20:32:58 -08:00
thread.cpp Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
thread.h kernel/Thread: move thread list into the manager 2018-10-26 16:07:45 -04:00
timer.cpp kernel/timer: add TimerManager for timer system states 2018-10-26 16:07:45 -04:00
timer.h kernel/timer: add TimerManager for timer system states 2018-10-26 16:07:45 -04:00
vm_manager.cpp Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
vm_manager.h Kernel: reimplement memory management on physical FCRAM (#4392) 2018-11-06 15:00:47 -05:00
wait_object.cpp HLE: move SharedPage into Kernel 2018-11-01 12:56:40 -04:00
wait_object.h Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00