Changes

1,212 bytes added ,  08:49, 19 October 2021
no edit summary
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]] ===