12.0.0: Difference between revisions
→FIRM Sysmodules: some details on sm |
No edit summary |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 168: | Line 168: | ||
** KProcess::EnterUserException now sets address_key = (thread | 1) instead of thread. | ** KProcess::EnterUserException now sets address_key = (thread | 1) instead of thread. | ||
*** This makes EnterUserException no longer a kernel waiter. | *** This makes EnterUserException no longer a kernel waiter. | ||
*** KScheduler::UpdateHighestThreads now checks if the top thread is the exception thread, and ignores the pinned thread if it is. | |||
** All locations where KThread::m_num_kernel_waiters is changed now mark that a scheduler update is needed. | ** All locations where KThread::m_num_kernel_waiters is changed now mark that a scheduler update is needed. | ||
* KMemoryBlockManagerUpdater::Initialize has now been removed, rolled into KMemoryBlockManagerUpdater ctor. | * KMemoryBlockManagerUpdater::Initialize has now been removed, rolled into KMemoryBlockManagerUpdater ctor. | ||
Line 230: | Line 231: | ||
* No longer uses CMIF for IPC, now uses new simpler/learner IPC protocol ("tipc", probably "tiny ipc"). | * No longer uses CMIF for IPC, now uses new simpler/learner IPC protocol ("tipc", probably "tiny ipc"). | ||
** TIPC is implemented on top of HIPC svcs, same as CMIF was. | ** TIPC is implemented on top of HIPC svcs, same as CMIF was. | ||
** Hacky/Hardcoded CMIF shim is provided for GetServiceHandle/RegisterClient, to avoid breaking games compiled with SDK < 12.x. | |||
* sm: now has a max sessions of 69, up from 61. | * sm: now has a max sessions of 69, up from 61. | ||
** sm:m is maximum 1, for a total of 70. | ** sm:m is maximum 1, for a total of 70. | ||
Line 238: | Line 240: | ||
===[[Bluetooth_Driver_services|bluetooth]]=== | ===[[Bluetooth_Driver_services|bluetooth]]=== | ||
The IPC<>btstack code was rewritten. C++ objects with vfuncs are now used by commands, instead of the interface funcptr tables. Various structs/enums were updated/etc. | |||
The funcs which were called via funcptrs from the HidMessageHandler thread for writing the various EventInfo state are now inlined. | |||
The Adapter commands were updated, which in the process vulns were [[Switch_System_Flaws|fixed]]. | |||
[[Bluetooth_Driver_services#RespondToPinRequest|RespondToPinRequest]] now actually uses the input PIN instead of hard-coding it. | |||
[[Bluetooth_Driver_services#StartInquiry|StartInquiry]] was updated. | |||
System-setting "bluetooth_config!skip_boot" is now [[Bluetooth_Driver_services#IsManufacturingMode|handled]]. | |||
For more details, see [[Bluetooth_Driver_services|here]]. | |||
Support for bluetooth audio was added. Note however, that the audio-sysmodule still doesn't use the btdrv service. | |||
===[[BTM_services|btm]]=== | |||
None of the new btdrv commands are used. [[Bluetooth_Driver_services#StartInquiry|StartInquiry]] with an user-specified service_mask is used, however it's unknown what triggers using this. | |||
=== [[Applet_Manager_services|am]] === | === [[Applet_Manager_services|am]] === |