aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2018-08-17Implement SetIdleTimeDetectionExtension & GetIdleTimeDetectionExtension (#1059)greggameplayer
* Used by Mario Tennis Aces
2018-08-17Merge pull request #1090 from lioncash/ctor-assignbunnei
core: Delete System copy/move constructors and assignment operators
2018-08-17Merge pull request #1093 from ↵bunnei
greggameplayer/GetDefaultDisplayResolutionChangeEvent Implement GetDefaultDisplayResolutionChangeEvent
2018-08-16Merge pull request #1087 from MerryMage/dynarmicbunnei
dynarmic: Update to 550d662
2018-08-16correct coding stylegreggameplayer
2018-08-16Implement GetDefaultDisplayResolutionChangeEventgreggameplayer
Require by Toki Tori and Toki Tori 2+
2018-08-16Merge pull request #1085 from lioncash/namespacebunnei
common: Namespace hex_util.h/.cpp
2018-08-16core: Delete System copy/move constructors and assignment operatorsLioncash
Prevents potentially making copies or doing silly things by accident with the System instance, particularly given our current core is designed (unfortunately) around one instantiable instance. This will prevent the accidental case of: auto instance = System::Instance(); being compiled without warning when it's supposed to be: auto& instance = System::Instance();
2018-08-16dynarmic: Update to 550d662MerryMage
550d662 load_store_exclusive: Define s == t state to be Constraint_NONE 0b69381 A64/translate: Allow for unpredictable behaviour to be defined 6d236d4 system: Implement MRS CNTFRQ_EL0 6cbb6fb A32/testenv: Add missing headers 6729328 externals: Update xbyak to v5.67 1812bd2 Squashed 'externals/xbyak/' changes from 2794cde7..671fc805 9a95802 externals: Document subtrees 714a840 A64: Implement SQ{ADD, SUB}, and UQ{ADD, SUB}'s vector variants 8cab459 A64: Implement UQADD/UQSUB's scalar variants 18a8151 ir: Add opcodes for unsigned saturating add and subtract a5660ee x64/reg_alloc: Use type alias for array returned by GetArgumentInfo() 29489b5 ir/value: Use type alias CoprocessorInfo for std::array<u8, 8> e23ba26 status_register_access: Add support for bits 0 and 1 of mask to MSR 55190bd fuzz_with_unicorn: Split utility functions into fuzz_util 23b049d A32/translate/load_store: Correct detection of writeback 7ec9f15 A32/translate: Add TranslateSingleInstruction efeecb4 A32/ir_emitter: Bug fix: IREmitter::ExceptionRaised using incorrect opcode 08d1d19 A32/decoders: Split instruction list into include file 2d929cc tests: Refactor unicorn_emu to allow for A32 unicorn f672368 microinstruction: Improve assert messages 7ebff50 emit_x64_vector: EmitVectorNarrow16: AVX512 implementation edce230 emit_x64_vector: EmitVectorNarrow32: prefer pblendw to loading constant
2018-08-16Merge pull request #1075 from lioncash/includebunnei
loader/{nca, xci}: Remove unnecessary includes and unused member variables
2018-08-15common: Namespace hex_util.h/.cppLioncash
It's in the common code, so it should be under the Common namespace like everything else.
2018-08-15Merge pull request #1005 from DarkLordZach/registered-fmtbunnei
file_sys: Add support for registration format
2018-08-15Merge pull request #1078 from lioncash/messagebunnei
lm: Handle threads and modules within the logger
2018-08-15Merge pull request #1079 from lioncash/fmtbunnei
loader: Make ResultStatus directly compatible with fmt
2018-08-15Merge pull request #1051 from B3n30/UnscheduleEventThreadsafebunnei
Core::CoreTiming: add UnscheduleEventThreadsafe
2018-08-15Merge pull request #1080 from lioncash/retbunnei
sm/controller: Correct return value of QueryPointerBufferSize
2018-08-15kernel/server_session: Add IsSession() member functionLioncash
Allows querying the inverse of IsDomain() to make things more readable. This will likely also be usable in the event of implementing ConvertDomainToSession().
2018-08-15sm/controller: Correct return value of QueryPointerBufferSizeLioncash
This should be returning a u16 according to Switch Brew.
2018-08-15loader: Make ResultStatus directly compatible with fmtLioncash
We can make the enum class type compatible with fmt by providing an overload of operator<<. While we're at it, perform proper bounds checking. If something exceeds the array, it should be a hard fail, because it's, without a doubt, a programmer error in this case.
2018-08-15loader/nca: Remove unnecessary includes and member variablesLioncash
2018-08-15loader/xci: Remove unnecessary includes and member variablesLioncash
Many of these aren't necessary and will cause this file to be required to be recompiled whenever any changes to those files are made, which lengthens compile times for no reason. This also removes an unused metadata variable from AppLoader_XCI
2018-08-15lm: Use LOG_DEBUG for printing out trace logsLioncash
Using LOG_TRACE here isn't a good idea because LOG_TRACE is only enabled when yuzu is compiled in debug mode. Debug mode is also quite slow, and so we're potentially throwing away logging messages that can provide value when trying to boot games.
2018-08-15lm: Handle threads and modules within the loggerLioncash
The thread field serves to indicate which thread a log is related to and provides the length of the thread's name, so we can print that out, ditto for modules. Now we can know what threads are potentially spawning off logging messages (for example Lydie & Suelle bounces between MainThread and LoadingThread when initializing the game).
2018-08-14Merge pull request #1067 from lioncash/initbunnei
emu_window: Ensure WindowConfig members are always initialized
2018-08-14Merge pull request #1073 from lioncash/3dsbunnei
loader: Remove address mapping remnants from citra
2018-08-14Merge pull request #1072 from lioncash/svcbunnei
kernel/svc: Log svcBreak parameters
2018-08-14Merge pull request #1056 from lioncash/mmbunnei
mm_u: Move interface class into the cpp file
2018-08-14loader: Remove address mapping remnants from citraLioncash
These mappings are leftovers from citra and don't apply to the Switch.
2018-08-14kernel/svc: Log svcBreak parametersLioncash
Given if we hit here all is lost, we should probably be logging the break reason code and associated information to distinguish between the causes.
2018-08-14emu_window: Ensure WindowConfig members are always initializedLioncash
Previously we weren't always initializing all members of the struct. Prevents potentially wonky behavior from occurring.
2018-08-14Merge pull request #1055 from lioncash/initbunnei
audout_u: Correct IAudioOut initializer list order
2018-08-13Merge pull request #1046 from ogniK5377/missing-channelsMat M
Added missing channel devices
2018-08-13mm_u: Forward all old variants of functions to the new onesLioncash
Ensures both variants go through the same interface, and while we're at it, add Finalize to provide the inverse of Initialize for consistency.
2018-08-13mm_u: Move implementation class into the cpp fileLioncash
Now if changes are ever made to the behavior of the class, it doesn't involve rebuilding everything that includes the mm_u header.
2018-08-13audout_u: Correct IAudioOut initializer list orderLioncash
Orders elements in the precise order they'll be initialized.
2018-08-13arm_dynarmic: Remove IsExecuting check from PrepareRescheduleMerryMage
No longer required. HaltExecution is a no-op if it is not currently executing.
2018-08-13Core::CoreTiming: add UnscheduleEventThreadsafeB3n30
2018-08-13Merge pull request #1032 from lioncash/sanitizebunnei
vfs: Use sanitized paths within MoveFile() and MoveDirectory()
2018-08-13Merge pull request #1031 from lioncash/verbositybunnei
card_image: Simplify return statement of GetSubdirectories()
2018-08-13kernel/object: Tighten object against data racesLioncash
Despite being covered by a global mutex, we should still ensure that the class handles its reference counts properly. This avoids potential shenanigans when it comes to data races. Given this is the root object that drives quite a bit of the kernel object hierarchy, ensuring we always have the correct behavior (and no races) is a good thing.
2018-08-13Registered missing channel devicesDavid Marcec
2018-08-13Added missing channel devicesDavid Marcec
2018-08-12Merge pull request #1043 from Subv/timingbunnei
Use an approximated amortized amount of ticks when advancing timing.
2018-08-12Merge pull request #1036 from lioncash/threadbunnei
scheduler: Make HaveReadyThreads() a const member function
2018-08-12Merge pull request #1042 from Subv/racesbunnei
Fixed a bunch of race conditions when running in multicore mode.
2018-08-12Merge pull request #1041 from Subv/duplicated_mutexbunnei
Kernel/Mutex: Don't duplicate threads in the mutex waiter list.
2018-08-12CPU/Timing: Use an approximated amortized amount of ticks when advancing timing.Subv
We divide the number of ticks to add by the number of cores (4) to obtain a more or less rough estimate of the actual number of ticks added. This assumes that all 4 cores are doing similar work. Previously we were adding ~4 times the number of ticks, thus making the games think that time was going way too fast. This lets us bypass certain hangs in some games like Breath of the Wild. We should modify our CoreTiming to support multiple cores (both running in a single thread, and in multiple host threads).
2018-08-12Kernel/SVC: Don't reschedule the current core when creating a new thread.Subv
The current core may have nothing to do with the core where the new thread was scheduled to run. In case it's the same core, then the following PrepareReshedule call will take care of that.
2018-08-12Core/HLE: Make the 'reschedule_pending' flag atomic.Subv
Another thread may write to this variable while the core in question is in the middle of checking for a reschedule request.
2018-08-12CPU/HLE: Lock the HLE mutex before performing a reschedule.Subv
Another thread might be in the middle of an SVC, thus altering the state of the schedulers.