Notifiche di risparmio energia processore (PPM)

Ogni notifica di gestione energetica del processore (PPM) che la routine di callback AcceptProcessorNotification del PEP riceve è accompagnata da un parametro Notification che indica il tipo di notifica e da un parametro Data che punta a una struttura di dati contenente le informazioni per il tipo di notifica specificato.

In questa chiamata, il parametro Notification è impostato su un valore costante PEP_NOTIFY_PPM_XXX che indica il tipo di notifica. Il parametro Data punta a un tipo di struttura PEP_PPM_XXX associato a questo tipo di notifica.

Gli ID di notifica per la gestione dell'alimentazione del processore (PPM) seguenti vengono usati dalla routine di callback AcceptProcessorNotification.

PEP_NOTIFY_PPM_QUERY_CAPABILITIES

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_CAPABILITIES.

Data

Un puntatore a una struttura PEP_PPM_QUERY_CAPABILITIES.

Osservazioni:

Informa il PEP che viene effettuata una query per le funzionalità di gestione dell'alimentazione del PEP.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica quando viene eseguita una query su PEP per le relative funzionalità di risparmio energia. Ciò si verifica in fase di inizializzazione del processore e verrà inviato per ogni processore nel sistema.

Le piattaforme con processori x86/AMD64 devono usare interfacce ACPI per il controllo delle prestazioni del processore.

Per inviare una notifica PEP_NOTIFY_PPM_QUERY_CAPABILITIES, PoFx chiama la routine di callback AcceptProcessorNotification del PEP. In questa chiamata il valore del parametro Notification è PEP_NOTIFY_PPM_QUERY_CAPABILITIES e il parametro Data punta a una struttura PEP_PPM_QUERY_CAPABILITIES.

Per una notifica PEP_NOTIFY_PPM_QUERY_CAPABILITIES, la routine AcceptProcessorNotification viene sempre chiamata con IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_IDLE_STATES.

Data

Puntatore a una struttura PEP_PPM_QUERY_IDLE_STATES.

Osservazioni:

Informa il PEP sugli stati di inattività.

Per inviare una notifica di PEP_NOTIFY_PPM_QUERY_IDLE_STATES, PoFx chiama la routine di callback AcceptProcessorNotification di PEP. In questa chiamata il valore del parametro Notification è PEP_NOTIFY_PPM_QUERY_IDLE_STATES e il parametro Data punta a una struttura PEP_PPM_QUERY_IDLE_STATES.

Per una notifica di PEP_NOTIFY_PPM_QUERY_IDLE_STATES, la routine AcceptProcessorNotification viene sempre chiamata al livello IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_SELECT

Notifica

Il valore PEP_NOTIFY_PPM_IDLE_SELECT.

Data

Puntatore a una struttura PEP_PPM_IDLE_SELECT.

Osservazioni:

Informa il PEP sul processo di selezione inattivo.

Per inviare una notifica di PEP_NOTIFY_PPM_IDLE_SELECT, PoFx chiama la routine di callback AcceptProcessorNotification di PEP. In questa chiamata il valore del parametro Notification è PEP_NOTIFY_PPM_IDLE_SELECT e il parametro Data punta a una struttura PEP_PPM_IDLE_SELECT.

Per una notifica di PEP_NOTIFY_PPM_IDLE_SELECT, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_CANCEL

Notifica

Il valore PEP_NOTIFY_PPM_IDLE_CANCEL.

Data

Puntatore a una struttura PEP_PPM_IDLE_CANCEL.

Osservazioni:

Informa il PEP di un'azione di cancellazione.

Per inviare una notifica di PEP_NOTIFY_PPM_IDLE_CANCEL, PoFx chiama la routine di callback AcceptProcessorNotification di PEP. In questa chiamata il valore del parametro Notification è PEP_NOTIFY_PPM_IDLE_CANCEL e il parametro Data punta a una struttura PEP_PPM_IDLE_CANCEL.

Per una notifica di PEP_NOTIFY_PPM_IDLE_CANCEL, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_EXECUTE

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_IDLE_EXECUTE.

Data

Puntatore a una struttura PEP_PPM_IDLE_EXECUTE o PEP_PPM_IDLE_EXECUTE_V2.

Osservazioni:

Inviato al PEP per eseguire la transizione dell'attuale processore allo stato di inattività specificato.

Il framework di gestione dell'energia Windows (PoFx) invia questa notifica al PEP per effettuare la transizione del processore corrente allo stato di inattività specificato.

Il PEP può preparare l'hardware per entrare nello stato di inattività selezionato in precedenza, inclusa la notifica al sistema operativo delle risorse di sistema principali che potrebbero essere interessate dalla transizione di sospensione. Quindi deve eseguire l'istruzione di interruzione per eseguire la transizione del processore allo stato di inattività. Al ritorno dallo stato di inattività, il PEP deve annullare la configurazione hardware, inclusa la notifica al sistema operativo delle risorse di sistema principali che potrebbero essere attive alla riattivazione. Se pep non è in grado di eseguire lo stato di inattività del processore (e della piattaforma), deve restituire uno stato di errore.

