| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
This requires making several types trivial and properly initialize
them whenever they are called.
|
|
|
|
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
|
|
|
|
service: time: Update current time with changes to RTC setting.
|
|
|
|
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
|
|
Makes our error coverage a little more consistent across the board by
applying it to Linux side of things as well. This also makes it more
consistent with the warning settings in other libraries in the project.
This also updates httplib to 0.7.9, as there are several warning
cleanups made that allow us to enable several warnings as errors.
|
|
- This can be used to advance time, e.g. for Pokemon Sword/Shield pokejobs.
|
|
Prevents a useless self-assignment from occurring.
|
|
WriteBuffer (#4465)
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer
With the support of C++20, we can use concepts to deduce if a type is an STL container or not.
* More agressive concept for stl containers
* Add -fconcepts
* Move to common namespace
* Add Common::IsBaseOf
|
|
service: Update function tables
|
|
|
|
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and
Suspended State, Recreates the bootmanager, Initializes Multicore
system.
|
|
|
|
|
|
service/time: Remove reliance on the global system accessor
|
|
General: Resolve minor assorted warnings
|
|
Eliminates usages of the global system accessor and instead passes the
existing system instance into the interfaces.
|
|
This is already initialized within the class body.
|
|
This doesn't modify internal member state.
|
|
Many of these implementations are used to implement a polymorphic
interface. While not directly used polymorphically, this prevents
virtual destruction from ever becoming an issue.
|
|
|
|
ttis and ats will never exceed the length of INT32_MAX in our case, so
this is safe.
|
|
CMakeLists: Specify -Wextra on linux builds
|
|
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.
We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).
While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
|
|
- Used by Animal Crossing: New Horizons.
|
|
- Used by Super Smash Bros. Ultimate.
|
|
There were cases where raw_data didn't contain enough
space to hold the zero terminator.
This was caught with -fsanitize=address.
|
|
|
|
- Used by Pokemon Mystery Dungeon.
|
|
- Fixes timestamp in ZLA and Astral Chain saves.
|
|
|
|
|
|
|
|
|
|
|
|
service: Update function tables
|
|
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.
|
|
Keeps the function tables up to date.
Updated based off information from Switchbrew.
|
|
These are fairly trivial to resolve and most of the changes entail
using RESULT_UNKNOWN over ResultCode(-1).
|
|
|
|
|
|
This PR attempts to implement the shared memory provided by GetSharedMemoryNativeHandle. There is still more work to be done however that requires a rehaul of the current time module to handle clock contexts. This PR is mainly to get the basic functionality of the SharedMemory working and allow the use of addition to it whilst things get improved on.
Things to note:
Memory Barriers are used in the SharedMemory and a better solution would need to be done to implement this. Currently in this PR I’m faking the memory barriers as everything is sync and single threaded. They work by incrementing the counter and just populate the two data slots. On data reading, it will read the last added data.
Specific values in the shared memory would need to be updated periodically. This isn't included in this PR since we don't actively do this yet. In a later PR when time is refactored this should be done.
Finally, as we don't handle clock contexts. When time is refactored, we will need to update the shared memory for specific contexts. This PR does this already however since the contexts are all identical and not separated. We're just updating the same values for each context which in this case is empty.
Tiime:SetStandardUserSystemClockAutomaticCorrectionEnabled, Time:IsStandardUserSystemClockAutomaticCorrectionEnabled are also partially implemented in this PR. The reason the implementation is partial is because once again, a lack of clock contexts. This will be improved on in a future PR.
This PR closes issue #2556
|
|
Makes the casing consistent with all of our general function naming
conventions.
|
|
Makes the interface more type-safe and consistent in terms of return
values.
|
|
Updates function tables based off information from SwitchBrew.
|