Notificações de PPM (gerenciamento de energia do processador)

Cada notificação de PPM (gerenciamento de energia do processador) recebida pela rotina de retorno de chamada AcceptProcessorNotification da PEP é acompanhada por um parâmetro Notification que indica o tipo de notificação e um parâmetro Data que aponta para uma estrutura de dados que contém as informações do tipo de notificação especificado.

Nessa chamada, o parâmetro Notification é definido como um valor constante PEP_NOTIFY_PPM_XXX que indica o tipo de notificação. O parâmetro Data aponta para um tipo de estrutura PEP_PPM_XXX associado a esse tipo de notificação.

As seguintes IDs de notificação de PPM (gerenciamento de energia do processador) são usadas pela rotina de retorno de chamada AcceptProcessorNotification.

PEP_NOTIFY_PPM_QUERY_CAPABILITIES

Handle

Uma estrutura PEPHANDLE que contém o identificador do dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_CAPABILITIES.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_CAPABILITIES.

Comentários

Informa ao PEP que ele está sendo consultado para os recursos de gerenciamento de energia do PEP.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação quando o PEP é consultado por seus recursos de gerenciamento de energia. Isso acontece no momento da inicialização do processador e será enviado para cada processador no sistema.

Plataformas com processadores x86/AMD64 devem usar interfaces ACPI para controle de desempenho do processador.

Para enviar uma notificação PEP_NOTIFY_PPM_QUERY_CAPABILITIES, a PoFx chama a rotina de retorno de chamada AcceptProcessorNotification do PEP. Nessa chamada, o valor do parâmetro Notification é PEP_NOTIFY_PPM_QUERY_CAPABILITIES e o parâmetro Data aponta para uma estrutura PEP_PPM_QUERY_CAPABILITIES.

Para uma notificação PEP_NOTIFY_PPM_QUERY_CAPABILITIES, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES

Notificação

O valor PEP_NOTIFY_PPM_QUERY_IDLE_STATES.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_IDLE_STATES.

Comentários

Informa o PEP sobre estados ociosos.

Para enviar uma notificação de PEP_NOTIFY_PPM_QUERY_IDLE_STATES, a PoFx chama a rotina de retorno de chamada AcceptProcessorNotification do PEP. Nessa chamada, o valor do parâmetro Notification é PEP_NOTIFY_PPM_QUERY_IDLE_STATES e o parâmetro Data aponta para uma estrutura PEP_PPM_QUERY_IDLE_STATES.

Para uma notificação de PEP_NOTIFY_PPM_QUERY_IDLE_STATES, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_SELECT

Notificação

O valor PEP_NOTIFY_PPM_IDLE_SELECT.

Dados

Um ponteiro para uma estrutura PEP_PPM_IDLE_SELECT.

Comentários

Informa o PEP de seleção ociosa.

Para enviar uma notificação de PEP_NOTIFY_PPM_IDLE_SELECT, a PoFx chama a rotina de retorno de chamada AcceptProcessorNotification do PEP. Nessa chamada, o valor do parâmetro Notification é PEP_NOTIFY_PPM_IDLE_SELECT e o parâmetro Data aponta para uma estrutura PEP_PPM_IDLE_SELECT.

Para uma notificação de PEP_NOTIFY_PPM_IDLE_SELECT, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_CANCEL

Notificação

O valor PEP_NOTIFY_PPM_IDLE_CANCEL.

Dados

Um ponteiro para uma estrutura PEP_PPM_IDLE_CANCEL.

Comentários

Informa o PEP de uma ação de cancelamento.

Para enviar uma notificação PEP_NOTIFY_PPM_IDLE_CANCEL, a PoFx chama a rotina de retorno de chamada AcceptProcessorNotification do PEP. Nessa chamada, o valor do parâmetro Notification é PEP_NOTIFY_PPM_IDLE_CANCEL e o parâmetro Data aponta para uma estrutura PEP_PPM_IDLE_CANCEL.

Para uma notificação de PEP_NOTIFY_PPM_IDLE_CANCEL, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_EXECUTE

Handle

Uma estrutura PEPHANDLE que contém o identificador do dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_IDLE_EXECUTE.

Dados

Um ponteiro para uma estrutura de PEP_PPM_IDLE_EXECUTE ou PEP_PPM_IDLE_EXECUTE_V2.

Comentários

Enviado para o PEP para fazer a transição do processador atual para o estado ocioso especificado.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação para o PEP para fazer a transição do processador atual para o estado ocioso especificado.

