Commit Graph

51 Commits (bbabed8e98e573df5a566aa44f6a05147167b2a7)

Author SHA1 Message Date
bunnei bbabed8e98 Memory: Properly cleanup & shutdown.
Yuri Kunde Schlesner 34b009cf38 Clean-up mem_map constants and fix framebuffer translation errors
Lioncash 9fdb311d6e dyncom: Make Load/Store instructions support big endian
Kevin Hartman 05c098a9e7 Cleaned up unaligned access.
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.
Zhuowei Zhang edb8450420 Add some support for the shared page (currently 3d slider is implemented)
purpasmart96 d5049cbba5 MemMap: Add support for DSP Read & Writes in the memory map
bunnei 78bb86293f Merge pull request from purpasmart96/mem_map
MemMap: Removed I/O address's and added more stuff
purpasmart96 ebfd831ccb License change
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.
Yuri Kunde Schlesner 0600e2d8b5 Convert old logging calls to new logging macros
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).
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
vaguilar 223e76d51d Fixed formatting and switch statement warnings
Lioncash 7cbecde2ca Add static to some variables
Lioncash ca2f0de08a Fix warnings in core and common
archshift 6e606c515f core: Prune redundant includes
Yuri Kunde Schlesner 83c3d2bcd1 Introduce VAddr and PAddr typedefs for ARM addresses.
Lioncash da18671166 Core: Fix undefined behavior in mem_map_funcs' WriteBlock function
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.
bunnei c48ab0bd9e MemMap: Fixed typo with GetPointer to VRAM address.
bunnei 967e5629de MemMap: Added an error for unaligned 16-bit memory reads.
bunnei da81742439 MemMap: Removed Read64 function.
- Unused code
- Was not correct for unaligned memory reads
bunnei 2b52ec4829 MemMap: Fix Read32 for unaligned memory reads.
MemMap: Cleaned up Read32 unaligned memory access.
bunnei 882dc07929 Memory: Removed deprecated MapBlock_Shared function.
bunnei 3013015a0c mem_map: Updated interface to expose template functions to other modules.
bunnei 6aebd4ac98 MemMap: Added a WriteBlock function to write a buffer of data to memory.
bunnei c404d22036 hle: cleaned up log messages
bunnei 4910b6f336 added memory mapped region for system mem - sdk demos load a segment here on ELF load
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)
bunnei a3a383cb7a added mem_map read for config_mem
bunnei 235dddb3f1 added virtual memory map for ExeFS (where ARM11 code is supposed to be loaded)
bunnei c37390f8e2 reorganized memory regions enum, added regions for ExeFS code
bunnei af921daa4c added virtual address conversion for firmware FW0B
bunnei b2a6ad52f4 added helper functions to mem_map to convert physical addresses to virtual addresses
bunnei f78794961e - changed HW IO map to use virtual addresses
- added hooks to catch LCD IO read/writes
bunnei 86a515e5ac added vram to memory_map
bunnei 2672e7d883 removed some cruft
bunnei 890c7261d2 - added preliminary support for svc_MapMemoryBlock
- added shared memory region
- moarrrr cleanups to memory_map
bunnei b7cd4c9e90 added functions to map Heap and Shared memory space
bunnei b2baafaf8b added GSP heap memory allocation
bunnei 33e7d97d46 fixed bug in Memory::GetPointer
bunnei a9dba388eb added memory read/write to GSP heap
bunnei 09ffe87360 more various refactors to memory interface
bunnei ae99574b6d cleaned up memory interfaces a lot, removed some hackish stuff
bunnei 795d6bf5b7 changed unknown memory read/write to report the size
bunnei 6f6d5158de added OS memory read/write for thread command buffer
bunnei 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
bunnei 5d95bb9843 cleaned up some logging messages
bunnei de0a034a84 fixed project includes to use new directory structure