Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se aclara cierta confusión que los proveedores han experimentado sobre cómo el hardware que cumple con PCI Power Management (PCI-PM) interactúa con los controladores de dispositivo en el sistema operativo y sobre cómo PCI-PM se integra con ACPI. Para obtener más información, consulte: https://www.uefi.org/specifications
Controladores de dispositivos y administración de energía PCI
En esta explicación se da por supuesto que está familiarizado con la forma en que los controladores de Windows Driver Model (WDM) controlan los eventos de administración de energía, como se describe en el DDK de Windows actual. En general, las responsabilidades de los controladores de dispositivos son las siguientes:
Controladores de autobús: los controladores de autobús son responsables de enumerar, configurar y controlar dispositivos. Para PCI-PM, el controlador PCI es responsable de leer los registros PCI-PM para determinar las funcionalidades del hardware. Cuando los IRP de POWER solicitan cambios en el estado de energía, el controlador PCI escribe en los registros de administración de energía PCI para establecer el hardware en diferentes estados Dx.
Cuando un dispositivo está habilitado para reactivación, el controlador PCI escribe en los registros PCI-PM para activar PME en el dispositivo (ACPI también tomará una acción, consulte la sección siguiente). Por último, cuando ACPI determina que el bus PCI está despertando el sistema, el driver PCI examina el espacio de configuración PCI buscando qué dispositivo está activando PME, deshabilita PME en ese dispositivo y notifica al driver de ese dispositivo.
Controlador de dispositivo: el controlador específico del dispositivo es responsable de guardar y restaurar el contexto del dispositivo, y de solicitar cambios del estado de energía como el dueño de la directiva para el dispositivo. Cuando el controlador de dispositivo recibe un POWER IRP que solicita un cambio a un estado de energía más bajo del dispositivo, el controlador es responsable de guardar cualquier contexto propietario necesario para encender el dispositivo más adelante. En algunos casos, puede que no haya nada que guardar.
PCI-PM registros son estrictamente el dominio del controlador PCI: el controlador de dispositivo de IHV no necesita acceder a ninguno de estos registros. Si lo hace, el sistema no funcionará de forma confiable. La responsabilidad del controlador del dispositivo es realizar solo acciones propietarias.
Integración de ACPI y PCI PM
Algunos dispositivos, especialmente los dispositivos de vídeo de placa base en portátiles, pueden requerir la administración de energía PCI, así como el ensamblador de lenguaje de origen ACPI (ASL) para administrar completamente el dispositivo. Los registros de PCI Power Management controlarían el estado interno de un dispositivo, como los relojes internos y los planos de alimentación. ASL controlaría el estado externo, como relojes externos y planos de alimentación, o en el caso de controladores de vídeo, ASL controlaría las luces traseras de vídeo. Tenga en cuenta que ASL y PCI-PM solo se pueden combinar en dispositivos de placa base.
La arquitectura de OnNow es una arquitectura en capas, que controla la integración del controlador de dispositivo, el controlador PCI y el controlador ACPI (y ASL) naturalmente. En los siguientes escenarios se muestra el orden en el que se llama a los controladores para gestionar estos dispositivos.
Para que los escenarios anteriores funcionen como se describe, un controlador WDM debe reenviar los IRP de POWER correctamente, tal como se describe en la versión actual de Microsoft WDK.
Escenario 1: Desactivar un dispositivo
Controlador de dispositivo: guarda el estado del dispositivo propietario.
Controlador PCI: guarda la configuración de Plug and Play, deshabilita el dispositivo (interrupciones y BAR) y coloca el dispositivo en D3 mediante registros PCI-PM.
Controlador ACPI: ejecuta código ASL (_PS3 y _OFF) para los recursos de energía que ya no están en uso, con el fin de controlar el estado externo al chip.
Escenario 2: Administración de energía PCI y controladores de dispositivos
Controlador ACPI: ejecuta código ASL (_PS0 y _ON para los recursos de energía necesarios de OnNow) para controlar el estado externo al chip.
Controlador PCI: coloca el dispositivo en D0 mediante PCI-PM registra y restaura la configuración de Plug and Play (interrupciones y BAR, que podrían ser diferentes de lo que el dispositivo estaba activado anteriormente).
Controlador de dispositivo: restaura el contexto propietario en el dispositivo.
Escenario 3: Habilitación de reactivación
Controlador de dispositivo: establece registros propietarios en el chip para habilitar la reactivación. Por ejemplo, en la activación de la red por coincidencia de patrones, es entonces cuando los patrones se programarían en el adaptador.
Controlador PCI: establece los bits de habilitación de reactivación en los registros pm de PCI para permitir que el dispositivo aserte PME.
Controlador ACPI: habilita el GPE en el conjunto de chips asociado a PME (como se describe en el objeto _PRW enumerado bajo el bus PCI raíz).
Escenario 4: Reactivación
Controlador ACPI: Reactiva y examina los bits de estado de GPE para eventos de reactivación, inhabilitando los GPE que tienen establecidos sus respectivos bits de estado, y ejecutando cualquier método _Lxx o _Exx asociados con los bits GPE configurados. En respuesta a una notificación de reactivación en el bus PCI, el controlador ACPI completará la IRP WAIT_WAKE del controlador PCI para notificar a este último que está despertando el sistema.
Controlador PCI: examina el espacio de configuración que busca cualquier dispositivo con un bit de estado PME establecido. Para cada dispositivo, deshabilita PME y completa la IRP WAIT_WAKE para ese dispositivo con el fin de informar al controlador de que está iniciando la reactivación. El controlador PCI detiene el escaneo de dispositivos de reactivación cuando ha recorrido completamente todos los dispositivos PCI sin encontrar ninguno que esté activando PME y cuando las señales de PME dejan de estar presentes.
Controlador de dispositivo: solicita que el dispositivo se coloque en D0 (consulte el escenario 2) y establece los registros propietarios en el chip necesario para controlar el evento de reactivación.
Llamada a la acción en la administración de energía PCI y controladores de dispositivos
Integre las funcionalidades ACPI y PCI-PM en los dispositivos, tal como se describe en este artículo.
La especificación PCI Power Management está disponible en el sitio web de PCI-SIG.
Especificación ACPI disponible en https://www.uefi.org/specifications. Este vínculo deja el sitio Microsoft.com.
El compilador de arquitectura de componentes ACPI (ACPICA) se puede encontrar en https://acpica.org/downloads/binary-tools.