O PEP pode preparar o hardware para entrar no estado ocioso selecionado anteriormente, incluindo notificar o sistema operacional dos recursos principais do sistema que podem ser afetados pela transição de suspensão. Em seguida, ele deve executar a instrução de parada para fazer a transição do processador para o estado ocioso. Após o retorno do estado ocioso, o PEP deve desfazer a configuração de hardware, incluindo notificar o sistema operacional de recursos do sistema principal que podem ter se tornado ativos após a ativação. Se o PEP não puder executar o estado ocioso do processador (e da plataforma), ele deverá retornar um erro status.

Ao usar a interface de estado ocioso coordenada, o sistema operacional usa a estrutura PEP_PPM_IDLE_EXECUTE_V2 que inclui os campos CoordinatedStateCount e CoordinatedState com a lista de estados ociosos coordenados que serão inseridos pela transição ociosa. O campo PlatformState especificará o estado ocioso coordenado da plataforma mais profunda que está sendo inserido, se houver.

Ao não usar a interface de estado ocioso coordenada, o sistema operacional usa a estrutura PEP_PPM_IDLE_EXECUTE.

Para uma notificação de PEP_NOTIFY_PPM_IDLE_EXECUTE, a rotina AcceptProcessorNotification é chamada com interrupções desabilitadas.

PEP_NOTIFY_PPM_IDLE_COMPLETE

Handle

Uma estrutura PEPHANDLE que contém o identificador do dispositivo do PEP para o processador de destino.

Notificação

O valor PEP_NOTIFY_PPM_IDLE_COMPLETE.

Dados

Um ponteiro para uma estrutura de PEP_PPM_IDLE_COMPLETE ou PEP_PPM_IDLE_COMPLETE_V2..

Comentários

Informa ao PEP que o processador atual está acordando de uma transição ociosa completa.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação quando o processador atual está acordando de uma transição ociosa concluída. Se a plataforma estiver executando uma transição ociosa da plataforma, o primeiro processador a ser ativado indicará o estado ocioso da plataforma que está sendo encerrado. Dependendo do tipo de sincronização usado na transição ociosa da plataforma, o primeiro processador a sair de um estado ocioso da plataforma pode não ser o processador que entrou no estado ocioso da plataforma.

Se o processador estava executando um estado ocioso profundo, o PEP não deve esperar até receber a notificação completa para restaurar o contexto principal ou notificar o sistema operacional de que os recursos principais foram restaurados. O sistema operacional espera que esses recursos tenham sido restaurados depois que a notificação de execução for concluída. Quando o hipervisor estiver habilitado, o PEP só receberá essa notificação ao sair de um estado ocioso da plataforma e com o campo ProcessorState definido como PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

Ao usar a interface de estado ocioso coordenado, o sistema operacional usa a estrutura PEP_PPM_IDLE_COMPLETE_V2 que inclui os campos CoordinatedStateCount e CoordinatedState com a lista de estados ociosos coordenados que serão encerrados pela transição ociosa. O campo PlatformState especificará o estado ocioso coordenado da plataforma mais profunda que está sendo encerrado, se houver. Observe que o conjunto de estados ociosos coordenados encerrados por esse processador pode ser diferente do conjunto de estados ociosos coordenados inseridos por ele, se a sincronização solta for usada.

Ao não usar a interface de estado ocioso coordenada, o sistema operacional usa a estrutura PEP_PPM_IDLE_COMPLETE.

Para uma notificação PEP_NOTIFY_PPM_IDLE_COMPLETE, a rotina AcceptProcessorNotification é chamada com interrupções desabilitadas e sempre é executada no processador de destino.

PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED

Handle

Uma estrutura PEPHANDLE que contém o identificador do dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED.

Dados

Um ponteiro para uma estrutura PEP_PPM_IS_PROCESSOR_HALTED.

Comentários

Enviado para o PEP para determinar se o processador especificado está parado no estado ocioso selecionado.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação ao PEP para determinar se o processador especificado está parado no estado ocioso selecionado. O sistema operacional usará essa notificação para marcar se um processador secundário tiver concluído totalmente a transição para ocioso ao coordenar estados ociosos da plataforma. O PEP deve garantir que o processador de destino atingiu um estado no qual a transição ociosa da plataforma pode ocorrer com segurança (por exemplo, verificando registros de hardware para ver se o núcleo foi interrompido). Depois que essa notificação indicar que o processador está em um estado ocioso, esse processador não deve ser ativado, a menos que o sistema operacional solicite explicitamente que ele faça isso.

O PEP pode receber essa notificação a qualquer momento entre as notificações de IDLE_SELECT e IDLE_COMPLETE. É garantido receber essa notificação no máximo uma vez durante uma transição ociosa.

Para uma notificação PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED, a rotina AcceptProcessorNotification é chamada em qualquer IRQL e com interrupções desabilitadas, em qualquer IRQL, e nunca é executada no processador de destino.

<= HIGH_LEVEL

PEP_NOTIFY_PPM_INITIATE_WAKE

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino.