Quando si usa l'interfaccia dello stato di inattività coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_EXECUTE_V2 che include i campi CoordinatedStateCount e CoordinatedState con l'elenco di stati di inattività coordinati che verranno immessi dalla transizione inattiva. Il campo PlatformState specifica lo stato di inattività coordinata della piattaforma più profondo immesso, se presente.

Quando non si usa l'interfaccia di stato di inattività coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_EXECUTE.

Per una notifica del PEP_NOTIFY_PPM_IDLE_EXECUTE, la routine AcceptProcessorNotification viene chiamata con gli interrupt disabilitati.

PEP_NOTIFY_PPM_IDLE_COMPLETE

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione.

Notifica

Valore PEP_NOTIFY_PPM_IDLE_COMPLETE.

Data

Puntatore a una struttura PEP_PPM_IDLE_COMPLETE o PEP_PPM_IDLE_COMPLETE_V2.

Osservazioni:

Informa il PEP che il processore corrente si sta svegliando da una transizione di inattività completata.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica quando il processore corrente si sveglia da una transizione inattiva completata. Se la piattaforma stava eseguendo una transizione di inattività, il primo processore a riattivarsi indicherà lo stato di inattività della piattaforma da cui si sta uscendo. A seconda del tipo di sincronizzazione usata nella transizione inattiva della piattaforma, il primo processore da riattivare da uno stato di inattività della piattaforma potrebbe non essere il processore che ha immesso lo stato di inattività della piattaforma.

Se il processore stava eseguendo uno stato di inattività profondo, il PEP non deve attendere fino a quando non riceve la notifica completa per ripristinare il contesto principale o notificare al sistema operativo che le risorse principali sono state ripristinate. Il sistema operativo prevede che queste risorse siano state ripristinate al termine della notifica di esecuzione. Quando l'hypervisor è abilitato, il PEP riceverà questa notifica solo all'uscita da uno stato di inattività della piattaforma e con il campo ProcessorState impostato su PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

Quando si usa l'interfaccia dello stato di inattività coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_COMPLETE_V2 che include i campi CoordinatedStateCount e CoordinatedState con l'elenco di stati di inattività coordinati che verranno usciti dalla transizione inattiva. Il campo PlatformState specifica il più profondo stato di inattività coordinata della piattaforma che viene lasciato, se presente. Si noti che il set di stati di inattività coordinati usciti da questo processore può essere diverso dal set di stati di inattività coordinati immessi da esso, se viene usata la sincronizzazione libera.

Quando non si usa l'interfaccia di stato di inattività coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_COMPLETE.

Per una notifica di PEP_NOTIFY_PPM_IDLE_COMPLETE, la routine AcceptProcessorNotification viene chiamata con interrupt disattivati e viene sempre eseguita sul processore target.

PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED.

Data

Puntatore a una struttura PEP_PPM_IS_PROCESSOR_HALTED.

Osservazioni:

Inviato al PEP per determinare se il processore specificato è attualmente arrestato nello stato di inattività selezionato.

Il framework di gestione dell'energia Windows (PoFx) invia questa notifica al PEP per determinare se il processore specificato è attualmente arrestato nello stato di inattività scelto. Il sistema operativo userà questa notifica per verificare se un processore secondario ha completato completamente la transizione inattiva durante il coordinamento degli stati di inattività della piattaforma. Il PEP deve garantire che il processore di destinazione abbia raggiunto uno stato in cui la transizione inattiva della piattaforma può verificarsi in modo sicuro (ad esempio, controllando i registri hardware per verificare se il core è interrotto). Quando questa notifica indica che il processore è in stato di inattività, tale processore non deve riattivarsi a meno che il sistema operativo non lo richieda in modo esplicito.

Il PEP può ricevere questa notifica in qualsiasi momento tra le notifiche di IDLE_SELECT e IDLE_COMPLETE. È garantito di ricevere questa notifica al massimo una volta durante una transizione inattiva.

Per una notifica di PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED, la routine AcceptProcessorNotification viene chiamata a qualsiasi IRQL e con interrupt disabilitati e non viene mai eseguita sul processore di destinazione.

<= ALTO_LIVELLO

PEP_NOTIFY_PPM_INITIATE_WAKE

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione.

Notifica

Il valore PEP_NOTIFY_PPM_INITIATE_WAKE.

Data

Puntatore a una struttura.

Osservazioni:

Il comando viene inviato al PEP per un processore specificato per avviare la sua riattivazione da uno stato di inattività non interrompibile.

Il framework di gestione dell'alimentazione di Windows (PoFx) invia questa notifica al PEP per un processore specificato per avviare la riattivazione da uno stato di inattività non interruttibile. Il PEP deve restituire lo stato di riattivazione per il processore di destinazione usando NeedInterruptForCompletion. Restituisce TRUE se il processore richiede un interrupt per terminare la riattivazione dallo stato di inattività. In questo caso, il PEP deve garantire che il processore di destinazione sia interrompibile al ritorno dalla gestione di questa notifica. Se il processore di destinazione è già in esecuzione e/o esce dallo stato di inattività (ed è in corso) senza richiedere interruzioni generate dal software, NeedInterruptForCompletion deve essere impostato su FALSE.

