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 239: |
Line 240: |
| | | |
| ===[[Bluetooth_Driver_services|bluetooth]]=== | | ===[[Bluetooth_Driver_services|bluetooth]]=== |
− | {Major changes, TODO}
| + | 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]] === |