Notificação

O valor PEP_NOTIFY_PPM_INITIATE_WAKE.

Dados

Um ponteiro para uma estrutura.

Comentários

Enviado ao PEP para um processador especificado para iniciar sua ativação de um estado ocioso não interruptível.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação ao PEP para que um processador especificado inicie sua ativação de um estado ocioso não interruptível. O PEP deve retornar o status de ativação para o processador de destino usando NeedInterruptForCompletion. Ele retornará TRUE se o processador exigir uma interrupção para terminar de acordar do estado ocioso. Nesse caso, o PEP deve garantir que o processador de destino seja interrompido após o retorno da manipulação dessa notificação. Se o processador de destino já estiver em execução e/ou eventualmente sair do estado ocioso (e estiver em processo de fazer isso) sem exigir nenhuma interrupção gerada pelo software, NeedInterruptForCompletion deverá ser definido como FALSE.

Observação O PEP não receberá essa notificação para o mesmo processador simultaneamente.

Para uma notificação de PEP_NOTIFY_PPM_INITIATE_WAKE, a rotina AcceptProcessorNotification é chamada em qualquer IRQL, com interrupções desabilitadas e nunca é executada no processador de destino.

<= HIGH_LEVEL

PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_FEEDBACK_COUNTERS.

Comentários

Informa ao PEP que o PEP está sendo consultado para obter a lista de contadores de comentários aos quais ele dá suporte.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação na inicialização do processador para consultar o PEP para obter a lista de contadores de comentários aos quais ele dá suporte.

Para uma notificação PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_FEEDBACK_READ

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_FEEDBACK_READ.

Dados

Um ponteiro para uma estrutura PEP_PPM_FEEDBACK_READ.

Comentários

Informa ao PEP que ele está sendo consultado quanto ao valor atual de um contador de comentários.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação quando deseja consultar o valor atual de um contador de comentários.

Essa notificação pode ser enviada com interrupções desabilitadas. Se o campo Affinitized do contador estiver definido, essa notificação será executada no processador de destino. Caso contrário, essa notificação poderá ser executada de qualquer processador.

Para uma notificação de PEP_NOTIFY_PPM_FEEDBACK_READ, a rotina AcceptProcessorNotification pode ser chamada em IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_PERF_CAPABILITIES.

Comentários

Informa ao PEP que ele está sendo consultado para os intervalos de desempenho compatíveis com a plataforma.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação na inicialização do processador para consultar os intervalos de desempenho compatíveis com a plataforma. Os campos DomainId e DomainMembers da estrutura PEP_PPM_QUERY_PERF_CAPABILITIES são usados para expressar domínios de estado de desempenho para a plataforma. Cada processador é membro de exatamente um domínio de estado de desempenho. O sistema operacional garantirá que todos os processadores em um domínio de desempenho alterem o desempenho juntos.

Para uma notificação de PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_CONSTRAINTS

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino.

Notificação

O valor PEP_NOTIFY_PPM_PERF_CONSTRAINTS.

Dados

Um ponteiro para uma estrutura PEP_PPM_PERF_CONSTRAINTS.

Comentários

Informa ao PEP que ele está sendo consultado para as restrições operacionais atuais do processador.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação quando deseja inspecionar as restrições operacionais atuais do processador. O PEP inicia uma solicitação para o sistema operacional reavaliar as restrições de desempenho do processador executando um controle de energia com o código de controle GUID_PPM_PERF_CONSTRAINT_CHANGE. O InBuffer e o OutBuffer devem ser NULL.

O PEP deve aguardar até receber uma notificação de PEP_DPM_DEVICE_STARTED para um processador antes de emitir uma transação de controle de energia para o processador.

Para uma notificação de PEP_NOTIFY_PPM_PERF_CONSTRAINTS, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_SET

Essa notificação informa ao PEP que o desempenho operacional atual do processador deve ser alterado.

A seguir, descreva os parâmetros para AcceptProcessorNotification.

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_PERF_SET.

Dados

Um ponteiro para uma estrutura PEP_PPM_PERF_SET .

Comentários

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação quando deseja alterar o desempenho operacional atual do processador. Essa notificação pode ser enviada durante a execução em qualquer processador.

Para uma notificação de PEP_NOTIFY_PPM_PERF_SET, a rotina AcceptProcessorNotification é sempre chamada em IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PARK_SELECTION

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_PARK_SELECTION.

Dados

Um ponteiro para uma estrutura PEP_PPM_PARK_SELECTION.

Comentários

Informa ao PEP que o sistema operacional gostaria que ele selecionasse um conjunto preferencial de núcleos de processador para estacionar.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação para instruir o PEP a selecionar um conjunto preferencial de núcleos para estacionar.

