Commit Graph

62 Commits

Author SHA1 Message Date
Lioncash
d2cd4a464d svc_wrap: Convert the PARAM macro into a function
This can just be a regular function, getting rid of the need to also
explicitly undef the define at the end of the file. Given FuncReturn()
was already converted into a function, it's #undef can also be removed.
2018-09-22 21:20:22 +02:00
Yuri Kunde Schlesner
21188f5683 HLE: Move SVC handlers to the Kernel namespace 2017-12-09 20:32:58 -08:00
Yuri Kunde Schlesner
ad71e23f23 HLE: Move svc.{cpp,h} to kernel/ 2017-12-09 18:10:47 -08:00
Subv
46fc7595b4 SVC: Remove GetPointer usage in CreatePort. 2017-10-04 14:04:03 -05:00
Subv
7b09b30ef1 SVC: Replace GetPointer usage with ReadCString in ConnectToPort. 2017-10-04 14:03:59 -05:00
Subv
3c0113632d SVC: Replace GetPointer usage with ReadBlock in OutputDebugString. 2017-10-04 12:30:33 -05:00
Subv
0cfb231e00 SVC: Replace GetPointer usage with Read32 in ReplyAndReceive. 2017-10-04 12:30:33 -05:00
Subv
b863d6c860 SVC: Replace GetPointer usage with Read32 in WaitSynchronizationN. 2017-10-04 12:30:32 -05:00
Sebastian Valle
56d718b2a1 Merge pull request #2793 from Subv/replyandreceive
Kernel/SVC: Partially implemented svcReplyAndReceive
2017-06-29 17:05:22 -05:00
Subv
88c93a7436 Kernel/SVC: Partially implemented svcReplyAndReceive.
It behaves mostly as WaitSynchronizationN with wait_all = false, except for IPC buffer translation.

The target thread of an IPC response will now wake up when responding.
IPC buffer translation is currently not implemented.
Error passing back to svcSendSyncRequest is currently not implemented.
2017-06-25 23:38:28 -05:00
Yuri Kunde Schlesner
8c6a8edaca Kernel: Fix SVC wrapper for CreatePort
The return parameters were flipped.
2017-06-23 11:22:04 -07:00
Yuri Kunde Schlesner
f94093d0fd Kernel: Implement CreateSession SVC 2017-06-22 00:39:27 -07:00
Yuri Kunde Schlesner
2cdb40d709 Kernel: Centralize error definitions in errors.h 2017-05-24 21:06:00 -07:00
Michael Theall
31f9c1ab5d Fix OutputDebugString syscall 2017-04-01 04:09:39 -05:00
bunnei
e26fbfd1d7 core: Replace "AppCore" nomenclature with just "CPU". 2016-12-22 00:27:46 -05:00
bunnei
4fc8b8229e core: Remove HLE module, consolidate code & various cleanups. 2016-12-21 23:48:13 -05:00
bunnei
232ef55c1a core: Consolidate core and system state, remove system module & cleanups. 2016-12-21 23:29:13 -05:00
Emmanuel Gil Peyrot
ebdae19fd2 Remove empty newlines in #include blocks.
This makes clang-format useful on those.

Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Emmanuel Gil Peyrot
dc8479928c Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Subv
7b445ddff0 Kernel/SVC: Implemented svcCreatePort. 2016-06-11 08:37:37 -05:00
Subv
42a50da76b Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.
R0 is used as the last parameter instead of R4.
2016-05-12 20:00:29 -05:00
Lioncash
856a1d0386 svc: Move ResetType enum to the kernel event header 2016-03-12 21:47:41 -05:00
Subv
d90d5a0ee6 HLE/SVC: Implement UnmapMemoryBlock.
This implementation will need to be (almost completely) changed when we implement multiprocess support.
2016-01-14 11:29:19 -05:00
Yuri Kunde Schlesner
84a22cb594 Kernel: Implement svcGetSystemInfo
This makes smealum/ctrulib@b96dd51d33 work
with Citra.
2015-11-30 19:49:44 -08:00
Yuri Kunde Schlesner
14eca982f4 Kernel: Implement svcGetProcessInfo in a basic way
This also adds some basic memory usage accounting. These two types are
used by Super Smash Bros. during startup.
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
24d7c05c8d Merge pull request #888 from zawata/Warning-Fixes-2
Core\HLE : Fix Warning
2015-07-25 12:55:34 -07:00
Subv
83fa3f977d Kernel/SVC: Implemented svcQueryProcessMemory 2015-07-17 14:55:35 -05:00
Subv
9e2962081a Kernel/SVC: Implemented svcQueryMemory. 2015-07-17 11:03:56 -05:00
zawata
f723a498e7 Core\HLE : Fix Warning
"signed/unsigned mismatch"
2015-07-17 00:50:53 -07:00
bunnei
71e8822d23 kernel: Fix svcWaitSynch to always acquire requested wait objects. 2015-06-16 22:34:39 -04:00
archshift
11057488f9 Implement svcBreak 2015-05-16 22:06:59 -07:00
Subv
d3634d4bf4 Core/ResourceLimits: Implemented the basic structure of ResourceLimits.
Implemented svcs GetResourceLimit, GetResourceLimitCurrentValues and GetResourceLimitLimitValues.

