I am having a similar issue with IOBufferMemoryDescriptor::inTaskWithPhysicalMask.
It seems like inTaskWithPhysicalMask does not allow the physicalMask to restrict the output address to only 32-bits on an M1 based mac. If I change the physicalMask to be 0xFFFFFF000 (>32 bits) then the inTaskWithPhysicalMask succeeds but now the hardware has an issue with the 64-bit addressing.
Also, it would seem that setPreparationID is for user mode code, not Kernel.
Have you found a way round this?
Topic:
App & System Services
SubTopic:
Drivers
Tags: