Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 Specification Technical Update Guy TherienTony Pierce Software Architecture ManagerACPI OnNow.

Slides:



Advertisements
Similar presentations
ACPI 2.0 Support for IA-64 Systems
Advertisements

Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Note: Third Party Brands and Trademarks are Property of Their Respective Owners. ACPI Overview.
Intel Labs Labs Copyright © 2000 Intel Corporation. Fall 2000 ACPI 2.0 Specification Technical Review Guy Therien ACPI Architecture Mgr. Mobile Architecture.
1 Peripheral Component Interconnect (PCI). 2 PCI based System.
Computer Architecture
Device Virtualization Architecture
Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.
1 Overview Assignment 4: hints Memory management Assignment 3: solution.
Chapter 2 How Hardware and Software Work Together.
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
The ATA/IDE Interface Can we write a character-mode device driver for the hard disk?
11/13/01CS-550 Presentation - Overview of Microsoft disk operating system. 1 An Overview of Microsoft Disk Operating System.
64bit Development Overview March 28 Microsoft. Objectives Learn about the current 64-bit platforms from a hardware, software and tools perspective Review.
CE6105 Linux 作業系統 Linux Operating System 許 富 皓. Chapter 2 Memory Addressing.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 2: Managing Hardware Devices.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 2: Managing Hardware Devices.
CS2422 Assembly Language & System Programming September 22, 2005.
PCIe 2.0 Base Specification Protocol And Software Overview
VMware vCenter Server Module 4.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Mahesh Wagh Intel Corporation Member, PCIe Protocol Workgroup.
WHEA System Design And Implementation
CS 423 – Operating Systems Design Lecture 22 – Power Management Klara Nahrstedt and Raoul Rivas Spring 2013 CS Spring 2013.
Computer Organization

