aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2019-11-26core/memory: Migrate over ReadCString() to the Memory classLioncash
This only had one usage spot, so this is fairly straightforward to convert over.
2019-11-26core/memory: Migrate over GetPointer()Lioncash
With all of the interfaces ready for migration, it's trivial to migrate over GetPointer().
2019-11-26core: Prepare various classes for memory read/write migrationLioncash
Amends a few interfaces to be able to handle the migration over to the new Memory class by passing the class by reference as a function parameter where necessary. Notably, within the filesystem services, this eliminates two ReadBlock() calls by using the helper functions of HLERequestContext to do that for us.
2019-11-26core/memory: Move memory read/write implementation functions into an ↵Lioncash
anonymous namespace These will eventually be migrated into the main Memory class, but for now, we put them in an anonymous namespace, so that the other functions that use them, can be migrated over separately.
2019-11-26core/memory: Migrate over address checking functions to the new Memory classLioncash
A fairly straightforward migration. These member functions can just be mostly moved verbatim with minor changes. We already have the necessary plumbing in places that they're used. IsKernelVirtualAddress() can remain a non-member function, since it doesn't rely on class state in any form.
2019-11-26core/memory: Migrate over memory mapping functions to the new Memory classLioncash
Migrates all of the direct mapping facilities over to the new memory class. In the process, this also obsoletes the need for memory_setup.h, so we can remove it entirely from the project.
2019-11-26core/memory: Introduce skeleton of Memory classLioncash
Currently, the main memory management code is one of the remaining places where we have global state. The next series of changes will aim to rectify this. This change simply introduces the main skeleton of the class that will contain all the necessary state.
2019-11-26core_timing: Use better reference tracking for EventType. (#3159)bunnei
* core_timing: Use better reference tracking for EventType. - Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects. - Removes need for unique names - we won't be using this for save states anyways.
2019-11-25kernel: Fix reference management for client/server session.bunnei
- Fixes shutdown crash and crash in Pokemon SwSh.
2019-11-24Merge pull request #3094 from lioncash/tablesbunnei
service: Update function tables
2019-11-24kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for ↵bunnei
kernel objects. (#3154) * kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. - See https://github.com/citra-emu/citra/pull/4710 for details.
2019-11-23Update svc.cppbunnei
2019-11-23svc: GetSystemTick should return cntpct_el0, not core ticks.bunnei
2019-11-23Merge pull request #3114 from FernandoS27/cond-varbunnei
Kernel: Correct behavior of Condition Variables to be more similar to real hardware.
2019-11-23Merge pull request #3130 from FernandoS27/cancel-syncbunnei
Kernel: Correct Cancel Synchronization.
2019-11-21Merge pull request #3112 from lioncash/skipbunnei
service/am: Remove unnecessary Skip calls
2019-11-21Merge pull request #3111 from lioncash/querybunnei
am: Stub QueryApplicationPlayStatistics
2019-11-21Kernel: Optimize condition variable threads management.Fernando Sahmkow
2019-11-21Kernel: Correct SignalProcessWideKeyFernando Sahmkow
When the target is 0, all threads must be processed.
2019-11-21Kernel: Correct behavior of Condition Variables to be more similar to real ↵Fernando Sahmkow
hardware. This commit ensures cond var threads act exactly as they do in the real console. The original implementation uses an RBTree and the behavior of cond var threads is that at the same priority level they act like a FIFO.
2019-11-16Kernel: Correct Cancel Synchronization.Fernando Sahmkow
This commit corrects the behavior of cancel synchronization when the thread is running/ready and ensures the next wait is cancelled as it's suppose to.
2019-11-15Merge pull request #3091 from lioncash/core-conversionbunnei
core: Make most implicit type conversion warnings errors on MSVC
2019-11-14service/am: Remove unnecessary Skip callsLioncash
We can simplify these by wrapping the necessary members in structs and then simply reading out the whole struct.
2019-11-14am: Stub QueryApplicationPlayStatisticsLioncash
Maintains implementation parity between QueryApplicationPlayStatistics and QueryApplicationPlayStatisticsByUid. These function the same behaviorally underneath the hood, with the only difference being that one allows specifying a UID.
2019-11-14Merge pull request #3089 from SciresM/play_statisticsbunnei
Implement stub for IApplicationFunctions::QueryApplicationPlayStatisticsByUid
2019-11-14Merge pull request #3093 from lioncash/mbedtlsbunnei
core: Migrate off deprecated mbedtls functions
2019-11-14Merge pull request #3092 from lioncash/utilbunnei
key_manager: Make use of IOFile in WriteKeyToFile()
2019-11-13xts_archive: Remove redundant std::string constructorLioncash
We can just call the .data() member of path instead of constructing a completely new string.
2019-11-12service: Update function tablesLioncash
Keeps the function tables up to date. Updated based off information from Switchbrew.
2019-11-12key_manager: Make use of IOFile in WriteKeyToFile()Lioncash
This properly handles unicode-based paths on Windows, while opening a raw stream doesn't out-of-the-box. Prevents file creation from potentially failing on Windows PCs that make use of unicode characters in their save paths (e.g. writing to a user's AppData folder, where the user has a name with non-ASCII characters).
2019-11-12core: Migrate off deprecated mbedtls functionsLioncash
These functions are marked for deprecation and it's recommended that the *_ret variants be used instead.
2019-11-12externals: Update httplibLioncash
Since the introduction of this library, numerous improvements have been made. Notably, many of the warnings we would get by simply including the library header have now been fixed. This makes it much easier to make conversion warning an error.
2019-11-12service: Resolve sign conversion errorsLioncash
These are fairly trivial to resolve and most of the changes entail using RESULT_UNKNOWN over ResultCode(-1).
2019-11-12perf_stats: Resolve implicit int to double conversion errorLioncash
We simply need to turn the literal argument to std::accumulate into a double, rather than an int.
2019-11-12loader; Resolve sign conversion/truncation errorsLioncash
2019-11-12gdbstub: Resolve sign conversion errorsLioncash
2019-11-12kernel: Resolve sign conversion warningsLioncash
Uncovered a bug within Thread's SetCoreAndAffinityMask() where an unsigned variable (ideal_core) was being compared against "< 0", which would always be a false condition. We can also get rid of an unused function (GetNextProcessorId) which contained a sign mismatch warning.
2019-11-12file_sys: Resolve sign conversion warningsLioncash
Resolves a few trivial sign conversion/mismatch errors.
2019-11-12result: Add default error code for the ResultCode(-1) caseLioncash
Will be used to reduce the overall duplication of the same magic value all over the codebase in following changes.
2019-11-12crypto: Resolve sign-conversion warningsLioncash
2019-11-12result: Resolve sign-coversion warningsLioncash
The constructor was implicitly using signed->unsigned conversions to produce 0xFFFFFFFF. We can just specify this explicitly with UINT32_MAX.
2019-11-12arm_unicorn: Resolve sign conversion warningsLioncash
While we're at it, this also resolves a type truncation warning as well, given the code was truncating from a 64-bit value to a 32-bit one.
2019-11-12CMakeLists: Make most implicit type conversion warnings errors on MSVCLioncash
Quite frequently there have been cases where code has been merged into the core that produces warning. In order to prevent this from occurring, we can make the compiler flag these cases and allow our CI to flag down any code that would generate these warnings. This is beneficial given silent conversions from signed/unsigned can result in logic bugs. This forces one writing changes to be explicit about when signedness conversions are desirable, rather than leaving it up to readers' interpretation. Currently the codebase isn't in a state where it will build successfully with this change applied, but this will be addressed in subsequent follow-up changes. This set of changes will focus on making it build properly with these changes for MSVC as a starting point for basic coverage.
2019-11-11Implement stub for QueryApplicationPlayStatisticsByUidMichael Scire
2019-11-06nifm: Only return that there's an internet connection when there's a BCATServerFernando Sahmkow
This helps games that need internet for other purposes boot as the rest of our internet infrastructure is incomplete.
2019-11-06Merge pull request #3062 from bunnei/event-improvebunnei
kernel: Improve events
2019-11-06Merge pull request #2859 from Morph1984/hidDavid
hid: Stub SetNpadJoyAssignmentModeSingle and GetNpadHandheldActivationMode
2019-11-03common_func: Use std::array for INSERT_PADDING_* macros.bunnei
- Zero initialization here is useful for determinism.
2019-11-03kernel: readable_event: Signal only once.bunnei
2019-11-03kernel: events: Remove ResetType::Automatic.bunnei
- This does not actually seem to exist in the real kernel - games reset these automatically. # Conflicts: # src/core/hle/service/am/applets/applets.cpp # src/core/hle/service/filesystem/fsp_srv.cpp