f565ea80f0
HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread
...
This reduces the boilerplate that services have to write out the current thread explicitly. Using current thread instead of client thread is also semantically incorrect, and will be a problem when we implement multicore (at which time there will be multiple current threads)
2019-04-02 13:23:39 -04:00
5f11c5f733
Kernel: replace boost::intrusive_ptr with std::shared_ptr
2019-03-24 14:32:11 -04:00
0478bc3dee
Kernel/Thread: move thread queue, current thread, and scheduling related function into the manager
...
As we touched it, remove IPC::GetCommandBuffer
2018-10-26 16:07:11 -04:00
247249d5d3
Kernel: pass ref to sempahore
2018-10-18 21:41:36 -04:00
181646679c
ServiceManager: pass down core reference
2018-10-18 21:41:36 -04:00
f05740a5fd
Merge pull request #4224 from FearlessTobi/port-1310
...
Port #734 and #1310 from yuzu: Changes to Thread-related enums
2018-09-25 23:07:43 -04:00
46da908a00
service: Use nested namespace specifiers where applicable
...
There were a few places where nested namespace specifiers weren't being
used where they could be within the service code. This amends that to
make the namespacing a tiny bit more compact.
2018-09-22 16:14:10 +02:00
ca3d9d659e
kernel/thread: Include thread-related enums within the kernel namespace
...
Previously, these were sitting outside of the Kernel namespace, which
doesn't really make sense, given they're related to the Thread class
which is within the Kernel namespace.
2018-09-15 17:16:20 +02:00
7d8f115185
Prefix all size_t with std::
...
done automatically by executing regex replace `([^:0-9a-zA-Z_])size_t([^0-9a-zA-Z_])` -> `$1std::size_t$2`
2018-09-06 16:03:28 -04:00
cfd81be661
fixup! fixup! Service::SM: Wait till client is registered
2018-09-02 22:50:13 +02:00
ae37b404c6
fixup! fixup! Service::SM: Wait till client is registered
2018-09-02 16:42:41 +02:00
aa98e55a88
fixup! Service::SM: Wait till client is registered
2018-08-08 23:42:45 +02:00
02a3b5ae2b
Service::SM: Wait till client is registered
2018-08-08 23:30:48 +02:00
0eab948728
reformat all files with clang-format
2018-06-29 16:56:12 +03:00
7c5a76e58b
log: replace all NGLOG with LOG
2018-06-29 14:18:07 +03:00
b10d2badd0
service/sm: Migrate logging macros
2018-06-20 23:59:58 -04:00
968569aa61
Replace format specifiers for all usages of ASSERT_MSG
2018-03-27 23:28:42 +08:00
fda023c9fa
ipc_helper: split PushMoveObjects and PushCopyObjects
2017-12-04 19:46:44 +02:00
afb6dd7747
HLE/SRV: Don't return the port handle if it isn't available when calling GetServiceHandle.
...
This was incorrect behavior that somehow found its way to 3dbrew. The correct behavior is to sleep until the port becomes available again and then return a session to it.
This is currently unimplemented due to the inability to put a guest thread to sleep during HLE requests.
The correct behavior was reverse engineered by TuxSH a while ago but we never corrected the code in citra.
2017-11-15 11:26:49 -05:00
499508389c
core: clear format warnings
2017-11-01 12:35:32 +02:00
0b33e36292
HLE/SRV: Implemented RegisterService.
...
Now system modules can do more than just crash immediately on startup.
2017-09-24 00:12:58 -05:00
723dc644fa
ResultVal: Remove MoveFrom()
...
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in
case you already have an rvalue.
2017-06-18 19:03:15 -07:00
7656d83df5
Service/sm: Convert srv: to use IPC helpers
2017-06-11 13:10:21 -07:00
6f368abe13
Service/sm: Convert 'srv:' to ServiceFramework
2017-06-08 20:59:19 -07:00
d96a9e0c11
Service: Remove unnecessary includes from service.h
...
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
2017-06-06 02:57:23 -07:00
23ec6b3d8f
Service: Make service registration part of the sm implementation
...
Also enhances the GetServiceHandle implementation to be more accurate.
2017-06-06 02:57:04 -07:00
e5a59ef27c
Service/sm: Use an actual semaphore for the notification semaphore
...
An Event was used way back then when we didn't have proper working
semaphores. Our Semaphore implementation is good enough now.
2017-06-06 02:57:04 -07:00
1eee09f364
Service: Move SRV interface to a new sm/ subdirectory
...
This will contain the implementation of the sm (Service Manager) system
module.
2017-06-06 02:57:04 -07:00