Interrupts. What Are Interrupts? Interrupts alter a program’s flow of control  Behavior is similar to a procedure call »Some significant differences.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 2: Managing Hardware Devices.
A+ Guide to Software Managing, Maintaining and Troubleshooting THIRD EDITION Chapter 2 How an OS Works with Hardware and Other Software.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
ITEC 352 Lecture 12 ISA(3). Review Buses Memory ALU Registers Process of compiling.
Memory Management 3 Tanenbaum Ch. 3 Silberschatz Ch. 8,9.
Firmware Storage : Technical Overview Copyright © Intel Corporation Intel Corporation Software and Services Group.
Stephen Berard Program Manager Windows Platform Architecture Team.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Course Introduction Purpose  This training course provides an overview of the CPU architecture.
1 Linux Operating System 許 富 皓. 2 Memory Addressing.
Paging Example What is the data corresponding to the logical address below:
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
EFLAG Register of The The only new flag bit is the AC alignment check, used to indicate that the microprocessor has accessed a word at an odd.
Full and Para Virtualization
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Goodbye SMI - ACPI and Graphics Driver/System Firmware Interface Paul Blinzer Staff Engineer ATI Research, Inc.
Developing For The Windows Hardware Error Architecture John Strange Software Design Engineer Windows Kernel Microsoft Corporation.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Linux kernel TLV meetup, Kfir Gollan. What is hardware probing? Different approaches for detecting hardware Probing in the linux kernel.
UDI Technology Benefits Slide 1 Uniform Driver Interface UDI Technology Benefits.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
1 © 2004 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Seminar Using the Cisco Technical Support Website.
7-Nov Fall 2001: copyright ©T. Pearce, D. Hutchinson, L. Marshall Oct lecture23-24-hll-interrupts 1 High Level Language vs. Assembly.
Firmware Test Suite Colin Ian King Kernel Engineer Hardware Enablement, Canonical.
Boot Engineering Extension Record (B.E.E.R.) By Curtis E. Stevens.
BIOS and ACPI tips for Linux Colin Ian King Kernel Engineer Hardware Enablement, Canonical.
NFV Compute Acceleration APIs and Evaluation
Muen Policy & Toolchain
A Closer Look at Instruction Set Architectures
The HP OpenVMS Itanium® Calling Standard
Chapter 3: Windows7 Part 1.
Plug-and-Play.
Booting Up 15-Nov-18 boot.ppt.
Introduction to the Intel x86’s support for “virtual” memory
Outline Operating System Organization Operating System Examples
Programmable Interrupt Controller (PIC)
Assembly Language for Intel-Based Computers, 5th Edition
COMP755 Advanced Operating Systems
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 Specification Technical Update Guy TherienTony Pierce Software Architecture ManagerACPI OnNow Technical Evangelist Mobile Architecture LabMicrosoft Corporation Intel Corporation February 27 – March 1, 2001 Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs Agenda ACPI 2.0 Overview ACPI 2.0 Overview ACPI 1.0 -> ACPI 2.0 Key Information ACPI 1.0 -> ACPI 2.0 Key Information ACPI 2.0 Errata Overview ACPI 2.0 Errata Overview ACPI 2.0 Key Errata Review ACPI 2.0 Key Errata Review Microsoft OS Implementation Update Microsoft OS Implementation Update Other OS Vendors ACPI Support Update Other OS Vendors ACPI Support Update Summary Summary Call to Action Call to Action Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 Overview 64-bit processor / addressing support added 64-bit processor / addressing support added Processor / device performance states added Processor / device performance states added Functional Fixed Hardware concept defined Functional Fixed Hardware concept defined Many server related enhancements added Many server related enhancements added – hot-pluggable CPUs, memory, GPE Blocks Legacy Reduced HW IA-PC support included Legacy Reduced HW IA-PC support included SM Bus CM interfaces rewritten SM Bus CM interfaces rewritten General readability/consistency enhancements General readability/consistency enhancements ASL examples updated (corrected) ASL examples updated (corrected) Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 Key Information Requirements removed Requirements removed –Design guides will now specify required ACPI 2.0 defined interfaces / platform features No hardware changes are required for ACPI 2.0 No hardware changes are required for ACPI 2.0 Fixed hardware register locations expanded Fixed hardware register locations expanded ACPI system description table definitions contain significant changes ACPI system description table definitions contain significant changes –New XSDT –New FADT fields –New MADT structure entries New Device Notifications added for New Device Notifications added for –Processor, Thermal, and PCI Hot Plug Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 Key Info. – cont. ASL / Definition Block changes ASL / Definition Block changes –\_PR and \_TZ scopes obsoleted - Processors and thermal zones now defined under \_SB –Server Support –Processor, Memory, Module, & GPE Block Devices –_FIX, _MAT, _PXM, _HPP, _SEG objects added –Mobile Support –_EDL object added that enables multiple dock support –Processor Objects Object List –_PTC, _CST, _PCT, _PSS, _PPC, device related objects –Thermal Zones –_TZD, _TZP, and _HOT objects added –New CMOS and PCI BAR target operation regions –Many Useful ASL grammar enhancements Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 Key Info. – cont. Added _GTS and _BFS control method invocation on sleep and wake Added _GTS and _BFS control method invocation on sleep and wake Battery related updates Battery related updates –Smart Battery System Manager –Control Method Battery clarifications Update your Control Method Battery Implementations Accordingly Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 System Description Tables RSDP Structure RSDT XSDT SSDT DSDT FADT Copyright © 2001 Intel Corporation. From IDF Fall 2000 ACPI Presentation

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 System Description Tables RSDP Structure RSDT XSDT SSDT DSDT FADT Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 System Description Tables RSDP Structure RSDT XSDT SSDT DSDT FADT Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 System Description Tables ( Windows 2000 Compatibility) RSDP Structure RSDT XSDT SSDT DSDT FADT 1.0/ Two FADTs are required! Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs Programmers New Cube

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs Current Errata Document revision is 1.4 Current Errata Document revision is 1.4 Errata document includes: Errata document includes: –Correction of system description table format and field values –Correction of ASL / AML grammar errata –Necessary ASL grammar changes –32-bit vs. 64-bit integer size default AML assumption –Clarifications –Correction of spelling, grammar, and section reference errors ACPI 2.0 Errata Overview Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs FADT FADT –SCI_INT field contains global system interrupt number of the SCI interrupt on non 8259-based systems –Only non-zero values of PSTATE_CNT and CST_CNT fields are written by OSPM –PM1_CNT_LEN field is 2 (not 1) bytes –IA-PC Boot Architecture Flags –Reserved field bit offset starts at bit 2 (not bit 3) System Description Table Changes and Clarifications Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs MADT MADT –Local APIC Address Override Structure length field is 12 (not 16) bytes –I/O SAPIC Structure length field is 16 (not 20) bytes –Local SAPIC Structure is significantly changed –Reserved field added –ACPI Processor ID field length changed from 2 to 1 byte –field order re-arranged System Description Table Changes and Clarifications - continued Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs MADT – Local SAPIC Structure Table 5-26 Processor Local SAPIC Structure Field Byte Length Byte Offset Description Type107–Processor Local SAPIC structure Length1112 ACPI Processor ID12The Processor Id listed in the processor object. For a definition of the Processor object, see section , Processor (Declare Processor). Local SAPIC ID13The processors local SAPIC ID Local SAPIC EID14The processors local SAPIC EID Reserved35Reserved (must be set to zero) Flags48Local SAPIC flags. See Table 5-18 for a description of this field. Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs ASL Grammar Changes ASL Type conversion function names changed to avoid legacy name collision ASL Type conversion function names changed to avoid legacy name collision –Buff > ToBuffer –DecStr > ToDecimalString –HexStr > ToHexString –Int > ToInteger –String > ToString CMOS Region Space Keyword renamed to SystemCMOS to avoid legacy name collision CMOS Region Space Keyword renamed to SystemCMOS to avoid legacy name collision Copy function renamed to CopyObject to avoid legacy name collision Copy function renamed to CopyObject to avoid legacy name collision Generic Register Descriptor Generic Register Descriptor –Single byte Reserved field inserted at byte offset 6 to match the Generic Address Structure (GAS) Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs ASL Grammar Changes ASL Type conversion function names changed to avoid legacy name collision ASL Type conversion function names changed to avoid legacy name collision –Buff > ToBuffer –DecStr > ToDecimalString –HexStr > ToHexString –Int > ToInteger –String > ToString CMOS Region Space Keyword renamed to SystemCMOS to avoid legacy name collision CMOS Region Space Keyword renamed to SystemCMOS to avoid legacy name collision Generic Register Descriptor Generic Register Descriptor –Single byte Reserved field inserted at byte offset 6 to match the Generic Address Structure (GAS) Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs 32-bit vs. 64-bit Integer AML Assumption Existing AML may contain an inherent 32-bit assumption Existing AML may contain an inherent 32-bit assumption OSPM will therefore use the definition blocks Revision field to determine how integers are evaluated OSPM will therefore use the definition blocks Revision field to determine how integers are evaluated – field value 2 means 64-bit integer assumption ASL DefintionBlockTerms ComplianceRevision field must be set appropriately by the ASL writer ASL DefintionBlockTerms ComplianceRevision field must be set appropriately by the ASL writer Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs Clarifications Functional Fixed Hardware Functional Fixed Hardware –OEMs may specify interfaces as Functional Fixed Hardware ONLY as specified by the CPU manufacturer!!! –Requires coordination with the OS vendor Load and Unload operators do not apply to the Differentiated Definition Block Load and Unload operators do not apply to the Differentiated Definition Block New thermal zone trip point object is named _HOT (not _CS4) New thermal zone trip point object is named _HOT (not _CS4) System description tables may exist beyond 0-4GB address range System description tables may exist beyond 0-4GB address range –Supports 64-bit systems Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs Microsoft OS Implementation Update Tony Pierce ACPI / OnNow Technical Evangelist Microsoft Corporation

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs Microsoft OS Implementation Update Windows XP is not an ACPI 2.0 implementation Windows XP is not an ACPI 2.0 implementation Windows XP implements ACPI 1.0b and supports a few new features defined in ACPI 2.0 Windows XP implements ACPI 1.0b and supports a few new features defined in ACPI 2.0

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs Microsoft OS Implementation Update ACPI 2.0 features supported in Windows XP ACPI 2.0 features supported in Windows XP –Processor Performance State Objects –ACPI bit Fixed System Description Tables –_HPP (Hot Plug Parameters) object ACPI 1.0b features added to Windows XP ACPI 1.0b features added to Windows XP –Complete implementation of Video Extensions –Brightness Control objects are supported in addition to Display Output Control objects

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs Windows XP Processor Performance State Control Implementation Legacy applet interface is used on 440BX and 440MX-based systems Legacy applet interface is used on 440BX and 440MX-based systems ACPI 2.0-defined objects can be used on ICH-based systems ACPI 2.0-defined objects can be used on ICH-based systems –Place objects in the Processor Objects object list under the \_PR Scope (_PCT, _PSS, _PPC) –Provide control value in PSTATE_CNT field in FADT at byte offset 55

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs Windows XP Processor Performance Control Policy Performance state control policy is linked to Power Scheme Performance state control policy is linked to Power Scheme Control policy types include: Control policy types include: –None –Highest performance state –Constant –Lowest Performance state –Adaptive –Performance state chosen according to demand –Degrade –Lowest performance state + additional linear performance reduction as battery discharges

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs Windows XP Processor Performance Control Policy Power Scheme AC Power DC Power Home/Office Desk NoneAdaptive Portable/LaptopAdaptiveAdaptive PresentationConstantDegrade Always On NoneNone Minimal Power Management AdaptiveAdaptive Max Battery AdaptiveDegrade

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs Windows XP FADT Support Use PSTATE_CNT and CST_CNT fields as defined in ACPI 2.0 Use PSTATE_CNT and CST_CNT fields as defined in ACPI 2.0 Set FADT revision field = 2 Set FADT revision field = 2 –ACPI 1.0b + legacy reduced hardware enhancements

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs IRQ Routing Problem Discovered SIO devices that overlap with PCI link devices must have _DIS methods SIO devices that overlap with PCI link devices must have _DIS methods Example: The _PRS method for PCI device returns IRQ 6 in the resource list. As a result, the OS assigns IRQ 6 to the PCI device. If the FDC does not have an _DIS method that disconnects the interrupt, an inescapable interrupt storm will occur. Example: The _PRS method for PCI device returns IRQ 6 in the resource list. As a result, the OS assigns IRQ 6 to the PCI device. If the FDC does not have an _DIS method that disconnects the interrupt, an inescapable interrupt storm will occur. If PCI devices include resources that overlap with resource of SIO devices, the _DIS method under the SIO device must disconnect the interrupt routing!!

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs Microsoft Call To Action Test with Windows XP beta 2 Test with Windows XP beta 2 Do not provide CPU performance state control through any means other than the OS Do not provide CPU performance state control through any means other than the OS –Designed for Whistler Logo requires use of OS native processor performance state control Provide ACPI 2.0-defined Fixed Tables in Intel ® Itanium Processor-based systems Provide ACPI 2.0-defined Fixed Tables in Intel ® Itanium Processor-based systems –Designed for Whistler Logo requires ACPI 2.0- defined Fixed Tables for 64-bit systems

