Commit Graph

56 Commits

Author SHA1 Message Date
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
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 1c0b87edc2 Memory: Re-organize and rename memory area address constants 2015-05-09 01:29:52 -03:00
Yuri Kunde Schlesner e1fbac3ca1 Common: Remove common.h 2015-05-07 15:45:22 -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
Kevin Hartman 05c098a9e7 Cleaned up unaligned access. 2015-02-21 17:25:31 -08:00
archshift ef24e72b26 Asserts: break/crash program, fit to style guide; log.h->assert.h
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)

Also removed some GEKKO cruft.
2015-02-10 18:30:31 -08:00
Zhuowei Zhang edb8450420 Add some support for the shared page (currently 3d slider is implemented) 2015-01-15 22:16:13 -05: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
Yuri Kunde Schlesner 0600e2d8b5 Convert old logging calls to new logging macros 2014-12-13 02:08:02 -02: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 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
vaguilar 223e76d51d Fixed formatting and switch statement warnings 2014-11-27 02:59:14 -08:00
Lioncash 7cbecde2ca Add static to some variables 2014-11-18 20:04:00 -05:00
Lioncash ca2f0de08a Fix warnings in core and common 2014-09-28 11:44:14 -04:00
archshift 6e606c515f core: Prune redundant includes 2014-09-08 17:54:14 -07:00
Yuri Kunde Schlesner 83c3d2bcd1 Introduce VAddr and PAddr typedefs for ARM addresses. 2014-08-31 00:04:11 -03:00
Lioncash da18671166 Core: Fix undefined behavior in mem_map_funcs' WriteBlock function 2014-08-17 14:23:54 -04: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 c48ab0bd9e MemMap: Fixed typo with GetPointer to VRAM address. 2014-08-05 23:54:28 -04:00
bunnei 967e5629de MemMap: Added an error for unaligned 16-bit memory reads. 2014-08-05 20:05:06 -04:00
bunnei da81742439 MemMap: Removed Read64 function.
- Unused code
- Was not correct for unaligned memory reads
2014-08-05 20:01:55 -04:00
bunnei 2b52ec4829 MemMap: Fix Read32 for unaligned memory reads.
MemMap: Cleaned up Read32 unaligned memory access.
2014-08-05 19:58:28 -04: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 c404d22036 hle: cleaned up log messages 2014-05-29 23:26:58 -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 72622a1b5a - removed HLE mem "hack" and replaced with kernel mem region
- added a helper function for getting command buffer for services
- fixed bug where GSP DMA was incorrectly being done in DataSynchronizationBarrier (instead of gsp_TriggerCmdReqQueue)
2014-05-07 21:04:55 -04:00
bunnei a3a383cb7a added mem_map read for config_mem 2014-05-06 23:32: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 2672e7d883 removed some cruft 2014-04-25 15:27:47 -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 33e7d97d46 fixed bug in Memory::GetPointer 2014-04-17 21:40:42 -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
bunnei ae99574b6d cleaned up memory interfaces a lot, removed some hackish stuff 2014-04-17 18:40:42 -04:00