O PEP_NOTIFY_PPM_PARK_SELECTION foi sobrecarregado para executar duas funções:

Permita que o PEP selecione quais processadores (do conjunto de todos os processadores no sistema) devem estar estacionados e quais devem ser desparoizados. Permita que o PEP selecione quais processadores (do conjunto de todos os processadores que não estão definidos) devem receber interrupções e quais não devem receber interrupções. O Windows não fornece um meio para o PEP distinguir qual dos dois o sistema operacional está executando. Como resultado, quando o PEP recebe essa notificação com um determinado conjunto de entradas (contagem AdditionalUnparkedProcessors e PoPreference), ele deve fornecer uma saída consistente (PepPreference), a menos que algum evento externo cause uma alteração na preferência pep.

Para uma notificação de PEP_NOTIFY_PPM_PARK_SELECTION, a rotina AcceptProcessorNotification é sempre chamada em IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_CST_STATES

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_CST_STATES.

Dados

Um ponteiro para uma estrutura PEP_PPM_CST_STATES.

Comentários

Enviado para o PEP para indicar o conjunto de estados C definidos pelo ACPI com suporte pelo processador.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação para o PEP para indicar o conjunto de estados C definidos pelo ACPI com suporte pelo processador. Essa notificação será enviada uma vez antes da primeira vez que o PEP receber PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 notificação para um processador e, novamente, sempre que o processador receber um Notify(0x81) indicando que o objeto _CST foi alterado.

Para uma notificação de PEP_NOTIFY_PPM_CST_STATES, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_PLATFORM_STATES.

Comentários

Enviado na inicialização do processador para consultar o número de estados ociosos da plataforma aos quais o PEP dá suporte.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação para o PEP na inicialização do processador para consultar o número de estados ociosos da plataforma aos quais ele dá suporte. Essa notificação é enviada uma vez após a inicialização. Depois de retornar um número diferente de zero de estados de plataforma, o PEP pode começar a selecionar estados ociosos da plataforma durante as transições ociosas do processador.

Para uma notificação de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_LP_SETTINGS

Notificação

O valor PEP_NOTIFY_PPM_QUERY_LP_SETTINGS.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_LP_SETTINGS.

Comentários

Para enviar uma notificação de PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, a PoFx chama a rotina de retorno de chamada AcceptProcessorNotification do PEP. Nessa chamada, o valor do parâmetro Notification é PEP_NOTIFY_PPM_QUERY_LP_SETTINGS e o parâmetro Data aponta para uma estrutura PEP_PPM_QUERY_LP_SETTINGS.

Para uma notificação de PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_IDLE_STATES_V2.

Comentários

Usado na inicialização do processador para consultar a lista de estados ociosos aos quais o PEP dá suporte.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação para o PEP na inicialização do processador para consultar a lista de estados ociosos aos quais ele dá suporte.

O membro Count especifica o tamanho da matriz de estado ocioso. O driver do processador consultará o número de estados ociosos com PEP_NOTIFY_PPM_QUERY_CAPABILITIES antes de enviar essa notificação.

O PEP preenche a matriz IdleStates com informações sobre cada estado ocioso ao qual ele dá suporte. Os estados ociosos devem ser listados para diminuir o consumo de energia/aumentar o custo de transição. O PEP não é necessário para relatar a mesma lista de estados ociosos para cada processador.

Para uma notificação de PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_PLATFORM_STATE.

Comentários

Enviado ao PEP para consultar as propriedades de um único estado ocioso da plataforma.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação na inicialização do processador para consultar as propriedades de um único estado ocioso da plataforma.

O parâmetro StateIndex da estrutura PEP_PPM_QUERY_PLATFORM_STATE especifica o índice do estado ocioso da plataforma que está sendo consultado. O driver do processador consultará o número de estados ociosos da plataforma com suporte com PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES antes de enviar essa notificação. Em seguida, o driver do processador enviará uma notificação PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE para cada estado ocioso da plataforma. O driver do processador aguardará para enviar essa notificação até que todos os processadores tenham se registrado com o PEP.

O PEP preenche a estrutura Estado com informações sobre o estado ocioso da plataforma. Os estados ociosos da plataforma devem ser listados para diminuir o consumo de energia/aumentar o custo de transição.

Para uma notificação de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_TEST_IDLE_STATE

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_TEST_IDLE_STATE.

Dados

Um ponteiro para uma estrutura PEP_PPM_TEST_IDLE_STATE.

Comentários

Usado para testar se o processador especificado e o estado ocioso da plataforma podem ser inseridos no processador especificado.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação para testar se o processador especificado e o estado ocioso da plataforma podem ser inseridos no processador especificado. Se o estado ocioso puder ser inserido, o PEP preencherá o código de veto PEP_IDLE_VETO_NONE e concluirá a transição ociosa. Se a transição ociosa não puder ser concluída por algum motivo, o PEP preencherá um código de veto diferente de zero.

