aboutsummaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)Author
2019-04-09Merge pull request #1957 from DarkLordZach/title-providerbunnei
file_sys: Provide generic interface for accessing game data
2019-04-09kernel/process: Set page table when page table resizes occur.Lioncash
We need to ensure dynarmic gets a valid pointer if the page table is resized (the relevant pointers would be invalidated in this scenario). In this scenario, the page table can be resized depending on what kind of address space is specified within the NPDM metadata (if it's present).
2019-04-07Merge pull request #2361 from lioncash/pagetablebunnei
core/memory: Minor simplifications to page table management
2019-04-07Merge pull request #2356 from lioncash/pairbunnei
kernel/{server_port, server_session}: Return pairs instead of tuples from pair creation functions
2019-04-07core/memory: Remove unused enum constantsLioncash
These are holdovers from Citra and can be removed.
2019-04-07core/memory: Remove GetCurrentPageTable()Lioncash
Now that nothing actually touches the internal page table aside from the memory subsystem itself, we can remove the accessor to it.
2019-04-07arm/arm_dynarmic: Remove unnecessary current_page_table memberLioncash
Given the page table will always be guaranteed to be that of whatever the current process is, we no longer need to keep this around.
2019-04-07kernel: Handle page table switching within MakeCurrentProcess()Lioncash
Centralizes the page table switching to one spot, rather than making calling code deal with it everywhere.
2019-04-06kernel/server_session: Return a std::pair from CreateSessionPair()Lioncash
Keeps the return type consistent with the function name. While we're at it, we can also reduce the amount of boilerplate involved with handling these by using structured bindings.
2019-04-06kernel/server_port: Return a std::pair from CreatePortPair()Lioncash
Returns the same type that the function name describes.
2019-04-05Merge pull request #2325 from lioncash/namebunnei
kernel/server_session: Provide a GetName() override
2019-04-05Merge pull request #2240 from FearlessTobi/port-4651bunnei
Port citra-emu/citra#4651: "gdbstub: Fix some bugs in IsMemoryBreak() and ServeBreak. Add workaround to let watchpoints break into GDB."
2019-04-05Merge pull request #2340 from lioncash/viewbunnei
file_sys/fsmitm_romfsbuild: Utilize a string_view in romfs_calc_path_hash
2019-04-05Merge pull request #2334 from lioncash/overridebunnei
core: Add missing override specifiers where applicable
2019-04-05Merge pull request #2341 from lioncash/comparebunnei
file_sys/nca_metadata: Remove unnecessary comparison operators for TitleType
2019-04-05Merge pull request #2339 from lioncash/rankbunnei
service/fsp_srv: Update SaveDataInfo and SaveDataDescriptor structs
2019-04-05Merge pull request #2343 from lioncash/todobunnei
file_sys/program_metadata: Remove obsolete TODOs
2019-04-05Merge pull request #2329 from lioncash/sanitizebunnei
kernel/svc: Properly sanitize mutex address in WaitProcessWideKeyAtomic
2019-04-05Merge pull request #2344 from lioncash/resultbunnei
hle/result: Remove unnecessary bitfield entry for ResultCode
2019-04-05hle/result: Remove unnecessary bitfield entry for ResultCodeLioncash
This is a hold over from the 3DS error codes in Citra.
2019-04-05file_sys/program_metadata: Remove obsolete TODOsLioncash
BitField has been trivially copyable since e99a14862841841d74be8d0ea9426c2d23546b5e, so we can eliminate these TODO comments and use ReadObject() directly instead of memcpying the data.
2019-04-05file_sys/nca_metadata: Remove unnecessary comparison operators for TitleTypeLioncash
enum class elements from the same enum can already be compared against one another without the need for explicitly defined comparison operators.
2019-04-05file_sys/fsmitm_romfsbuild: Utilize a string_view in romfs_calc_path_hash()Lioncash
The given string instance doesn't need to be copied entirely, we can just use a view instead.
2019-04-05service/fsp_srv: Don't pass SaveDataDescriptor instances by value.Lioncash
Passing around a 64 byte data struct by value is kind of wasteful, instead pass a reference to the struct.
2019-04-05service/fsp_srv: Remove unnecessary unknown member in OpenSaveDataFileSystemLioncash
The unknown member here is actually padding due to being passed as a struct. We can do the same, and remove the need to pop a padding word.
2019-04-05service/fsp_srv: Update SaveDataInfo and SaveDataDescriptor structsLioncash
I realized that I updated the documentation on SwitchBrew a while ago, but never actually updated the structs within yuzu.
2019-04-05Merge pull request #2338 from lioncash/fsbunnei
filesystem: Use a std::string_view in OpenFile()
2019-04-04Merge pull request #2292 from lioncash/nacpbunnei
file_sys/control_metadata: Amend naming of members
2019-04-04filesystem: Use a std::string_view in OpenFile()Lioncash
Rather than make a full copy of the path, we can just use a string view and truncate the viewed portion of the string instead of creating a totally new truncated string.
2019-04-04hle/service: Resolve unused variable warningsLioncash
In several places, we have request parsers where there's nothing to really parse, simply because the HLE function in question operates on buffers. In these cases we can just remove these instances altogether. In the other cases, we can retrieve the relevant members from the parser and at least log them out, giving them some use.
2019-04-04core: Add missing override specifiers where applicableLioncash
Applies the override specifier where applicable. In the case of destructors that are defaulted in their definition, they can simply be removed. This also removes the unnecessary inclusions being done in audin_u and audrec_u, given their close proximity.
2019-04-03Merge pull request #2328 from lioncash/transferbunnei
service/am: Correct behavior of CreateTransferMemoryStorage()
2019-04-03Merge pull request #2093 from FreddyFunk/disk-cache-better-compressionbunnei
Better LZ4 compression utilization for the disk based shader cache and the yuzu build system
2019-04-03Merge pull request #2324 from lioncash/enum-unusedbunnei
kernel/object: Remove unused handle type entry
2019-04-03file_sys/control_metadata: Amend naming of membersLioncash
Quite a bit of these were out of sync with Switchbrew (and in some cases entirely wrong). While we're at it, also expand the section of named members. A segment within the control metadata is used to specify maximum values for the user, device, and cache storage max sizes and journal sizes. These appear to be generally used by the am service (e.g. in CreateCacheStorage, etc).
2019-04-03kernel/svc: Properly sanitize mutex address in WaitProcessWideKeyAtomicLioncash
We need to be checking whether or not the given address is within the kernel address space or if the given address isn't word-aligned and bail in these scenarios instead of trashing any kernel state.
2019-04-03service/am: Correct behavior of CreateTransferMemoryStorage()Lioncash
For whatever reason, shared memory was being used here instead of transfer memory, which (quite clearly) will not work based off the name of the function. This corrects this wonky usage of shared memory.
2019-04-03kernel/transfer_memory: Add accessors to data and sizesLioncash
Also amend erroneous use of size_t. We should be using u64 here.
2019-04-03Merge pull request #2294 from lioncash/fatalbunnei
service/am: Implement EnterFatalSection/LeaveFatalSection
2019-04-03Merge pull request #2305 from lioncash/sharedbunnei
kernel/shared_memory: Sanitize supplied size when unmapping
2019-04-03Merge pull request #2314 from lioncash/constbunnei
kernel/thread: Minor interface cleanup
2019-04-03kernel/server_session: Provide a GetName() overrideLioncash
Given server sessions can be given a name, we should allow retrieving it instead of using the default implementation of GetName(), which would just return "[UNKNOWN KERNEL OBJECT]".
2019-04-03kernel/object: Remove unused handle type entryLioncash
The AddressArbiter type isn't actually used, given the arbiter itself isn't a direct kernel object (or object that implements the wait object facilities). Given this, we can remove the enum entry entirely.
2019-04-02Merge pull request #2270 from lioncash/plistbunnei
kernel/svc: Implement svcGetProcessList and svcGetThreadList
2019-04-02Merge pull request #2313 from lioncash/reslimitbunnei
kernel/resource_limit: Remove the name member from resource limits
2019-04-02kernel/svc: Implement svcGetThreadListLioncash
Similarly like svcGetProcessList, this retrieves the list of threads from the current process. In the kernel itself, a process instance maintains a list of threads, which are used within this function. Threads are registered to a process' thread list at thread initialization, and unregistered from the list upon thread destruction (if said thread has a non-null owning process). We assert on the debug event case, as we currently don't implement kernel debug objects.
2019-04-02kernel/svc: Implement svcGetProcessListLioncash
This service function simply copies out a specified number of kernel process IDs, while simultaneously reporting the total number of processes.
2019-04-02process: Fix up compilationReinUsesLisp
2019-04-01Merge pull request #2281 from lioncash/memorybunnei
kernel/codeset: Make CodeSet's memory data member a regular std::vector
2019-04-01kernel/thread: Make AllWaitObjectsReady() a const qualified member functionLioncash
Now that ShouldWait() is a const qualified member function, this one can be made const qualified as well, since it can handle passing a const qualified this pointer to ShouldWait().