Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: IASL status: 255 (Failed) on multi cpu E5-2620 system #429

Open
PJ-Verweij opened this issue Mar 11, 2018 · 4 comments
Open

Error: IASL status: 255 (Failed) on multi cpu E5-2620 system #429

PJ-Verweij opened this issue Mar 11, 2018 · 4 comments

Comments

@PJ-Verweij
Copy link

PJ-Verweij commented Mar 11, 2018

Dear Pike R. and fellow SSDT'ers

problem:
I'm trying to get a proper SSDT for my dual Xeon E5-2620 V1 setup.
However the ssdtPRGen gives me the following error:
"Error: IASL status: 255 (Failed)"

the output of the script can be seen below;
I'm using SMBIOS MacPro6,1 and the error also exists if I'm using a sandy bridge model smbios with corresponding board-id (for example; Mac-4BC72D62AD45599E / Macmini5,2)

priegelaars-iMac:~ priegelaar$ ./ssdtPRGen.sh -cpus 2 -l 24 -target 0


ssdtPRGen.sh v0.9  Copyright (c) 2011-2012 by † RevoGirl
             v6.6  Copyright (c) 2013 by † Jeroen
             v21.5 Copyright (c) 2013-2018 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

System information: Mac OS X 10.13.3 (17D47)
Brandstring: "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz"

Override value: (-cpus) number of processors, now using: 2!
Override value: (-l) number of logical processors, now using: 24!
Override value: (-target) CPU, now using: Sandy Bridge!

Version: models.cfg v171 / Sandy Bridge.cfg v150




Scope (_SB_) {3458 bytes} with ACPI Processor declarations found in DSDT (ACPI 1.0 compliant)
Generating ssdt.dsl for a 'MacPro6,1' with board-id [Mac-F60DEB81FF30ACF6]
Sandy Bridge Core E5-2620 processor [0x206D7] setup [0x0a01]
With a maximum TDP of 95 Watt, as specified by Intel
Number logical CPU's: 24 (Core Frequency: 2000 MHz)
Number of Turbo States: 5 (2100-2500 MHz)
Number of P-States: 14 (1200-2500 MHz)
Injected C-States for CP00 (C1,C3,C6,C7)

Error: board-id [Mac-F60DEB81FF30ACF6] not supported by Sandy Bridge – check SMBIOS data / use the -target option

Do you want to continue (y/n)? y
Warning: 'system-type' may be set improperly (1 instead of 2)
	 - Clover users should read https://clover-wiki.zetam.org/Configuration/ACPI#acpi_smartups
Compiling: ssdt_pr.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov  6 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ACPI Warning: NsLookup: Type mismatch on APSS (Package), searching for (Method) (20140926/nsaccess-729)
/Users/priegelaar/Library/ssdtPRGen/ssdt.dsl     29:     External (\_SB_.CP00, DeviceObj)
Error    6074 -                                             Name already exists in scope ^  (\_SB_.CP00)

/Users/priegelaar/Library/ssdtPRGen/ssdt.dsl     30:     External (\_SB_.CP01, DeviceObj)
Error    6074 -                                             Name already exists in scope ^  (\_SB_.CP01)

/Users/priegelaar/Library/ssdtPRGen/ssdt.dsl     31:     External (\_SB_.CP02, DeviceObj)
Error    6074 -                                             Name already exists in scope ^  (\_SB_.CP02)

/Users/priegelaar/Library/ssdtPRGen/ssdt.dsl     32:     External (\_SB_.CP03, DeviceObj)
Error    6074 -                                             Name already exists in scope ^  (\_SB_.CP03)

/Users/priegelaar/Library/ssdtPRGen/ssdt.dsl    225:         Method (APSS, 0, NotSerialized)
Error    6074 -                             Name already exists in scope ^  (APSS)

/Users/priegelaar/Library/ssdtPRGen/ssdt.dsl    235:         Method (APSS, 0, NotSerialized)
Error    6074 -                             Name already exists in scope ^  (APSS)

/Users/priegelaar/Library/ssdtPRGen/ssdt.dsl    245:         Method (APSS, 0, NotSerialized)
Error    6074 -                             Name already exists in scope ^  (APSS)

/Users/priegelaar/Library/ssdtPRGen/ssdt.dsl    255:         Method (APSS, 0, NotSerialized)
Error    6074 -                             Name already exists in scope ^  (APSS)

ASL Input:     /Users/priegelaar/Library/ssdtPRGen/ssdt.dsl - 264 lines, 7002 bytes, 66 keywords