Códigos de veto importantes no intervalo 0x80000000 a 0xffffffff são reservados para uso do sistema operacional e podem não ser usados.

Quando essa notificação é enviada, o sistema operacional já validou que todas as restrições associadas ao processador selecionado ou ao estado ocioso da plataforma foram atendidas, incluindo restrições de dispositivo e processador para uma transição ociosa da plataforma.

Essa notificação será enviada antes que o sistema operacional tente inserir qualquer estado ocioso de processador ou plataforma, exceto para o estado ocioso do processador com o índice 0, que sempre deve ser inserível. Concluir essa notificação com PEP_IDLE_VETO_NONE não garante que o sistema operacional insira o estado ocioso indicado. Essa notificação é enviada com interrupções desabilitadas. Essa notificação sempre é executada no processador de destino.

Para uma notificação de PEP_NOTIFY_PPM_TEST_IDLE_STATE, a rotina AcceptProcessorNotification é chamada com interrupções desabilitadas.

PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE

Handle

Uma estrutura PEPHANDLE que contém o identificador do dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE.

Dados

Um ponteiro para uma estrutura de PEP_PPM_IDLE_EXECUTE ou PEP_PPM_IDLE_EXECUTE_V2.

Comentários

Enviado para o PEP para preparar o sistema para fazer a transição para o estado ocioso especificado.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação ao PEP para preparar o sistema para fazer a transição para o estado ocioso especificado. Após a conclusão bem-sucedida dessa notificação, o sistema operacional fará a transição do processador para ocioso inserindo o estado C associado. Se o PEP não conseguir preparar o sistema para inserir o estado ocioso do processador (e da plataforma), ele deverá retornar um erro status.

Quando o hipervisor estiver habilitado, o PEP só receberá essa notificação ao entrar em um estado ocioso da plataforma e com o campo ProcessorState definido como PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

Ao usar a interface de estado ocioso coordenada, o sistema operacional usa a estrutura PEP_PPM_IDLE_EXECUTE_V2 que inclui os campos CoordinatedStateCount e CoordinatedState com a lista de estados ociosos coordenados que serão inseridos pela transição ociosa. O campo PlatformState especificará o estado ocioso coordenado da plataforma mais profunda que está sendo inserido, se houver.

Ao não usar a interface de estado ocioso coordenada, o sistema operacional usa a estrutura PEP_PPM_IDLE_EXECUTE.

Para uma notificação de PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE, a rotina AcceptProcessorNotification é chamada com interrupções desabilitadas e sempre é executada no processador de destino.

PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE

Handle

Uma estrutura PEPHANDLE que contém o identificador do dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE.

Dados

Um ponteiro para uma estrutura de PEP_PPM_QUERY_PLATFORM_STATE.

Comentários

Informa ao PEP que um processador recebeu Notify(0x81) para atualizar as características de um estado ocioso da plataforma.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação quando um processador recebe Notify(0x81) para atualizar as características de um estado ocioso da plataforma. Essa notificação é enviada uma vez para cada estado ocioso da plataforma. Se o PEP não aceitar a notificação (ou seja, retornar FALSE de seu retorno de chamada AcceptProcessorNotification), a definição anterior do estado ocioso da plataforma, da notificação de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE ou PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE aceita mais recentemente, será preservada.

Essa notificação usa o mesmo buffer de dados que a notificação de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Para uma notificação PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES

Handle

Uma estrutura PEPHANDLE que contém o identificador do dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES.

Dados

Um ponteiro para uma estrutura de PEP_PPM_PLATFORM_STATE_RESIDENCIES.

Comentários

Informa ao PEP que ele deve capturar o tempo acumulado real gasto em cada estado ocioso da plataforma desde a inicialização.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação ao PEP para capturar o tempo acumulado real gasto em cada estado ocioso da plataforma desde a inicialização. Dessa forma, essa consulta só é aplicável a plataformas em que o hardware subjacente pode decidir de forma autônoma inserir um estado ocioso de plataforma diferente daquele solicitado pelo sistema operacional. Os valores retornados são usados para fins de diagnóstico e identificam quando a exibição do sistema operacional da residência de estado ocioso da plataforma difere significativamente do que a plataforma realmente alcançou.

Count especifica o número de elementos na matriz States, em que o índice de elemento corresponde ao índice de estado ocioso da plataforma. O PEP preencherá cada elemento com a contagem real de residência e transição do estado correspondente.

Observação Os valores acumulados capturados por essa consulta devem corresponder somente aos períodos em que o PEP (ou driver de processador) realmente executou uma transição de estado ocioso da plataforma. Isso garantirá que a comparação entre a residência calculada do sistema operacional e a residência real seja significativa.

