aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2017-10-12Remove more 3DS-specific code.bunnei
2017-10-12Remove lots more 3DS-specific code.bunnei
2017-10-10hle: Remove a large amount of 3ds-specific service code.bunnei
2017-10-09Merge remote-tracking branch 'upstream/master' into nxbunnei
# Conflicts: # src/core/CMakeLists.txt # src/core/arm/dynarmic/arm_dynarmic.cpp # src/core/arm/dyncom/arm_dyncom.cpp # src/core/hle/kernel/process.cpp # src/core/hle/kernel/thread.cpp # src/core/hle/kernel/thread.h # src/core/hle/kernel/vm_manager.cpp # src/core/loader/3dsx.cpp # src/core/loader/elf.cpp # src/core/loader/ncch.cpp # src/core/memory.cpp # src/core/memory.h # src/core/memory_setup.h
2017-10-09loader: Various improvements for NSO/NRO loaders.bunnei
2017-10-09Change command header in nwm::UDS Initialize functionDragios
2017-10-08Merge pull request #2991 from Subv/getpointerSebastian Valle
Remove more usages of GetPointer.
2017-10-04Merge pull request #2953 from Subv/applet_launchSebastian Valle
HLE/APT: Always set up the APT parameter when starting a library applet.
2017-10-04SVC: Removed GetPointer usage in the GetResourceLimit functions.Subv
2017-10-04SVC: Remove GetPointer usage in CreatePort.Subv
2017-10-04SVC: Replace GetPointer usage with ReadCString in ConnectToPort.Subv
2017-10-04SVC: Replace GetPointer usage with ReadBlock in OutputDebugString.Subv
2017-10-04SVC: Replace GetPointer usage with Read32 in ReplyAndReceive.Subv
2017-10-04SVC: Replace GetPointer usage with Read32 in WaitSynchronizationN.Subv
2017-10-03Merge pull request #2977 from Subv/shmem_createbunnei
SharedMemory: Don't take over and unmap the source memory block when creating a shared memory, just reference it
2017-10-02Kernel/SharedMemory: Don't take over and unmap the source memory block when ↵Subv
creating a shared memory, just reference it. Also reference the right offset into the backing block for the requested address.
2017-10-01Merge pull request #2971 from Subv/per_process_memopsSebastian Valle
Memory: Add overloads for ReadBlock and WriteBlock that operate on a specific process.
2017-10-01Kernel/Thread: Added a helper function to get a thread's command buffer VAddr.Subv
2017-10-01Merge pull request #2974 from Subv/nim_eventSebastian Valle
Services/NIM: Implement CheckForSysUpdateEvent.
2017-09-30nso: Refactor and allocate .bss section.bunnei
2017-09-30process: Support loading multiple codesets.bunnei
2017-09-30kernel: Various threading fixes to support 64-bit addressing.bunnei
2017-09-30core: Various changes to support 64-bit addressing.bunnei
2017-09-30arm: Use 64-bit addressing in a bunch of places.bunnei
2017-09-30Services/NIM: Implement CheckForSysUpdateEvent.Subv
Implementation verified by reverse engineering. This lets the Home Menu boot without crashing on startup.
2017-09-30Moved down_count to CoreTimingHuw Pascoe
2017-09-30Services/UDS: Handle the rest of the connection sequence. (#2963)B3n30
Services/UDS: Handle the rest of the connection sequence.
2017-09-30Merge pull request #2946 from Subv/home_menu_aptSebastian Valle
Implement PrepareToStartNewestHomeMenu and fixed an APT regression.
2017-09-30Merge pull request #2967 from Subv/thread_wakeup_callbacksSebastian Valle
Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken
2017-09-30Fixed type conversion ambiguityHuw Pascoe
2017-09-28Kernel/Threads: When putting a thread to wait, specify a function to execute ↵Subv
when it is awoken. This change makes for a clearer (less confusing) path of execution in the scheduler, now the code to execute when a thread awakes is closer to the code that puts the thread to sleep (WaitSynch1, WaitSynchN). It also allows us to implement the special wake up behavior of ReplyAndReceive without hacking up WaitObject::WakeupAllWaitingThreads. If savestates are desired in the future, we can change this implementation to one similar to the CoreTiming event system, where we first register the callback functions at startup and assign their identifiers to the Thread callback variable instead of directly assigning a lambda to the wake up callback variable.
2017-09-26Kernel/Thread: Allow specifying which process a thread belongs to when ↵Subv
creating it. Don't automatically assume that Thread::Create will only be called when the parent process is currently scheduled. This assumption will be broken when applets or system modules are loaded.
2017-09-25HLE/APT: Always set up the APT parameter when starting a library applet.Subv
Only use the HLE interface if an HLE applet with the desired id was started. This commit reorganizes the APT code surrounding parameter creation and delivery to make it easier to support LLE applets in the future. As future work, the HLE applet interface can be reworked to utilize the same facilities as the LLE interface.
2017-09-25HLE/Archives: Allow multiple loaded applications to access their SelfNCCH ↵Subv
archive independently. The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session. When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc). 3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time.
2017-09-25Merge pull request #2952 from MerryMage/page-tablesB3n30
Switchable Page Tables
2017-09-25Merge pull request #2948 from Subv/register_serviceB3n30
HLE/SRV: Implemented RegisterService.
2017-09-25Services/UDS: Added a function to send EAPoL-Start packets (#2920)B3n30
* Services/UDS: Added a function to generate the EAPoL-Start packet body. * Services/UDS: Added filter for beacons. * Services/UDS: Lock a mutex when accessing connection_status from both the emulation and network thread. * Services/UDS: Handle the Association Response frame and respond with the EAPoL-Start frame. * fixup: make use of current_node, changed received_beacons into a list, mutex and assert corrections * fixup: fix damn clang-format
2017-09-24memory: Add GetCurrentPageTable/SetCurrentPageTableMerryMage
Don't expose Memory::current_page_table as a global.
2017-09-24HLE/APT: Always return an error from PrepareToStartNewestHomeMenu so that ↵Subv
the Home Menu doesn't try to reboot the system. As per 3dbrew: "During Home Menu start-up it uses APT:PrepareToStartNewestHomeMenu. If that doesn't return an error(normally NS returns 0xC8A0CFFC for that), Home Menu starts a hardware reboot with APT:StartNewestHomeMenu etc. "
2017-09-24HLE/APT: Prepare the APT Wakeup parameter when the game calls InitializeSubv
We need to know what is being run so we can set the APT parameter destination AppId correctly. Delaying the preparation of the parameter until we know which AppId is running lets us support booting both the Home Menu and normal game Applications.
2017-09-24HLE/SRV: Implemented RegisterService.Subv
Now system modules can do more than just crash immediately on startup.
2017-09-16Merge pull request #2906 from Subv/ns_new_frameworkYuri Kunde Schlesner
Services/NS: Port ns:s to the new service framework.
2017-09-16Services/NS: Port ns:s to the new service framework.Subv
2017-09-15Merge pull request #2842 from Subv/switchable_page_tableB3n30
Kernel/Memory: Give each process its own page table and allow switching the current page table upon reschedule
2017-09-15Kernel/Threads: Don't clear the CPU instruction cache when performing a ↵Subv
context switch from an idle thread into a thread in the same process. We were unnecessarily clearing the cache when going from Process A -> Idle -> Process A, this caused extreme performance regressions.
2017-09-15Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the ↵Subv
current process' page table to obtain a pointer.
2017-09-11Merge pull request #2915 from wwylele/font-archive-2bunnei
APT: load different shared font depending on the region
2017-09-10Kernel/Memory: Switch the current page table when a new process is scheduled.Subv
2017-09-10Kernel/Memory: Give each Process its own page table.Subv
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
2017-09-05Merge pull request #2831 from Subv/uds_authWeiyi Wang
Services/UDS: Handle beacon frames and the basic AP connection sequence frames.