yuzu/src/core/hle/service
David Marcec 19dc36ce06 Implement Time::GetSharedMemoryNativeHandle
This PR attempts to implement the shared memory provided by GetSharedMemoryNativeHandle. There is still more work to be done however that requires a rehaul of the current time module to handle clock contexts. This PR is mainly to get the basic functionality of the SharedMemory working and allow the use of addition to it whilst things get improved on.

Things to note:
Memory Barriers are used in the SharedMemory and a better solution would need to be done to implement this. Currently in this PR I’m faking the memory barriers as everything is sync and single threaded. They work by incrementing the counter and just populate the two data slots. On data reading, it will read the last added data.

Specific values in the shared memory would need to be updated periodically. This isn't included in this PR since we don't actively do this yet. In a later PR when time is refactored this should be done.

Finally, as we don't handle clock contexts. When time is refactored, we will need to update the shared memory for specific contexts. This PR does this already however since the contexts are all identical and not separated. We're just updating the same values for each context which in this case is empty.

Tiime:SetStandardUserSystemClockAutomaticCorrectionEnabled, Time:IsStandardUserSystemClockAutomaticCorrectionEnabled are also partially implemented in this PR. The reason the implementation is partial is because once again, a lack of clock contexts. This will be improved on in a future PR.

This PR closes issue #2556
2019-06-26 00:45:53 +10:00
..
acc service/acc: Silence truncation warnings 2019-06-21 10:04:31 -04:00
am Merge pull request #2482 from DarkLordZach/prepo 2019-06-21 14:05:18 -04:00
aoc service/aoc: Avoid allocating and discarding data 2019-05-23 00:26:21 -04:00
apm service: Update service function tables 2019-04-11 02:47:00 -04:00
arp Changed logging to be "Log before execution", Added more error logging, all services should now log on some level 2018-11-26 17:06:13 +11:00
audio Revert PR 2590. 2019-06-19 23:19:19 -04:00
bcat Changed logging to be "Log before execution", Added more error logging, all services should now log on some level 2018-11-26 17:06:13 +11:00
bpc service: Add bpc and pcv services 2018-08-01 16:13:04 -04:00
btdrv core/kernel/object: Rename ResetType enum members 2019-05-18 15:52:51 -04:00
btm core/kernel/object: Rename ResetType enum members 2019-05-18 15:52:51 -04:00
caps service: Update service function tables 2019-04-11 02:47:00 -04:00
erpt service/erpt: Update function table 2018-12-02 15:46:44 -05:00
es es: Update service function tables 2018-10-19 04:12:28 -04:00
eupld service: Add eupld services 2018-07-25 22:13:43 -04:00
fatal fatal: Save report on fatal:u call 2019-05-25 16:09:20 -04:00
fgm Changed logging to be "Log before execution", Added more error logging, all services should now log on some level 2018-11-26 17:06:13 +11:00
filesystem Merge pull request #2382 from lioncash/table 2019-04-15 21:46:15 -04:00
friend service: Update service function tables 2019-04-11 02:47:00 -04:00
grc service: Add the grc:c service 2018-07-26 09:53:58 -04:00
hid core/kernel/object: Rename ResetType enum members 2019-05-18 15:52:51 -04:00
lbl Changed logging to be "Log before execution", Added more error logging, all services should now log on some level 2018-11-26 17:06:13 +11:00
ldn service: Update service function tables 2019-04-11 02:47:00 -04:00
ldr common/hex_util: Combine HexVectorToString() and HexArrayToString() 2019-06-12 17:54:05 -04:00
lm remove all occurance of specifying endianness inside BitField 2019-02-06 18:13:45 +01:00
mig service: Add migration services 2018-08-02 10:09:45 -04:00
mii mii_manager: Fix incorrect loop condition in mii UUID generation code 2019-04-25 08:57:23 -04:00
mm Changed logging to be "Log before execution", Added more error logging, all services should now log on some level 2018-11-26 17:06:13 +11:00
ncm ncm: Implement LR OpenAddOnContentLocationResolver (2) 2019-05-26 20:37:13 -04:00
nfc core/yuzu: Remove enable_nfc setting 2019-03-29 15:02:28 +01:00
nfp core/kernel/object: Rename ResetType enum members 2019-05-18 15:52:51 -04:00
nifm core/kernel/object: Rename ResetType enum members 2019-05-18 15:52:51 -04:00
nim core/kernel/object: Rename ResetType enum members 2019-05-18 15:52:51 -04:00
npns service: Update service function tables 2019-04-11 02:47:00 -04:00
ns service/ns: Add missing override specifiers 2019-06-05 16:20:24 -04:00
nvdrv core/core_timing_util: Amend casing of cyclesTo* functions 2019-06-04 20:31:46 -04:00
nvflinger core/kernel/object: Rename ResetType enum members 2019-05-18 15:52:51 -04:00
pcie service: Add the pcie service 2018-07-31 06:40:21 -04:00
pctl service: Update service function tables 2019-04-11 02:47:00 -04:00
pcv service: Add bpc and pcv services 2018-08-01 16:13:04 -04:00
pm service: Update service function tables 2019-04-11 02:47:00 -04:00
prepo loader: Move NSO module tracking to AppLoader 2019-05-26 11:40:46 -04:00
psc service/psc: Update function tables 2019-01-29 21:16:24 -05:00
ptm psm: Stub GetChargerType 2018-10-21 22:03:25 -04:00
set service/set: Correct and simplify behavior related to copying language codes 2019-05-09 21:28:36 -04:00
sm kernel/server_port: Make data members private 2019-03-11 10:41:05 -04:00
sockets service: Update service function tables 2019-04-11 02:47:00 -04:00
spl hle/service: Resolve unused variable warnings 2019-04-04 13:18:09 -04:00
ssl service: Update service function tables 2019-04-11 02:47:00 -04:00
time Implement Time::GetSharedMemoryNativeHandle 2019-06-26 00:45:53 +10:00
usb service/usb: Update function table 2018-12-02 15:49:40 -05:00
vi Merge pull request #2489 from FearlessTobi/port-4716 2019-05-24 18:23:15 -04:00
wlan service: Add wlan services 2018-07-28 21:54:55 -04:00
service.cpp Implement Time::GetSharedMemoryNativeHandle 2019-06-26 00:45:53 +10:00
service.h core: Add missing override specifiers where applicable 2019-04-04 12:19:44 -04:00