Thanks to @XLNC B550 boards now work on macOS. This is his message,
Add the SSDT-CPUR.aml file to your OC/ACPI folder and include it in your config. To join the discussion on B550 in Discord follow this link, https://discord.gg/PHsT2vAXLNC said:Hi guys !
ok so long story short.
Upon comparing verbose messages i observed that after ACPI tables are acquired and loaded by AppleACPIPlatform, the AppleACPICPU doesnt showup for some reason . So after looking into couple of functions in the AppleACPIPlatform.kext binary, i see that AppleACPICPU looks for ACPI processor objects each with a processor id.
In our ACPI tables usually the processor is declared as ProcessorObj which consists of a ProcessorName and a ProcessorID which then macos uses it to find declared processors in ACPI tables.
According to ACPI 5.0 spec , they have now provided a newer way of defining processor in ACPI as DeviceObj which contains a HID ACPI0007 to let OS know that its a processor object and a UID which acts as a processorID or index in simple words. so now processors can be declared either as ProcessorObj or DeviceObj. AND since ACPI 6.0 spec the processorObj is deprecated leaving with only DeviceObj as the option.
The problem here is that all B550 boards follow newer ACPI specs where they have their processor declared in ACPI as DeviceObj rather than ProcessorObj so macOS (AppleACPICPU specifically) looks for ProcessorObj with ProcessorID which isn't used anymore in B550 boards. so when it couldn't find that, it goes around the corner sits there and cry.
Solution: Re-declare processor in DSDT as ProcessorObj and make macos happy. it can be done in few ways through hotpatch. so i have created this SSDT based of the ACPI dumps people posted here so might update it in future if needed. Add this SSDT to your OC and boot.
I am gonna leave this here if incase anyone wanna buy me an ice-cream or beer or a ryzen system https://www.paypal.com/paypalme/naveenkrdy
1,002 bytes Views: 317