Weiyi Wang
daeba65fb4
Merge pull request #4710 from wwylele/why-instrusive-ptr
...
Kernel: replace boost::intrusive_ptr with std::shared_ptr
2019-04-02 11:06:13 -04:00
Weiyi Wang
8d2718a18f
CAM: initialize states
2019-03-30 11:07:11 -04:00
Weiyi Wang
05058863b5
cleanup includes
2019-03-26 10:50:41 -04:00
Weiyi Wang
5f11c5f733
Kernel: replace boost::intrusive_ptr with std::shared_ptr
2019-03-24 14:32:11 -04:00
Weiyi Wang
c1de8acfe5
Merge pull request #4689 from wwylele/server-leak
...
ServiceFrameworkBase: remove ownership to ServerPort
2019-03-24 14:29:41 -04:00
Weiyi Wang
21bda754b3
Merge pull request #4396 from FearlessTobi/open-delays
...
fs_user: Add a delay for each file open
2019-03-23 12:21:12 -04:00
Weiyi Wang
9b07ff9681
Merge pull request #4683 from wwylele/misc-global-clean
...
Misc global instance reference cleaup
2019-03-22 22:28:50 -04:00
Weiyi Wang
2138db3d7d
Merge pull request #4690 from wwylele/uds-deprecated
...
UDS: implement deprecated functions
2019-03-21 09:52:01 -04:00
Vamsi Krishna
aedf5a84b0
Merge pull request #4671 from jroweboy/mic4
...
Microphone support
2019-03-20 23:12:38 +05:30
James Rowe
9739e2b6fd
Support signed 8bit pcm in cubeb input. Address review
2019-03-17 22:52:03 -06:00
Weiyi Wang
4696b13170
UDS: I was drunk
2019-03-15 00:35:39 -04:00
Weiyi Wang
a986e35795
UDS: Change reply command ID for two versions of ConnectToNetwork
2019-03-14 10:10:18 -04:00
Weiyi Wang
9c016ff3a3
Y2R: pass in MemorySystem from service
2019-03-13 10:23:58 -04:00
Weiyi Wang
d6f3ac1f4e
IR: pass in Core::Timing for ExtraHID
2019-03-13 10:23:58 -04:00
Weiyi Wang
ea496507d5
DSP_DSP: use member system instead of global instance
2019-03-13 10:23:58 -04:00
Weiyi Wang
aaa599a849
UDS: duplicate DecryptBeaconData implementation for deprecated version
...
They are really identical in the NWM module code
2019-03-13 00:21:10 -04:00
Weiyi Wang
16fb6a2c8d
UDS: implement ConnectToNetworkDeprecated and forward params to ConnectToNetwork
2019-03-13 00:03:51 -04:00
Weiyi Wang
fc0fe5c3c0
UDS: devide IPC and impl for ConnectToNetwork
2019-03-13 00:03:51 -04:00
Weiyi Wang
e121c59583
UDS: implement BeginHostingNetworkDeprecated and forward params to BeginHostingNetwork
2019-03-13 00:03:51 -04:00
Weiyi Wang
5353d539ce
UDS: divide IPC and impl for BeginHostingNetwork
2019-03-12 23:00:18 -04:00
Weiyi Wang
1076864935
UDS: implement InitializeDeprecated and forward params to Initialize
2019-03-12 21:53:07 -04:00
Weiyi Wang
021c77bc9f
UDS: divide IPC and impl for InitializeWithVersion
2019-03-12 21:50:14 -04:00
Weiyi Wang
8750b81ce0
ServiceFrameworkBase: remove ownership to ServerPort
...
This causes a reference cycle because ServerPort also holds a shared pointer to SessionRequestHandler (inherited by ServiceFrameworkBase). Given that the member port is never used in ServiceFrameworkBase, we can simply remove it. The port object is kept alive by ServiceManager|KernelSystem::named_ports -> ClientPort -> ServerPort
2019-03-12 19:11:50 -04:00
fearlessTobi
ff3d7532c9
nfc: Improve implementation of GetAmiiboConfig
...
When making the initial implementation, I forgot to add the series variable to the AmiiboConfig struct.
With this PR it is added and many of the AmiiboConfig fields get their proper values now.
The loading of the Amiibo data that is added here has been hwtested.
This fixes Amiibos in Yoshis Woolly World, Smash (partially) and probably other games too.
2019-03-12 19:08:01 +01:00
Weiyi Wang
6ce58248b0
APT: use member system instead of global instance
2019-03-10 11:10:24 -04:00
bunnei
9560060f04
Merge pull request #4666 from FearlessTobi/port-2167
...
Port yuzu-emu/yuzu#2167 : "common: Move Quaternion, Rectangle, Vec2, Vec3, and Vec4 into the Common namespace"
2019-03-07 23:52:42 -05:00
James Rowe
f5df13eb24
Remove global state and add mic hot swapping
2019-03-06 20:59:58 -07:00
James Rowe
182d672c15
Add ifdef around cubeb for android. Address a few review comments
2019-03-06 20:03:22 -07:00
James Rowe
5f532c2560
Address review comments
2019-03-06 11:16:43 -07:00
fearlessTobi
5055a6c262
Address review comments
2019-03-06 18:53:34 +01:00
fearlessTobi
fc7e6c9cc9
fs_user: Add a delay for each file open
2019-03-06 16:09:24 +01:00
James Rowe
c669aa8d55
Rest of the owl
2019-03-04 23:07:05 -07:00
James Rowe
7fccc995ce
Initial Mic setup
2019-03-04 23:06:42 -07:00
Weiyi Wang
9c57b74907
Merge pull request #4618 from wwylele/fs-clean
...
FS: pass down program ID for archive operation (cleanup System::GetInstance part 3)
2019-03-04 12:34:54 -05:00
Lioncash
643472e24a
common/vector_math: Move Vec[x] types into the Common namespace
...
These types are within the common library, so they should be using the
Common namespace.
2019-03-02 15:04:13 +01:00
Weiyi Wang
ad1cfc8d50
Merge pull request #4608 from wwylele/sharedmem-circular
...
Kernel/SharedMemory: make owner_process a raw pointer
2019-02-25 10:32:45 -05:00
Weiyi Wang
5f10cc412f
Merge pull request #4632 from zhaowenlan1779/socu
...
service/soc_u: Implement getaddrinfo and getnameinfo
2019-02-25 10:23:13 -05:00
Weiyi Wang
42c777b0e5
Merge pull request #4617 from wwylele/hle-service-clean
...
HLE/IPC: clean up System::GetInstance
2019-02-25 10:22:13 -05:00
Weiyi Wang
c265f3f507
Merge pull request #4616 from wwylele/core-global-clean
...
Cleanup System::GetInstance reference - Part 1
2019-02-25 10:22:02 -05:00
Weiyi Wang
8f2bd97277
Merge pull request #4655 from tgsm/gcc-version
...
Remove GCC version checks
2019-02-22 16:21:21 -05:00
tgsm
433ab35e7e
Remove GCC version checks
...
Citra can't be compiled using GCC <7 because of required C++17 support, so these version checks don't need to exist anymore.
2019-02-19 16:39:34 -05:00
tgsm
39e163b7ce
core: use nested namespaces
2019-02-18 20:34:18 -05:00
Weiyi Wang
e6feef96c1
Service: clear IPC header for unimplemented function stub
2019-02-14 22:16:50 -05:00
Weiyi Wang
3f86be88f0
HLE/IPC: pass in kernel & memory reference from parent to avoid global state reference
2019-02-14 22:09:25 -05:00
Weiyi Wang
0a424b86d2
ServerSession: replace GetPointer with block copy for HLE translation
...
Do it in the same way as HLERequestContext::SleepClientThread callback and avoid unsafe GetPointer
2019-02-14 22:09:25 -05:00
Weiyi Wang
36c8e1d7a9
HLE/IPC: move command buffer translation into kernel as TODO says
2019-02-14 22:09:25 -05:00
Weiyi Wang
5f6d9f1915
Kernel/IPC: use MemorySystem from parameter
2019-02-14 14:04:46 -05:00
Weiyi Wang
20f47583f6
Kernel: replace usage of Core::System::GetInstance().PrepareReschedule() with callback
2019-02-14 14:04:46 -05:00
Weiyi Wang
eb050b8403
Kernel: replace usage of Core::System::GetInstance()::Timing()
2019-02-14 14:04:46 -05:00
Weiyi Wang
276ca88c9e
kernel/thread: replace usage of Core::CPU()
2019-02-14 14:04:46 -05:00
Weiyi Wang
b9f6bd9278
ldr_ro: replace usage of Core::CPU()
2019-02-14 14:04:46 -05:00
Weiyi Wang
8f2c35d7b6
Merge pull request #4614 from wwylele/nwm-uds-global
...
NWM_UDS: move states into the class
2019-02-14 11:44:28 -05:00
zhupengfei
1995e8ff32
service/soc_u: address review comments
2019-02-10 18:49:18 +08:00
zhupengfei
08bf899d70
service/soc_u: Implement getaddrinfo and getnameinfo
2019-02-09 20:12:09 +08:00
Weiyi Wang
a6d9baa05a
FS: pass down program ID for archive operation
...
To eliminate System::GetInstance usage. Archive type like SelfNCCH and SaveData changes the actual reference path for different client, so archive backend interface should accept client information from the service interface. Currently we only pass the program ID as the client information.
2019-02-02 20:44:13 -05:00
Weiyi Wang
6382d9bfc3
NWM_UDS: move states into the class
2019-01-31 15:42:45 -05:00
Weiyi Wang
3a7a686fa9
Kernel/SharedMemory: make owner_process a raw pointer
...
To break a circular reference formed by process->handle_table->shared_memory->process. Since SharedMemory uses its owner process in the destructor, which is not kept alive by SharedMemory any more, we need to make sure that the lifetime of process is longer than the shared memory. To partially resolve this, Process now explicitly releases shared memory first in its destructor. This is with the assumtion that there is no inter-process reference to shared memory on exit, which is not true when we introduce more multi-process emulation. A TODO is left there for this, as more RE needs to be done on how 3DS handles this situation
2019-01-29 11:18:51 -05:00
Weiyi Wang
104829ae58
remove all occurance of specifying endianness inside BitField
...
This commit it automatically generated by command in zsh:
sed -i -- 's/BitField<\(.*\)_le>/BitField<\1>/g' **/*(D.)
BitField is now aware to endianness and default to little endian. It expects a value representation type without storage specification for its template parameter.
2019-01-28 22:09:43 -05:00
Weiyi Wang
054a97c08b
Merge pull request #4579 from xperia64/3d_slider
...
Change 3D Slider in-game
2019-01-23 20:23:55 -05:00
xperia64
c1ac39f058
Actually fix the race condition
2019-01-18 16:32:16 -05:00
xperia64
5f5646c850
Fix types
2019-01-18 15:24:39 -05:00
xperia64
6f2eb2a418
Do 3D slider updating in the HID module
2019-01-17 23:48:50 -05:00
xperia64
81f4cef201
Revert "Change 3D slider in-game"
...
This reverts commit bb9a972e35
.
Needs to be completely redone in the HID HLE service module.
2019-01-17 23:33:24 -05:00
Weiyi Wang
95a57a2fe3
Merge pull request #4538 from valentinvanelslande/profiles
...
Add multiple input profile support
2019-01-17 22:32:24 -05:00
xperia64
bb9a972e35
Change 3D slider in-game
2019-01-17 22:18:15 -05:00
Ben
4f23d5d69e
Merge pull request #4490 from wwylele/teakra-new
...
audio: implement DSP LLE
2019-01-11 16:45:00 +01:00
Valentin Vanelslande
62b40e9155
Merge branch 'master' into profiles
2019-01-07 10:39:44 -05:00
Valentin Vanelslande
8e614c3eb0
clang-format; address one comment
2018-12-28 23:31:55 -05:00
RicBent
6ad609a539
Added GPIO14 button and UI config buttons
2018-12-28 17:13:37 -06:00
RicBent
446b614409
Removed unnecessary debug key abbreviations
2018-12-28 13:33:54 -06:00
RicBent
403d2f0058
Added Debug Button
2018-12-28 12:47:50 -06:00
Weiyi Wang
05c372bf6c
Update teakra to fix macos issue; address comment feedbacks
2018-12-21 20:49:23 -05:00
Weiyi Wang
92e5c51adb
Service/DSP: implement semaphore event
2018-12-21 20:49:22 -05:00
Weiyi Wang
6f6ffceec4
audio_core/hle,lle: implement UnloadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
4add509b20
audio_core/hle: move implementation of LoadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
df8aaee965
DSP_DSP: avoid global in ReadPipe
2018-12-21 20:49:20 -05:00
Weiyi Wang
daf23eca2e
DSP_DSP: avoid global in WriteProcessPipe
2018-12-21 20:49:20 -05:00
Weiyi Wang
c9736b3300
audio_core/hle,lle: implement SetSemaphore
2018-12-21 20:49:20 -05:00
Weiyi Wang
14eb3561de
audio_core/hle: move implementation of RecvDataIsReady
2018-12-21 20:49:19 -05:00
Weiyi Wang
7f568a3c19
DSP/HLE: move implementation of RecvData to audio_core, behind common interface
2018-12-21 20:49:19 -05:00
Pengfei Zhu
eabc9727d8
Merge pull request #4468 from citra-emu/multiplayer-v4/main
...
Multiplayer version 4
2018-12-22 09:45:28 +08:00
zhupengfei
9d062d63da
network, citra_qt: Give moderation permission to community mods
...
Based on the `roles` payload in the JWT, the rooms will now give mod permission to Citra Community Moderators. To notify the client of its permissions, a new response, IdJoinSuccessAsMod is added, and there's now a new RoomMember::State called Moderator.
2018-12-15 20:28:03 +08:00
zhupengfei
c396e3c6e5
network: check Console ID conflicts
...
As Console ID can be sensitive data sometimes, this implementation sent a SHA256 hash of it instead.
2018-12-15 11:02:47 +08:00
Weiyi Wang
b49f2d2958
APT: enable LLE applet
2018-12-10 22:25:02 -05:00
Weiyi Wang
88161b8ac6
Memory: register page tables into a list for rasterizer cache marking
2018-12-10 22:13:10 -05:00
Weiyi Wang
643b7d4dcb
Memory: move memory setup into MemorySystem
2018-12-10 22:01:09 -05:00
Lioncash
dd2cbca3f4
hle/service: Remove unnecessary using declarations
...
Only one usage of the specified objects made use of the lack of
namespacing. Given the low usage, we can just remove these.
2018-12-08 14:52:30 +01:00
Lioncash
a32725540c
hle/service, hle/sm: Use structured bindings where applicable
...
Gets rid of the need to keep the variables separate from their actual
initialization spots.
2018-12-08 14:49:53 +01:00
Lioncash
0cb7654d60
hle/service, hle/sm: Use structured bindings where applicable
...
Gets rid of the need to keep the variables separate from their actual
initialization spots.
2018-12-08 14:48:01 +01:00
bunnei
edbdbf0ba1
Merge pull request #4480 from wwylele/memory-global-2
...
Memory: eliminate global state
2018-12-06 19:17:28 -05:00
Weiyi Wang
556ac5c075
Merge pull request #4469 from shutterbug2000/httpAddSet
...
Add HTTP_C::AddPostDataAscii
2018-12-06 14:28:56 -05:00
Weiyi Wang
23bad5d398
fix clang-format
2018-12-06 13:30:58 -05:00
Weiyi Wang
7e8ba6ed8e
Memory: move memory chunk into pImpl and make them dynamically allocated
...
Otherwise MSVC would give out-of-memory error on compile time
2018-12-06 13:30:47 -05:00
Weiyi Wang
ac1cda21c3
Address code style comments
2018-12-05 20:24:37 -05:00
Weiyi Wang
c6b3186475
Memory: IsValidVirtualAddress can be global
2018-12-05 20:21:14 -05:00
Weiyi Wang
42edab01d9
Memory: move states into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
2582d64fb3
Memory: move block operations into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
323990d402
Memory: move Read/Write8/16/32/64 and ReadCString into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
1ec9ed6827
LDR_RO: pass memory in CROHelper
2018-12-05 20:21:14 -05:00
Weiyi Wang
76e0a4ece7
Memory: move GetPointer into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
405218c3a7
Memory: move IsValidVirtualAddress into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
296c458e0e
Memory: move GetPhysicalPointer and IsValidPhysicalAddress into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
8c618c3fc3
Memory: move PageTable functions into class
2018-12-05 20:16:42 -05:00
Weiyi Wang
b199b7ada9
Memory: move GetFCRAMOffset into MemorySystem
2018-12-05 20:16:42 -05:00
Weiyi Wang
8118be6615
Kernel: pass in MemorySystem
2018-12-05 20:16:42 -05:00
Weiyi Wang
76944ec0e0
Merge pull request #4279 from FearlessTobi/better-mii-stub
...
applets: stub mii selector to always return a standard mii
2018-12-01 19:41:21 -05:00
Weiyi Wang
7e90abec78
Merge pull request #4442 from wwylele/memory-no-kernel
...
Memory: decouple from Kernel
2018-11-28 11:24:41 -05:00
fearlessTobi
48239be22c
mii_selector: Use BitField where possible
2018-11-27 14:57:51 +01:00
Weiyi Wang
2678c1a945
Merge pull request #4462 from FearlessTobi/fix-my-shit
...
ir_user: Remove ArrayToString() calls
2018-11-26 14:43:07 -05:00
fearlessTobi
5121fadb4f
ir:/movie: Replace for-loops with fmt::join
2018-11-26 20:04:18 +01:00
shutterbug2000
a7bbe60c18
Put AddPostDataAscii in the function list
2018-11-25 15:47:37 -06:00
shutterbug2000
4c198591d5
Add HTTP_C::AddPostDataAscii
2018-11-25 15:29:04 -06:00
Lioncash
067f09b41d
kernel/shared_memory: std::move the string parameter in SetName()
...
This avoids a potential reallocation.
2018-11-24 10:07:11 -05:00
fearlessTobi
fe99e5a51e
mii_selector: map raw data to the MiiResult struct
2018-11-24 14:35:06 +01:00
Weiyi Wang
210e558bea
Merge pull request #4456 from FearlessTobi/port-1767
...
Port yuzu-emu/yuzu#1734 and yuzu-emu/yuzu#1767 : Minor changes to "kernel"
2018-11-24 00:04:42 -05:00
bunnei
dc16ba009e
Merge pull request #4444 from FearlessTobi/port-1684
...
Port yuzu-emu/yuzu#1684 : "common/string_util: Minor cleanup"
2018-11-23 23:13:39 -05:00
Lioncash
86c36cb176
kernel/shared_memory: Make Map() and Unmap() take the target process by reference rather than as a pointer
...
Both member functions assume the passed in target process will not be
null. Instead of making this assumption implicit, we can change the
functions to be references and enforce this at the type-system level.
2018-11-23 17:00:12 +01:00
Lioncash
0f544af89a
kernel/shared_memory: Add a const qualified member function overload for GetPointer()
...
Given this doesn't mutate instance state, we can provide a
const-qualified variant as well.
2018-11-23 16:38:18 +01:00
Lioncash
1cb9bea504
kernel/shared_memory: Make data members private
...
Rather than allow unfettered access to the class internals, we hide all
members by default and create and API that other code can operate
against.
2018-11-23 16:20:18 +01:00
Lioncash
662c3ff684
kernel/handle_table: Move private static functions into the cpp file
...
These don't depend on class state, and are effectively implementation
details, so they can go into the cpp file .
2018-11-23 15:58:12 +01:00
Lioncash
83f6e9ea72
kernel/handle_table: Default destructor in the cpp file
...
We don't need to potentially inline the teardown logic of all of the
handle instances.
2018-11-23 15:58:07 +01:00
fearlessTobi
fc51a6fd08
Fix functions which used Common::ArrayToString
2018-11-20 15:05:54 +01:00
Weiyi Wang
679dfd7cdf
Memory: remove CopyBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
4e99641a3b
Memory: remove WriteBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
8871f5a4ac
Memory: remove ReadBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
524364d95a
ldr_ro: pass process reference to memory operation
...
Note that not all memory operation is fixed. Specifically, u8/u16/u32 Read/Write is still using the current page tabel
2018-11-19 11:16:55 -05:00
Weiyi Wang
7308b8d294
Memory: remove IsValidVirtualAddress with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
2b768da531
Merge pull request #4433 from wwylele/vmmanager-simple
...
VMManager: remove shared_ptr<vector> backing type
2018-11-19 11:13:22 -05:00
Weiyi Wang
a7d6bc4e84
Merge pull request #4441 from FearlessTobi/port-1688
...
Port yuzu-emu/yuzu#1688 : "service: Mark MakeFunctionString with the [[maybe_unused]] attribute."
2018-11-19 11:10:51 -05:00
Weiyi Wang
803f783f07
Merge pull request #4427 from wwylele/query-memory-merge
...
SVC: QueryMemory merges similar VMA
2018-11-19 11:10:15 -05:00
Sebastian Valle
b1fa9c0a7c
Merge pull request #4434 from wwylele/shared-memory-state
...
Kernel/SharedMemory: set and reset source memory state
2018-11-18 12:23:21 -05:00
Lioncash
39fcc3a589
service: Mark MakeFunctionString with the [[maybe_unused]] attribute.
...
When yuzu is compiled in release mode this function is unused, however,
when compiled in debug mode, it's used within a LOG_TRACE statement.
This prevents erroneous compilation warnings about an unused function
(that isn't actually totally unused).
2018-11-17 16:41:10 +01:00
bunnei
7f727177bf
Merge pull request #4431 from wwylele/no-v2p
...
Memory: remove VirtualToPhysicalAddress
2018-11-16 23:28:33 -08:00
Ben
b90ff739a0
Add CheatEngine and support for Gateway cheats ( #4406 )
...
* Add CheatEngine; Add support for Gateway cheats; Add Cheat UI
* fix a potential crash on some systems
* fix substr with negative length
* Add Joker to the NonOp comp handling
* Fixup JokerOp
* minor fixup in patchop; add todo for nested loops
* Add comment for PadState member variable in HID
* fix: stol to stoul in parsing cheat file
* fix misplaced parsing of values; fix patchop code
* add missing break
* Make read_func and write_func a template parameter
2018-11-16 18:01:10 -07:00
Weiyi Wang
95bbe2302b
Kernel/IPC: fix mapped buffer target address
2018-11-16 19:47:16 -05:00
Weiyi Wang
d90094e8a7
Service: release shared memory object when finalize
...
Since last commit SharedMemory only reset source memory set on dtor, service should always release the ref as soon as possible to make the reset happen
2018-11-16 00:24:13 -05:00
Weiyi Wang
cfa9a322c7
Kernel/SharedMemory: set and reset source memory state
2018-11-16 00:24:08 -05:00
Weiyi Wang
b6ab4e466b
VMManager: remove all backing block related functions
...
The shared_ptr<vector> type backing memory is unused now, and is not expected to be used in the future
2018-11-16 00:16:13 -05:00
Weiyi Wang
7f9873d7ec
VMManager: change MapMemoryBlockToBase to use raw backing memory
...
And let ServerSession.MappedBufferContext hold the mapped memory
2018-11-16 00:16:13 -05:00
Weiyi Wang
0b8d2ecabe
IPC: store mapped buffer info in session context
...
So that it doesn't have to scan over the request buffer again on reply. This also allow us to store additional info like memory mapping
2018-11-16 00:16:13 -05:00
Weiyi Wang
560df843b1
Merge pull request #4405 from wwylele/svc-global
...
SVC: new wrapper template & pass system reference across the SVC barrier
2018-11-16 00:07:50 -05:00
Weiyi Wang
a51d7430d7
Merge pull request #4408 from wwylele/ro-map
...
ldr_ro: properly map CRS/CRO buffer
2018-11-16 00:07:33 -05:00
Weiyi Wang
1388a44c41
GSP: uses a dedicate VirtualToPhysical converter
2018-11-13 11:24:46 -05:00
Weiyi Wang
fe47243690
Merge pull request #4413 from wwylele/memory-global
...
Fix shared font addres; Remove global PhysicalToVirtualAddress
2018-11-13 00:14:24 -05:00
Weiyi Wang
c57ee36222
SVC: hide details in pimpl
2018-11-12 13:59:34 -05:00
Weiyi Wang
aec8b1e375
SVC: use context and generic templates
2018-11-12 13:59:34 -05:00
Weiyi Wang
28513c5177
ResultCode: use default copy assignment
...
Our definition of the copy assignment is equivalent to the default one, but prevents the type being trivially copyable
2018-11-12 13:59:34 -05:00
Weiyi Wang
d373a6430d
SVC: move function_wrappers.h into kernel
...
It is only used by kernel/SVC
2018-11-12 13:59:34 -05:00
Weiyi Wang
29ade3e610
Process: check source/target overlap for Map/Unmap
2018-11-11 12:39:05 -05:00
Weiyi Wang
3db8915356
ldr_ro: properly map CRS/CRO buffer
2018-11-11 12:39:05 -05:00
Weiyi Wang
617b388354
Kernel/Process: implement prvileged Map/Unmap
...
This is used by svcControlProcessMemory and maps memory as Locked/AliasCode pair.
Also fixed a bug where map didn't apply specified permissions to the alias memory
2018-11-11 12:39:05 -05:00
Weiyi Wang
98ddea4ddd
Kernel: correct MemoryState for TLS
2018-11-09 00:14:13 -05:00
Weiyi Wang
5325388e24
SVC: QueryMemory merges similar VMA
2018-11-08 20:42:21 -05:00
Weiyi Wang
8c65433ab5
Kernel, APT: SharedFont/SharedMemoryOnSharedDevice should always use old linear heap VAddr
2018-11-08 00:19:19 -05:00
Valentin Vanelslande
0f4a6e39c9
ldr_ro: change std::tie to structured binding
2018-11-07 13:38:52 -05:00
Weiyi Wang
1444d60109
Merge pull request #4400 from wwylele/core-timing-global
...
CoreTiming: wrap into class
2018-11-06 20:04:56 -05:00
Weiyi Wang
2067946f59
Kernel: reimplement memory management on physical FCRAM ( #4392 )
...
* Kernel: reimplement memory management on physical FCRAM
* Kernel/Process: Unmap does not care the source memory permission
What game usually does is after mapping the memory, they reprotect the source memory as no permission to avoid modification there
* Kernel/SharedMemory: zero initialize new-allocated memory
* Process/Thread: zero new TLS entry
* Kernel: fix a bug where code segments memory usage are accumulated twice
It is added to both misc and heap (done inside HeapAlloc), which results a doubled number reported by svcGetProcessInfo. While we are on it, we just merge the three number misc, heap and linear heap usage together, as there is no where they are distinguished.
Question: is TLS page also added to this number?
* Kernel/SharedMemory: add more object info on mapping error
* Process: lower log level; SharedMemory: store phys offset
* VMManager: add helper function to retrieve backing block list for a range
2018-11-06 15:00:47 -05:00
Weiyi Wang
9458e4d8ec
CoreTiming: wrap into class
2018-11-04 10:26:38 -05:00
Weiyi Wang
2d9dfe5bce
Kernel: thread manager still has to be destructed first
2018-11-04 09:29:28 -05:00
Weiyi Wang
57e1f47a52
Kernel: destruct thread/timer managers after processes ( #4399 )
...
Processes can keep some Thread/Timer object alive while the manager is already destructed, resulting use-after-free in Thread::Stop and Timer::dtor. To resolve this, the manager objects should be destructed after all related object destructed.
Fixes a bug where quiting citra causes crash while the game is using a Timer.
2018-11-04 10:24:37 +01:00
Weiyi Wang
fc84091d88
Service, Kernel: move named port list to kernel
2018-11-01 12:56:40 -04:00
Weiyi Wang
ece96807c4
Kernel: move memory_regions into Kernel instance
2018-11-01 12:56:40 -04:00
Weiyi Wang
263290d48c
HLE: move SharedPage into Kernel
...
similar to config_mem, kernel is responsible for setting up this
2018-11-01 12:56:40 -04:00
Weiyi Wang
773ec47629
Kernel: make config_mem and MapSharedPages members of KernelSystem
2018-11-01 12:56:40 -04:00
Weiyi Wang
95790218f2
HLE: move config_mem to kernel
...
ConfigMem is initialized in kernel and only used by kernel. It is also likely how it works on real 3DS
2018-11-01 11:21:34 -04:00
Weiyi Wang
a753b9c6cc
Merge pull request #4228 from NarcolepticK/lle-mapped-buffer
...
LLE Mapped Buffer: Add unmapping of write buffer, zero-size, and multiple page handling
2018-10-30 19:18:11 -04:00
Weiyi Wang
445538c2cf
Merge pull request #4371 from wwylele/kernel-global-3
...
Kernel: eliminate global state for threads and timers
2018-10-30 00:36:10 -04:00
NarcolepticK
c97146226a
LLE Mapped Buffer: Addressed comments.
2018-10-29 18:35:34 -04:00
Weiyi Wang
f63098ccdf
Kernel/CodeSet: change struct to class
...
Fix a warning where class definition and forward declaration mismatch. CodeSet is a kernel object and have ctor/dtor/private members like others, so in convention it should be a class
2018-10-28 10:35:40 -04:00
fearlessTobi
6e6c437a52
applets: stub mii selector to always return a standard mii
...
To obtain the data, the LLEd mii selector of system version 11.8.0 was used.
In AppletManager::GlanceParameter, the following code was added to write the returned buffer data to a file:
if (parameter.buffer.size() == 132) {
std::u16string name(10, '\0');
std::memcpy(name.data(), parameter.buffer.data() + 0x26, 10 * sizeof(u16));
name = std::u16string(name.data());
FileUtil::IOFile file{fmt::format("{}.mii", Common::UTF16ToUTF8(name)), "wb"};
file.WriteBytes(parameter.buffer.data(), parameter.buffer.size());
}
Then "xxd -i" was used on the file to convert it to a hex array.
2018-10-27 12:23:24 +02:00
Weiyi Wang
e5b93741d3
kernel/timer: add TimerManager for timer system states
2018-10-26 16:07:45 -04:00
Weiyi Wang
20ae37ba4f
kernel/Thread: move thread list into the manager
2018-10-26 16:07:45 -04:00
Weiyi Wang
7fc61920cc
kernel/Thread: move thread wake up table and callback handle into the manager
2018-10-26 16:07:45 -04:00
Weiyi Wang
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
Weiyi Wang
876729ab52
kernel/thread: move next_thread_id into manager
2018-10-26 16:07:11 -04:00
Weiyi Wang
34f1fe088c
kernel/thread: add ThreadManager
2018-10-26 16:07:11 -04:00
Weiyi Wang
f3ee5feb02
Merge pull request #4358 from wwylele/kernel-global-2
...
kernel: Eliminate global state in process and handle_table
2018-10-26 15:51:36 -04:00
Weiyi Wang
8ad6cbfde2
kernel/thread: change owner_process parameter to reference
...
To enforce a valid process object
2018-10-26 09:37:46 -04:00
Weiyi Wang
e5c5d1ecce
Kernel: change owner_process in Thread/SharedMemory to raw pointer
...
Otherwise circular ownership would form in Process->handle_table->thread->owner_process
2018-10-25 19:54:06 -04:00
Tobias
dec3fb2dcf
nfc: Add Amiibo support (REOPENED) ( #4337 )
...
* Initial implementation
* Various fixes and new features
* Address some review comments
* Fixes
* Address more comments
* Use g_hle_lock
* Add more state checking, remove unneeded include
* Minor changes
2018-10-24 21:01:38 -04:00
Weiyi Wang
8d32843d68
thread/kernel: remove unused callback_id
...
we use the thread id for the same purpose now
2018-10-23 10:06:32 -04:00
Weiyi Wang
eb285c33fd
kernel: make handle table per-process
2018-10-22 21:32:34 -04:00
Weiyi Wang
fda2a5cf54
kernel/thread: use std::unordered_map for callback record
2018-10-22 21:32:34 -04:00
Weiyi Wang
5b45a3e1b5
Kernel/Timer: use unordered_map for callback recording
2018-10-22 21:32:34 -04:00
Weiyi Wang
8fb3d8ff38
kernel/process: move current process to kernel instance
...
Two functional change:
QueryProcessMemory uses the process passed from handle instead current_process
Thread::Stop() uses TLS from owner_process instead of current_process
2018-10-22 21:32:34 -04:00
Weiyi Wang
d9342622b0
kennel/process: move process list to kernel instance
2018-10-22 21:32:34 -04:00
Weiyi Wang
4238754d8c
kernel/process: move next_process_id to kernel instance
2018-10-22 09:30:48 -04:00
Lioncash
930abb4b5e
svc: Correct vma_map boundary check within QueryProcessMemory
...
This should be using the process instance retrieved within the function,
and not g_current_process, otherwise this is potentially comparing
iterators from unrelated vma_map instances (which is undefined
behavior).
2018-10-21 22:00:12 -04:00
Weiyi Wang
751ebe55e9
Kernel: pass ref down to Object and wrap ID counter into kernel state
2018-10-18 21:41:36 -04:00
Weiyi Wang
87426b29ff
kernel: pass ref to shared memory
2018-10-18 21:41:36 -04:00
Weiyi Wang
2a411bb501
Kernel: wrap resource limit state into kernel state; pass ref to resource limit
2018-10-18 21:41:36 -04:00
Weiyi Wang
13c26b4371
Kernel: pass ref to session pair
2018-10-18 21:41:36 -04:00
Weiyi Wang
1213a298df
Kernel: pass ref to port
2018-10-18 21:41:36 -04:00
Weiyi Wang
c141657d83
Kernel: pass ref to timer
2018-10-18 21:41:36 -04:00
Weiyi Wang
247249d5d3
Kernel: pass ref to sempahore
2018-10-18 21:41:36 -04:00
Weiyi Wang
181646679c
ServiceManager: pass down core reference
2018-10-18 21:41:36 -04:00
Weiyi Wang
d940293d32
Kernel: pass ref to thread
2018-10-18 21:41:36 -04:00
Weiyi Wang
9565091fc2
kernel: pass ref in Process
2018-10-18 21:41:36 -04:00
Weiyi Wang
213b259cf1
kernel: pass ref in CodeSet
2018-10-18 21:41:36 -04:00
Weiyi Wang
7449ba85a6
Kernel: pass ref in Mutex
2018-10-18 21:41:36 -04:00
Weiyi Wang
eec11a94cb
Kernel: pass Kernel ref in Event
2018-10-18 21:41:36 -04:00
Weiyi Wang
734be98966
Kernel: pass Kernel reference into AddressArbiter
2018-10-18 21:41:00 -04:00
Weiyi Wang
f446fd1fe5
Kernel: add KernelSystem class
2018-10-18 21:41:00 -04:00
Weiyi Wang
1de63f9b16
Merge pull request #4328 from B3n30/remove_current_module
...
remove GetCurrentModule() functions in HLE Services
2018-10-18 21:39:24 -04:00
B3n30
eb3af0f16a
Add GetModule() helper functions, for HID, CAM, and CFG
2018-10-12 11:50:50 +02:00
B3n30
1b1de23a98
Fixup: Remove unneeded GetUsername
2018-10-11 20:05:45 +02:00
B3n30
9d53136f20
remove GetCurrentModule() functions in HLE Services
2018-10-11 19:23:14 +02:00
Weiyi Wang
0962ab8da9
Merge pull request #4305 from wwylele/fs-global
...
FS/archive: wrap states into ArchiveManager class
2018-10-11 13:04:02 -04:00
Weiyi Wang
9adc407112
Merge pull request #4304 from B3n30/std_optional
...
Replace boost::optional with std::optional where possible
2018-10-11 12:40:00 -04:00
Sebastian Valle
f405134913
Merge pull request #4306 from Subv/apt_jump
...
Services/APT: Better implementation of PrepareToDoApplicationJump and DoApplicationJump.
2018-10-08 15:44:38 -05:00
Ben
d99b1f581f
NWM_UDS: Signal bind_node_event in Unbind ( #4321 )
2018-10-08 15:44:14 -05:00
Weiyi Wang
756a3d404a
Merge pull request #4283 from valentinvanelslande/seed-db
...
Implement SeedDB & Seed Crypto
2018-10-08 14:18:42 -04:00
Weiyi Wang
0b7b9a51d6
Merge pull request #4299 from B3n30/uds
...
NWM_UDS: Fix some issues, cleanups, better PacketHandling
2018-10-07 13:56:59 -04:00
Subv
8ec2a9817c
Services/APT: Better implementation of PrepareToDoApplicationJump and DoApplicationJump.
...
The real console can't launch an Application directly from within another Application so it has to go through the Home Menu. We do not have such limitation and can directly launch the requested title.
2018-10-06 17:08:24 -05:00
Valentin Vanelslande
7b6c5cd988
fix reply header
2018-10-06 16:59:57 -05:00
Weiyi Wang
389d3d630e
fs/archive: wrap states into archive manager
2018-10-06 01:23:03 -04:00
Weiyi Wang
7678327bf2
fs/archive: move file and directory classes to their own files
2018-10-06 01:23:03 -04:00
Weiyi Wang
b163502744
Core: pass down Core::System reference to all services ( #4272 )
...
* Core: pass down Core::System reference to all services
This has to be done at once due to unified interface used by HLE/LLE switcher
* apt: eliminate Core::System::GetInstance
* gpu_gsp: eliminate Core::System::GetInstance in service
* hid: eliminate Core::System::GetInstance
* nwm: eliminate Core::System::GetInstance
* err_f: eliminate Core::System::GetInstance
2018-10-05 10:59:43 -04:00
B3n30
2306af3600
Handle cases when std::optional does not contain a value
2018-10-05 16:51:33 +02:00
Pengfei Zhu
2a90426cb8
Merge pull request #4267 from zhaowenlan1779/movie
...
movie: Add clock init time to CTM header
2018-10-05 08:20:33 -05:00
B3n30
d37a2270d6
Replace boost::optional with std::optional where possible
2018-10-05 13:51:09 +02:00
Weiyi Wang
eb494c574d
Merge pull request #4244 from wwylele/swap-enum
...
common/swap: add swap template for enum
2018-10-04 14:51:49 -04:00
B3n30
458346d1e8
Adressed feedback
2018-10-04 12:34:51 +02:00
B3n30
38f136048e
Cleanup NWM_UDS::SendTo
2018-10-04 00:00:49 +02:00
Weiyi Wang
ea53b0f795
Merge pull request #4298 from Subv/am_titles
...
Services/AM: Implemented BeginImportProgramTemporarily, EndImportProgramWithoutCommit and CommitImportPrograms.
2018-10-03 17:41:40 -04:00
B3n30
7e7f17c78d
Add filter to PacketHandling; Fix some issues with Disconnect
2018-10-03 23:07:31 +02:00
Weiyi Wang
cfa52e2b7b
Merge pull request #4296 from B3n30/service_getter
...
Give frontend access to the hle service interfaces
2018-10-03 15:58:27 -04:00
Subv
0f6f7cfd95
Services/AM: Implemented BeginImportProgramTemporarily, EndImportProgramWithoutCommit and CommitImportPrograms.
...
These functions are pretty much identical to BeginImportProgram and EndImportProgram.
We don't need to do anything special in EndImportProgramWithoutCommit and CommitImportPrograms because we don't need to implement the two-phase title installation that the 3DS uses to prevent corruption of the title.db.
2018-10-03 14:48:39 -05:00
B3n30
544eb25c99
fixup! Give frontend access to the hle service interfaces
2018-10-03 20:08:01 +02:00
B3n30
d3694a930e
Give frontend access to the hle service interfaces
2018-10-03 19:44:23 +02:00
Sebastian Valle
3790ccc7b2
Merge pull request #4287 from Subv/am_subfile
...
Services/AM: Support using FS subfiles with the CIA-related service functions.
2018-10-03 10:13:46 -05:00
Subv
5165b63512
Services/AM: Support using FS subfiles with the CIA-related service functions.
...
FS subfiles are created with File::OpenSubFile, they have a start offset that must be added to all read/write operations.
The implementation in this commit is done using a new FileBackend that wraps the FS::File along with the start offset.
2018-10-03 09:57:05 -05:00
bunnei
2d116607fe
Merge pull request #4288 from Subv/am_system_mutex
...
Services/AM: Implement the GetSystemUpdaterMutex function.
2018-10-02 11:14:04 -04:00
Valentin Vanelslande
b067b5aa5a
Implement SeedDB & Seed Crypto
2018-10-02 10:12:40 -05:00
Subv
7aa97198a3
Services/AM: Implement the GetSystemUpdaterMutex function.
...
This function just returns a Mutex.
2018-10-02 09:07:00 -05:00
NarcolepticK
32aecd42a2
LLE Mapped Buffer: Corrected behavior
2018-10-01 21:07:25 -04:00
Weiyi Wang
fceec34945
Merge pull request #4278 from wwylele/cfg-ptm-direct-fs
...
cfg, ptm: access FS via backend directly
2018-10-01 18:32:43 -04:00
Weiyi Wang
0e77cd385a
Merge pull request #4277 from wwylele/cecd-direct-fs
...
cecd: access FS via backend directly
2018-10-01 18:26:51 -04:00
Weiyi Wang
fb720c00b7
Merge pull request #4273 from wwylele/apt-direct-fs
...
APT: access FS via backend directly
2018-10-01 14:24:06 -04:00
Weiyi Wang
5fb3137bdc
Merge pull request #4181 from wwylele/cia-crypto
...
Add encrypted CIA support
2018-10-01 14:23:35 -04:00
NarcolepticK
51d53a6281
LLE Mapped Buffer: addressed comments
2018-09-30 23:23:21 -04:00
NarcolepticK
19291ba465
LLE Mapped Buffer: Add unmapping, zero-size, and multiple page handling
2018-09-30 22:34:13 -04:00
bunnei
27203c0d47
Merge pull request #4274 from wwylele/http-direct-fs
...
http_c: access FS via backend directly
2018-09-30 21:37:07 -04:00
Weiyi Wang
edc6e419b0
Merge pull request #4232 from wwylele/multi-region
...
loader, cfg: choose region based on language if multiple regions available
2018-09-29 23:01:36 -04:00
Weiyi Wang
f5a3ec18c2
Merge pull request #4072 from B3n30/httpc3
...
Service::HTTP_C: Implement Client Cert opening and closing
2018-09-29 22:53:49 -04:00
Lioncash
d64094a0d2
kernel/object: Remove unnecessary std::move from DynamicObjectCast()
...
boost::static_pointer_cast for boost::intrusive_ptr (what SharedPtr is),
takes its parameter by const reference. Given that, it means that this
std::move doesn't actually do anything other than obscure what the
function's actual behavior is, so we can remove this. To clarify, this
would only do something if the parameter was either taking its argument
by value, by non-const ref, or by rvalue-reference.
2018-09-29 23:14:10 +02:00
Weiyi Wang
bcb5d438a9
cfg: access FS via backend directly
2018-09-28 17:32:05 -04:00
Weiyi Wang
2757eff122
ptm: access FS via backend directly
2018-09-28 17:21:45 -04:00
Weiyi Wang
b03332d09b
fs: remove ArchiveFactory_ExtSaveData::Initialize
...
This is unnecessary as any open archive would create the full path for themselves
2018-09-28 17:08:39 -04:00
Weiyi Wang
bb252ecab3
cecd: access FS via backend directly
2018-09-28 17:03:24 -04:00
Weiyi Wang
0bc98cdca4
http_c: access FS via backend directly
2018-09-28 14:25:19 -04:00
Weiyi Wang
94b273ac20
APT: access FS via backend directly
2018-09-28 14:08:30 -04:00
zhupengfei
ae5c658997
movie: Add clock init time to CTM header
...
This adds a clock init time field to the CTM header. The clock settings would be overridden when playing a movie. And when recording a movie, if the clock is set to System Time, it would be set to fixed init time at the current moment as well. In this way this keeps consistency with the RNG even if the user does just no setting.
2018-09-27 22:18:10 +08:00
Weiyi Wang
892ca2a94a
Merge pull request #4209 from zhaowenlan1779/play-coin
...
service/ptm, citra_qt: Add Play Coins setting
2018-09-27 10:09:02 -04:00
Weiyi Wang
08bfba5d8e
Merge pull request #4005 from NarcolepticK/stub-cecd
...
service/cecd: Implement some functions
2018-09-27 10:08:14 -04:00
Weiyi Wang
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
Weiyi Wang
9668852c0d
Service/AM: handle encrypted CIA
2018-09-23 13:05:55 -04:00
Pengfei Zhu
6b538a49ac
Merge pull request #4246 from FearlessTobi/port-1346
...
Port yuzu-emu/yuzu#1346 : "svc_wrap: Convert the PARAM macro into a function"
2018-09-23 13:10:11 +08:00
Weiyi Wang
20e42592ff
Merge pull request #4249 from FearlessTobi/port-760
...
Port yuzu-emu/yuzu#760 : "file_util: Use an enum class for GetUserPath()"
2018-09-22 23:42:59 -04:00
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
Lioncash
b3221c3180
file_util: Use an enum class for GetUserPath()
...
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.
We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
2018-09-22 21:18:56 +02:00
Lioncash
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
Weiyi Wang
41d53cee1f
nwm/uds_data: specify endianness for enum
2018-09-22 00:28:44 -04:00
Weiyi Wang
e0336403ee
nwm/uds_connection: specify endiannes for enum
2018-09-22 00:28:44 -04:00
Weiyi Wang
16b36b6025
service/cro: specify endianness for enum
2018-09-22 00:28:44 -04:00
Weiyi Wang
18e94897c4
hle/swkbd: specify endianness for enum and other members
2018-09-22 00:28:44 -04:00
Weiyi Wang
d1a576eb14
Merge pull request #4113 from namkazt/soc_recv_from
...
fix soc service - RecvFrom - SendTo
2018-09-21 12:33:23 -04:00
Weiyi Wang
e9ed1c98da
Merge pull request #4114 from namkazt/soc_recv_from_other
...
Implement soc - RecvFromOther
2018-09-21 12:33:12 -04:00
fearlessTobi
3ee9f669c1
Address review comments
2018-09-21 16:39:10 +02:00
James Rowe
687e3e74ca
Merge pull request #3959 from zhaowenlan1779/semi-reset
...
service/apt: Implement soft reset & CloseApplication
2018-09-19 21:02:59 -06:00
Weiyi Wang
697bc1a9c7
loader, cfg: choose region based on language if multiple regions available
2018-09-18 10:26:31 -04:00
Lioncash
5ddd382a9b
kernel/svc: Do nothing if svcOutputDebugString's length is <= 0
...
While likely very uncommon, this sanitizes the input and does nothing in
the event of the length being equal to or less than zero, avoiding
constructing a std::string when there's no need to. It also avoids an
out-of-memory scenario, as a negative value would wrap around to its
equivalent unsigned representation in std::string's constructor.
e.g. If someone was silly and a length of -1 was specified, this would
make a string with a length of 0xFFFFFFFFFFFFFFFF on a 64-bit platform,
which will obviously eventually fail due to the allocation being way too
large.
2018-09-17 19:52:53 -04:00
Lioncash
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
Lioncash
5dfa7b74b5
thread: Convert ThreadStatus into an enum class
...
Makes the thread status strongly typed, so implicit conversions can't
happen. It also makes it easier to catch mistakes at compile time.
2018-09-15 17:02:44 +02:00
zhupengfei
458f8d103b
service/ptm: Add Get/SetPlayCoins functions
2018-09-14 22:28:38 +08:00
Valentin Vanelslande
dce26367a2
ipc: fix typo
2018-09-13 11:51:08 -05:00
NarcolepticK
0d15b99bfc
service/cecd: Corrected cecd:s function table
2018-09-11 14:39:48 -04:00
NarcolepticK
105bcc95c0
service/cecd: Add hmac handling
2018-09-10 19:53:23 -04:00
NarcolepticK
192a0f3b92
service/cecd: Update handling of /outbox/boxinfo and /outbox/obindex
2018-09-10 04:21:24 -04:00
Valentin Vanelslande
5c4da2d218
svc: change unknown to thread in CreateThread
2018-09-08 07:40:24 -05:00
NarcolepticK
648cecf1aa
service/cecd: Utilize CryptoPP::Base64Encoder for message id
2018-09-07 23:09:14 -04:00
zhupengfei
ad6b140cb0
service/apt: Implement soft reset & CloseApplication
2018-09-08 11:05:23 +08:00
NarcolepticK
ff1beca74a
service/cecd: Fixed enum item naming style
2018-09-07 19:36:33 -04:00
Weiyi Wang
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
Merry
eca98eeb3e
Merge pull request #4143 from zhaowenlan1779/shared-font-text-fix
...
core, citra_qt: unify status of system archives and shared fonts
2018-09-06 20:51:32 +01:00
NarcolepticK
69b3217394
service/cecd: Addressed comments, code cleanup
2018-09-06 15:50:27 -04:00
NarcolepticK
c89759f597
service/cecd: Corrected eventlog.dat creation
2018-09-06 15:50:27 -04:00
NarcolepticK
c185c35bc2
service/cecd: Clang format fixup
2018-09-06 15:50:27 -04:00
NarcolepticK
dd7234a6d0
service/cecd: Migrate Common::StringFromFormat(...) to fmt::format(...)
2018-09-06 15:50:27 -04:00
NarcolepticK
25e7209d5c
service/cecd: Updated function names
2018-09-06 15:50:27 -04:00
NarcolepticK
7a8477d106
service/cecd: Implement mboxlist handling
2018-09-06 15:50:27 -04:00
NarcolepticK
0e8398b51c
service/cecd: Update header checks and increased debug logging
2018-09-06 15:50:27 -04:00
NarcolepticK
71204e525f
service/cecd: Corrected behaviour, started checking and updating file headers
2018-09-06 15:50:27 -04:00
NarcolepticK
d88ad61da4
service/cecd: Output icon to MBoxData.001 and title to MBoxData.010
2018-09-06 15:50:27 -04:00
NarcolepticK
010fbd8614
service/cecd: Update default values for in/out box info header
2018-09-06 15:50:27 -04:00
NarcolepticK
d99585aa53
service/cecd: Add MBox directory check to OpenAndRead and OpenAndWrite and added a CreateAndPopulateMBoxDirectory function
2018-09-06 15:50:27 -04:00
NarcolepticK
30bbea3f4e
service/cecd: Add initial files to archive after it is formatted
2018-09-06 15:50:27 -04:00
NarcolepticK
e27c1bd1f5
service/cecd: Addressed comment about PopEnum
2018-09-06 15:50:27 -04:00
NarcolepticK
413f1651b7
service/cecd: Implement basic file handling functions.
2018-09-06 15:50:26 -04:00
NarcolepticK
2ee395d7de
service/cecd: Implement functions
2018-09-06 15:50:26 -04:00
NarcolepticK
5dacf92fd7
service/cecd: Stub some functions
2018-09-06 15:50:26 -04:00
fearlessTobi
cf8b1726df
Address review comments
2018-09-06 00:00:21 +02:00
fearlessTobi
cb3ef488c7
Fixup! string_util: Remove StringFromFormat() and related functions
2018-09-06 00:00:21 +02:00
Lioncash
3284bef360
string_util: Remove StringFromFormat() and related functions
...
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-09-06 00:00:21 +02:00
B3n30
dfb82b4dfd
fixup! fix num_client_certs in CloseClientCertContext
2018-09-04 08:16:25 +02:00
Nguyen Dac Nam
a8af14ad12
change buffer index from 1 to 0.
2018-09-04 09:41:34 +07:00
Weiyi Wang
ae6007bf9d
Merge pull request #4069 from B3n30/wait_for_service_register
...
Service::SM: Wait till client is registered
2018-09-04 01:57:28 +03:00
Weiyi Wang
fffa55b5d8
Merge pull request #4139 from tgsm/hid-update-table
...
Service/HID: update function table
2018-09-04 01:47:26 +03:00
B3n30
cfd81be661
fixup! fixup! Service::SM: Wait till client is registered
2018-09-02 22:50:13 +02:00
B3n30
ae37b404c6
fixup! fixup! Service::SM: Wait till client is registered
2018-09-02 16:42:41 +02:00
Lioncash
c47e1db46d
kernel/object: Tighten object against data races
...
Despite being covered by a global mutex, we should still ensure that the
class handles its reference counts properly. This avoids potential
shenanigans when it comes to data races.
Given this is the root object that drives quite a bit of the kernel
object hierarchy, ensuring we always have the correct behavior (and no
races) is a good thing.
2018-08-31 00:14:48 +02:00
tgsm
7136777fec
Service/HID: update function table
...
update
2018-08-29 17:51:47 -04:00
zhupengfei
f28bc28d6b
core, citra_qt: unify status of system archives and shared fonts
...
Shared fonts is no different from any other system archives, and there is not really any point to make a separate status for it. This also fixes the incorrect error message that was introduced when I made the UI text improvements.
2018-08-27 22:40:35 +08:00
Ben
b20607dfc6
Add system time configuration ( #4043 )
...
* Add setting to switch between a fixed start time and the system time
Add clock settings to SDL
Make clock configureable in qt
Add a SharedPage handler class
Init shared_page_handler for tests
2018-08-26 11:47:45 -06:00
Merry
9b9227089b
Merge pull request #4121 from FearlessTobi/port-894
...
Port #894 from yuzu: "kernel: Move object class to its own source files"
2018-08-26 00:02:33 +01:00
fearlessTobi
8fceac801c
Fix clang-format
2018-08-25 14:05:59 +02:00
Merry
cf4f8463f1
Merge pull request #4122 from FearlessTobi/port-905
...
Port #905 from yuzu: "kernel/vm_manager: Minor changes"
2018-08-24 19:01:57 +01:00
Merry
f2816aa430
Merge pull request #4123 from FearlessTobi/port-914
...
Port #914 from yuzu: "kernel/process: Use accessors instead of class members for referencing segment array"
2018-08-24 19:01:07 +01:00
zhaowenlan1779
642f0bd62b
Port "kernel/event: Make data members private" from yuzu ( #4077 )
...
* kernel/event: Make data members private
Instead we can simply provide accessors to the required data instead of
giving external read/write access to the variables directly.
* fix compile error
2018-08-24 19:43:28 +02:00
zhaowenlan1779
75927ee462
Port "client_port: Make all data members private" from yuzu ( #4064 )
...
* client_port: Make all data members private
These members don't need to be entirely exposed, we can instead expose
an API to operate on them without directly needing to mutate them
We can also guard against overflow/API misuse this way as well, given
active_sessions is an unsigned value.
* make the condition an assert
2018-08-24 19:31:20 +02:00
Lioncash
c786df3e4b
kernel/process: Use std::array where applicable
2018-08-23 18:08:20 +02:00
Lioncash
37e78de206
kernel/process: Use accessors instead of class members for referencing segment array
...
Using member variables for referencing the segments array increases the
size of the class in memory for little benefit. The same behavior can be
achieved through the use of accessors that just return the relevant
segment.
2018-08-23 18:08:03 +02:00
Lioncash
469ed4a09f
kernel/vm_manager: Convert loop into std::any_of()
2018-08-23 17:53:37 +02:00
Lioncash
c7e1dab45b
kernel/vm_manager: Use const where applicable
...
Makes our immutable state explicit.
2018-08-23 17:53:20 +02:00
Lioncash
bb88c3b7b5
kernel/vm_manager: Use the VAddr type alias in CarveVMA()
...
These two variables correspond to address ranges.
2018-08-23 17:39:18 +02:00
Lioncash
63c7b44ba8
kernel: Move object class to its own source files
...
General moving to keep kernel object types separate from the direct
kernel code. Also essentially a preliminary cleanup before eliminating
global kernel state in the kernel code.
2018-08-23 17:31:59 +02:00
Nguyen Dac Nam
41f256f3cd
fix clang-format
2018-08-21 22:22:50 +07:00
Nguyen Dac Nam
8d98a387ac
only get src_adr if input_adr available
2018-08-21 21:39:45 +07:00
Nguyen Dac Nam
0e89555a89
only get src_adr if input_adr available
2018-08-21 21:33:19 +07:00
Nguyen Dac Nam
e8bb79be2d
do not init and copy to ctr_dest_addr unless have data
2018-08-21 20:51:13 +07:00
Nguyen Dac Nam
3b736a72a5
fix clang-format
2018-08-21 13:45:28 +07:00
Nguyen Dac Nam
c5eec5656d
add RecvFromOther cmd
2018-08-21 13:40:11 +07:00
Nguyen Dac Nam
2cb979ed29
add header RecvFromOther
2018-08-21 13:38:14 +07:00
Nguyen Dac Nam
fc8c199895
fix soc service - RecvFrom crash on Citra but not on 3DS
2018-08-21 12:59:02 +07:00
Nguyen Dac Nam
7d8569d799
fix soc service - Fcntl failed on validate header
2018-08-21 12:14:18 +07:00
Weiyi Wang
1b1439c6af
NWM_UDS: use sizeof(<var being used>) instead of hard-coded type ( #4093 )
...
* NWM_UDS: use sizeof(<var being used>) instead of hard-coded type
Intend to fix #4090 .
` node_map.node.second` type was changed to `u16` in #3985 . However the type change wasn't reflected here. Should have used variable name instead to automatically do type change
* NWM_UDS: ... and also the node.first one
* NWM_UDS: ... and here
* Network: bump version because we changed UDS packet layout
* Update nwm_uds.cpp
2018-08-12 22:47:48 +02:00
Merry
44fc338f21
Merge pull request #4083 from zhaowenlan1779/port-yuzu-904
...
Port "kernel/thread: Minor changes" from yuzu
2018-08-10 21:08:22 +01:00
Lioncash
39d5ada4e1
kernel/thread: Remove unimplemented function prototype
...
Given there's no implementation, we may as well remove the code
entirely.
2018-08-10 17:05:01 +08:00
B3n30
10ef3109a4
fix num_client_certs in CloseClientCertContext
2018-08-10 09:55:59 +02:00
Lioncash
596caf70b7
kernel/thread: Make GetFreeThreadLocalSlot()'s loop indices size_t
...
Avoids using a u32 to compare against a range of size_t, which can be a
source of warnings. While we're at it, compress a std::tie into a
structured binding.
2018-08-10 10:13:50 +08:00
Lioncash
893d9c5ff3
kernel/thread: Make GetFreeThreadLocalSlot() reference parameter a const reference
...
This function only reads the data being referenced, it doesn't modify
it, so we can turn the reference into a const reference.
2018-08-10 10:13:49 +08:00
Lioncash
c71c9e63ec
kernel/thread: Make GetFreeThreadLocalSlot() internally linked
...
This function isn't used outside of this translation unit, so we can
make it internally linked.
2018-08-10 10:13:48 +08:00
B3n30
c431b922d0
fix error code comment
2018-08-09 23:55:04 +02:00
B3n30
c6bdcf72a4
service::HTTP_C: Implement OpenClientCertContext, OpenDefaultClientCertContext, CloseClientCertContext
2018-08-09 23:05:09 +02:00
Ben
5e658efdb8
Service::HTTP_C: Add decryption of the ClCertA ( #4045 )
...
* Service::HTTP_C: Add decryption of the ClCertA
* fixup! Service::HTTP_C: Add decryption of the ClCertA
* fixup! Service::HTTP_C: Add decryption of the ClCertA
* FileSys:: Add MakeNCCHArchivePath and MakeNCCHFilePath; Small fixes in HTTP_C::DecryptDefaultClientCert
* fixup! fixup! Service::HTTP_C: Add decryption of the ClCertA
* fixup! fixup! fixup! Service::HTTP_C: Add decryption of the ClCertA
2018-08-09 23:02:53 +02:00
BreadFish64
d09646ab9d
citra-qt: service: add convenient LLE service module configuration ( #3967 )
...
* citra-qt: service: add convenient LLE service module configuration
* fix SDL settings
* unexpose AttemptLLE
* static
* fix array includes
* use default with writesetting
2018-08-09 21:10:11 +02:00
James Rowe
cc6d3ce22f
Merge pull request #4053 from Steveice10/master
...
am: Corrections to handling of non-existent content indices.
2018-08-09 09:39:44 -06:00
B3n30
aa98e55a88
fixup! Service::SM: Wait till client is registered
2018-08-08 23:42:45 +02:00
B3n30
02a3b5ae2b
Service::SM: Wait till client is registered
2018-08-08 23:30:48 +02:00
Ben
8ae126eb33
Merge pull request #4001 from Subv/http2
...
Services/HTTP: Corrected some error codes and added a few new ones.
2018-08-08 15:37:33 +02:00
Subv
b72e7d48e8
Service/HTTP: Added logs to some of the error conditions.
2018-08-08 08:32:46 -05:00
Steveice10
4c3961d5dd
am: Correct ListDLCContentInfos index bounds.
2018-08-04 01:27:05 -07:00
Steveice10
d93ed644f6
am: Return empty path string for non-existent content indices.
2018-08-04 01:03:29 -07:00
Subv
79db1f8b49
Service/HTTP: Log the PIDs in the Initialize functions.
2018-08-03 15:24:26 -05:00
James Rowe
c35a251d86
Merge pull request #3985 from BreadFish64/fix-warnings
...
core: clean up warnings
2018-08-02 11:14:57 -06:00
Weiyi Wang
14bc20fc8d
Merge pull request #3996 from NarcolepticK/dsp-remove-weakptr
...
service/dsp: Clean up global state
2018-08-02 11:14:59 +03:00
BreadFish64
74cd98ecad
core: clean up warnings
2018-08-01 14:10:23 -05:00
Merry
6a9e18a49a
Merge pull request #4022 from zhaowenlan1779/port-yuzu-837
...
Port yuzu-emu/yuzu#837 from yuzu
2018-08-01 15:01:17 +01:00
Lioncash
8e103d0675
kernel/timer: Make data members private where applicable
...
Instead, we can just expose functions that return the queryable state
instead of letting anything modify it.
2018-08-01 17:49:52 +08:00
James Rowe
05eb0ccb03
Merge pull request #4014 from wwylele/old-service
...
service: remove deprecated service interface
2018-07-30 11:31:54 -06:00
Weiyi Wang
71729fd47a
Merge pull request #3951 from zhaowenlan1779/cfg-country-code
...
service/cfg, citra_qt: add country code configuration
2018-07-30 12:02:07 +03:00
Merry
f4a389dca5
Merge pull request #4023 from zhaowenlan1779/port-yuzu-797
...
Port yuzu-emu/yuzu#797 from yuzu
2018-07-30 08:28:35 +01:00
Lioncash
661f7bbcfd
core: Make converting constructors explicit where applicable
...
Avoids unwanted implicit conversions. Thankfully, given the large amount
of cleanup in past PRs, only this tiny amount is left over to cover.
2018-07-30 08:21:13 +08:00
NarcolepticK
8f70e9a318
service/dsp: Addressed comments about function name and pointer type
2018-07-29 15:18:30 -04:00
Ben
04bd104c4a
Merge pull request #3992 from Subv/applets_close
...
Services/HLE: Implement PrepareToCloseLibraryApplet and CloseLibraryApplet
2018-07-29 10:34:32 +02:00
Weiyi Wang
383cde84d3
Merge pull request #3917 from Steveice10/master
...
am: Fix DLC loading.
2018-07-28 18:48:28 +03:00
wwylele
323313b2e9
service: remove deprecated service interface
2018-07-27 21:22:15 +03:00
NarcolepticK
5c52c6e64a
service/boss: Migrate to ServiceFramework ( #3998 )
...
* service/boss: Migrate to ServiceFramework
* service/boss: Addressed comments
* service/boss: Added TODO: verify ResetType
2018-07-27 16:07:23 +03:00
NarcolepticK
5a4ed10982
service/csnd: Moved into csnd folder and stubbed a few functions ( #4006 )
...
* service/csnd: Moved into csnd folder and stubbed a few functions
* service/csnd: Addresed comment about missing rb.Skip
2018-07-27 11:25:20 +03:00
Weiyi Wang
719bec84cd
Merge pull request #4007 from B3n30/romfs_file
...
RomFS: add RomFSFile and RomFS::GetFile
2018-07-27 11:24:31 +03:00
B3n30
123c0886e6
RomFSFile: Default constructor
2018-07-26 13:10:56 +02:00
B3n30
b1f8c2fe67
Remove RomFS::GetFilePointer
2018-07-26 12:59:31 +02:00
B3n30
b62978b5a1
RomFS: add RomFSFile and GetRomFSFile
2018-07-26 12:31:59 +02:00
Subv
d19dbe8419
Services/HTTP: Added error handling to AddRequestHeader
2018-07-25 16:48:04 -05:00
Subv
03294ce6b4
Services/HTTP: Implemented the InitializeConnectionSession function.
2018-07-25 16:13:47 -05:00
Subv
28c296a13b
Services/HTTP: Corrected some error codes and added a few new ones.
...
Use the session data to store information about the HTTP session state.
This is based on reverse engineering of the HTTP module.
The AddRequestHeader function is still mostly incorrect, this will be fixed in follow up PRs
2018-07-25 14:59:29 -05:00
James Rowe
e4d65927c2
Merge pull request #3991 from zhaowenlan1779/no-lle-applets
...
applet_manager: disable loading LLE applets
2018-07-25 09:54:02 -06:00
James Rowe
9d95373282
Merge pull request #3999 from NarcolepticK/stub-service-ps
...
service/ps: Boilerplate to register service, no functions implemented
2018-07-25 09:52:45 -06:00
Sebastian Valle
472ee00e8f
Merge pull request #3981 from B3n30/httpc
...
Migrate HTTP_C to the ServiceFramework and implement functions
2018-07-25 10:20:27 -05:00
NarcolepticK
081becc9f5
service/ps: Boilerplate to register service, no functions implemented
2018-07-25 02:25:51 -04:00
B3n30
050d116cb6
Fixed include in http_c,h; added ERROR_CONTEXT_ERROR to CreateContext
2018-07-24 23:38:19 +02:00
NarcolepticK
b840c63386
service/dsp: Clean up global state
2018-07-24 16:15:37 -04:00
Subv
cce882b688
Services/HLE: Implement PrepareToCloseLibraryApplet and CloseLibraryApplet.
...
This allows LLE library applets (like swkbd) to properly close and return to the application instead of hanging.
There is still a bug in our rasterizer cache that may cause crashes some time after an applet is closed, but that is tangential to this change and should be tackled separately.
2018-07-24 14:50:19 -05:00
zhupengfei
44db59be2b
applet_manager: disable loading LLE applets
...
Currently LLE applets cannot exit properly in Citra and causes Citra to hang. We are already providing HLE for applets, and the LLE applets are preventing users who dumped their system files from using the applets correctly. Before the further fix is done, I think we should temporaily disable loading LLE applets.
2018-07-24 23:24:27 +08:00
B3n30
daac1349db
Service/HTTP_C: Add some comments; Fixed header in CloseContext
2018-07-23 21:14:41 +02:00
B3n30
2f50bf0007
Service/HTTP_C: Fix error in CreateContext
2018-07-23 18:02:35 +02:00
Weiyi Wang
8388e5519b
Merge pull request #3944 from wwylele/soc-new-framework
...
Service/SOC: convert to ServiceFramework
2018-07-22 22:23:05 +03:00
B3n30
2d09355a25
Make Service::HTTP::Context non-copyable
2018-07-22 18:15:44 +02:00
B3n30
5af6a1d8ee
Revert stubbed InitializeConnectionSession
2018-07-22 18:15:44 +02:00
B3n30
32155cd683
Service/HTTP: stubbed InitializeConnectionSession
2018-07-22 18:15:44 +02:00
B3n30
65c7ed8445
Service/HTTP: Moved declarations to the header file
2018-07-22 15:01:32 +02:00
B3n30
0606e7010c
Services/HTTP: Implemented the AddRequestHeader service function.
2018-07-22 13:38:31 +02:00
Subv
799b45233f
Services/HTTP: Stubbed the CloseContext service function.
...
It is currently unknown how the real http module handles trying to close contexts for requests that are already in flight.
2018-07-21 20:11:20 -05:00
Subv
34baa882c8
Services/HTTP: Corrected the error code for an invalid request method.
2018-07-21 19:50:13 -05:00
Subv
70e6979695
Services/HTTP: Implemented the CreateContext function handler.
2018-07-21 19:30:40 -05:00
B3n30
87ec3934a6
Services/HTTP: Added structures to represent an HTTP context.
...
More fields will probably need to be added to these structures in the future.
2018-07-21 19:10:00 -05:00
B3n30
fe5a3d22c5
Services/HTTP: Added structures to store both client and server certificates.
2018-07-21 19:00:50 -05:00
B3n30
1f865fd524
Services/HTTP: Stubbed the Initialize function.
2018-07-21 18:54:06 -05:00
B3n30
28124c053a
Services/HLE: Convert the http:C service to the new service framework.
2018-07-21 18:48:57 -05:00
Alexandre LittleWhite Laurent
578b08c53b
Truncating UTF16 text before converting them toUTF8
2018-07-21 18:17:46 +02:00