Compilation complete. 8 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
Error: IASL status: 255 (Failed)

Do you want to open ssdt.dsl (y/n)? n

Somehow the script runs without errors when I lower the amount of logical cores to 12 (no error up to -l 16) but that would not suit the 2x6 cores with hyper-threading -> 24 logical cores.

What am I doing wrong?

I've added my ACPI folder and the output of ssdtPRGen -d
ACPI folder and ssdtPRGen -d output.zip

Interesting:
Somehow I can already get some P-states without using a SSDT or SSDT settings in Clover by using this patched AppleIntelCPUPowerManagement.kext from the multi cpu edition of http://www.rampagedev.com/downloads/
The turboboost throttles until x23 (should be x25 for this cpu)

Although single threaded performance raises this way from 1482 to 1732. (Geekbench v4) Multithreaded performance drops from 16979 to 14460. (Geekbench v4)
Edit; This multithreaded performance drop is due to (inefficient?) throttling of AppleIntelCPUPowerManagement.kext. Multithreaded performance (and power consumption) can be raised again by increasing the minimum P-level (PFloor) in the bios to x17.

bash-3.2# cat /tmp/AppleIntelInfo.dat

AppleIntelInfo.kext v1.2 Copyright © 2012-2015 Pike R. Alpha. All rights reserved

Settings:
------------------------------------
logMSRs............................: 1
logIGPU............................: 0
logIntelRegs.......................: 1
logCStates.........................: 1
logIPGStyle........................: 1
InitialTSC.........................: 0x844ef8101d7
MWAIT C-States.....................: 135456

Model Specific Regiters
------------------------------------
MSR_CORE_THREAD_COUNT......(0x35)  : 0x6000C
MSR_PLATFORM_INFO..........(0xCE)  : 0xC0064011400
MSR_PMG_CST_CONFIG_CONTROL.(0xE2)  : 0x1E008400
MSR_PMG_IO_CAPTURE_BASE....(0xE4)  : 0x10414
IA32_MPERF.................(0xE7)  : 0xB170290115
IA32_APERF.................(0xE8)  : 0x3880674C65
MSR_FLEX_RATIO.............(0x194) : 0x0
MSR_IA32_PERF_STATUS.......(0x198) : 0x1FDD00001700
MSR_IA32_PERF_CONTROL......(0x199) : 0x1900
IA32_CLOCK_MODULATION......(0x19A) : 0x0
IA32_THERM_STATUS..........(0x19C) : 0x883A0000
IA32_MISC_ENABLES..........(0x1A0) : 0x850089
MSR_MISC_PWR_MGMT..........(0x1AA) : 0x400001
MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x1717171718181919
IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x0
MSR_POWER_CTL..............(0x1FC) : 0x3104005B
MSR_RAPL_POWER_UNIT........(0x606) : 0xA1003
MSR_PKG_POWER_LIMIT........(0x610) : 0x68390001482F8
MSR_PKG_ENERGY_STATUS......(0x611) : 0x7675A495
MSR_PKG_POWER_INFO.........(0x614) : 0x2F04B001F802F8
MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x14149400000530
MSR_PP0_POWER_LIMIT........(0x638) : 0x0
MSR_PP0_ENERGY_STATUS......(0x639) : 0x955BAB31
MSR_PP0_POLICY.............(0x63a) : 0x0
MSR_PKGC6_IRTL.............(0x60b) : 0x0
MSR_PKGC7_IRTL.............(0x60c) : 0x0
MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x0
MSR_PKG_C3_RESIDENCY.......(0x3f8) : 0x0
MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
MSR_PKG_C7_RESIDENCY.......(0x3fa) : 0x0
IA32_TSC_DEADLINE..........(0x6E0) : 0x844F45CC991
PCH device.................: 0x1D418086

CPU Ratio Info:
------------------------------------
CPU Low Frequency Mode.............: 1200 MHz
CPU Maximum non-Turbo Frequency....: 2000 MHz
CPU Maximum Turbo Frequency........: 2500 MHz
CPU P-States [ (12) 21 23 ]
CPU P-States [ (12) 21 22 23 ]
CPU P-States [ (12) 20 21 22 23 ]
CPU P-States [ (12) 18 20 21 22 23 ]
CPU P-States [ (12) 18 19 20 21 22 23 ]

How can this be?
More information about my total build can be found here

Thanks in advance!
Priegelaar

@PJ-Verweij
Copy link
Author

PJ-Verweij commented Mar 16, 2018

Earlier I found out that the script can run for a lower number of logical cores without seeing any errors, so I decided to turn off hyper threading in the bios and try the script for 12 logical cores:

ssdtPRGen.sh -cpus 2 -l 12

ssdtPRGen.sh v0.9  Copyright (c) 2011-2012 by † RevoGirl
             v6.6  Copyright (c) 2013 by † Jeroen
             v21.5 Copyright (c) 2013-2018 by Pike R. Alpha
-----------------------------------------------------------
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <

System information: Mac OS X 10.13.3 (17D47)
Brandstring: "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz"

Override value: (-cpus) number of processors, now using: 2!
Override value: (-l) number of logical processors, now using: 12!

Version: models.cfg v171 / Sandy Bridge.cfg v150



Scope (\_SB) {3458 bytes} with ACPI Processor declarations found in DSDT (ACPI 1.0 compliant)
Generating ssdt.dsl for a 'MacPro5,1' with board-id [Mac-F221BEC8]
Sandy Bridge Core E5-2620 processor [0x206D7] setup [0x0a01]
With a maximum TDP of 95 Watt, as specified by Intel
Number logical CPU's: 12 (Core Frequency: 2000 MHz)
Number of Turbo States: 5 (2100-2500 MHz)
Number of P-States: 14 (1200-2500 MHz)
Injected C-States for CP00 (C1,C3,C6,C7)
Warning: 'cpu-type' may be set improperly (0x0a01 instead of 0x0601)
	 - Clover users should read https://clover-wiki.zetam.org/Configuration/CPU#cpu_type
Error: board-id [Mac-F221BEC8] not supported by Sandy Bridge – check SMBIOS data / use the -target option

Do you want to continue (y/n)? y
Warning: 'system-type' may be set improperly (1 instead of 2)
	 - Clover users should read https://clover-wiki.zetam.org/Configuration/ACPI#acpi_smartups
Compiling: ssdt_pr.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov  6 2014]
Copyright (c) 2000 - 2014 Intel Corporation

ASL Input:     /Users/peterverweij/Library/ssdtPRGen/ssdt.dsl - 198 lines, 5617 bytes, 42 keywords
AML Output:    /Users/peterverweij/Library/ssdtPRGen/ssdt.aml - 1405 bytes, 15 named objects, 27 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
Do you want to open ssdt.dsl (y/n)? 

I've inserted this SSDT file. However somehow my system doesn't seem to make any difference by having a SSDT file or having none. AppleIntelInfo.kext gives the same results as can be seen below. I checked that all SSDT-generator related options in clover are disabled (except for Drop OEM) and the SSDT file seems to be loaded in the clover log file.

sudo cat /tmp/AppleIntelInfo.dat

AppleIntelInfo.kext v1.2 Copyright © 2012-2015 Pike R. Alpha. All rights reserved

Settings:
------------------------------------
logMSRs............................: 1
logIGPU............................: 0
logIntelRegs.......................: 1
logCStates.........................: 1
logIPGStyle........................: 1
InitialTSC.........................: 0xb1011d594e
MWAIT C-States.....................: 135456

Model Specific Regiters
------------------------------------
MSR_CORE_THREAD_COUNT......(0x35)  : 0x60006
MSR_PLATFORM_INFO..........(0xCE)  : 0xC0064011400
MSR_PMG_CST_CONFIG_CONTROL.(0xE2)  : 0x1E008400
MSR_PMG_IO_CAPTURE_BASE....(0xE4)  : 0x10414
IA32_MPERF.................(0xE7)  : 0x3B3E65AA11
IA32_APERF.................(0xE8)  : 0x1AE0EF2BA5
MSR_FLEX_RATIO.............(0x194) : 0x0
MSR_IA32_PERF_STATUS.......(0x198) : 0x200600001700
MSR_IA32_PERF_CONTROL......(0x199) : 0x1900
IA32_CLOCK_MODULATION......(0x19A) : 0x0
IA32_THERM_STATUS..........(0x19C) : 0x88420000
IA32_MISC_ENABLES..........(0x1A0) : 0x850089
MSR_MISC_PWR_MGMT..........(0x1AA) : 0x400001
MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x1717171718181919
IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x0
MSR_POWER_CTL..............(0x1FC) : 0x3104005B
MSR_RAPL_POWER_UNIT........(0x606) : 0xA1003
MSR_PKG_POWER_LIMIT........(0x610) : 0x68390001482F8
MSR_PKG_ENERGY_STATUS......(0x611) : 0x215A249F
MSR_PKG_POWER_INFO.........(0x614) : 0x2F04B001F802F8
MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x14149400000530
MSR_PP0_POWER_LIMIT........(0x638) : 0x0
MSR_PP0_ENERGY_STATUS......(0x639) : 0x11273FE9
MSR_PP0_POLICY.............(0x63a) : 0x0
MSR_PKGC6_IRTL.............(0x60b) : 0x0
MSR_PKGC7_IRTL.............(0x60c) : 0x0
MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x0
MSR_PKG_C3_RESIDENCY.......(0x3f8) : 0x0
MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
MSR_PKG_C7_RESIDENCY.......(0x3fa) : 0x0
IA32_TSC_DEADLINE..........(0x6E0) : 0xB1061166B5
PCH device.................: 0x1D418086

