Acpi Genuineintel---intel64-family-6-model-58 __top__ -
Examination: ACPI "GenuineIntel — Intel64 Family 6 Model 58" (Exhaustive)
Duration: 2 hours
Total marks: 100
Scope and purpose
- Assess candidate mastery of ACPI and CPU identification specifics for Intel 64-bit CPUs whose CPUID reports Family 6, Model 58 (commonly Haswell/Haswell-based mobile/desktop variants), including ACPI tables, device enumeration, power management, thermal management, APIC/interrupt topology, platform firmware interactions, BIOS/UEFI considerations, and OS-level handling.
- Questions test theory, practical troubleshooting, data interpretation, ACPI AML/DSDT coding, and lab tasks (where applicable).
Structure
- Section A: Core concepts and identification (20 marks) — short answer
- Section B: ACPI tables and structure (20 marks) — medium answer / interpretation
- Section C: Power management & C-states/P-states (20 marks) — calculations + design
- Section D: Thermal and frequency management, telemetry (15 marks) — scenario + configuration
- Section E: Firmware/OS integration and debugging (15 marks) — practical/debugging
- Section F: AML / patching exercise (10 marks) — code-writing
Grading rubric: each question has precise expectations; partial credit for correct reasoning and relevant commands, tools, values.
Reference assumptions (allowed during exam)
- Candidates may assume access to common tooling: cpuid, lscpu, dmidecode, iasl, acpidump, dmesg, journalctl, Linux sysfs at /sys/devices/system/cpu, msr tools, i7z, turbostat, powertop.
- Use current ACPI spec excerpts where required (cite section numbers if needed).
- When exact microarchitecture details are required, assume Model 58 belongs to Intel Family 6 Haswell microarchitecture unless candidate justifies alternative mapping.
--- SECTION A — Core concepts and identification (20 marks) acpi genuineintel---intel64-family-6-model-58
- (5 marks) Explain what the CPUID string "GenuineIntel — Intel64 Family 6 Model 58" conveys: vendor, instruction set width, family/model meaning, typical microarchitecture mapping. (Expect: vendor=Intel, 64-bit ISA, family/model fields decode to Family 6 Model 58 → Haswell generation; explanation of extended family/model fields; why model numbers matter for features like TSX, RDT, etc.)
- (5 marks) List and briefly describe three CPUID features that are commonly present or relevant for Family 6 Model 58 CPUs (e.g., SSE4.1/4.2, AVX, AES-NI, TSX — indicate which are present or absent in Haswell Model 58). (Expect correct presence/absence per Haswell.)
- (5 marks) Give the ACPI Device/Processor object naming conventions often used to represent CPU packages and logical processors. Explain how ACPI differentiates packages, cores, and logical processors. (Expect discussion of PR.Processor, Processor objects, _HID if present, namespace node naming like CPU0/CPU1 or CPU0PR, and use of _PPC, _STA, _PSx methods.)
- (5 marks) Explain the role of MP Table vs ACPI MADT in describing interrupt topology on modern Intel systems; why ACPI is preferred today.
--- SECTION B — ACPI tables and structure (20 marks)
- (6 marks) Given an acpidump output, identify where information relevant to Family 6 Model 58 CPU features will appear (which tables and which fields): DSDT/SSDT, FADT, MADT, SRAT, SLIT, IORT, PCCT, ERST, etc. For each listed table, describe what CPU-related information it may contain. (Expect mapping: DSDT/SSDT: processor objects, P-/C-states; MSCT: max cores/threads; MADT: APICs; SRAT: affinity/hotplug; TPM/IORT/PCCT for specific offload)
- (6 marks) Interpret the following hypothetical ACPI Processor object snippet (provided in exam) and state: processor ID mapping to APIC ID, _CST structure contents, P-state method naming, and hotplug capability. (Expect candidate to decode AML-like snippet and map fields.)
- (8 marks) Describe how SSDTs can be used to present per-core P-state tables on Haswell Model 58, and outline a minimal SSDT AML example fragment that exposes two P-states (one at 2.6 GHz, one at 1.2 GHz). Explain how OS uses _PSS or _PSD to select P-states. (Expect mention of _PSS package fields: core frequency (MHz), power (mW), latency (us), control, status; or use of _PCT, and how OS writes to MSRs or ACPI control registers.)
--- SECTION C — Power management & C-states/P-states (20 marks)
- (8 marks) Explain difference between ACPI C-states and P-states and how they interact on Haswell CPUs; detail typical C0–C3 and deeper S0ix/PC8 considerations in mobile Haswell. Provide expected latency and energy tradeoffs for each. (Expect approximate latencies and when OS should use each.)
- (6 marks) Given MSR and CPUID outputs (provided), calculate expected core frequency when in P-state with multiplier X and base bus clock 100 MHz; compute occupancy, power reduction percentage if frequency scales down from 3.0 GHz to 1.5 GHz assuming dynamic power ~ f^3 (show math). (Expect formula f^3, example numbers.)
- (6 marks) Design an OS-level governor policy (step-by-step algorithm) that prioritizes thermal headroom while minimizing latency for interactive workloads on this CPU model. Specify thresholds, sampling intervals, and when to prefer turbo vs sustained P-states.
--- SECTION D — Thermal and frequency management, telemetry (15 marks)
- (6 marks) Describe the CPU thermal sensors available on Haswell (digital temperature sensor, package vs core readings) and how ACPI/OS access them (e.g., via PECI, MSRs, platform drivers). Explain typical reporting ranges and offsets.
- (5 marks) Given a turbostat log excerpt showing package power, core temperature, and IA frequency over a 60-second interval (provided in exam), identify: a) moments of thermal throttling, b) when Turbo boost was engaged, c) which cores show highest activity. (Expect reading values and pointing to entries.)
- (4 marks) Recommend actions (firmware and OS) to mitigate sustained package power above TDP on a Haswell Model 58 laptop without reducing peak single-thread performance.
--- SECTION E — Firmware/OS integration and debugging (15 marks)
- (5 marks) A machine with Family 6 Model 58 reports incorrect core counts to the OS. List a prioritized troubleshooting checklist (commands to run, ACPI checks, BIOS settings, kernel parameters) and expected outputs for confirmation.
- (5 marks) Explain how to use acpidump + iasl to patch a buggy DSDT that misreports _CST or _PSS for this CPU. Provide commands and a safe workflow to test and revert patches.
- (5 marks) Describe how to interpret kernel boot messages related to CPU topology, ACPI processor registration, and microcode updates for this model; include example dmesg lines and their meaning (e.g., "smp: Bringing up secondary CPUs", "microcode: CPU0 has new patch").
--- SECTION F — AML / patching exercise (10 marks)
Task: Provide a minimal signed-off SSDT-style AML (IASL source) fragment (not compiled AML binary) that defines a Processor object for CPU0 with: Examination: ACPI "GenuineIntel — Intel64 Family 6 Model
- ACPI Processor ID = 0
- APIC ID = 0
- Exposes two P-states via _PSS: 2600 MHz (power estimate 15000 mW, latency 10 us, control 0x2A00, status 0x2A00) and 1200 MHz (power 3000 mW, latency 10 us, control 0x1200, status 0x1200)
- Exposes _CST package with C0 and C1 (no deeper states)
Expectations: correct IASL syntax, use of Processor declaration, _PSS and _CST packages, and comments. (10 marks)
Sample answer (concise, but must compile with iasl). Partial credit for syntactically consistent fragments.
Useful details, tools & sample commands (appendix for graders/candidates)
- cpuid, lscpu, cat /proc/cpuinfo
- acpidump > acpi.dat; iasl -d dsdt.dat; iasl -e ssdt.dat
- iasl -tc ssdt.dsl to compile
- turbostat -u, i7z, msr-tools (rdmsr/wrmsr), rdmsr --all
- cat /sys/devices/system/cpu/cpu*/topology/core_id,physical_package_id,thread_siblings_list
- cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
- dmesg | egrep -i "microcode|acpi|processor|apic|hotplug"
- powertop --html report
- For firmware debugging: check BIOS/UEFI settings for "Logical Processor" or "Hyper-Threading", microcode version in /sys/devices/system/cpu/cpu*/microcode/version
Marking notes for graders
- Full credit for correct explanations, accurate numbers for Haswell where requested, syntactically correct SSDT fragment that compiles with iasl (10 marks) and demonstrates proper _PSS/_CST formatting.
- Partial credit for reasonable assumptions when real hardware-specific features vary; deduct if candidate lists features incorrectly for Model 58.
End of examination.
It looks like you’ve provided a string that resembles a processor signature or ACPI identifier, likely extracted from a Linux system log (dmesg, lscpu, or /proc/cpuinfo), or from an ACPI/DSDT table.
Let me break it down for you:
Linux Kernel (intel_idle driver)
- The kernel has a known C-state table for model 58:
- States: C1 (MWAIT 0x00), C1E (0x01), C6 (0x20).
- Linux uses
acpi_cstate if _CST is missing, but prefers ACPI _CST.
- Bug: Early Ivy Bridge stepping (E1/L1) had C6 state corruption issue fixed via microcode.
Conclusion
The string acpi genuineintel---intel64-family-6-model-58 is an unusual but decipherable artifact that points to an Intel Ivy Bridge CPU (Family 6, Model 58) being handled by the ACPI subsystem in a Linux environment, possibly with a formatting quirk. It reminds us of the deep integration between CPU microarchitecture, ACPI firmware tables, and the OS kernel.
Understanding each segment—ACPI, vendor string, 64-bit capability, and family-model-stepping—is a valuable exercise for any systems engineer working on x86 power management, hypervisors, or kernel debugging. While the dashes are anomalous, the underlying hardware is solid, well-documented, and widely deployed.
If you ever encounter this string in your logs, take a moment to appreciate the decades of standards (ACPI, CPUID, x86-64) that silently work together—most of the time, perfectly. Assess candidate mastery of ACPI and CPU identification
Further reading:
- Intel® 64 and IA-32 Architectures Software Developer’s Manual (Volume 3A: System Programming Guide)
- Linux kernel source:
arch/x86/kernel/acpi/boot.c, drivers/acpi/processor_core.c
- ACPI Specification 6.5 (Chapter 8: Processor Configuration and Control)
E. ACPI DSDT / SSDT Reference
Processor (CPU0, 0x01, 0x00000000, 0x06)
Name (_HID, "ACPI0007")
Name (_UID, 0)
Name (_CST) … // C-state latencies tuned for Family 6 Model 58