Para uma notificação de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES, a rotina AcceptProcessorNotification pode ser chamada em qualquer IRQL.

PEP_NOTIFY_PPM_QUERY_VETO_REASONS

Handle

Uma estrutura PEPHANDLE que contém o identificador do dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_VETO_REASONS.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_VETO_REASONS.

Comentários

Usado para consultar o número de motivos de veto exclusivos que o PEP usa nos retornos de chamada ProcessorIdleVeto e PlatformIdleVeto.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação na inicialização do processador para consultar o número de motivos de veto exclusivos que o PEP usa nos retornos de chamada ProcessorIdleVeto e PlatformIdleVeto. Essa notificação é opcional e pode ser ignorada pelo PEP.

Se aceito, o PEP poderá usar os motivos de veto entre 1 e VetoReasonCount, inclusive, para vetar qualquer processador, plataforma ou estado ocioso coordenado. O PEP não tem permissão para usar razões de veto maiores que VetoReasonCount. O sistema operacional alocará previamente estruturas de controle de veto e, quando usado com PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, garante que todos os retornos de chamada de veto de estado coordenado, plataforma e processador terão êxito.

Se essa notificação não for aceita pelo PEP, o PEP poderá usar os retornos de chamada ProcessorIdleVeto e PlatformIdleVeto com qualquer motivo de veto legal. O sistema operacional não garante que os retornos de chamada não falharão devido a falhas de alocação ou outros problemas.

Para uma notificação de PEP_NOTIFY_PPM_QUERY_VETO_REASONS, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_VETO_REASON

Handle

Uma estrutura PEPHANDLE que contém o identificador do dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_VETO_REASON.

Dados

Um ponteiro para uma estrutura de PEP_PPM_QUERY_VETO_REASON.

Comentários

Enviado ao PEP para consultar informações sobre um motivo de veto específico.

A PoFx (Estrutura de Gerenciamento de Energia do Windows) envia essa notificação na inicialização do processador para consultar informações sobre um motivo de veto específico. Essa notificação é enviada duas vezes por cada motivo de veto, uma vez com um buffer NULLName para recuperar o tamanho de alocação necessário para Name e uma vez com um buffer não NULLName para preencher o conteúdo de Nome. O nome deve ser uma cadeia de caracteres legível por humanos que indica qual condição esse motivo de veto representa. Ferramentas de depuração, como WPA e o depurador de kernel, exibirão Nome ao diagnosticar por que um estado ocioso não foi inserido.

Para uma notificação PEP_NOTIFY_PPM_QUERY_VETO_REASON, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES

Handle

Uma estrutura PEPHANDLE que contém o identificador do dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES.

Dados

O valor do ponteiro NULL.

Comentários

Informa ao PEP que o sistema operacional está pronto para aceitar chamadas para ProcessorIdleVeto ou PlatformIdleVeto.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação após a inicialização do processador, mas antes da primeira entrada ociosa para indicar que o sistema operacional está pronto para aceitar chamadas para ProcessorIdleVeto ou PlatformIdleVeto. O PEP pode enumerar quaisquer vetos de tempo de inicialização no contexto dessa notificação, e o sistema operacional garante que eles entrarão em vigor antes da primeira tentativa de selecionar um processador, uma plataforma ou um estado ocioso coordenado. Essa notificação não tem nenhum parâmetro Data associado.

Para uma notificação de PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PARK_MASK

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_PARK_MASK.

Dados

Um ponteiro para uma estrutura PEP_PPM_PARK_MASK.

Comentários

Informa o PEP da máscara de estacionamento principal atual.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação em runtime para informar o PEP sobre a máscara de estacionamento principal atual.

Para uma notificação de PEP_NOTIFY_PPM_PARK_MASK, a rotina AcceptProcessorNotification é chamada em IRQL = DISPATCH_LEVEL e pode ser enviada durante a execução em qualquer processador.

PEP_NOTIFY_PPM_PARK_SELECTION_V2

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_PARK_SELECTION_V2.

Dados

Um ponteiro para uma estrutura PEP_PPM_PARK_SELECTION_V2.

Comentários

Informa ao PEP que o sistema operacional gostaria que ele selecionasse um conjunto preferencial de núcleos para estacionar ou afastar as interrupções. Se essa notificação não for aceita, o sistema operacional voltará a enviar a notificação de PEP_NOTIFY_PPM_PARK_SELECTION.

Ao executar seu algoritmo de marcar de desempenho, o sistema operacional pode enviar a notificação de PEP_NOTIFY_PPM_PARK_SELECTION_V2 várias vezes: zero ou mais vezes para cada classe de eficiência principal dentro de cada domínio de parque e zero ou mais vezes para a direção de interrupção. Para ajudar o PEP a fornecer uma resposta consistente ao sistema operacional para um marcar de desempenho, o sistema operacional fornecerá o carimbo de data/hora baseado em tempo de interrupção do desempenho marcar avaliação que motivou a notificação. Todas as notificações de seleção de parque resultantes de um desempenho marcar avaliação terão o mesmo carimbo de data/hora. Observe que os campos restantes (Count, AdditionalUnparkedProcessors, EvaluationType e Processors) podem variar para notificações enviadas durante o mesmo desempenho marcar avaliação, o PEP não pode assumir que eles permanecerão os mesmos.

Para uma notificação de PEP_NOTIFY_PPM_PARK_SELECTION, a rotina AcceptProcessorNotification é sempre chamada em IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE.

Dados

Um ponteiro para uma estrutura PEP_PPM_PERF_CHECK_COMPLETE.

Comentários

Informa ao PEP que o desempenho periódico marcar avaliação foi concluído.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação em runtime para notificar o PEP de que a avaliação periódica por marcar foi concluída.

Para uma notificação PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE, a rotina AcceptProcessorNotification é chamada em IRQL = DISPATCH_LEVEL e pode ser enviada durante a execução em qualquer processador.

PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_COORDINATED_DEPENDENCY.

Comentários

Enviado ao PEP para consultar as dependências de cada estado ocioso coordenado.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação na inicialização do processador para consultar o PEP quanto às dependências de cada estado ocioso coordenado. O sistema operacional alocará elementos MaximumDependencySize para a matriz Dependencies. O PEP deve preencher o número de elementos da matriz que foram usados em DependencySizeUsed.

Se a dependência que está sendo expressa estiver em um processador, PEP preencherá o campo TargetProcessor com o POHANDLE do processador de destino. Em seguida, o campo ExpectedState refere-se ao índice de um estado ocioso do processador no processador de destino.

Se a dependência que está sendo expressa estiver em outros estados ociosos coordenados, o PEP preencherá NULL para o TargetProcessor. Em seguida, o campo ExpectedState refere-se ao índice de um estado ocioso coordenado.

Cada dependência lista um menu de opções que o sistema operacional tem permissão para usar para atender à dependência. Ao ficar ocioso, o sistema operacional tentará satisfazer a dependência verificando as condições de cada um, do índice mais alto ao menor índice. Se as condições de uma dependência forem atendidas, o sistema operacional considerará a dependência atendida. Se nenhuma das condições puder ser atendida, a dependência não será atendida e o estado ocioso coordenado poderá não ser inserido.

Para uma notificação de PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_STATE_NAME.

Comentários

Enviado ao PEP para consultar informações sobre um estado ocioso coordenado ou de plataforma específico.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação na inicialização do processador para consultar o PEP para obter informações sobre um estado ocioso coordenado ou de plataforma específico. Essa notificação é enviada duas vezes para cada estado, uma vez com um buffer de Nome NULL para recuperar o tamanho de alocação necessário para Nome e uma vez com um buffer de Nome não NULL para preencher o conteúdo de Nome. O nome deve ser uma cadeia de caracteres legível por humanos que indica o nome do estado ocioso coordenado. Os estados ociosos coordenados devem ter nomes exclusivos, exceto em sistemas de vários clusters, em que os nomes de estados equivalentes em clusters diferentes podem ser os mesmos. Ferramentas de depuração, como O WPA e o depurador de kernel, exibirão Nome em diagnóstico que se referem a esse estado ocioso coordenado/de plataforma.

Para uma notificação PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_COORDINATED_STATES.

Comentários

Usado na inicialização do processador para consultar as propriedades de todos os estados ociosos coordenados.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação para o PEP na inicialização do processador para consultar as propriedades de todos os estados ociosos coordenados. Essa notificação é enviada pouco antes de o PEP ter enviado a notificação de PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. Se aceito, o PEP está usando a interface de estado ocioso coordenado e não receberá nenhuma PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE notificações. Se não for aceito, o PEP está usando a interface de estado ocioso da plataforma e o sistema operacional voltará a usar a notificação PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE para consultar estados ociosos coordenados.

O sistema operacional aguardará para enviar essa notificação até que todos os processadores tenham se registrado com o PEP.

O PEP preenche a estrutura Estado com informações sobre os estados ociosos coordenados.

A ordem dos estados ociosos coordenados deve seguir as seguintes regras:

Dois estados coordenados que representam estados de energia diferentes para a mesma unidade funcional devem ser listados em ordem desde o mais leve (maior consumo de energia/menor custo de transição) até o mais profundo (menor consumo de energia/maior custo de transição). Os estados ociosos coordenados só podem depender de outros estados ociosos coordenados com um índice inferior. Não há ordem necessária entre dois estados ociosos coordenados não contíguos (ou seja, dois estados ociosos coordenados que dependem de conjuntos não contíguos de processadores).