CPU Ratio Info:
------------------------------------
CPU Low Frequency Mode.............: 1200 MHz
CPU Maximum non-Turbo Frequency....: 2000 MHz
CPU Maximum Turbo Frequency........: 2500 MHz
CPU P-States [ (12) 21 ]
CPU P-States [ (12) 20 21 ]
CPU P-States [ 12 20 21 (23) ]
CPU P-States [ (12) 20 21 22 23 ]
CPU P-States [ (12) 19 20 21 22 23 ]
CPU P-States [ (12) 18 19 20 21 22 23 ]
CPU P-States [ (12) 16 18 19 20 21 22 23 ]
CPU P-States [ (12) 16 17 18 19 20 21 22 23 ]

State 25 is never reached. And again, multithreaded performance in Geek bench (v4), is with this throttling, somehow worse than it was with the maximum power state locked to 20...
anyone got a clue in what I'm doing wrong?

@PJ-Verweij
Copy link
Author

PJ-Verweij commented Mar 17, 2018

The multithreaded performance is back to normal when I set the minimum allowed p-state in the bios (Pfloor) to x17. The throttling of AppleIntelCPUPowerManagement.kext is apparently cutting down the performance!

I've run the ssdtPRGen.sh script again for 24 logical cores and fixed the uncompilable code wit MaciASL
screen shot 2018-03-17 at 18 50 59
I simply numbered the double entries according to the
ACPI CPU numbers found by clover (numbers found by clover noted below, no idea if this is correct)

16:786 0:009 Found ACPI CPU: CP00 | CP01 | CP02 | CP03 | CP04 | CP05 | CP06 | CP07 | CP08 | CP09 | CP0A | CP0B | CP0C | CP0D | CP0E | CP0F | CP10 | CP11 | CP12 | CP13 | CP14 | CP15 | CP16 | CP17 | CP18 | CP19 | CP1A | CP1B | CP1C | CP1D | CP00 | CP01 , within the score: _SB_SCK0

After this I was able to compile the file to SSDT.aml
What I noticed is that the SSDT file loads, but with the following error:
"Out of control with cpu numbers"

18:640  0:008  Inserting ssdt.aml from EFI\CLOVER\ACPI\patched: size=3461 ... Success
18:671  0:031  Out of control with CPU numbers
18:681  0:009  CPUBase=0 and ApicCPUBase=0 ApicCPUNum=12
18:691  0:010  Cleanup XSDT: count=21, length=204
18:700  0:009  corrected XSDT count=17, length=172

Is this causing my problems? (This error is also there without SSDT)
Nothing changed to the performance or available P-states by the SSDT I inserted.

ssdt.zip

@MisonL
Copy link

MisonL commented May 26, 2019

The reason for this problem is that the motherboard DSDT is not standardized.
You should first standardize the motherboard DSDT and SSDT, and then generate the SSDT of the CPUPM.
You can refer to my revised.
origin.zip
patched.zip
I use the following parameters to generate SSDT(SSDT-5.aml).

sudo ./ssdtPRGen -a PR00 -b Mac-F60DEB81FF30ACF6 -cpus 2 -d 1 -f 2600 -lfm 1200 -l 32 -m MacPro6,1 -p 'E5-2670' -target 1 -turbo 3300 -t 115 -c 3 -x 0

I got about 5 frequencies through these operations.
08EAE1281467636724ED98AD23962DE5

One problem is that the X86PlatformPlugin and X86PlatformShim are not loaded, is there a way to solve it?

Another problem is that the CPU performance is not up to expectations, I guess the motherboard is too garbage?
B9BD63F7F3C6FAF0D01FFEE198B0BCCF

@Maxrpc
Copy link

Maxrpc commented Sep 13, 2022

Tenho uma placa dessa mais estou com dificuldade pois esta dando tela preta logo apos o logo .... possui a EFI dela ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants