aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2019-03-20Merge pull request #2090 from FearlessTobi/port-4599bunnei
Port citra-emu/citra#4244 and citra-emu/citra#4599: Changes to BitField
2019-03-20Merge pull request #2262 from lioncash/enumbunnei
file_sys/content_archive: Amend name of Data_Unknown5 enum entry
2019-03-20Merge pull request #2268 from lioncash/codesetbunnei
core/kernel: Migrate CodeSet to its own source files
2019-03-20Merge pull request #2267 from FernandoS27/fix-2238bunnei
Fix crash caused by #2238.
2019-03-20Merge pull request #2224 from lioncash/opusbunnei
hwopus: Leverage multistream API for decoding regular Opus packets
2019-03-20kernel/process: Make MapSegment lambda reference parameter constLioncash
The segment itself isn't actually modified.
2019-03-20kernel: Move CodeSet structure to its own source filesLioncash
Given this is utilized by the loaders, this allows avoiding inclusion of the kernel process definitions where avoidable. This also keeps the loading format for all executable data separate from the kernel objects.
2019-03-19Fix crash caused by 2238.Fernando Sahmkow
2019-03-19loader: Remove Linker classLioncash
Given the class is now currently unused, it can be removed.
2019-03-19loader: Remove Linker inheritance from NRO and NSO loadersLioncash
Neither the NRO or NSO loaders actually make use of the functions or members provided by the Linker interface, so we can just remove the inheritance altogether.
2019-03-19file_sys/content_archive: Amend name of Data_Unknown5 enum entryLioncash
While we're at it, give each entry some documentation.
2019-03-18Merge pull request #2258 from lioncash/ambunnei
service/am: Supply remaining missing IAudioController functions
2019-03-18fsp_srv: Unstub SetCurrentProcessLioncash
This just acts as a basic setter for a given PID value and performs no further checking, so we can just store the passed in value.
2019-03-18service/am: Add basic implementation of ChangeMainAppletMasterVolumeLioncash
All this does is supply a new volume level and a fade time in nanoseconds for the volume transition to occur within.
2019-03-18service/am: Unstub SetTransparentVolumeRate()Lioncash
Like the other volume setter, this mainly just sets a data member within the service, nothing too special.
2019-03-18service/am: Unstub SetExpectedMasterVolume()Lioncash
This function passes in the desired main applet and library applet volume levels. We can then just pass those values back within the relevant volume getter functions, allowing us to unstub those as well. The initial values for the library and main applet volumes differ. The main applet volume is 0.25 by default, while the library applet volume is initialized to 1.0 by default in the services themselves.
2019-03-17Merge pull request #2238 from lioncash/threadbunnei
kernel/thread: Amend conditional test and assignment within UpdatePriority()
2019-03-17Merge pull request #2252 from bunnei/move-page-tablebunnei
core: Move PageTable struct into Common.
2019-03-16Merge pull request #2249 from lioncash/ipcbunnei
ipc_helpers: Allow pushing and popping floating-point values
2019-03-16Merge pull request #2245 from lioncash/unused-defbunnei
kernel/thread: Actually remove the definition of ExitCurrentThread()
2019-03-16core: Move PageTable struct into Common.bunnei
2019-03-16Merge pull request #2243 from bunnei/mem-simplify-cachebunnei
memory: Simplify rasterizer cache operations.
2019-03-16Merge pull request #2129 from FernandoS27/cntpctbunnei
Correct CNTPCT from using CPU Cycles to using Clock Cycles
2019-03-16ipc_helpers: Allow pushing and popping floating-point valuesLioncash
Certain values that are passed through the IPC buffer are actually floating point values, not solely integral values.
2019-03-16kernel/thread: Actually remove the definition of ExitCurrentThread()Lioncash
This was intended to be removed in 51d7f6bffcc0498a47abc7de27bf0906fc523dae, but I guess I forgot to actually save the file like a dingus.
2019-03-16Merge pull request #2242 from lioncash/thread-fnbunnei
kernel/thread: Remove WaitCurrentThread_Sleep() and ExitCurrentThread()
2019-03-16memory: Simplify rasterizer cache operations.bunnei
2019-03-15kernel/thread: Move thread exiting logic from ExitCurrentThread to svcExitThreadLioncash
Puts the operation on global state in the same places as the rest of the svc calls.
2019-03-15kernel/thread: Migrate WaitCurrentThread_Sleep into the Thread interfaceLioncash
Rather than make a global accessor for this sort of thing. We can make it a part of the thread interface itself. This allows getting rid of a hidden global accessor in the kernel code.
2019-03-15kernel/thread: Expand documentation of nominal_priority and current_priorityLioncash
Aims to disambiguate why each priority instance exists a little bit. While we're at it, also add an explanatory comment to UpdatePriority().
2019-03-15kernel/thread: Make bracing consistent within UpdatePriority()Lioncash
2019-03-15kernel/thread: Amend condition within UpdatePriority()Lioncash
This condition was checking against the nominal thread priority, whereas the kernel itself checks against the current priority instead. We were also assigning the nominal priority, when we should be assigning current_priority, which takes priority inheritance into account. This can lead to the incorrect priority being assigned to a thread. Given we recursively update the relevant threads, we don't need to go through the whole mutex waiter list. This matches what the kernel does as well (only accessing the first entry within the waiting list).
2019-03-15kernel/thread: Maintain priority ordering of added mutex waiting threadsLioncash
The kernel keeps the internal waiting list ordered by priority. This is trivial to do with std::find_if followed by an insertion.
2019-03-14gpu: Use host address for caching instead of guest address.bunnei
2019-03-14Merge pull request #2230 from lioncash/globalbunnei
kernel/process: Remove use of global system accessors
2019-03-13Merge pull request #2226 from lioncash/privatebunnei
kernel/server_port: Make data members private
2019-03-13Merge pull request #2223 from lioncash/errorbunnei
core/hle/result: Tidy up the base error code result header.
2019-03-13Merge pull request #2166 from lioncash/vi-init-servicebunnei
service/vi: Unstub GetDisplayService
2019-03-12kernel/process: Remove use of global system accessorsLioncash
Now that we pass in a reference to the system instance, we can utilize it to eliminate the global accessors in Process-related code.
2019-03-12Merge pull request #2211 from lioncash/arbiterbunnei
kernel: Make the address arbiter instance per-process
2019-03-11kernel/server_port: Make data members privateLioncash
With this, all kernel objects finally have all of their data members behind an interface, making it nicer to reason about interactions with other code (as external code no longer has the freedom to totally alter internals and potentially messing up invariants).
2019-03-11hwopus: Leverage multistream API for decoding regular Opus packetsLioncash
After doing a little more reading up on the Opus codec, it turns out that the multistream API that is part of libopus can handle regular packets. Regular packets are just a degenerate case of multistream Opus packets, and all that's necessary is to pass the number of streams as 1 and provide a basic channel mapping, then everything works fine for that case. This allows us to get rid of the need to use both APIs in the future when implementing multistream variants in a follow-up PR, greatly simplifying the code that needs to be written.
2019-03-10core/hle/result: Remove now-unnecessary manually defined copy assignment ↵Lioncash
operator Previously this was required, as BitField wasn't trivially copyable. BitField has since been made trivially copyable, so now this isn't required anymore.
2019-03-10core/hle/result: Amend error in comment description for ResultCodeLioncash
Gets rid of another holdover from Citra, and describes the OS on the Switch instead.
2019-03-10core/hle/result: Remove now-unused constructor for ResultCodeLioncash
Now that the final stray ErrorDescription member was relocated, we can finally remove it and its relevant constructor in the ResultCode union.
2019-03-10core/hle/result: Relocate IPC error code to ipc_helpersLioncash
Relocates the error code to where it's most related, similar to how all the other error codes are. Previously we were including a non-generic error in the main result code header.
2019-03-10service/service: Remove unncessary calls to c_str()Lioncash
These can just be passed regularly, now that we use fmt instead of our old logging system. While we're at it, make the parameters to MakeFunctionString std::string_views.
2019-03-10Merge pull request #2207 from lioncash/hwopusbunnei
service/audio/hwopus: Move decoder state to its own class
2019-03-10Merge pull request #2193 from lioncash/globalbunnei
kernel/scheduler: Pass in system instance in constructor
2019-03-09clang fixHexagon12