Commit Graph

27 Commits

Author SHA1 Message Date
0a60aa75c2 Kernel: Add VMManager to manage process address spaces
This enables more dynamic management of the process address space,
compared to just directly configuring the page table for major areas.

This will serve as the foundation upon which the rest of the Kernel
memory management functions will be built.
2015-05-27 03:24:12 -03:00
dd4430609a Memory: Use a table based lookup scheme to read from memory regions 2015-05-15 00:04:43 -03:00
7ada357b2d Memmap: Re-organize memory function in two files
memory.cpp/h contains definitions related to acessing memory and
configuring the address space
mem_map.cpp/h contains higher-level definitions related to configuring
the address space accoording to the kernel and allocating memory.
2015-05-15 00:04:38 -03:00
e7b6ed7578 Memory: Sort memory region variables by VAddr 2015-05-09 01:31:00 -03:00
1c0b87edc2 Memory: Re-organize and rename memory area address constants 2015-05-09 01:29:52 -03:00
3396f352cb Common: Remove mem_arena.cpp/h
It is superfluous for Citra. (It's only really necessary if you're doing
JIT. We were using it but not taking any advantage from it.) This should
make 32-bit builds work again.
2015-05-07 19:01:09 -03:00
e1fbac3ca1 Common: Remove common.h 2015-05-07 15:45:22 -03:00
bbabed8e98 Memory: Properly cleanup & shutdown. 2015-05-01 18:27:01 -04:00
d5049cbba5 MemMap: Add support for DSP Read & Writes in the memory map 2014-12-29 19:35:06 -08:00
ebfd831ccb License change 2014-12-20 21:20:24 -08:00
0600e2d8b5 Convert old logging calls to new logging macros 2014-12-13 02:08:02 -02:00
4cb7a44d4e MemMap: Renamed "GSP" heap to "linear", as this is not specific to GSP.
- Linear simply indicates that the mapped physical address is always MappedVAddr+0x0C000000, thus this memory can be used for hardware devices' DMA (such as the GPU).
2014-12-12 00:15:47 -05:00
7cbecde2ca Add static to some variables 2014-11-18 20:04:00 -05:00
6e606c515f core: Prune redundant includes 2014-09-08 17:54:14 -07:00
7b6a7d7dfb Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones.
This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible.
This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though.
2014-08-12 13:32:56 +02:00
4910b6f336 added memory mapped region for system mem - sdk demos load a segment here on ELF load 2014-05-15 18:56:28 -04:00
f23e99bb85 added kernel memory to mem_map 2014-05-07 21:01:09 -04:00
235dddb3f1 added virtual memory map for ExeFS (where ARM11 code is supposed to be loaded) 2014-04-30 18:31:35 -04:00
890c7261d2 - added preliminary support for svc_MapMemoryBlock
- added shared memory region
- moarrrr cleanups to memory_map
2014-04-24 23:56:06 -04:00
b7cd4c9e90 added functions to map Heap and Shared memory space 2014-04-24 22:32:26 -04:00
a9dba388eb added memory read/write to GSP heap 2014-04-17 21:15:40 -04:00
09ffe87360 more various refactors to memory interface 2014-04-17 21:05:34 -04:00
ae99574b6d cleaned up memory interfaces a lot, removed some hackish stuff 2014-04-17 18:40:42 -04:00
68e198476f - added HLE to connect to "srv:" service
- added a manager for keeping track of services/ports
- added a memory mapped region for memory accessed by HLE
- added HLE for GetThreadCommandBuffer function
2014-04-12 21:55:36 -04:00
5d95bb9843 cleaned up some logging messages 2014-04-10 22:45:40 -04:00
de0a034a84 fixed project includes to use new directory structure 2014-04-08 20:15:08 -04:00
63e46abdb8 got rid of 'src' folders in each sub-project 2014-04-08 19:25:03 -04:00