summaryrefslogtreecommitdiff
path: root/src/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge pull request #3271 from bunnei/time-rewriteGravatar bunnei2020-01-1943-534/+3665
|\ \ \ | |/ / |/| | service: time: Rewrite implementation of glue services.
| * | service: time: Implement GetStandardLocalSystemClock.Gravatar bunnei2020-01-043-1/+9
| | |
| * | time: Remove overflow error checking (currently breaks ADO builds).Gravatar bunnei2020-01-042-18/+2
| | |
| * | service: time: Implement GetClockSnapshotFromSystemClockContext.Gravatar bunnei2020-01-043-3/+27
| | |
| * | service: time: Implement IsStandardNetworkSystemClockAccuracySufficient.Gravatar bunnei2020-01-045-1/+51
| | |
| * | system_archive: Add a basic HLE implementation for time zone binary.Gravatar bunnei2020-01-044-1/+675
| | |
| * | service: time: Rewrite implementation of glue services.Gravatar bunnei2020-01-0435-444/+2834
| | |
| * | core: Initialize several structs that make use of Common::UUID.Gravatar bunnei2020-01-045-100/+101
| | |
* | | core/memory: Create a special MapMemoryRegion for physical memory.Gravatar Markus Wick2020-01-184-4/+31
| | | | | | | | | | | | This allows us to create a fastmem arena within the memory.cpp helpers.
* | | core/hle: Simplify PhysicalMemory usage in vm_manager.Gravatar Markus Wick2020-01-181-23/+11
| | |
* | | core/loaders: Simplify PhysicalMemory usage.Gravatar Markus Wick2020-01-183-8/+12
| | | | | | | | | | | | | | | It is currently a std::vector, however we might want to replace it with a more fancy allocator. So we can't use the C++ iterators any more.
* | | core/kernel: Fix GetTotalPhysicalMemoryUsed.Gravatar Markus Wick2020-01-111-2/+2
| |/ |/| | | | | | | | | | | | | | | module._memory was already moved over to a new shared_ptr. So code_memory_size was not increased at all. This lowers the heap space and so saves a bit of memory, usually between 50 to 100 MB. This fixes a regression of c0a01f3adc466d07fc27020048e82cca60988970
* | Merge pull request #3272 from bunnei/vi-close-layerGravatar bunnei2020-01-075-11/+48
|\ \ | | | | | | service: vi: Implement CloseLayer.
| * | service: vi: Implement CloseLayer.Gravatar bunnei2020-01-045-11/+48
| |/ | | | | | | - Needed for Undertale.
* | Merge pull request #3261 from degasus/page_tableGravatar bunnei2020-01-062-9/+17
|\ \ | | | | | | core/memory + arm/dynarmic: Use a global offset within our arm page table.
| * | core/memory + arm/dynarmic: Use a global offset within our arm page table.Gravatar Markus Wick2020-01-012-9/+17
| | | | | | | | | | | | | | | | | | This saves us two x64 instructions per load/store instruction. TODO: Clean up our memory code. We can use this optimization here as well.
* | | Merge pull request #3257 from degasus/no_busy_loopsGravatar bunnei2020-01-061-1/+1
|\ \ \ | | | | | | | | video_core: Block in WaitFence.
| * | | video_core: Block in WaitFence.Gravatar Markus Wick2019-12-301-1/+1
| |/ / | | | | | | | | | | | | | | | | | | This function is called rarely and blocks quite often for a long time. So don't waste power and let the CPU sleep. This might also increase the performance as the other cores might be allowed to clock higher.
* | | Merge pull request #2945 from FernandoS27/fix-bcatGravatar bunnei2020-01-051-3/+17
|\ \ \ | |_|/ |/| | nifm: Only return that there's an internet connection when there's a BCATServer
| * | nifm: Only return that there's an internet connection when there's a BCATServerGravatar Fernando Sahmkow2019-11-061-3/+17
| | | | | | | | | | | | | | | This helps games that need internet for other purposes boot as the rest of our internet infrastructure is incomplete.
* | | Merge pull request #3247 from FernandoS27/remap-fixGravatar bunnei2020-01-032-3/+5
|\ \ \ | | | | | | | | NvServices: Correct Ioctl Remap.
| * | | NvServices: Correct Ioctl Remap.Gravatar Fernando Sahmkow2019-12-252-3/+5
| | |/ | |/| | | | | | | | | | This commit corrects a padding value in Ioctl Remap that was actually an offset to the mapping address.
* / | yuzu: Remove Maxwell debuggerGravatar ReinUsesLisp2020-01-022-14/+0
|/ / | | | | | | | | This was carried from Citra and wasn't really used on yuzu. It also adds some runtime overhead. This commit removes it from yuzu's codebase.
* | Merge pull request #3214 from lioncash/svc-funcGravatar bunnei2019-12-122-9/+6
|\ \ | | | | | | kernel/svc: Amend function signature of SignalProcessWideKey
| * | kernel/svc: Correct function signature of SignalProcessWideKeyGravatar Lioncash2019-12-112-9/+6
| | | | | | | | | | | | | | | This function doesn't actually return a result code, so we can amend the signature of it to match.
* | | Kernel: Correct behavior of Address Arbiter threads. (#3165)Gravatar Fernando Sahmkow2019-12-113-24/+67
|/ / | | | | | | | | | | | | | | | | | | | | * Kernel: Correct behavior of Address Arbiter threads. This corrects arbitration threads to behave just like in Horizon OS. They are added into a container and released according to what priority they had when added. Horizon OS does not reorder them if their priority changes. * Kernel: Address Feedback.
* | Merge pull request #3201 from lioncash/dumpGravatar bunnei2019-12-102-2/+24
|\ \ | | | | | | kernel/svc: Provide implementations for svcDumpInfo/svcDumpInfoNew
| * | kernel/svc: Provide implementations for svcDumpInfo/svcDumpInfoNewGravatar Lioncash2019-12-072-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | These are fairly trivial to implement, we can just do nothing. This also provides a spot for us to potentially dump out any relevant info in the future (e.g. for debugging purposes with homebrew, etc). While we're at it, we can also correct the names of both of these supervisor calls.
* | | kernel: Remove unnecessary includesGravatar Lioncash2019-12-0715-11/+17
|/ / | | | | | | | | | | Over the course of the changes to the kernel code, a few includes are no longer necessary, particularly with the change over to std::shared_ptr from Boost's intrusive_ptr.
* | CpuCore: Clear exclusive state after doing a run in dynarmic.Gravatar Fernando Sahmkow2019-12-052-1/+2
| | | | | | | | | | | | This commit corrects an error in which a Core could remain with an exclusive state after running, leaving space for possible race conditions between changing cores.
* | telemetry_session: Report renderer backendGravatar ReinUsesLisp2019-12-021-0/+1
| | | | | | | | We only have OpenGL as an option for now. Hardcode the entry.
* | telemetry_session: Use temporary to avoid writing the same enumGravatar ReinUsesLisp2019-12-021-16/+11
| |
* | kernel: Implement a more accurate IPC dispatch.Gravatar bunnei2019-11-2819-167/+246
| |
* | Merge pull request #3169 from lioncash/memoryGravatar bunnei2019-11-2838-674/+1241
|\ \ | | | | | | core/memory: Deglobalize memory management code
| * | core/memory; Migrate over SetCurrentPageTable() to the Memory classGravatar Lioncash2019-11-263-26/+34
| | | | | | | | | | | | | | | | | | | | | Now that literally every other API function is converted over to the Memory class, we can just move the file-local page table into the Memory implementation class, finally getting rid of global state within the memory code.
| * | core/memory: Migrate over GetPointerFromVMA() to the Memory classGravatar Lioncash2019-11-261-36/+36
| | | | | | | | | | | | | | | | | | | | | | | | Now that everything else is migrated over, this is essentially just code relocation and conversion of a global accessor to the class member variable. All that remains is to migrate over the page table.
| * | core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory classGravatar Lioncash2019-11-2614-153/+298
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Write functions are used slightly less than the Read functions, which make these a bit nicer to move over. The only adjustments we really need to make here are to Dynarmic's exclusive monitor instance. We need to keep a reference to the currently active memory instance to perform exclusive read/write operations.
| * | core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classGravatar Lioncash2019-11-2617-167/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With all of the trivial parts of the memory interface moved over, we can get right into moving over the bits that are used. Note that this does require the use of GetInstance from the global system instance to be used within hle_ipc.cpp and the gdbstub. This is fine for the time being, as they both already rely on the global system instance in other functions. These will be removed in a change directed at both of these respectively. For now, it's sufficient, as it still accomplishes the goal of de-globalizing the memory code.
| * | core/memory: Migrate over ZeroBlock() and CopyBlock() to the Memory classGravatar Lioncash2019-11-262-91/+161
| | | | | | | | | | | | | | | These currently aren't used anywhere in the codebase, so these are very trivial to move over to the Memory class.
| * | core/memory: Migrate over RasterizerMarkRegionCached() to the Memory classGravatar Lioncash2019-11-262-68/+77
| | | | | | | | | | | | | | | This is only used within the accelerated rasterizer in two places, so this is also a very trivial migration.
| * | core/memory: Migrate over ReadCString() to the Memory classGravatar Lioncash2019-11-263-18/+40
| | | | | | | | | | | | | | | This only had one usage spot, so this is fairly straightforward to convert over.
| * | core/memory: Migrate over GetPointer()Gravatar Lioncash2019-11-263-18/+45
| | | | | | | | | | | | | | | With all of the interfaces ready for migration, it's trivial to migrate over GetPointer().
| * | core: Prepare various classes for memory read/write migrationGravatar Lioncash2019-11-2617-41/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | core/memory: Move memory read/write implementation functions into an ↵Gravatar Lioncash2019-11-261-97/+98
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | core/memory: Migrate over address checking functions to the new Memory classGravatar Lioncash2019-11-266-39/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | core/memory: Migrate over memory mapping functions to the new Memory classGravatar Lioncash2019-11-265-121/+172
| | | | | | | | | | | | | | | | | | 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.
| * | core/memory: Introduce skeleton of Memory classGravatar Lioncash2019-11-264-3/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #3171 from lioncash/internal-linkGravatar bunnei2019-11-282-6/+5
|\ \ \ | | | | | | | | filesys/romfs: Make ProcessFile and ProcessDirectory internally linked
| * | | filesys/romfs: Remove unused includesGravatar Lioncash2019-11-272-4/+2
| | | | | | | | | | | | | | | | | | | | These inclusions aren't used at all within the public interface, so they can be removed.
| * | | filesys/romfs: Make ProcessFile and ProcessDirectory internally linkedGravatar Lioncash2019-11-271-2/+3
| | | | | | | | | | | | | | | | | | | | These functions aren't used outside of this file, so we can place them within an anonymous namespace.