aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2019-07-07Merge pull request #2642 from DarkLordZach/fsp-log-2bunnei
fsp-srv: Implement Access Logging Functionality
2019-07-07key_manager: Convert Ticket union to std::variantZach Hilman
2019-07-07es: Populate/synthesize tickets on constructionZach Hilman
2019-07-07key_manager: Add structure for Ticket parsingZach Hilman
2019-07-07es: Implement ETicket GetPersonalizedTicketData (17)Zach Hilman
Copies the raw personal ticket data into the buffer provided.
2019-07-07es: Implement ETicket GetCommonTicketData (16)Zach Hilman
Copies the raw common ticket data for the specified rights ID into the buffer provided.
2019-07-07es: Implement ETicket GetPersonalizedTicketSize (15)Zach Hilman
Returns the size of the buffer needed to hold the personal ticket associated with the rights ID.
2019-07-07es: Implement ETicket GetCommonTicketSize (14)Zach Hilman
Returns the size of the buffer needed to hold the common ticket associated with the rights ID.
2019-07-07es: Implement ETicket ListPersonalizedTicket (12)Zach Hilman
Returns an application-specific number of entries of personal tickets, starting at offset 0.
2019-07-07es: Implement ETicket ListCommonTicket (11)Zach Hilman
Returns an application specified count of entries of common tickets, starting at offset 0.
2019-07-07es: Implement ETicket CountPersonalizedTicket (10)Zach Hilman
Returns the number of personalized (console/user-unique) tickets in the KeyManager.
2019-07-07es: Implement ETicket CountCommonTicket (9)Zach Hilman
Returns the number of common (non-console-unique) tickets in the KeyManager.
2019-07-07es: Implement ETicket GetTitleKey (8)Zach Hilman
Takes a rights ID as input and returns the associated title key, if it exists.
2019-07-07es: Implement ETicket ImportTicket (1)Zach Hilman
Takes a ticket and certificate and installs it to the KeyManager.
2019-07-07Remove unused member function declarationMichael Scire
2019-07-07physmem: add helpers, cleanup logic.Michael Scire
2019-07-07clang-format fixesMichael Scire
2019-07-07address review commentaryMichael Scire
2019-07-07Implement MapPhysicalMemory/UnmapPhysicalMemoryMichael Scire
This implements svcMapPhysicalMemory/svcUnmapPhysicalMemory for Yuzu, which can be used to map memory at a desired address by games since 3.0.0. It also properly parses SystemResourceSize from NPDM, and makes information available via svcGetInfo. This is needed for games like Super Smash Bros. and Diablo 3 -- this PR's implementation does not run into the "ASCII reads" issue mentioned in the comments of #2626, which was caused by the following bugs in Yuzu's memory management that this PR also addresses: * Yuzu's memory coalescing does not properly merge blocks. This results in a polluted address space/svcQueryMemory results that would be impossible to replicate on hardware, which can lead to game code making the wrong assumptions about memory layout. * This implements better merging for AllocatedMemoryBlocks. * Yuzu's implementation of svcMirrorMemory unprotected the entire virtual memory range containing the range being mirrored. This could lead to games attempting to map data at that unprotected range/attempting to access that range after yuzu improperly unmapped it. * This PR fixes it by simply calling ReprotectRange instead of Reprotect.
2019-07-07kernel/process: Allocate the process' TLS region during initializationLioncash
Prior to execution within a process beginning, the process establishes its own TLS region for uses (as far as I can tell) related to exception handling. Now that TLS creation was decoupled from threads themselves, we can add this behavior to our Process class. This is also good, as it allows us to remove a stub within svcGetInfo, namely querying the address of that region.
2019-07-07kernel/process: Move main thread stack allocation to its own functionLioncash
Keeps this particular set of behavior isolated to its own function.
2019-07-06mii: Implement IDatabaseService SetInterfaceVersionZach Hilman
Appears to set a member variable used to affect the API that games access, and the method used to store data.
2019-07-06Merge pull request #2677 from lioncash/assertZach Hilman
kernel/vm_manager: Handle stack/TLS IO region placement a little better
2019-07-06clang-format fixesMichael Scire
2019-07-06am: Implement GetAccumulatedSuspendedTickValueMichael Scire
2019-07-06kernel/vm_manager: Rename 'new map' to 'stack'Lioncash
Provides a more accurate name for the memory region and also disambiguates between the map and new map regions of memory, making it easier to understand.
2019-07-05kernel/vm_manager: Handle stack/TLS IO region placement betterLioncash
Handles the placement of the stack a little nicer compared to the previous code, which was off in a few ways. e.g. The stack (new map) region, shouldn't be the width of the entire address space if the size of the region calculation ends up being zero. It should be placed at the same location as the TLS IO region and also have the same size. In the event the TLS IO region contains a size of zero, we should also be doing the same thing. This fixes our memory layout a little bit and also resolves some cases where assertions can trigger due to the memory layout being incorrect.
2019-07-05NVServices: Correct delayed responses.Fernando Sahmkow
2019-07-05Nv_Host_Ctrl: Correct difference calculationFernando Sahmkow
2019-07-05NVServices: Address FeedbackFernando Sahmkow
2019-07-05NVServices: Styling, define constructors as explicit and correctionsFernando Sahmkow
2019-07-05NVFlinger: Correct GCC compile errorFernando Sahmkow
2019-07-05NVServices: Make NVEvents Automatic according to documentation.Fernando Sahmkow
2019-07-05NVServices: Correct CtrlEventWaitSync to block the ipc until timeout.Fernando Sahmkow
2019-07-05GPU: Correct Interrupts to interrupt on syncpt/value instead of event, ↵Fernando Sahmkow
mirroring hardware
2019-07-05nvflinger: Make the force 30 fps still force 30 fpsFernando Sahmkow
2019-07-05nv_services: Fixes to event liberation.Fernando Sahmkow
2019-07-05nvflinger: Acquire buffers in the same order as they were queued.Fernando Sahmkow
2019-07-05nv_services: Deglobalize NvServicesFernando Sahmkow
2019-07-05nv_host_ctrl: Make Sync GPU variant always return synced result.Fernando Sahmkow
2019-07-05nvhost_ctrl: Corrections to event handlingFernando Sahmkow
2019-07-05Gpu: Mark areas as protected.Fernando Sahmkow
2019-07-05nv_services: Stub CtrlEventSignalFernando Sahmkow
2019-07-05Gpu: Implement Hardware Interrupt Manager and manage GPU interruptsFernando Sahmkow
2019-07-05nv_services: Implement NvQueryEvent, NvCtrlEventWait, NvEventRegister, ↵Fernando Sahmkow
NvEventUnregister
2019-07-05nv_services: Create GPU channels correctlyFernando Sahmkow
2019-07-05video_core: Implement GPU side SyncpointsFernando Sahmkow
2019-07-05nv_services: Correct buffer queue fencing and GPFifo fencingFernando Sahmkow
2019-07-05nvflinger: Implement swap intervalsFernando Sahmkow
2019-07-04Merge pull request #2555 from lioncash/tlsZach Hilman
kernel/process: Decouple TLS handling from threads