------------------------------------------------- Date: Thu Oct 20 17:37:31 2011 * * * Firmwarekit (release 3) * * http://www.linuxfirmwarekit.org * * * * * * For more information on test descriptions * * and details on what the PASS/INFO/WARN/FAIL * * results mean, go to: Documentation/TestsInfo. * * * ------------------------------------------------- KERNEL VERSION: Linux testmachine 2.6.22.9 #1 SMP Mon Oct 1 15:17:15 PDT 2007 i686 i686 i386 GNU/Linux SUMMARY: 5 Fails, 3 Warns, 12 Pass, 20 Total ================================================= * Plugin name: acpicompile * Result: FAIL * Title: DSDT AML verification * Description: This test first disassembles the DSDT of the BIOS, and then uses the IASL compiler from Intel to recompile the code. The IASL copiler is much stricter in detecting deviations from the ACPI specification and can find numerous defects that other AML compilers cannot find. Fixing these defects increases the probability that the BIOS will operate well with a variety of operating systems. ================================================ [WARN]-Unknown reserved name (_S5D) Unknown reserved name (_S5D) At line #458 of DSDT.dsl: | Method (_S4D, 0, NotSerialized) | { | Return (0x03) | } | >>> Method (_S5D, 0, NotSerialized) | { | Return (0x03) | } | } [WARN]-Unknown reserved name (_S5D) Unknown reserved name (_S5D) At line #485 of DSDT.dsl: | Method (_S4D, 0, NotSerialized) | { | Return (0x03) | } | >>> Method (_S5D, 0, NotSerialized) | { | Return (0x03) | } | } [WARN]-Unknown reserved name (_S5D) Unknown reserved name (_S5D) At line #528 of DSDT.dsl: | Method (_S4D, 0, NotSerialized) | { | Return (0x03) | } | >>> Method (_S5D, 0, NotSerialized) | { | Return (0x03) | } | } [WARN]-Unknown reserved name (_S5D) Unknown reserved name (_S5D) At line #547 of DSDT.dsl: | Method (_S4D, 0, NotSerialized) | { | Return (0x03) | } | >>> Method (_S5D, 0, NotSerialized) | { | Return (0x03) | } | } [WARN]-Unknown reserved name (_S5D) Unknown reserved name (_S5D) At line #566 of DSDT.dsl: | Method (_S4D, 0, NotSerialized) | { | Return (0x03) | } | >>> Method (_S5D, 0, NotSerialized) | { | Return (0x03) | } | } [WARN]-Unknown reserved name (_S5D) Unknown reserved name (_S5D) At line #585 of DSDT.dsl: | Method (_S4D, 0, NotSerialized) | { | Return (0x03) | } | >>> Method (_S5D, 0, NotSerialized) | { | Return (0x03) | } | } [PASS]-Tested table DSDT.dsl [PASS]-Tested table SSDT1.dsl [FAIL]-syntax error, unexpected PARSEOP_STORE, expecting ')' syntax error, unexpected PARSEOP_STORE, expecting ')' At line #79 of SSDT2.dsl: | { | CreateDWordField (CRES, 0x0A, T1MG) | CreateDWordField (CRES, 0x0E, PMAX) | CreateDWordField (CRES, 0x16, PCIR) | Add (MLEN (0x00200000, T1MG, Subtract (NPCI, One, PMAX)), Subtract (NPCI, >>> T1MG, PCIR), Store (0x6C, Local0)) | Store (0x00, Local1) | Store (\GDBF (DCHM, Local1), Local2) | While (LAnd (Local2, LLess (Local1, 0x20))) | { [FAIL]-Method local variable is not initialized (Local0) Method local variable is not initialized (Local0) At line #84 of SSDT2.dsl: | T1MG, PCIR), Store (0x6C, Local0)) | Store (0x00, Local1) | Store (\GDBF (DCHM, Local1), Local2) | While (LAnd (Local2, LLess (Local1, 0x20))) | { >>> \SDBF (CRES, Local0, 0x1787) | Add (Local0, 0x0A, Local0) | \SDBF (CRES, Local0, Local2) | Add (Local0, 0x04, Local0) | Add (Local1, 0x04, Local1) [FAIL]-Method local variable is not initialized (Local0) Method local variable is not initialized (Local0) At line #85 of SSDT2.dsl: | Store (0x00, Local1) | Store (\GDBF (DCHM, Local1), Local2) | While (LAnd (Local2, LLess (Local1, 0x20))) | { | \SDBF (CRES, Local0, 0x1787) >>> Add (Local0, 0x0A, Local0) | \SDBF (CRES, Local0, Local2) | Add (Local0, 0x04, Local0) | Add (Local1, 0x04, Local1) | Store (\GDBF (DCHM, Local1), Local3) [FAIL]-syntax error, unexpected PARSEOP_CREATEDWORDFIELD, expecting ',' or ')' syntax error, unexpected PARSEOP_CREATEDWORDFIELD, expecting ',' or ')' At line #266 of SSDT2.dsl: | /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x79, 0x00 | }) | Method (_CRS, 0, NotSerialized) | { | CreateDWordField (CRES, 0x14, RAMT) >>> Store (MLEN (RAMT, CreateDWordField (CRES, 0x1C, RMT2), Add (MLEN (0x00100000, | RMT2, CreateDWordField (CRES, 0x28, CE0S)), Store (E00S, CE0S), CreateDWordField (CRES, 0x2C, | CE0L))), Store (0x00100000, Local0)) | Subtract (Local0, E00S, CE0L) | CreateDWordField (CRES, 0x34, S4GS) [FAIL]-syntax error, unexpected PARSEOP_CREATEDWORDFIELD, expecting ',' or ')' syntax error, unexpected PARSEOP_CREATEDWORDFIELD, expecting ',' or ')' At line #267 of SSDT2.dsl: | }) | Method (_CRS, 0, NotSerialized) | { | CreateDWordField (CRES, 0x14, RAMT) | Store (MLEN (RAMT, CreateDWordField (CRES, 0x1C, RMT2), Add (MLEN (0x00100000, >>> RMT2, CreateDWordField (CRES, 0x28, CE0S)), Store (E00S, CE0S), CreateDWordField (CRES, 0x2C, | CE0L))), Store (0x00100000, Local0)) | Subtract (Local0, E00S, CE0L) | CreateDWordField (CRES, 0x34, S4GS) | Store (SR4G, S4GS) [FAIL]-syntax error, unexpected ',' syntax error, unexpected ',' At line #267 of SSDT2.dsl: | }) | Method (_CRS, 0, NotSerialized) | { | CreateDWordField (CRES, 0x14, RAMT) | Store (MLEN (RAMT, CreateDWordField (CRES, 0x1C, RMT2), Add (MLEN (0x00100000, >>> RMT2, CreateDWordField (CRES, 0x28, CE0S)), Store (E00S, CE0S), CreateDWordField (CRES, 0x2C, | CE0L))), Store (0x00100000, Local0)) | Subtract (Local0, E00S, CE0L) | CreateDWordField (CRES, 0x34, S4GS) | Store (SR4G, S4GS) [FAIL]-syntax error, unexpected ')' syntax error, unexpected ')' At line #268 of SSDT2.dsl: | Method (_CRS, 0, NotSerialized) | { | CreateDWordField (CRES, 0x14, RAMT) | Store (MLEN (RAMT, CreateDWordField (CRES, 0x1C, RMT2), Add (MLEN (0x00100000, | RMT2, CreateDWordField (CRES, 0x28, CE0S)), Store (E00S, CE0S), CreateDWordField (CRES, 0x2C, >>> CE0L))), Store (0x00100000, Local0)) | Subtract (Local0, E00S, CE0L) | CreateDWordField (CRES, 0x34, S4GS) | Store (SR4G, S4GS) | CreateDWordField (CRES, 0x38, S4GL) [FAIL]-syntax error, unexpected ')' syntax error, unexpected ')' At line #268 of SSDT2.dsl: | Method (_CRS, 0, NotSerialized) | { | CreateDWordField (CRES, 0x14, RAMT) | Store (MLEN (RAMT, CreateDWordField (CRES, 0x1C, RMT2), Add (MLEN (0x00100000, | RMT2, CreateDWordField (CRES, 0x28, CE0S)), Store (E00S, CE0S), CreateDWordField (CRES, 0x2C, >>> CE0L))), Store (0x00100000, Local0)) | Subtract (Local0, E00S, CE0L) | CreateDWordField (CRES, 0x34, S4GS) | Store (SR4G, S4GS) | CreateDWordField (CRES, 0x38, S4GL) [FAIL]-syntax error, unexpected PARSEOP_FIELD syntax error, unexpected PARSEOP_FIELD At line #276 of SSDT2.dsl: | Store (SR4G, S4GS) | CreateDWordField (CRES, 0x38, S4GL) | Store (0xFFFFFFFF, Local0) | Subtract (Local0, SR4G, Local0) | Add (Local0, One, S4GL) >>> OperationRegion (ODMT, SystemMemory, ODDM (0x38), Field (ODMT, DWordAcc, NoLock, Preserve) | { | OMTF, 448 | }) | Store (0x3C, Local0) [PASS]-Tested table SSDT2.dsl [PASS]-Tested table SSDT3.dsl [PASS]-Tested table SSDT4.dsl [PASS]-Tested table SSDT5.dsl [PASS]-Tested table SSDT6.dsl [PASS]-Tested table SSDT7.dsl [PASS]-Tested table SSDT8.dsl [PASS]-Tested table SSDT9.dsl [INFO]-The IASL compiler from Intel would save 179 bytes of space. The existing code takes 2931 bytes The IASL compiler from Intel uses 2752 bytes This is a saving of 179 bytes. ================================================= * Plugin name: edd * Result: FAIL * Title: EDD Boot disk hinting * Description: This test verifies if the BIOS directs the operating system on which storage device to use for booting (EDD information). This is important for systems that (can) have multiple disks. Linux distributions increasingly depend on this info to find out on which device to install the bootloader. ================================================ [FAIL]-Boot device 0x80 does not support EDD ================================================= * Plugin name: chk_hpet * Result: FAIL * Title: HPET configuration test * Description: This test checks the HPET PCI BAR for each timer block in the timer.The base address is passed by the firmware via an ACPI table.IRQ routing and initialization is also verified by the test. ================================================ [WARN]-HPET driver in the kernel is enabled, inaccurate results follow. [FAIL]-Failed to locate HPET base The firmware AML code doesn't advertize the HPET base. HPET might be disabled in the bios settings, or not supported by the platform. ================================================= * Plugin name: ethernet * Result: FAIL * Title: Ethernet functionality * Description: This test is currently a placeholder for a more advanced ethernet test. Currently the only check performed is that a link is acquired within 45 seconds of enabling the interface. 45 seconds is close to the value most Linux distributions use as timeout value. In the future the plan is to also perform actual data transfer tests as part of the ethernet test, to validate interrupt routing and other per-NIC behaviors. ================================================ [FAIL]-Failed to acquire link within 45 seconds ================================================= * Plugin name: microcode * Result: FAIL * Title: Processor microcode update * Description: This test verifies if the firmware has put a recent version of the microcode into the processor at boot time. Recent microcode is important to have all the required features and errata updates for the processor. ================================================ [FAIL]-Cpu cpu0 has outdated microcode (version b while version 1e is available) ================================================= * Plugin name: thermal_trip * Result: WARN * Title: ACPI passive thermal trip points * Description: This test determines if the passive trip point works as expected. ================================================ [WARN]-No thermal zones found. ================================================= * Plugin name: fan * Result: WARN * Title: Fan tests * Description: This test reports how many fans there are in the system. It also checks for the current status of the fan(s). ================================================ [WARN]-No fan information present ================================================= * Plugin name: cpufreq * Result: WARN * Title: CPU frequency scaling tests (1-2 mins) * Description: For each processor in the system, this test steps through the various frequency states (P-states) that the BIOS advertises for the processor. For each processor/frequency combination, a quick performance value is measured. The test then validates that: 1) Each processor has the same number of frequency states 2) Higher advertised frequencies have a higher performance 3) No duplicate frequency values are reported by the BIOS 4) Is BIOS wrongly doing Sw_All P-state coordination across cores 5) Is BIOS wrongly doing Sw_Any P-state coordination across cores ================================================ [WARN]-Frequency scaling not supported ================================================= * Plugin name: battery * Result: INFO * Title: Battery tests * Description: This test reports which (if any) batteries there are in the system. In addition, for charging or discharging batteries, the test validates that the reported 'current capacity' properly increments/decrements in line with the charge/discharge state. This test also stresses the entire battery state reporting codepath in the ACPI BIOS, and any warnings given by the ACPI interpreter will be reported. ================================================ [INFO]-No battery information present ================================================= * Plugin name: acpiinfo * Result: INFO * Title: General ACPI information * Description: This test checks the output of the in-kernel ACPI CA against common error messages that indicate a bad interaction with the bios, including those that point at AML syntax errors. ================================================ [INFO]-DSDT was compiled by the Microsoft AML compiler ACPI: DSDT 000E68D4, 0B73 (r1 COMPAQ DSDT 1 MSFT 100000E) ================================================= * Plugin name: virt * Result: INFO * Title: VT/VMX Virtualization extensions * Description: This test checks if VT/VMX is set up correctly ================================================ [INFO]-Processor does not support Virtualization extensions ================================================= * Plugin name: DMAR * Result: INFO * Title: (experimental) DMA Remapping (VT-d) test * Description: Verify if DMA remapping is sane. ================================================ [INFO]-No DMAR ACPI table found. ================================================= * Plugin name: mtrr * Result: PASS * Title: MTRR validation * Description: This test validates the MTRR setup against the memory map to detect any inconsistencies in cachability. ================================================ ================================================= * Plugin name: pciresource * Result: PASS * Title: Validate assigned PCI resources * Description: This test is currently a placeholder and just checks the kernel log for complaints about PCI resource errors. In the future the idea is to actually perform a validation step on all PCI resources against a certain rule-set. ================================================ ================================================= * Plugin name: maxreadreq * Result: PASS * Title: PCI Express MaxReadReq tuning * Description: This test checks if the firmware has set MaxReadReq to a higher value on non-montherboard devices ================================================ ================================================= * Plugin name: SUN * Result: PASS * Title: SUN duplicate test * Description: This makes sure that each SUN (Slot Unique Number) that is called in the DSDT through the Name() method is unique, no duplicates should be found. ================================================ [PASS]-Tested _SUN ids, successfully found no duplicates ================================================= * Plugin name: ebda * Result: PASS * Title: EBDA region * Description: This test validates if the EBDA region is mapped and reserved in the E820 table. ================================================ [PASS]-EBDA region is correctly reserved in the E820 table. ================================================= * Plugin name: os2gap * Result: PASS * Title: OS/2 memory hole test * Description: This test checks if the OS/2 15Mb memory hole is absent ================================================ [PASS]-Successfully found no 15mb memory hole ================================================= * Plugin name: dmi * Result: PASS * Title: DMI information check * Description: This test checks the DMI/SMBIOS tables for common errors. ================================================ [PASS]-Successfully found no errors in SMBIOS/DMI ================================================= * Plugin name: apicedge * Result: PASS * Title: (experimental) APIC Edge/Level check * Description: This test checks if legacy interrupts are edge and PCI interrupts are level ================================================