Nota Il PEP non riceverà questa notifica per lo stesso processore contemporaneamente.

Per una notifica di PEP_NOTIFY_PPM_INITIATE_WAKE, la routine AcceptProcessorNotification viene chiamata a qualsiasi IRQL, con gli interrupt disabilitati e non viene mai eseguita nel processore di destinazione.

<= ALTO_LIVELLO

PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS.

Data

Puntatore a una struttura PEP_PPM_QUERY_FEEDBACK_COUNTERS.

Osservazioni:

Informa il PEP che il PEP viene sottoposto a query per l'elenco dei contatori di feedback supportati.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire una query su PEP per l'elenco dei contatori di feedback supportati.

Per una notifica di PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_FEEDBACK_READ

Maneggiare

Una struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_FEEDBACK_READ.

Data

Puntatore a una struttura PEP_PPM_FEEDBACK_READ.

Osservazioni:

Informa il PEP che viene eseguita una query per il valore corrente di un contatore di feedback.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica quando vuole eseguire una query sul valore corrente di un contatore di feedback.

Questa notifica può essere inviata con interrupt disabilitati. Se il campo Affinitized del contatore è impostato, questa notifica viene eseguita nel processore di destinazione. In caso contrario, questa notifica può essere eseguita da qualsiasi processore.

Per una notifica di PEP_NOTIFY_PPM_FEEDBACK_READ, è possibile chiamare la funzione AcceptProcessorNotification a IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES

Maneggiare

Struttura PEPHANDLE che contiene l'handle del dispositivo PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES.

Data

Puntatore a una struttura dati PEP_PPM_QUERY_PERF_CAPABILITIES.

Osservazioni:

Informa il PEP che viene interrogato sugli intervalli di prestazioni supportati dalla piattaforma.

Il framework di risparmio energia Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire query negli intervalli di prestazioni supportati dalla piattaforma. I campi DomainId e DomainMembers della struttura PEP_PPM_QUERY_PERF_CAPABILITIES vengono usati per esprimere i domini di stato delle prestazioni alla piattaforma. Ogni processore è membro di un solo dominio dello stato delle prestazioni. Il sistema operativo garantirà che tutti i processori in un dominio delle prestazioni cambino le prestazioni insieme.

Per una notifica di PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_CONSTRAINTS

Maneggiare

Una struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione.

Notifica

Il valore PEP_NOTIFY_PPM_PERF_CONSTRAINTS.

Data

Puntatore a una struttura di PEP_PPM_PERF_CONSTRAINTS.

Osservazioni:

Informa il PEP che viene interrogato per i vincoli operativi attuali del processore.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica quando vuole esaminare i vincoli operativi correnti del processore. Il PEP avvia una richiesta affinché il sistema operativo possa rivalutare i vincoli di prestazioni del processore eseguendo un controllo dell'alimentazione con il codice di controllo GUID_PPM_PERF_CONSTRAINT_CHANGE. InBuffer e OutBuffer devono essere NULL.

Il PEP deve attendere fino a quando non riceve una notifica di PEP_DPM_DEVICE_STARTED per un processore prima di inviare una transazione di controllo dell'alimentazione per il processore.

Per una notifica di tipo PEP_NOTIFY_PPM_PERF_CONSTRAINTS, la routine AcceptProcessorNotification viene sempre chiamata a IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_SET

Questa notifica informa il PEP che le prestazioni operative correnti del processore devono essere modificate.

Di seguito vengono descritti i parametri per AcceptProcessorNotification.

Maneggiare

Una struttura PEPHANDLE che contiene l'handle del dispositivo PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_PERF_SET.

Data

Puntatore a una struttura PEP_PPM_PERF_SET.

Osservazioni:

Il framework di risparmio energia windows (PoFx) invia questa notifica quando vuole modificare le prestazioni operative correnti del processore. Questa notifica può essere inviata durante l'esecuzione su qualsiasi processore.

Per una notifica di PEP_NOTIFY_PPM_PERF_SET, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PARK_SELECTION

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_PARK_SELECTION.

Data

Puntatore a una struttura PEP_PPM_PARK_SELECTION.

Osservazioni:

Informa il PEP che il sistema operativo vorrebbe che selezionasse un set preferito di core del processore da mettere in standby.

Il framework di gestione energetica di Windows (PoFx) invia questa notifica per indicare al PEP di selezionare un set preferito di core da parcheggiare.

Il PEP_NOTIFY_PPM_PARK_SELECTION è stato sottoposto a overload per eseguire due funzioni:

Lasciare che il PEP selezioni quali processori (dall'insieme di tutti i processori nel sistema) devono essere parcheggiati e quali devono essere riattivati. Consentire al PEP di selezionare quali processori, dal set di tutti i processori non parcheggiati, devono ricevere interrupt e quali non devono riceverli. Windows non fornisce un mezzo per il PEP per distinguere quale delle due operazioni sta eseguendo il sistema operativo. Di conseguenza, quando il PEP riceve questa notifica con un determinato set di input (AdditionalUnparkedProcessors count e PoPreference), deve fornire un output coerente (PepPreference) a meno che alcuni eventi esterni non causino una modifica delle preferenze PEP.

Per una notifica del tipo PEP_NOTIFY_PPM_PARK_SELECTION, viene sempre chiamata la routine AcceptProcessorNotification a IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_CST_STATES

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_CST_STATES.

Data

Puntatore a una struttura PEP_PPM_CST_STATES.

Osservazioni:

Inviato al PEP per indicare il set di stati C definiti ACPI supportati dal processore.

Il framework di gestione dell'energia di Windows (PoFx) invia questa notifica al PEP per indicare il set di "stati C" definiti dall'ACPI supportati dal processore. Questa notifica verrà inviata una volta prima che il PEP riceva la prima notifica PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 per un processore, e di nuovo ogni volta che il processore riceve una notifica (0x81) che indica che l'oggetto _CST è stato modificato.

Per una notifica di PEP_NOTIFY_PPM_CST_STATES, la routine AcceptProcessorNotification è sempre chiamata a IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.

Data

Puntatore a una struttura PEP_PPM_QUERY_PLATFORM_STATES.

Osservazioni:

Inviato all'inizializzazione del processore per eseguire una query sul numero di stati di inattività della piattaforma supportati dal PEP.

Il framework di gestione energetica di Windows (PoFx) invia questa notifica al PEP all'inizializzazione del processore per interrogare il numero di stati di inattività della piattaforma supportati. Questa notifica viene inviata una volta all'avvio. Dopo aver restituito un numero diverso da zero di stati della piattaforma, il PEP può quindi iniziare a selezionare gli stati di inattività della piattaforma durante le transizioni di inattività del processore.

Per una notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_LP_SETTINGS

Notifica

Valore PEP_NOTIFY_PPM_QUERY_LP_SETTINGS.

Data

Puntatore a una struttura PEP_PPM_QUERY_LP_SETTINGS.

Osservazioni:

Per inviare una notifica di PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, PoFx chiama la routine di callback AcceptProcessorNotification di PEP. In questa chiamata il valore del parametro Notification è PEP_NOTIFY_PPM_QUERY_LP_SETTINGS e il parametro Data punta a una struttura PEP_PPM_QUERY_LP_SETTINGS.

Per una notifica di PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, la routine AcceptProcessorNotification viene sempre chiamata con IRQL impostato su PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2.

Data

Puntatore a una struttura PEP_PPM_QUERY_IDLE_STATES_V2.

Osservazioni:

Usato durante l'inizializzazione del processore per richiedere l'elenco degli stati inattivi supportati dal PEP.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica al PEP all'inizializzazione del processore per eseguire una query sull'elenco degli stati inattivi supportati.

Il membro Count specifica le dimensioni della matrice di stato inattiva. Il driver del processore eseguirà una query per il numero di stati di inattività con PEP_NOTIFY_PPM_QUERY_CAPABILITIES prima di inviare la notifica.

Il PEP compila la matrice IdleStates con informazioni su ogni stato di inattività supportato. Gli stati di inattività devono essere elencati in ordine di riduzione del consumo energetico/aumento dei costi di transizione. Non è richiesto che il PEP riporti lo stesso elenco di stati di inattività per ogni processore.

Per una notifica di PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Data

Puntatore a una struttura PEP_PPM_QUERY_PLATFORM_STATE.

Osservazioni:

Inviato al PEP per eseguire una query sulle proprietà di un singolo stato di inattività della piattaforma.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire una query sulle proprietà di un singolo stato di inattività della piattaforma.

Il parametro StateIndex della struttura PEP_PPM_QUERY_PLATFORM_STATE specifica l'indice dello stato di inattività della piattaforma sottoposto a query. Il driver del processore eseguirà una query per il numero di stati di inattività della piattaforma supportati con PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES prima di inviare questa notifica. Il driver del processore invierà quindi una notifica PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE per ogni stato di inattività della piattaforma. Il driver del processore attenderà di inviare questa notifica fino a quando tutti i processori sono stati registrati con il PEP.

Il PEP riempie la struttura State con informazioni sullo stato di inattività della piattaforma. Gli stati di inattività della piattaforma devono essere elencati in ordine di riduzione del consumo di energia/aumento dei costi di transizione.

Per una notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_TEST_IDLE_STATE

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_TEST_IDLE_STATE.

Data

Puntatore a una struttura PEP_PPM_TEST_IDLE_STATE.

Osservazioni:

Usato per verificare se il processore e lo stato di inattività della piattaforma specificati possono essere immessi nel processore specificato.

Il framework di gestione dell'alimentazione di Windows (PoFx) invia questa notifica per verificare se è possibile entrare nello stato di inattività del processore e della piattaforma specificato sul processore specificato. Se lo stato di inattività può essere raggiunto, il PEP inserisce il codice veto PEP_IDLE_VETO_NONE e completa la transizione allo stato di inattività. Se la transizione in stato di inattività non può essere completata per qualche motivo, il PEP riempie un codice di veto diverso da zero.

I codici Veto importanti nell'intervallo 0x80000000 per 0xffffffff sono riservati per l'uso del sistema operativo e non possono essere usati.

Quando questa notifica viene inviata, il sistema operativo ha già convalidato che tutti i vincoli associati allo stato di inattività del processore o della piattaforma selezionati siano stati soddisfatti, inclusi i vincoli del dispositivo e del processore per una transizione inattiva della piattaforma.

Questa notifica verrà inviata prima che il sistema operativo tenti di immettere qualsiasi stato di inattività del processore o della piattaforma, ad eccezione dello stato di inattività del processore con indice 0, che deve sempre essere immesso. Il completamento di questa notifica con PEP_IDLE_VETO_NONE non garantisce che il sistema operativo immetta lo stato di inattività indicato. Questa notifica viene inviata con interrupt disabilitati. Questa notifica viene sempre eseguita nel processore di destinazione.

Per una notifica di PEP_NOTIFY_PPM_TEST_IDLE_STATE, la routine AcceptProcessorNotification viene chiamata con gli interrupts disabilitati.

PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE.

Data

Puntatore a una struttura PEP_PPM_IDLE_EXECUTE o PEP_PPM_IDLE_EXECUTE_V2.

Osservazioni:

Inviato al PEP per preparare il sistema per la transizione allo stato di inattività specificato.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica al PEP per preparare il sistema per la transizione allo stato di inattività specificato. Al termine di questa notifica, il sistema operativo farà la transizione rendendo il processore inattivo entrando nello stato C associato. Se il PEP non è in grado di preparare il sistema per entrare nello stato di inattività del processore (e della piattaforma), deve restituire uno stato di errore.

Quando l'hypervisor è abilitato, il PEP riceverà questa notifica solo quando si entra in uno stato di inattività della piattaforma e con il campo ProcessorState impostato su PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

Quando si usa l'interfaccia dello stato di inattività coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_EXECUTE_V2 che include i campi CoordinatedStateCount e CoordinatedState con l'elenco di stati di inattività coordinati che verranno immessi dalla transizione inattiva. Il campo PlatformState specifica lo stato di inattività coordinata della piattaforma più profondo immesso, se presente.

Quando non si usa l'interfaccia di stato di inattività coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_EXECUTE.

Per una notifica di PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE, la routine AcceptProcessorNotification viene chiamata con interruzioni disabilitate e viene eseguita sempre sul processore di destinazione.

PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE.

Data

Puntatore a una struttura PEP_PPM_QUERY_PLATFORM_STATE.

Osservazioni:

Informa il PEP che un processore ha ricevuto Notify(0x81) per aggiornare le caratteristiche di uno stato di inattività della piattaforma.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica quando un processore ha ricevuto Notify(0x81) per aggiornare le caratteristiche di uno stato di inattività della piattaforma. Questa notifica viene inviata una volta per ogni stato di inattività della piattaforma. Se il PEP non accetta la notifica (ovvero restituisce FALSE dal callback AcceptProcessorNotification), viene mantenuta la definizione precedente dello stato di inattività della piattaforma, dall'ultima notifica accettata PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE o PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE.

Questa notifica usa lo stesso buffer di dati della notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Per una notifica di PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES.

Data

Un puntatore a una struttura PEP_PPM_PLATFORM_STATE_RESIDENCIES.

Osservazioni:

Informa il PEP che deve acquisire il tempo effettivo accumulato trascorso in ogni stato di inattività della piattaforma dall'avvio.

Il framework di gestione dell'energia Windows (PoFx) invia questa notifica al PEP per acquisire il tempo accumulato effettivo trascorso in ogni stato di inattività della piattaforma dall'avvio. Di conseguenza, questa query è applicabile solo alle piattaforme in cui l'hardware sottostante può decidere autonomamente di immettere uno stato di inattività della piattaforma diverso da quello richiesto dal sistema operativo. I valori restituiti vengono usati per scopi diagnostici e identificano quando la visualizzazione del sistema operativo della residenza dello stato di inattività della piattaforma differisce in modo significativo rispetto a quanto effettivamente ottenuto dalla piattaforma.

Count specifica il numero di elementi nella matrice States, in cui l'indice dell'elemento corrisponde all'indice dello stato di inattività della piattaforma. Il PEP riempirà ciascun elemento con il conteggio effettivo della residenza e della transizione dello stato corrispondente.

Nota I valori accumulati acquisiti da questa query devono corrispondere solo a quei periodi in cui il PEP (o il driver del processore) ha effettivamente eseguito una transizione dello stato di inattività della piattaforma. Ciò garantisce che il confronto tra la residenza calcolata del sistema operativo e la residenza effettiva sia significativa.

Per una notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES, è possibile chiamare la routine AcceptProcessorNotification in qualsiasi IRQL.

PEP_NOTIFY_PPM_QUERY_VETO_REASONS

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_VETO_REASONS.

Data

Puntatore a una struttura PEP_PPM_QUERY_VETO_REASONS.

Osservazioni:

Usato per interrogare il numero di motivi di veto univoci che il PEP utilizza nei callback ProcessorIdleVeto e PlatformIdleVeto.

Il framework di risparmio energia Windows (PoFx) invia questa notifica all'inizializzazione del processore per interrogare il numero di motivi di veto univoci utilizzati dal PEP nei callback ProcessorIdleVeto e PlatformIdleVeto. Questa notifica è facoltativa e può essere ignorata dal PEP.

Se accettato, il PEP può usare i motivi di veto tra 1 e VetoReasonCount, inclusi, per vietare qualsiasi processore, piattaforma o stato di inattività coordinata. Il PEP non può usare motivi di veto maggiori di VetoReasonCount. Il sistema operativo pre-allocherà le strutture di rilevamento dei veto e, se usato con PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, garantisce che tutti i callback dei processori, delle piattaforme e degli stati coordinati avranno esito positivo.

Se questa notifica non viene accettata dal PEP, il PEP può usare i callback ProcessorIdleVeto e PlatformIdleVeto con qualsiasi motivo legale. Il sistema operativo non garantisce che i callback non avranno esito negativo a causa di errori di allocazione o altri problemi.

Per una notifica di PEP_NOTIFY_PPM_QUERY_VETO_REASONS, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_VETO_REASON

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_VETO_REASON.

Data

Puntatore a una struttura PEP_PPM_QUERY_VETO_REASON.

Osservazioni:

Inviato al PEP per richiedere informazioni su un motivo di veto specifico.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica all'inizializzazione del processore per ottenere informazioni su un motivo di veto specifico. Questa notifica viene inviata due volte per ogni motivo di veto, una volta con un buffer NULLName per recuperare le dimensioni di allocazione necessarie per Name e una volta con un buffer non NULLName per compilare il contenuto di Name. Il nome deve essere una stringa leggibile che indica quale condizione rappresenta questo motivo di veto. Gli strumenti di debug, ad esempio WPA e il debugger del kernel, visualizzeranno Nome durante la diagnosi del motivo per cui non è stato immesso uno stato di inattività.

Per una notifica di PEP_NOTIFY_PPM_QUERY_VETO_REASON, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES.

Data

Valore del puntatore NULL.

Osservazioni:

Informa il PEP che il sistema operativo è pronto ad accettare chiamate a ProcessorIdleVeto o PlatformIdleVeto.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica dopo l'inizializzazione del processore, ma prima del primo accesso inattivo, per segnalare che il sistema operativo è pronto ad accettare chiamate a ProcessorIdleVeto o PlatformIdleVeto. Il PEP può enumerare i veti all'avvio nel contesto di questa notifica e il sistema operativo garantisce che avranno effetto prima del primo tentativo di selezionare un processore, una piattaforma o uno stato di inattività coordinato. Questa notifica non ha alcun parametro di dati associato.

Per una notifica di PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PARK_MASK

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_PARK_MASK.

Data

Puntatore a una struttura PEP_PPM_PARK_MASK.

Osservazioni:

Informa il PEP della corrente maschera di parcheggio principale.

Il framework di risparmio energia windows (PoFx) invia questa notifica in fase di esecuzione per informare il PEP della maschera di parcheggio principale corrente.

Per una notifica di PEP_NOTIFY_PPM_PARK_MASK, la routine AcceptProcessorNotification viene chiamata in IRQL = DISPATCH_LEVEL e può essere inviata durante l'esecuzione su qualsiasi processore.

PEP_NOTIFY_PPM_PARK_SELECTION_V2

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_PARK_SELECTION_V2.

Data

Puntatore a una struttura PEP_PPM_PARK_SELECTION_V2.

Osservazioni:

Informa il PEP che il sistema operativo desidera selezionare un set preferito di core da parcheggiare o da cui deviare le interruzioni. Se questa notifica non viene accettata, il sistema operativo tornerà a inviare la notifica di PEP_NOTIFY_PPM_PARK_SELECTION.

Quando si esegue l'algoritmo di controllo delle prestazioni, l'OS può inviare più volte la notifica PEP_NOTIFY_PPM_PARK_SELECTION_V2: zero o più volte per ogni classe di efficienza del core all'interno di ciascun dominio di parcheggio e zero o più volte per l'instradamento degli interrupt. Per aiutare il PEP a fornire una risposta coerente al sistema operativo per un controllo delle prestazioni, il sistema operativo fornirà il timestamp basato sul tempo di interruzione della valutazione del controllo delle prestazioni che ha richiesto la notifica. Tutte le notifiche di selezione del parco risultanti da una valutazione del controllo delle prestazioni avranno lo stesso timestamp. Si noti che i campi rimanenti (Count, AdditionalUnparkedProcessors, EvaluationType e Processors) possono variare per le notifiche inviate durante la stessa valutazione del controllo delle prestazioni, il PEP non può presupporre che rimarranno invariati.

Per una notifica del tipo PEP_NOTIFY_PPM_PARK_SELECTION, viene sempre chiamata la routine AcceptProcessorNotification a IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE.

Data

Puntatore a una struttura PEP_PPM_PERF_CHECK_COMPLETE.

Osservazioni:

Informa il PEP che la valutazione periodica del controllo delle prestazioni è stata completata.

Il framework di risparmio energia windows (PoFx) invia questa notifica in fase di esecuzione per notificare al PEP che la valutazione periodica per ogni controllo è stata completata.

Per una notifica di PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE, la routine AcceptProcessorNotification viene chiamata in IRQL = DISPATCH_LEVEL e può essere inviata durante l'esecuzione su qualsiasi processore.

PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY.

Data

Un puntatore a una struttura PEP_PPM_QUERY_COORDINATED_DEPENDENCY.

Osservazioni:

Inviato al PEP per interrogare le dipendenze di ciascuno stato idle coordinato.

Il framework di gestione dell'energia di Windows (PoFx) invia questa notifica all'inizializzazione del processore per interrogare il PEP sulle dipendenze di ogni stato di inattività coordinato. Il sistema operativo allocherà un numero di elementi pari a MaximumDependencySize per l'array Dependencies. Il PEP deve specificare il numero di elementi dell'array utilizzati in "DependencySizeUsed".

Se la dipendenza espressa si trova in un processore, PEP compila il campo TargetProcessor con poHANDLE del processore di destinazione. Il campo ExpectedState fa quindi riferimento all'indice di uno stato di inattività del processore nel processore di destinazione.

Se la dipendenza dichiarata riguarda altri stati di inattività coordinati, PEP inserisce NULL per TargetProcessor. Il campo ExpectedState fa quindi riferimento all'indice di uno stato di inattività coordinato.

Ogni dipendenza elenca un menu di opzioni che il sistema operativo può usare per soddisfare la dipendenza. Quando entra in stato di inattività, il sistema operativo tenterà di soddisfare la dipendenza verificando le condizioni per ciascuna di esse, dall'indice più alto all'indice più basso. Se vengono soddisfatte le condizioni per una dipendenza, il sistema operativo considererà la dipendenza soddisfatta. Se nessuna delle condizioni può essere soddisfatta, la dipendenza non viene soddisfatta e lo stato di inattività coordinato potrebbe non essere immesso.

Per una notifica di PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME.

Data

Un puntatore a una struttura PEP_PPM_QUERY_STATE_NAME.

Osservazioni:

Viene inviato al PEP per richiedere informazioni su uno stato di inattività specifico, coordinato o della piattaforma.

Il framework di gestione dell'energia di Windows (PoFx) invia questa notifica all'inizializzazione della CPU per richiedere informazioni su uno specifico stato di inattività coordinato o di piattaforma. Questa notifica viene inviata due volte per ogni stato, una volta con un buffer Name NULL per recuperare le dimensioni di allocazione necessarie per Name e una volta con un buffer Name non NULL per compilare il contenuto di Name. Il nome deve essere una stringa leggibile che indica il nome dello stato di inattività coordinato. Gli stati di inattività coordinati devono avere nomi univoci, ad eccezione dei sistemi multi-cluster, in cui i nomi degli stati equivalenti in cluster diversi possono essere uguali. Gli strumenti di debug, come WPA e il debugger del kernel, visualizzeranno il Nome nelle diagnostiche che si riferiscono a questo stato di inattività coordinata/piattaforma.

Per una notifica di PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES.

Data

Puntatore a una struttura PEP_PPM_QUERY_COORDINATED_STATES.

Osservazioni:

Utilizzato in fase di inizializzazione del processore per eseguire query sulle proprietà di tutti gli stati di inattività coordinati.

Il framework di gestione dell'energia di Windows (PoFx) invia questa notifica al PEP all'inizializzazione del processore per interrogare le proprietà di tutti gli stati di inattività coordinati. Questa notifica viene inviata poco prima che il PEP avrebbe inviato la notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. Se accettata, il PEP utilizza l'interfaccia di stato di inattività coordinata e non riceverà alcuna notifica PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. Se non è accettato, il PEP utilizza l'interfaccia di stato inattivo della piattaforma e il sistema operativo tornerà a utilizzare la notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE per effettuare una query sugli stati di inattività coordinati.

Il sistema operativo attenderà l'invio di questa notifica fino a quando tutti i processori non sono stati registrati con il PEP.

Il PEP riempie la struttura dello Stato con informazioni sugli stati di inattività coordinati.

L'ordine degli stati di inattività coordinati deve seguire le regole seguenti:

Due stati coordinati che rappresentano stati di alimentazione diversi per la stessa unità funzionale devono essere elencati in ordine dal più leggero (la maggior parte del consumo energetico/costo di transizione minimo) al più profondo (minore consumo di energia/maggior costo di transizione). Gli stati di inattività coordinati possono dipendere solo da altri stati di inattività coordinati con un indice inferiore. Non esiste un ordine obbligatorio tra due stati di inattività coordinati disgiunti, ovvero due stati di inattività coordinati che dipendono da set di processori non contigui.

In caso di notifica PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES, la routine AcceptProcessorNotification viene sempre chiamata con IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME.

Data

Un puntatore a una struttura PEP_PPM_QUERY_STATE_NAME.

Osservazioni:

Inviato al PEP per richiedere informazioni su uno specifico stato di inattività del processore.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire una query sul PEP per informazioni su uno stato di inattività del processore specifico. Questa notifica viene inviata due volte per ogni stato, una volta con un buffer Name NULL per recuperare le dimensioni di allocazione necessarie per Name e una volta con un buffer Name non NULL per completare il contenuto di Name. Il nome deve essere una stringa leggibile che indica il nome dello stato di inattività coordinato. Gli stati di inattività coordinati devono avere nomi univoci, ad eccezione dei sistemi multi-cluster, in cui i nomi degli stati equivalenti in cluster diversi possono essere uguali. Gli strumenti di debug, come WPA e il debugger del kernel, visualizzeranno "Name" nella diagnostica che fa riferimento a questo stato di inattività della piattaforma coordinata.

Per una notifica di PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE.

Data

Puntatore a una struttura PEP_PPM_ENTER_SYSTEM_STATE.

Osservazioni:

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE è una notifica facoltativa che informa il PEP che il sistema sta per entrare in uno stato di alimentazione del sistema. Questa notifica viene inviata a tutti i processori contemporaneamente dopo che il sistema ha completato tutto il lavoro a livello passivo passando il processore allo stato di alimentazione del sistema.

Questa notifica viene inviata alle DISPATCH_LEVEL, con tutti i processori inviati. Questa notifica viene sempre eseguita nel processore di destinazione.

Nota Il PEP non deve accodare alcun lavoro da questa notifica. I processori non elaborano elementi di lavoro, CONTROLLER di dominio e così via dopo l'invio di questa notifica.

LIVELLO_DI_GESTIONE

PEP_NOTIFY_PPM_PERF_SET_STATE

Di seguito vengono descritti i parametri per AcceptProcessorNotification.

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_PERF_SET_STATE.

Data

Puntatore a una struttura PEP_PPM_PERF_SET_STATE.

Osservazioni:

Usato in fase di esecuzione per impostare lo stato delle prestazioni operative corrente del processore. Se il PEP dispone di hardware autonomo in grado di aumentare o ridurre le prestazioni senza una richiesta di set di prestazioni, deve limitare le richieste dall'hardware autonomo in base allo stato minimo delle prestazioni e/o allo stato massimo delle prestazioni e impostare come destinazione lo stato di prestazioni desiderato. Altrimenti, dovrebbe funzionare esattamente al livello di prestazioni desiderato.

Questa notifica viene inviata a livello di DISPATCH_LEVEL. Se sono in uso gli stati delle prestazioni dirette del planner, il PEP deve rispettare le limitazioni della sezione 3.3.6 durante l'elaborazione di questa notifica. Può essere inviato durante l'esecuzione su qualsiasi processore.

PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore di PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES.

Data

Puntatore a una struttura PEP_PPM_QUERY_DISCRETE_PERF_STATES. Usato durante l'inizializzazione del processore per eseguire una query per l'elenco di stati di prestazioni discreti supportati da PEP, se la notifica PEP_NOTIFY_PPM_QUERY_CAPABILITIES indica il supporto per gli stati di prestazioni discreti.

L'elenco degli stati delle prestazioni deve essere ordinato dal più veloce al più lento, con ogni stato delle prestazioni associato a un valore distinto di prestazioni. L'elenco di stati delle prestazioni deve includere anche una voce corrispondente a ogni valore di prestazioni elencato nella notifica di PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES. Questa notifica viene inviata al PASSIVE_LEVEL. Può essere inviato durante l'esecuzione su qualsiasi processore.

PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO.

Data

Puntatore a una struttura PEP_PPM_QUERY_DOMAIN_INFO.

Osservazioni:

Notifica facoltativa che richiede informazioni su un dominio delle prestazioni. Questa notifica viene inviata al PASSIVE_LEVEL. Può essere inviato durante l'esecuzione su qualsiasi processore.

PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE

Maneggiare

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, questo sarà NULL.

Notifica

Il valore PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE.

Data

Un puntatore a una struttura PEP_PPM_RESUME_FROM_SYSTEM_STATE.

Osservazioni:

Notifica facoltativa che informa il PEP che il sistema ha appena ripreso da uno stato di alimentazione del sistema. Questa notifica viene inviata a tutti i processori contemporaneamente subito prima che i processori vengano rilasciati per riprendere il lavoro a livello passivo. Questa notifica viene inviata alle DISPATCH_LEVEL, con tutti i processori inviati. Questa notifica viene sempre eseguita nel processore di destinazione.