Yuri Kunde Schlesner
e2c7954be5
Memory: Move address type conversion routines to memory.cpp/h
...
These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next.
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
5c5cf2f8e0
Core: Properly configure address space when loading a binary
...
The code now properly configures the process image to match the loaded
binary segments (code, rodata, data) instead of just blindly allocating
a large chunk of dummy memory.
2015-07-11 23:54:42 -03:00
Yuri Kunde Schlesner
88365a23e7
Memmap: Remove unused global pointers to memory areas
2015-05-27 03:24:12 -03:00
Yuri Kunde Schlesner
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
Yuri Kunde Schlesner
a251721bf3
Memmap: Remove unused declarations
2015-05-15 00:04:38 -03:00
Subv
dda94e56dd
Core/Memory: Add TLS support for creating up to 300 threads
2015-05-11 20:09:23 -05:00
Yuri Kunde Schlesner
17a8cae003
Memory: Add GetPhysicalPointer helper function
2015-05-09 04:02:32 -03:00
Yuri Kunde Schlesner
28a9e4c1d5
Memory: Support more regions in the VAddr-PAddr translation functions
...
Also adds better documentation and removes the one-off reimplementation
of the function in pica.h.
2015-05-09 03:08:11 -03:00
Yuri Kunde Schlesner
e7b6ed7578
Memory: Sort memory region variables by VAddr
2015-05-09 01:31:00 -03:00
Yuri Kunde Schlesner
1c0b87edc2
Memory: Re-organize and rename memory area address constants
2015-05-09 01:29:52 -03:00
Yuri Kunde Schlesner
2af30d465f
Process: Support parsing of exheader kernel caps
2015-05-08 22:11:44 -03:00
Yuri Kunde Schlesner
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
Yuri Kunde Schlesner
c0eaa662d4
Clean-up includes
2015-05-06 23:45:06 -03:00
bunnei
bbabed8e98
Memory: Properly cleanup & shutdown.
2015-05-01 18:27:01 -04:00
Yuri Kunde Schlesner
34b009cf38
Clean-up mem_map constants and fix framebuffer translation errors
2015-04-05 20:14:33 -03:00
Lioncash
9fdb311d6e
dyncom: Make Load/Store instructions support big endian
2015-03-17 15:13:32 -04:00
Yuri Kunde Schlesner
b5ee4f9df9
Move VAddr/PAddr typedefs to kernel.h
2015-01-30 11:47:01 -02:00
purpasmart96
d5049cbba5
MemMap: Add support for DSP Read & Writes in the memory map
2014-12-29 19:35:06 -08:00
bunnei
78bb86293f
Merge pull request #253 from purpasmart96/mem_map
...
MemMap: Removed I/O address's and added more stuff
2014-12-29 21:57:04 -05:00
purpasmart96
ebfd831ccb
License change
2014-12-20 21:20:24 -08:00
purpasmart96
23ae8aa4d3
MemMap: Added AXI_WRAM & SHARED_PAGE along with other stuff
...
Got rid of I/O address's since the I/O addresses range's overlap with other
address's types such as vram, these I/O addresses need to be done in an different
way.
2014-12-13 18:29:57 -08:00
bunnei
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
bunnei
a6bf3fd613
Merge pull request #244 from bunnei/cleanup-memmap
...
MemMap: Updated memory map to subtract base address instead of mask.
2014-12-08 19:34:54 -05:00
bunnei
846dc72a37
Merge pull request #249 from lioncash/enum
...
mem_map: Make enum for addresses use u32 as the underlying type
2014-12-04 00:01:13 -05:00
Lioncash
3ba32d2b53
mem_map: Make enum for addresses use u32 as the underlying type
2014-12-03 23:36:45 -05:00
archshift
a404ad5272
Add stub for ConvertProcessFromDspDram
...
Should theoretically push retail stuff further along
2014-12-03 20:03:57 -08:00
bunnei
e3886adc22
MemMap: Updated memory map to subtract base address instead of mask.
...
- More readable, a little less error prone.
Conflicts:
src/core/mem_map.h
src/core/mem_map_funcs.cpp
2014-12-03 01:23:29 -05:00
Lioncash
64cc6cb6cf
Fix documentation of parameters
2014-11-18 08:31:24 -05:00
Lioncash
cfea27a615
mem_map: Add missing prototype for Write64
2014-11-16 22:50:13 -05:00
Yuri Kunde Schlesner
83c3d2bcd1
Introduce VAddr and PAddr typedefs for ARM addresses.
2014-08-31 00:04:11 -03:00
Tony Wasserka
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
bunnei
882dc07929
Memory: Removed deprecated MapBlock_Shared function.
2014-07-05 10:24:54 -04:00
bunnei
3013015a0c
mem_map: Updated interface to expose template functions to other modules.
2014-07-04 23:46:16 -04:00
bunnei
6aebd4ac98
MemMap: Added a WriteBlock function to write a buffer of data to memory.
2014-06-24 19:30:08 -04:00
bunnei
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
bunnei
f23e99bb85
added kernel memory to mem_map
2014-05-07 21:01:09 -04:00
bunnei
a3a383cb7a
added mem_map read for config_mem
2014-05-06 23:32:04 -04:00
bunnei
924e7b6af8
fixed a bug where ExeFs code was being incorrectly masked
2014-04-30 23:31:04 -04:00
bunnei
235dddb3f1
added virtual memory map for ExeFS (where ARM11 code is supposed to be loaded)
2014-04-30 18:31:35 -04:00
bunnei
c37390f8e2
reorganized memory regions enum, added regions for ExeFS code
2014-04-30 18:31:24 -04:00
bunnei
af921daa4c
added virtual address conversion for firmware FW0B
2014-04-27 22:32:51 -04:00
bunnei
b2a6ad52f4
added helper functions to mem_map to convert physical addresses to virtual addresses
2014-04-27 12:40:31 -04:00
bunnei
f78794961e
- changed HW IO map to use virtual addresses
...
- added hooks to catch LCD IO read/writes
2014-04-26 14:21:40 -04:00
bunnei
86a515e5ac
added vram to memory_map
2014-04-26 01:27:25 -04:00
bunnei
890c7261d2
- added preliminary support for svc_MapMemoryBlock
...
- added shared memory region
- moarrrr cleanups to memory_map
2014-04-24 23:56:06 -04:00
bunnei
b7cd4c9e90
added functions to map Heap and Shared memory space
2014-04-24 22:32:26 -04:00
bunnei
b2baafaf8b
added GSP heap memory allocation
2014-04-17 23:05:31 -04:00
bunnei
fb026f6b46
moved enums into Memory:: namespace
2014-04-17 21:19:32 -04:00
bunnei
a9dba388eb
added memory read/write to GSP heap
2014-04-17 21:15:40 -04:00
bunnei
09ffe87360
more various refactors to memory interface
2014-04-17 21:05:34 -04:00