Copyright © 2001 Intel Corporation. Intel Developer Forum Spring 2001 Intel Labs Other OS Vendors ACPI Support Update Intel ® ACPI Component Architecture (ACPI CA) Intel ® ACPI Component Architecture (ACPI CA) –Provides an OS independent implementation of ACPI support in source code form –Widely adopted by Itanium processor architecture OS vendors –Linux and FreeBSD contain ACPI CA –Includes ACPI 2.0 compliant ASL compiler See: Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs Intel ® ACPI CA ASL Compiler Demonstration Warning: Use of ACPI 2.0 grammar elements must be supported by the target operating systems! Consult with your OSV to learn their implementation schedule Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs Other OS Vendors ACPI Support Update Linux kernel is released and contains ACPI CA-based experimental ACPI support Linux kernel is released and contains ACPI CA-based experimental ACPI support –Includes ACPI hardware subsystem initialization, Control Method Battery, and power source device support –Device power management architecture is under development See: Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs Call To Action Download the ACPI 2.0 specification and its errata Download the ACPI 2.0 specification and its errata – Include ACPI 2.0 support in your emerging platforms Include ACPI 2.0 support in your emerging platforms –Ask your BIOS vendor for ACPI 2.0 support –Request / implement devices performance state support Download and use the Intel ® ASL compiler Download and use the Intel ® ASL compiler – Copyright © 2001 Intel Corporation.

Intel Developer Forum Spring 2001 Intel Labs ACPI 2.0 Specification Technical Update Guy Therien Intel Corporation Please remember to turn in your session survey form. Tony Pierce Microsoft Corporation February 27 – March 1, 2001