Post

Replies

Boosts

Views

Activity

Memory barriers in Apps, Kexts and Dexts running on Apple Silicon
The video about Porting to Apple Silicon mentions the Intel/arm64 memory ordering differences and states that 'Correct code' will behave the same but data races may behave differently. What is implied by 'Correct code'? Does that include using memory barriers? Are there any limitations on using memory barriers at the application and DriverKit level? Or for IOKit kexts where they are allowed?
1
0
686
Jun ’20
Kernel Panic triggered by PCIe DriverKit Extension
My company has been developing a DriverKit Extension for our ThunderBolt attached devices. The dext is part of a set of components developed to replace a complex kext. Our testing has gone well on Intel based machines, but I seem to be able to cause kernel panics on my M1 Mac Mini when running some tests from an application that sends commands to the dext. The crashes aren't immediate; they happen apparently when the device wakes from sleeping. If I don't enable some particular capabilities on the devices the code works fine. Unfortunately they are LLC crashes and I have no way to debug them. Has anyone dealt with something like this? panic(cpu 6 caller 0xfffffe001f038b94): "LLC Bus error from cpu2: FAR=0x600102068 LLC_ERR_STS/ADR/INF=0x11000ffc00000080/0x4300040600102068/0x5 addr=0x600102068 cmd=0x18(acc_cifl2c_cmd_rd_ld)" @AppleFireStormErrorHandler.cpp:424 Debugger message: panic Memory ID: 0x6 OS release type: User OS version: 21E258 Kernel version: Darwin Kernel Version 21.4.0: Fri Mar 18 00:47:26 PDT 2022; root:xnu-8020.101.4~15/RELEASE_ARM64_T8101 Fileset Kernelcache UUID: E642C8E63C1D004A6B6639342D386514 Kernel UUID: 79A2DE0A-5FBB-32B8-B226-9D5D3F5C25A4 iBoot version: iBoot-7459.101.3 secure boot?: YES Paniclog version: 13 KernelCache slide: 0x0000000016758000 KernelCache base: 0xfffffe001d75c000 Kernel slide: 0x0000000016ef8000 Kernel text base: 0xfffffe001defc000 Kernel text exec slide: 0x0000000016fe0000 Kernel text exec base: 0xfffffe001dfe4000
2
0
1.4k
Jul ’22
showallkexts fails with AttributeError 'MemMachO' has no attribute 'allow_unknown_load_commands'
I am running on Sequoia 15.1 24B83 with the appropriate KDK on both my host and target systems. I am trying to examine the target when it has crashed either due to triggering an NMI or causing a crash in my company's kext. I am not getting very far! I can attach from the host to the target. But I can't run any useful commands, starting with showallkexts. It shows up in the list of 'Current user-defined commands' but fails with the above attribute error when I try to run it. I get that same error trying to use other user-defined commands. I followed the host setup instructions in the KDK readme, but this traceback leads me to think I have overlooked something. If this is something folks have seen before, I would appreciate any guidance!
2
0
75
1w