Yuri Kunde Schlesner
e34643a3e4
Kernel: Add more infrastructure to support different memory layouts
This adds some structures necessary to support multiple memory regions
in the future. It also adds support for different system memory types
and the new linear heap mapping at 0x30000000.
11 years ago
Yuri Kunde Schlesner
cbc7419408
HLE: Remove empty ConfigMem and SharedPage Shutdown functions
11 years ago
Yuri Kunde Schlesner
6bb23baf0a
Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h}
11 years ago
Yuri Kunde Schlesner
168d376c67
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.
11 years ago
Yuri Kunde Schlesner
521cb56792
Process: Store kernel compatibility version during loading
11 years ago
Yuri Kunde Schlesner
8850ade24d
Kernel: Properly implement ControlMemory FREE and COMMIT
11 years ago
Yuri Kunde Schlesner
fbcf0558f3
Memory: Move PAGE_MASK and PAGE_BITS to memory.h
11 years ago
Yuri Kunde Schlesner
ce332ef416
VMManager: Introduce names for used ResultCodes
11 years ago
Yuri Kunde Schlesner
f287e6dff4
VMManager: Make LogLayout log level configurable as a parameter
11 years ago
Yuri Kunde Schlesner
c31e812624
VMManager: Change block offsets to size_t
11 years ago
bunnei
c03924e60e
Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
11 years ago
Emmanuel Gil Peyrot
fe83e1f777
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
11 years ago
aroulin
1af26ea3d8
arm_disasm: ARMv6 mul/div and abs media instructions
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
11 years ago
aroulin
0e37ee5692
arm_disasm: ARMv6 parallel add/sub media instructions
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
11 years ago
aroulin
e752fd5728
arm_disasm: ARMv6 reversal media instructions
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
11 years ago
aroulin
86d63d8fd8
arm_disasm: ARMv6 saturation media instructions
SSAT, SSAT16, USAT, USAT16
11 years ago
aroulin
aecd0de63e
arm_disasm: ARMv6 packing and sign-extend media instructions
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
11 years ago
Lioncash
daabb4fab3
arm_interface: Implement interface for retrieving VFP registers
11 years ago
Lioncash
59d5358068
arm_disasm: Remove unnecessary code
This part of disassembly only determines the opcode, there's no need for offset calculation here.
11 years ago
aroulin
4721ff6747
Disassembler: ARMv6K REX instructions
11 years ago
aroulin
0d4ad676e9
Disassembler: ARMv6K hint instructions
11 years ago
Lioncash
75631b2a9f
core: Eliminate some unused variable warnings
11 years ago
Lioncash
46663d657f
dyncom: Remove an unused variable
This was used prior to InterpreterTranslate existing.
11 years ago
Lioncash
12a9e8502c
core: Fix missing prototype warnings
11 years ago
Lioncash
6b25e93119
am_net: Add missing function to the function table
11 years ago
Lioncash
bed3618480
am_net: Add correct function name to the function table
11 years ago
Lioncash
2e420aba3c
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
11 years ago
Lioncash
2182adff9e
dyncom: Handle left-operand PC correctly for data-processing ops
This is considered deprecated in the ARM manual (using PC as an operand),
however, this is still able to be executed on the MPCore (which I'm quite
sure would be rare to begin with).
11 years ago
Lioncash
9be4ef3879
dyncom: Remove an unnecessary typedef
11 years ago
Lioncash
89540ea761
dyncom: Use enum class for instruction decoding results
11 years ago
James Rowe
1bc7829ee9
Move input values into an array
11 years ago
Lioncash
7e4fb4db19
dyncom: Remove code duplication regarding thumb instructions
11 years ago
Lioncash
a507ea23c1
dyncom: Migrate exclusive memory access control into armstate
11 years ago
Lioncash
db4e99c186
dyncom: Remove duplicated typedef and extern
These are already present in arm_dyncom_dec.h.
11 years ago
Lioncash
816b1ca776
dyncom: Use std::array for register arrays
11 years ago
Lioncash
0ecc6e2f04
dyncom: Use ARMul_State as an object
Gets rid of C-like parameter passing.
11 years ago
Lioncash
03213f893e
dyncom: Remove unnecessary initialization code.
Targeting ARM version variants was only a thing on armemu.
The reset routine also does basically the same thing as NewState.
11 years ago
Lioncash
3257d797e1
dyncom: Remove unnecessary abort-related cruft
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
11 years ago
Lioncash
dfb424b6d1
dyncom: Rename armdefs.h to armstate.h
11 years ago
Lioncash
4bb1a5ca47
dyncom: Get rid of skyeye typedefs
11 years ago
Lioncash
0191c26521
dyncom: Move helper functions to their own header
11 years ago
Lioncash
6b73e4566b
dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common
11 years ago
Lioncash
f7ba683dc3
armdefs: Remove unnecessary extern keywords
11 years ago
Lioncash
43d799fd9d
loader: Remove unnecessary else usages
11 years ago
Subv
599744921d
Service/APT: Fixed a regression, PreloadLibraryApplet should also start an applet when called.
11 years ago
Subv
ce31184557
Service/APT: Return proper parameters in GetLockHandle.
Documented some APT functions
This allows applets to boot.
11 years ago
Yuri Kunde Schlesner
3b61dd97e0
GSP: Don't try to write memory fill registers if start address is 0
Verified to be what GSP does via REing. Fixes invalid virt->phys
translation error spam in some games.
11 years ago
Subv
6c0ea5f5e8
Qt/GPU Breakpoints: Added three more breakpoint types:
* IncomingDisplayTransfer: Triggered just before a display transfer is performed.
* GSPCommandProcessed: Triggered right after a GSP command is processed.
* BufferSwapped: Triggered when the frames flip
11 years ago
Subv
f5bff67b0b
Services/Logging: Log more useful information when some operations fail.
Namely OpenFileDirectly, OpenDirectory and OpenArchive
11 years ago
Lioncash
c2689b8c2c
dyncom: Pass SVC immediates directly.
Previously it would just re-read the already decoded instruction and extract the immediate value.
11 years ago