Para uma notificação PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_STATE_NAME.

Comentários

Enviado ao PEP para consultar informações sobre um estado ocioso específico do processador.

A PoFx (estrutura de gerenciamento de energia) do Windows envia essa notificação na inicialização do processador para consultar o PEP para obter informações sobre um estado ocioso específico do processador. Essa notificação é enviada duas vezes para cada estado, uma vez com um buffer de Nome NULL para recuperar o tamanho de alocação necessário para Nome e uma vez com um buffer de Nome não NULL para preencher o conteúdo de Nome. O nome deve ser uma cadeia de caracteres legível por humanos que indica o nome do estado ocioso coordenado. Os estados ociosos coordenados devem ter nomes exclusivos, exceto em sistemas de vários clusters, em que os nomes de estados equivalentes em clusters diferentes podem ser os mesmos. Ferramentas de depuração, como O WPA e o depurador de kernel, exibirão Nome em diagnóstico que se referem a esse estado ocioso coordenado/de plataforma.

Para uma notificação PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME, a rotina AcceptProcessorNotification é sempre chamada em IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE.

Dados

Um ponteiro para uma estrutura PEP_PPM_ENTER_SYSTEM_STATE.

Comentários

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE é uma notificação opcional que notifica o PEP de que o sistema está prestes a entrar em um estado de energia do sistema. Essa notificação é enviada a todos os processadores simultaneamente depois que o sistema conclui todo o trabalho de nível passivo que faz a transição do processador para o estado de energia do sistema.

Essa notificação é enviada em DISPATCH_LEVEL, com todos os processadores em expedição. Essa notificação é sempre executada no processador de destino.

Observação O PEP não deve enfileirar nenhum trabalho dessa notificação. Os processadores não processarão itens de trabalho, DPCs etc. depois que essa notificação for enviada.

DISPATCH_LEVEL

PEP_NOTIFY_PPM_PERF_SET_STATE

A seguir, descreva os parâmetros para AcceptProcessorNotification.

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_PERF_SET_STATE.

Dados

Um ponteiro para uma estrutura PEP_PPM_PERF_SET_STATE .

Comentários

Usado em runtime para definir o estado de desempenho operacional atual do processador. Se o PEP tiver hardware autônomo capaz de aumentar/reduzir o desempenho sem uma solicitação de conjunto de desempenho, ele deverá limitar as solicitações de hardware autônomo com base no estado mínimo de desempenho e/ou no estado máximo de desempenho e direcionar o estado de desempenho desejado. Caso contrário, ele deverá ser executado exatamente no estado de desempenho desejado.

Essa notificação é enviada em DISPATCH_LEVEL. Se os estados de desempenho direcionados pelo agendador estiverem em uso, o PEP deverá aderir às restrições na seção 3.3.6 ao processar essa notificação. Ele pode ser enviado durante a execução em qualquer processador.

PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_DISCRETE_PERF_STATES. Usado na inicialização do processador para consultar a lista de estados de desempenho discretos aos quais o PEP dá suporte, se a notificação PEP_NOTIFY_PPM_QUERY_CAPABILITIES indicar suporte para estados de desempenho discretos.

A lista de estado de desempenho deve ser ordenada do mais rápido para o mais lento, com cada mapeamento de estado de desempenho para um valor de desempenho distinto. A lista de estado de desempenho também deve incluir uma entrada que corresponda a cada valor de desempenho listado na notificação de PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES. Essa notificação é enviada em PASSIVE_LEVEL. Ele pode ser enviado durante a execução em qualquer processador.

PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO.

Dados

Um ponteiro para uma estrutura PEP_PPM_QUERY_DOMAIN_INFO.

Comentários

Uma notificação opcional que consulta informações sobre um domínio de desempenho. Essa notificação é enviada em PASSIVE_LEVEL. Ele pode ser enviado durante a execução em qualquer processador.

PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE

Handle

Uma estrutura PEPHANDLE que contém o identificador de dispositivo do PEP para o processador de destino. Se a notificação não for direcionada a um processador específico, isso será NULL.

Notificação

O valor PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE.

Dados

Um ponteiro para uma estrutura PEP_PPM_RESUME_FROM_SYSTEM_STATE.

Comentários

Uma notificação opcional que notifica o PEP de que o sistema acabou de ser retomado de um estado de energia do sistema. Essa notificação é enviada a todos os processadores simultaneamente pouco antes de os processadores serem liberados para retomar o trabalho de nível passivo. Essa notificação é enviada em DISPATCH_LEVEL, com todos os processadores em expedição. Essa notificação é sempre executada no processador de destino.