Note that the resource limits do not currently keep track of used objects, since we have no way to distinguish between an object created by the application, and an object created by some HLE module once we're inside Kernel::T::Create.
2015-05-14 22:50:13 -05:00
Yuri Kunde Schlesner
7ada357b2d Memmap: Re-organize memory function in two files
memory.cpp/h contains definitions related to acessing memory and
configuring the address space
mem_map.cpp/h contains higher-level definitions related to configuring
the address space accoording to the kernel and allocating memory.
2015-05-15 00:04:38 -03:00
bunnei
7b9f428b23 Thread: Implement priority boost for starved threads.
SVC: Return correct error code on invalid CreateThread processor ID.

SVC: Assert when creating a thread with an invalid userland priority.
2015-04-09 19:05:21 -04:00
Yuri Kunde Schlesner
58b544db99 SVC: Use CASCADE_RESULT in SVC handlers 2015-01-30 11:49:46 -02:00
Yuri Kunde Schlesner
44f90340dc SVC: Change return type of handlers to ResultCode 2015-01-30 11:49:44 -02:00
Yuri Kunde Schlesner
7b3452c730 Move ThreadContext to core/core.h and deal with the fallout 2015-01-09 03:51:55 -02:00
Subv
07044651ef SVC: Implemented the Timer service calls. 2015-01-08 21:22:14 -05:00
Subv
97a7381d29 SOC_U: Preliminary implementation of sockets.
Stubbed CreateMemoryBlock

Using Berkeley sockets, and Winsock2.2 on Windows.
So far ftpony creates the socket and accepts incoming connections

SOC_U: Renamed functions to maintain consistency

Also prevents possible scope errors / conflicts with the actual Berkeley socket functions

SOCU: Close all the opened sockets when cleaning up SOCU
2014-12-31 10:51:44 -05:00
purpasmart96
ebfd831ccb License change 2014-12-20 21:20:24 -08:00
Subv
49b31badba SVC: Implemented ReleaseSemaphore.
This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has
2014-12-13 13:40:10 -05:00
Subv
82c84883a5 SVC: Implemented svcCreateSemaphore
ToDo: Implement svcReleaseSemaphore
* Some testing against hardware needed
2014-12-13 13:40:09 -05:00
Emmanuel Gil Peyrot
f5d38649c7 Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated 2014-11-19 09:03:07 +00:00
bunnei
10f25866e2 SVC: Added support for svc_GetSystemTick.
Changed HLE function return methods to be static inline functions.
2014-08-18 21:26:20 -04:00
bunnei
59f2750482 function_wrappers: Fixed incorrect wrapper, added another. 2014-07-07 22:13:40 -04:00
bunnei
edaefe9fa6 HLE: Moved "PARAM" and "RETURN" macros to function_wrappers.h (this is only module where they are needed). 2014-06-13 09:51:18 -04:00
bunnei
8957622d10 SVC: Renamed all function wrapper templates to Wrap, moved to HLE namespace. 2014-06-13 09:51:17 -04:00
bunnei
862db811f0 SVC: Cleaned up function wrappers to pass in correct argument types. 2014-06-13 09:51:15 -04:00
bunnei
477b0caca4 svc: updated WaitSynchronizationN to properly use first pointer argument 2014-06-02 17:54:07 -04:00
bunnei
15c7d81706 svc: cleaned up function_wrappers, updated various SVCs to make use of pointer arguments 2014-06-01 20:48:29 -04:00