15.0.0: Difference between revisions

Kernel: Missed this during 14 -> 15 diffing, apparently.
 
(One intermediate revision by one other user not shown)
Line 126: Line 126:
*** KMemoryState_Io now supports the CanAlignedDeviceMap and CanDeviceMap flags.
*** KMemoryState_Io now supports the CanAlignedDeviceMap and CanDeviceMap flags.
*** KPageTableBase::GetContiguousMemoryRangeWithState no longer checks that the passed memory address is heap.
*** KPageTableBase::GetContiguousMemoryRangeWithState no longer checks that the passed memory address is heap.
**** KPageTable::MemoryRange now tracks whether the range is reference counted, and Close() only closes the pages if they are.
*** KPageTableBase::OpenMemoryRangeForMapDeviceAddressSpace no longer checks passes KMemoryState_FlagReferenceCounted.
*** KPageTableBase::OpenMemoryRangeForMapDeviceAddressSpace no longer checks passes KMemoryState_FlagReferenceCounted.
*** KPageTableBase::LockForMapDeviceAddressSpace takes two new arguments, an output bool * to write whether the state was io, and a bool for whether to check KMemoryState_FlagReferenceCounted.
*** KPageTableBase::LockForMapDeviceAddressSpace takes two new arguments, an output bool * to write whether the state was io, and a bool for whether to check KMemoryState_FlagReferenceCounted.
Line 149: Line 150:
*** When a process is created with system resource size > 0, it now creates a KSecureSystemResource (which manages allocation with KSystemControl).
*** When a process is created with system resource size > 0, it now creates a KSecureSystemResource (which manages allocation with KSystemControl).
**** All actual underlying logic is the same, this just abstracts the KSystemControl/secure memory interaction out of KProcess.
**** All actual underlying logic is the same, this just abstracts the KSystemControl/secure memory interaction out of KProcess.
* KPageTable::MemoryRange now tracks whether the range is reference counted, and Close() only closes the pages if they are.
* KInterruptEventTask was removed and no longer exists.
* KInterruptEventTask was removed and no longer exists.
** KInterruptEvent now inherits from KInterruptTask directly.
** KInterruptEvent now inherits from KInterruptTask directly.
Line 164: Line 164:


===[[Bluetooth_Driver_services|bluetooth]]===
===[[Bluetooth_Driver_services|bluetooth]]===
Besides the various IPC changes, a vulnerable func was [[Switch_System_Flaws|fixed]].
Besides the various IPC changes, security flaws were [[Switch_System_Flaws|fixed]].


===[[HID_services|hid]]===
===[[HID_services|hid]]===