Bagikan melalui


Pemberitahuan manajemen daya prosesor (PPM)

Setiap pemberitahuan manajemen daya prosesor (PPM) bahwa rutinitas panggilan balik AcceptProcessorNotification PEP diterima disertai dengan parameter Pemberitahuan yang menunjukkan jenis pemberitahuan, dan parameter Data yang menunjuk ke struktur data yang berisi informasi untuk jenis pemberitahuan yang ditentukan.

Dalam panggilan ini, parameter Pemberitahuan diatur ke nilai konstanta PEP_NOTIFY_PPM_XXX yang menunjukkan jenis pemberitahuan. Parameter Data menunjuk ke jenis struktur PEP_PPM_XXX yang terkait dengan jenis pemberitahuan ini.

ID pemberitahuan manajemen daya prosesor (PPM) berikut digunakan oleh rutinitas panggilan balik AcceptProcessorNotification.

PEP_NOTIFY_PPM_QUERY_CAPABILITIES

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_CAPABILITIES.

Data

Penunjuk ke struktur PEP_PPM_QUERY_CAPABILITIES.

Keterangan

Menginformasikan PEP bahwa pep sedang dikueri untuk kemampuan manajemen daya PEP.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika PEP dikueri untuk kemampuan manajemen dayanya. Ini terjadi pada waktu inisialisasi prosesor dan akan dikirim untuk setiap prosesor dalam sistem.

Platform dengan prosesor x86/AMD64 harus menggunakan antarmuka ACPI untuk kontrol performa prosesor.

Untuk mengirim pemberitahuan PEP_NOTIFY_PPM_QUERY_CAPABILITIES, PoFx memanggil rutinitas panggilan balik AcceptProcessorNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_NOTIFY_PPM_QUERY_CAPABILITIES, dan parameter Data menunjuk ke struktur PEP_PPM_QUERY_CAPABILITIES.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_CAPABILITIES, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_IDLE_STATES.

Data

Penunjuk ke struktur PEP_PPM_QUERY_IDLE_STATES.

Keterangan

Menginformasikan PEP tentang status diam.

Untuk mengirim pemberitahuan PEP_NOTIFY_PPM_QUERY_IDLE_STATES, PoFx memanggil rutinitas panggilan balik AcceptProcessorNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_NOTIFY_PPM_QUERY_IDLE_STATES, dan parameter Data menunjuk ke struktur PEP_PPM_QUERY_IDLE_STATES.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_IDLE_STATES, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_SELECT

Pemberitahuan

Nilai PEP_NOTIFY_PPM_IDLE_SELECT.

Data

Penunjuk ke struktur PEP_PPM_IDLE_SELECT.

Keterangan

Menginformasikan PEP pilihan diam.

Untuk mengirim pemberitahuan PEP_NOTIFY_PPM_IDLE_SELECT, PoFx memanggil rutinitas panggilan balik AcceptProcessorNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_NOTIFY_PPM_IDLE_SELECT, dan parameter Data menunjuk ke struktur PEP_PPM_IDLE_SELECT.

Untuk pemberitahuan PEP_NOTIFY_PPM_IDLE_SELECT, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_CANCEL

Pemberitahuan

Nilai PEP_NOTIFY_PPM_IDLE_CANCEL.

Data

Penunjuk ke struktur PEP_PPM_IDLE_CANCEL.

Keterangan

Menginformasikan PEP tentang tindakan pembatalan.

Untuk mengirim pemberitahuan PEP_NOTIFY_PPM_IDLE_CANCEL, PoFx memanggil rutinitas panggilan balik AcceptProcessorNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_NOTIFY_PPM_IDLE_CANCEL, dan parameter Data menunjuk ke struktur PEP_PPM_IDLE_CANCEL.

Untuk pemberitahuan PEP_NOTIFY_PPM_IDLE_CANCEL, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_EXECUTE

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_IDLE_EXECUTE.

Data

Penunjuk ke struktur PEP_PPM_IDLE_EXECUTE atau PEP_PPM_IDLE_EXECUTE_V2.

Keterangan

Dikirim ke PEP untuk transisi prosesor saat ini ke status menganggur yang ditentukan.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP untuk transisi prosesor saat ini ke status menganggur yang ditentukan.

PEP dapat menyiapkan perangkat keras untuk memasuki status menganggur yang dipilih sebelumnya, termasuk memberi tahu OS sumber daya sistem inti yang mungkin terpengaruh oleh transisi tidur. Kemudian harus menjalankan instruksi hentikan untuk transisi prosesor ke status menganggur. Setelah kembali dari status diam, PEP harus membatalkan pengaturan perangkat keras, termasuk memberi tahu OS sumber daya sistem inti yang mungkin telah aktif saat bangun. Jika PEP tidak dapat menjalankan status diam prosesor (dan platform), peP harus mengembalikan status kesalahan.

Saat menggunakan antarmuka status diam terkoordinasi, OS menggunakan struktur PEP_PPM_IDLE_EXECUTE_V2 yang mencakup bidang CoordinatedStateCount dan CoordinatedState dengan daftar status diam terkoordinasi yang akan dimasukkan oleh transisi diam. Bidang PlatformState akan menentukan status diam terkoordinasi platform terdalam yang sedang dimasukkan, jika ada.

Saat tidak menggunakan antarmuka status diam terkoordinasi, OS menggunakan struktur PEP_PPM_IDLE_EXECUTE.

Untuk pemberitahuan PEP_NOTIFY_PPM_IDLE_EXECUTE, rutinitas AcceptProcessorNotification dipanggil dengan gangguan yang dinonaktifkan.

PEP_NOTIFY_PPM_IDLE_COMPLETE

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_IDLE_COMPLETE.

Data

Penunjuk ke struktur PEP_PPM_IDLE_COMPLETE atau PEP_PPM_IDLE_COMPLETE_V2..

Keterangan

Menginformasikan PEP bahwa prosesor saat ini bangun dari transisi diam yang selesai.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika prosesor saat ini bangun dari transisi diam yang selesai. Jika platform menjalankan transisi diam platform, prosesor pertama yang akan dibangunkan akan menunjukkan status diam platform yang sedang keluar. Tergantung pada jenis sinkronisasi yang digunakan dalam transisi diam platform, prosesor pertama yang bangun dari status diam platform mungkin bukan prosesor yang memasuki status diam platform.

Jika prosesor menjalankan status diam yang dalam, PEP tidak boleh menunggu sampai menerima pemberitahuan lengkap untuk memulihkan konteks inti atau memberi tahu OS bahwa sumber daya inti telah dipulihkan. OS mengharapkan sumber daya ini telah dipulihkan setelah pemberitahuan eksekusi selesai. Ketika hypervisor diaktifkan, PEP hanya akan menerima pemberitahuan ini saat keluar dari status diam platform, dan dengan bidang ProcessorState diatur ke PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

Saat menggunakan antarmuka status diam terkoordinasi, OS menggunakan struktur PEP_PPM_IDLE_COMPLETE_V2 yang mencakup bidang CoordinatedStateCount dan CoordinatedState dengan daftar status diam terkoordinasi yang akan keluar oleh transisi diam. Bidang PlatformState akan menentukan status diam terkoordinasi platform terdalam yang sedang keluar, jika ada. Perhatikan bahwa set status diam terkoordinasi yang keluar oleh prosesor ini mungkin berbeda dari kumpulan status diam terkoordinasi yang dimasukkan olehnya, jika sinkronisasi longgar digunakan.

Saat tidak menggunakan antarmuka status diam terkoordinasi, OS menggunakan struktur PEP_PPM_IDLE_COMPLETE.

Untuk pemberitahuan PEP_NOTIFY_PPM_IDLE_COMPLETE, rutinitas AcceptProcessorNotification dipanggil dengan interupsi dinonaktifkan dan selalu dijalankan pada prosesor target.

PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED.

Data

Penunjuk ke struktur PEP_PPM_IS_PROCESSOR_HALTED.

Keterangan

Dikirim ke PEP untuk menentukan apakah prosesor yang ditentukan saat ini dihentikan dalam status menganggur yang dipilih.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP untuk menentukan apakah prosesor yang ditentukan saat ini dihentikan dalam status menganggur yang dipilih. OS akan menggunakan pemberitahuan ini untuk memeriksa apakah prosesor sekunder telah sepenuhnya menyelesaikan transisi ke diam saat mengoordinasikan status diam platform. PEP harus menjamin prosesor target telah mencapai status di mana transisi diam platform dapat terjadi dengan aman (misalnya, dengan memeriksa register perangkat keras untuk melihat apakah inti dihentikan). Setelah pemberitahuan ini menunjukkan prosesor dalam keadaan diam, prosesor tersebut tidak boleh bangun kecuali OS secara eksplisit memintanya untuk melakukannya.

PEP mungkin menerima pemberitahuan ini kapan saja antara pemberitahuan IDLE_SELECT dan IDLE_COMPLETE. Dijamin akan menerima pemberitahuan ini paling banyak sekali selama transisi diam.

Untuk pemberitahuan PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED, rutinitas AcceptProcessorNotification dipanggil di IRQL apa pun dan dengan gangguan dinonaktifkan, di IRQL apa pun, dan tidak pernah dijalankan pada prosesor target.

<= HIGH_LEVEL

PEP_NOTIFY_PPM_INITIATE_WAKE

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_INITIATE_WAKE.

Data

Penunjuk ke struktur.

Keterangan

Dikirim ke PEP untuk prosesor tertentu untuk memulai bangun dari status menganggur yang tidak dapat diinterupsi.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP untuk prosesor tertentu untuk memulai bangun dari status menganggur yang tidak dapat diinterupsi. PEP harus mengembalikan status bangun untuk prosesor target menggunakan NeedInterruptForCompletion. Ini mengembalikan TRUE jika prosesor memerlukan gangguan untuk menyelesaikan bangun dari status menganggur. Dalam hal ini PEP harus memastikan prosesor target dapat diinterupsi saat kembali dari menangani pemberitahuan ini. Jika prosesor target sudah berjalan dan/atau akhirnya akan keluar dari status menganggur (dan sedang dalam proses melakukannya) tanpa memerlukan interupsi yang dihasilkan perangkat lunak apa pun, NeedInterruptForCompletion harus diatur ke FALSE.

Catatan PEP tidak akan menerima pemberitahuan ini untuk prosesor yang sama secara bersamaan.

Untuk pemberitahuan PEP_NOTIFY_PPM_INITIATE_WAKE, rutinitas AcceptProcessorNotification dipanggil di IRQL apa pun, dengan gangguan dinonaktifkan, dan tidak pernah dijalankan pada prosesor target.

<= HIGH_LEVEL

PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS.

Data

Penunjuk ke struktur PEP_PPM_QUERY_FEEDBACK_COUNTERS.

Keterangan

Menginformasikan PEP bahwa PEP sedang dikueri untuk daftar penghitung umpan balik yang didukungnya.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini pada inisialisasi prosesor untuk mengkueri PEP untuk daftar penghitung umpan balik yang didukungnya.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_FEEDBACK_READ

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_FEEDBACK_READ.

Data

Penunjuk ke struktur PEP_PPM_FEEDBACK_READ.

Keterangan

Menginformasikan PEP bahwa peP sedang dikueri untuk nilai penghitung umpan balik saat ini.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika ingin meminta nilai penghitung umpan balik saat ini.

Pemberitahuan ini dapat dikirim dengan gangguan dinonaktifkan. Jika bidang Afinitisasi penghitung diatur, pemberitahuan ini dijalankan pada prosesor target. Jika tidak, pemberitahuan ini dapat dijalankan dari prosesor apa pun.

Untuk pemberitahuan PEP_NOTIFY_PPM_FEEDBACK_READ, rutinitas AcceptProcessorNotification dapat dipanggil di IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES.

Data

Penunjuk ke struktur PEP_PPM_QUERY_PERF_CAPABILITIES.

Keterangan

Menginformasikan PEP bahwa pep sedang dikueri untuk rentang performa yang didukung oleh platform.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini pada inisialisasi prosesor untuk mengkueri rentang performa yang didukung oleh platform. Bidang DomainId dan DomainMembers dari struktur PEP_PPM_QUERY_PERF_CAPABILITIES digunakan untuk mengekspresikan domain status performa ke platform. Setiap prosesor adalah anggota dari tepat satu domain status performa. Sistem operasi akan memastikan bahwa semua prosesor dalam domain performa mengubah performa bersama-sama.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_CONSTRAINTS

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_PERF_CONSTRAINTS.

Data

Penunjuk ke struktur PEP_PPM_PERF_CONSTRAINTS.

Keterangan

Menginformasikan PEP bahwa pep sedang dikueri untuk batasan operasi saat ini dari prosesor.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika ingin memeriksa batasan operasi prosesor saat ini. PEP memulai permintaan os untuk mengevaluasi kembali batasan perf prosesor dengan menjalankan kontrol daya dengan kode kontrol GUID_PPM_PERF_CONSTRAINT_CHANGE. InBuffer dan OutBuffer harus NULL.

PEP harus menunggu hingga menerima pemberitahuan PEP_DPM_DEVICE_STARTED untuk prosesor sebelum mengeluarkan transaksi kontrol daya untuk prosesor.

Untuk pemberitahuan PEP_NOTIFY_PPM_PERF_CONSTRAINTS, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_SET

Pemberitahuan ini memberi tahu PEP bahwa performa operasi prosesor saat ini harus diubah.

Berikut ini menjelaskan parameter untuk AcceptProcessorNotification.

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_PERF_SET.

Data

Penunjuk ke struktur PEP_PPM_PERF_SET .

Keterangan

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika ingin mengubah performa operasi prosesor saat ini. Pemberitahuan ini dapat dikirim saat dijalankan pada prosesor apa pun.

Untuk pemberitahuan PEP_NOTIFY_PPM_PERF_SET, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PARK_SELECTION

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_PARK_SELECTION.

Data

Penunjuk ke struktur PEP_PPM_PARK_SELECTION.

Keterangan

Menginformasikan PEP bahwa OS ingin memilih sekumpulan inti prosesor pilihan untuk diparkir.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini untuk menginstruksikan PEP untuk memilih sekumpulan inti pilihan untuk diparkir.

PEP_NOTIFY_PPM_PARK_SELECTION telah kelebihan beban untuk melakukan dua fungsi:

Biarkan PEP memilih prosesor mana (dari set semua prosesor dalam sistem) yang harus diparkir, dan mana yang harus tidak diparkir. Biarkan PEP memilih prosesor mana (dari set semua prosesor yang tidak diparkir) harus menerima gangguan, dan yang seharusnya tidak menerima gangguan. Windows tidak menyediakan sarana bagi PEP untuk membedakan mana dari dua OS yang sedang dilakukan. Akibatnya, ketika PEP menerima pemberitahuan ini dengan serangkaian input tertentu (jumlah AdditionalUnparkedProcessors dan PoPreference), peP harus memberikan output yang konsisten (PepPreference) kecuali beberapa peristiwa eksternal menyebabkan perubahan preferensi PEP.

Untuk pemberitahuan PEP_NOTIFY_PPM_PARK_SELECTION, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_CST_STATES

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_CST_STATES.

Data

Penunjuk ke struktur PEP_PPM_CST_STATES.

Keterangan

Dikirim ke PEP untuk menunjukkan kumpulan status C yang ditentukan ACPI yang didukung oleh prosesor.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP untuk menunjukkan set status C yang ditentukan ACPI yang didukung oleh prosesor. Pemberitahuan ini akan dikirim sekali sebelum pertama kali PEP menerima pemberitahuan PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 untuk prosesor, dan sekali lagi setiap kali prosesor menerima Notify(0x81) yang menunjukkan objek _CST telah berubah.

Untuk pemberitahuan PEP_NOTIFY_PPM_CST_STATES, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.

Data

Penunjuk ke struktur PEP_PPM_QUERY_PLATFORM_STATES.

Keterangan

Dikirim pada inisialisasi prosesor untuk mengkueri jumlah platform yang diam menyatakan bahwa PEP mendukung.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP pada inisialisasi prosesor untuk mengkueri jumlah status diam platform yang didukungnya. Pemberitahuan ini dikirim sekali setelah boot. Setelah mengembalikan jumlah bukan nol status platform, PEP kemudian dapat mulai memilih status diam platform selama transisi diam prosesor.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_LP_SETTINGS

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_LP_SETTINGS.

Data

Penunjuk ke struktur PEP_PPM_QUERY_LP_SETTINGS.

Keterangan

Untuk mengirim pemberitahuan PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, PoFx memanggil rutinitas panggilan balik AcceptProcessorNotification PEP. Dalam panggilan ini, nilai parameter Pemberitahuan PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, dan parameter Data menunjuk ke struktur PEP_PPM_QUERY_LP_SETTINGS.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2.

Data

Penunjuk ke struktur PEP_PPM_QUERY_IDLE_STATES_V2.

Keterangan

Digunakan pada inisialisasi prosesor untuk mengkueri daftar status diam yang didukung PEP.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP pada inisialisasi prosesor untuk mengkueri daftar status diam yang didukungnya.

Anggota Count menentukan ukuran array status diam. Driver prosesor akan meminta jumlah status diam dengan PEP_NOTIFY_PPM_QUERY_CAPABILITIES sebelum mengirim pemberitahuan ini.

PEP mengisi array IdleStates dengan informasi tentang setiap status menganggur yang didukungnya. Status diam harus tercantum dalam urutan penurunan konsumsi daya/meningkatkan biaya transisi. PEP tidak diperlukan untuk melaporkan daftar status diam yang sama untuk setiap prosesor.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Data

Penunjuk ke struktur PEP_PPM_QUERY_PLATFORM_STATE.

Keterangan

Dikirim ke PEP untuk mengkueri properti dari satu status diam platform.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini pada inisialisasi prosesor untuk mengkueri properti status diam platform tunggal.

Parameter StateIndex dari struktur PEP_PPM_QUERY_PLATFORM_STATE menentukan indeks status idle platform yang sedang dikueri. Driver prosesor akan meminta jumlah status diam platform yang didukung dengan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES sebelum mengirim pemberitahuan ini. Driver prosesor kemudian akan mengirim satu pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE untuk setiap status diam platform. Driver prosesor akan menunggu untuk mengirim pemberitahuan ini sampai setelah semua prosesor terdaftar di PEP.

PEP mengisi struktur Status dengan informasi tentang status diam platform. Status diam platform harus tercantum dalam urutan penurunan konsumsi daya/meningkatkan biaya transisi.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_TEST_IDLE_STATE

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_TEST_IDLE_STATE.

Data

Penunjuk ke struktur PEP_PPM_TEST_IDLE_STATE.

Keterangan

Digunakan untuk menguji apakah prosesor dan status diam platform yang ditentukan dapat dimasukkan pada prosesor yang ditentukan.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini untuk menguji apakah prosesor dan status diam platform yang ditentukan dapat dimasukkan pada prosesor yang ditentukan. Jika status diam dapat dimasukkan, PEP mengisi kode veto PEP_IDLE_VETO_NONE dan menyelesaikan transisi diam. Jika transisi diam tidak dapat diselesaikan karena alasan tertentu, PEP mengisi kode veto bukan nol.

Kode Veto penting dalam rentang 0x80000000 ke 0xffffffff dicadangkan untuk penggunaan OS dan mungkin tidak digunakan.

Ketika pemberitahuan ini dikirim, OS telah memvalidasi bahwa semua batasan yang terkait dengan prosesor atau status diam platform yang dipilih telah terpenuhi, termasuk batasan perangkat dan prosesor untuk transisi diam platform.

Pemberitahuan ini akan dikirim sebelum OS mencoba memasuki status menganggur prosesor atau platform apa pun, kecuali untuk status menganggur prosesor dengan indeks 0, yang harus selalu dapat dimasukkan. Menyelesaikan pemberitahuan ini dengan PEP_IDLE_VETO_NONE tidak menjamin bahwa OS akan memasuki status menganggur yang ditunjukkan. Pemberitahuan ini dikirim dengan gangguan dinonaktifkan. Pemberitahuan ini selalu dijalankan pada prosesor target.

Untuk pemberitahuan PEP_NOTIFY_PPM_TEST_IDLE_STATE, rutinitas AcceptProcessorNotification dipanggil dengan interupsi yang dinonaktifkan.

PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE.

Data

Penunjuk ke struktur PEP_PPM_IDLE_EXECUTE atau PEP_PPM_IDLE_EXECUTE_V2.

Keterangan

Dikirim ke PEP untuk menyiapkan sistem untuk beralih ke status menganggur yang ditentukan.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP untuk menyiapkan sistem untuk beralih ke status menganggur yang ditentukan. Setelah berhasil menyelesaikan pemberitahuan ini, OS akan mengubah prosesor menjadi menganggur dengan memasukkan status C terkait. Jika PEP tidak dapat menyiapkan sistem untuk memasuki status menganggur prosesor (dan platform), maka peP harus mengembalikan status kesalahan.

Ketika hypervisor diaktifkan, PEP hanya akan menerima pemberitahuan ini saat masuk ke status diam platform, dan dengan bidang ProcessorState diatur ke PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

Saat menggunakan antarmuka status menganggur terkoordinasi, OS menggunakan struktur PEP_PPM_IDLE_EXECUTE_V2 yang mencakup bidang CoordinatedStateCount dan CoordinatedState dengan daftar status menganggur terkoordinasi yang akan dimasukkan oleh transisi menganggur. Bidang PlatformState akan menentukan status menganggur terkoordinasi platform terdalam yang sedang dimasukkan, jika ada.

Saat tidak menggunakan antarmuka status menganggur terkoordinasi, OS menggunakan struktur PEP_PPM_IDLE_EXECUTE.

Untuk pemberitahuan PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE, rutinitas AcceptProcessorNotification dipanggil dengan interupsi yang dinonaktifkan dan selalu dijalankan pada prosesor target.

PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE.

Data

Penunjuk ke struktur PEP_PPM_QUERY_PLATFORM_STATE.

Keterangan

Menginformasikan PEP bahwa prosesor telah menerima Notify(0x81) untuk memperbarui karakteristik status diam platform.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ketika prosesor telah menerima Notify(0x81) untuk memperbarui karakteristik status diam platform. Pemberitahuan ini dikirim sekali untuk setiap status diam platform. Jika PEP tidak menerima pemberitahuan (yaitu mengembalikan FALSE dari panggilan balik AcceptProcessorNotification), maka definisi sebelumnya dari status diam platform, dari pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE atau PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE yang terakhir diterima, dipertahankan.

Pemberitahuan ini menggunakan buffer Data yang sama dengan pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Untuk pemberitahuan PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES.

Data

Penunjuk ke struktur PEP_PPM_PLATFORM_STATE_RESIDENCIES.

Keterangan

Menginformasikan PEP bahwa pep harus menangkap akumulasi waktu aktual yang dihabiskan dalam setiap status menganggur platform sejak boot.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP untuk menangkap akumulasi waktu aktual yang dihabiskan di setiap status diam platform sejak boot. Dengan demikian, kueri ini hanya berlaku untuk platform di mana perangkat keras yang mendasar dapat secara otonom memutuskan untuk memasukkan status diam platform yang berbeda dari yang diminta oleh OS. Nilai yang dikembalikan digunakan untuk tujuan diagnostik dan mengidentifikasi kapan tampilan OS tentang residensi status diam platform berbeda secara signifikan dari apa yang sebenarnya dicapai platform.

Hitungan menentukan jumlah elemen dalam array Status, di mana indeks elemen sesuai dengan indeks status diam platform. PEP akan mengisi setiap elemen dengan jumlah residensi dan transisi aktual status yang cocok.

Catatan Nilai akumulasi yang diambil oleh kueri ini harus sesuai hanya dengan periode di mana PEP (atau driver prosesor) benar-benar menjalankan transisi status diam platform. Ini akan memastikan bahwa perbandingan antara residensi terhitung OS dan residensi aktual bermakna.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES, rutinitas AcceptProcessorNotification dapat dipanggil di IRQL apa pun.

PEP_NOTIFY_PPM_QUERY_VETO_REASONS

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_VETO_REASONS.

Data

Penunjuk ke struktur PEP_PPM_QUERY_VETO_REASONS.

Keterangan

Digunakan untuk mengkueri jumlah alasan veto unik yang digunakan PEP dalam panggilan balik ProcessorIdleVeto dan PlatformIdleVeto.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini di inisialisasi prosesor untuk mengkueri jumlah alasan veto unik yang digunakan PEP dalam panggilan balik ProcessorIdleVeto dan PlatformIdleVeto. Pemberitahuan ini bersifat opsional, dan dapat diabaikan oleh PEP.

Jika diterima, PEP diizinkan untuk menggunakan alasan veto antara 1 dan VetoReasonCount, inklusif, untuk mem-veto prosesor, platform, atau status menganggur terkoordinasi apa pun. PEP tidak diizinkan untuk menggunakan alasan veto yang lebih besar dari VetoReasonCount. OS akan mengalokasikan struktur pelacakan veto sebelumnya, dan ketika digunakan dengan PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, menjamin bahwa semua prosesor, platform, dan panggilan balik veto status terkoordinasi akan berhasil.

Jika pemberitahuan ini tidak diterima oleh PEP, PEP dapat menggunakan panggilan balik ProcessorIdleVeto dan PlatformIdleVeto dengan alasan veto hukum apa pun. OS tidak menjamin bahwa panggilan balik tidak akan gagal karena kegagalan alokasi atau masalah lainnya.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_VETO_REASONS, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_VETO_REASON

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_VETO_REASON.

Data

Penunjuk ke struktur PEP_PPM_QUERY_VETO_REASON.

Keterangan

Dikirim ke PEP untuk meminta informasi tentang alasan veto tertentu.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini pada inisialisasi prosesor untuk meminta informasi tentang alasan veto tertentu. Pemberitahuan ini dikirim dua kali karena setiap alasan veto, sekali dengan buffer NULLName untuk mengambil ukuran alokasi yang diperlukan untuk Nama, dan sekali dengan buffer non-NULLName untuk mengisi konten Nama. Nama harus berupa string yang dapat dibaca manusia yang menunjukkan kondisi apa yang diwakili oleh alasan veto ini. Alat penelusuran kesalahan seperti WPA dan debugger kernel akan menampilkan Nama saat mendiagnosis mengapa status menganggur tidak dimasukkan.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_VETO_REASON, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES.

Data

Nilai penunjuk NULL.

Keterangan

Menginformasikan PEP bahwa OS siap menerima panggilan ke ProcessorIdleVeto atau PlatformIdleVeto.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini setelah inisialisasi prosesor tetapi sebelum entri diam pertama untuk menunjukkan bahwa OS siap untuk menerima panggilan ke ProcessorIdleVeto atau PlatformIdleVeto. PEP dapat menghitung veto waktu boot apa pun dalam konteks pemberitahuan ini, dan OS menjamin bahwa mereka akan berlaku sebelum upaya pertama untuk memilih prosesor, platform, atau status menganggur terkoordinasi. Pemberitahuan ini tidak memiliki parameter Data terkait.

Untuk pemberitahuan PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PARK_MASK

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_PARK_MASK.

Data

Penunjuk ke struktur PEP_PPM_PARK_MASK.

Keterangan

Menginformasikan PEP dari masker parkir inti saat ini.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini saat runtime untuk memberi tahu PEP tentang masker parkir inti saat ini.

Untuk pemberitahuan PEP_NOTIFY_PPM_PARK_MASK, rutinitas AcceptProcessorNotification dipanggil di IRQL = DISPATCH_LEVEL dan dapat dikirim saat mengeksekusi pada prosesor apa pun.

PEP_NOTIFY_PPM_PARK_SELECTION_V2

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_PARK_SELECTION_V2.

Data

Penunjuk ke struktur PEP_PPM_PARK_SELECTION_V2.

Keterangan

Menginformasikan PEP bahwa OS ingin memilih sekumpulan core pilihan untuk diparkir atau menyela kemudi. Jika pemberitahuan ini tidak diterima, OS akan kembali untuk mengirim pemberitahuan PEP_NOTIFY_PPM_PARK_SELECTION.

Saat menjalankan algoritma pemeriksaan performanya, OS dapat mengirim pemberitahuan PEP_NOTIFY_PPM_PARK_SELECTION_V2 beberapa kali: nol atau lebih kali untuk setiap kelas efisiensi inti dalam setiap domain taman, dan nol atau lebih kali untuk menyela kemudi. Untuk membantu PEP dalam memberikan respons yang konsisten ke OS untuk pemeriksaan performa, OS akan menyediakan tanda waktu berdasarkan waktu interupsi dari evaluasi pemeriksaan performa yang meminta pemberitahuan. Semua pemberitahuan pemilihan taman yang dihasilkan dari satu evaluasi pemeriksaan performa akan memiliki tanda waktu yang sama. Perhatikan bahwa bidang yang tersisa (Count, AdditionalUnparkedProcessors, EvaluationType, dan Processors) dapat bervariasi untuk pemberitahuan yang dikirim selama evaluasi pemeriksaan performa yang sama, PEP tidak dapat berasumsi bahwa mereka akan tetap sama.

Untuk pemberitahuan PEP_NOTIFY_PPM_PARK_SELECTION, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE.

Data

Penunjuk ke struktur PEP_PPM_PERF_CHECK_COMPLETE.

Keterangan

Menginformasikan PEP bahwa evaluasi pemeriksaan performa berkala telah selesai.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini saat runtime untuk memberi tahu PEP bahwa evaluasi periodik per pemeriksaan telah selesai.

Untuk pemberitahuan PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE, rutinitas AcceptProcessorNotification dipanggil di IRQL = DISPATCH_LEVEL dan dapat dikirim saat mengeksekusi pada prosesor apa pun.

PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY.

Data

Penunjuk ke struktur PEP_PPM_QUERY_COORDINATED_DEPENDENCY.

Keterangan

Dikirim ke PEP untuk mengkueri dependensi setiap status menganggur terkoordinasi.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini pada inisialisasi prosesor untuk mengkueri PEP untuk dependensi setiap status menganggur terkoordinasi. OS akan mengalokasikan elemen MaximumDependencySize untuk array Dependensi. PEP harus mengisi jumlah elemen array yang digunakan dalam DependencySizeUsed.

Jika dependensi yang dinyatakan ada pada prosesor, PEP mengisi bidang TargetProcessor dengan POHANDLE dari prosesor target. Bidang ExpectedState kemudian mengacu pada indeks status menganggur prosesor pada prosesor target.

Jika dependensi yang dinyatakan berada pada status menganggur terkoordinasi lainnya, PEP mengisi NULL untuk TargetProcessor. Bidang ExpectedState kemudian mengacu pada indeks status menganggur terkoordinasi.

Setiap dependensi mencantumkan menu opsi yang diizinkan untuk digunakan OS untuk memenuhi dependensi. Saat menganggur, OS akan mencoba memenuhi dependensi dengan memeriksa kondisi untuk masing-masing, dari indeks tertinggi hingga indeks terendah. Jika kondisi untuk dependensi terpenuhi, maka OS akan mempertimbangkan dependensi terpenuhi. Jika tidak ada kondisi yang dapat dipenuhi, dependensi tidak terpenuhi dan status menganggur terkoordinasi mungkin tidak dimasukkan.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME.

Data

Penunjuk ke struktur PEP_PPM_QUERY_STATE_NAME.

Keterangan

Dikirim ke PEP untuk meminta informasi tentang status diam terkoordinasi atau platform tertentu.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini di inisialisasi prosesor untuk mengkueri PEP untuk informasi tentang status diam terkoordinasi atau platform tertentu. Pemberitahuan ini dikirim dua kali untuk setiap status, sekali dengan buffer Nama NULL untuk mengambil ukuran alokasi yang diperlukan untuk Nama, dan sekali dengan buffer Nama non-NULL untuk mengisi konten Nama. Nama harus berupa string yang dapat dibaca manusia yang menunjukkan nama status menganggur terkoordinasi. Status menganggur terkoordinasi harus memiliki nama yang unik, kecuali pada sistem multi-kluster, di mana nama status yang setara pada kluster yang berbeda mungkin sama. Alat penelusuran kesalahan seperti WPA dan debugger kernel akan menampilkan Nama dalam diagnostik yang mengacu pada status menganggur terkoordinasi/platform ini.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES.

Data

Penunjuk ke struktur PEP_PPM_QUERY_COORDINATED_STATES.

Keterangan

Digunakan pada inisialisasi prosesor untuk mengkueri properti semua status menganggur terkoordinasi.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini ke PEP pada inisialisasi prosesor untuk mengkueri properti semua status menganggur terkoordinasi. Pemberitahuan ini dikirim tepat sebelum PEP akan mengirim pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. Jika diterima, PEP menggunakan antarmuka status menganggur terkoordinasi dan tidak akan menerima pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE apa pun. Jika tidak diterima, PEP menggunakan antarmuka status diam platform dan OS akan kembali menggunakan pemberitahuan PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE untuk mengkueri status menganggur terkoordinasi.

OS akan menunggu untuk mengirim pemberitahuan ini sampai setelah semua prosesor terdaftar di PEP.

PEP mengisi struktur Status dengan informasi tentang status menganggur yang terkoordinasi.

Urutan status menganggur terkoordinasi harus mengikuti aturan berikut:

Dua status terkoordinasi yang mewakili status daya yang berbeda untuk unit fungsional yang sama harus dicantumkan secara berurutan dari yang paling ringan (sebagian besar konsumsi daya/biaya transisi paling sedikit) ke yang terdalam (konsumsi daya terkecil/biaya transisi terbanyak). Status diam terkoordinasi hanya dapat bergantung pada status diam terkoordinasi lainnya dengan indeks yang lebih rendah. Tidak ada urutan yang diperlukan antara dua status menganggur terkoordinasi yang terputus-putus (yaitu, dua status menganggur terkoordinasi yang bergantung pada set prosesor yang terputus-putus).

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME.

Data

Penunjuk ke struktur PEP_PPM_QUERY_STATE_NAME.

Keterangan

Dikirim ke PEP untuk meminta informasi tentang status menganggur prosesor tertentu.

Kerangka kerja manajemen daya Windows (PoFx) mengirimkan pemberitahuan ini di inisialisasi prosesor untuk mengkueri PEP untuk informasi tentang status menganggur prosesor tertentu. Pemberitahuan ini dikirim dua kali untuk setiap status, sekali dengan buffer Nama NULL untuk mengambil ukuran alokasi yang diperlukan untuk Nama, dan sekali dengan buffer Nama non-NULL untuk mengisi konten Nama. Nama harus berupa string yang dapat dibaca manusia yang menunjukkan nama status menganggur terkoordinasi. Status diam terkoordinasi harus memiliki nama yang unik, kecuali pada sistem multi-kluster, di mana nama status yang setara pada kluster yang berbeda mungkin sama. Alat penelusuran kesalahan seperti WPA dan debugger kernel akan menampilkan Nama dalam diagnostik yang mengacu pada status idle terkoordinasi/platform ini.

Untuk pemberitahuan PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME, rutinitas AcceptProcessorNotification selalu dipanggil di IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE.

Data

Penunjuk ke struktur PEP_PPM_ENTER_SYSTEM_STATE.

Keterangan

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE adalah pemberitahuan opsional yang memberi tahu PEP bahwa sistem akan memasuki status daya sistem. Pemberitahuan ini dikirim ke semua prosesor secara bersamaan setelah sistem menyelesaikan semua pekerjaan tingkat pasif yang mentransisikan prosesor ke status daya sistem.

Pemberitahuan ini dikirim pada DISPATCH_LEVEL, dengan semua prosesor saat dikirim. Pemberitahuan ini selalu dijalankan pada prosesor target.

Perhatikan Bahwa PEP tidak boleh mengantrekan pekerjaan apa pun dari pemberitahuan ini. Prosesor tidak akan memproses item kerja, DPC, dll. setelah pemberitahuan ini dikirim.

DISPATCH_LEVEL

PEP_NOTIFY_PPM_PERF_SET_STATE

Berikut ini menjelaskan parameter untuk AcceptProcessorNotification.

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_PERF_SET_STATE.

Data

Penunjuk ke struktur PEP_PPM_PERF_SET_STATE .

Keterangan

Digunakan pada runtime untuk mengatur status performa operasi prosesor saat ini. Jika PEP memiliki perangkat keras otonom yang mampu meningkatkan/mengurangi performa tanpa permintaan set performa, peP harus membatasi permintaan dari perangkat keras otonom berdasarkan status performa minimum dan/atau status performa maksimum, dan menargetkan status performa yang diinginkan. Jika tidak, itu harus berjalan pada status performa yang diinginkan.

Pemberitahuan ini dikirim pada DISPATCH_LEVEL. Jika status performa yang diarahkan penjadwal sedang digunakan, PEP harus mematuhi pembatasan di bagian 3.3.6 saat memproses pemberitahuan ini. Ini dapat dikirim saat dieksekusi pada prosesor apa pun.

PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES.

Data

Penunjuk ke struktur PEP_PPM_QUERY_DISCRETE_PERF_STATES. Digunakan pada inisialisasi prosesor untuk mengkueri daftar performa diskrit yang didukung PEP, jika pemberitahuan PEP_NOTIFY_PPM_QUERY_CAPABILITIES menunjukkan dukungan untuk status performa diskrit.

Daftar status performa harus diurutkan dari tercepat ke terlambat, dengan setiap pemetaan status performa ke nilai performa yang berbeda. Daftar status performa juga harus menyertakan entri yang cocok dengan setiap nilai performa yang tercantum dalam pemberitahuan PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES. Pemberitahuan ini dikirim pada PASSIVE_LEVEL. Ini dapat dikirim saat dieksekusi pada prosesor apa pun.

PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO.

Data

Penunjuk ke struktur PEP_PPM_QUERY_DOMAIN_INFO.

Keterangan

Pemberitahuan opsional yang meminta informasi tentang domain performa. Pemberitahuan ini dikirim pada PASSIVE_LEVEL. Ini dapat dikirim saat dieksekusi pada prosesor apa pun.

PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE

Handle

Struktur PEPHANDLE yang berisi handel perangkat PEP untuk prosesor target. Jika pemberitahuan tidak menargetkan prosesor tertentu, ini akan menjadi NULL.

Pemberitahuan

Nilai PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE.

Data

Penunjuk ke struktur PEP_PPM_RESUME_FROM_SYSTEM_STATE.

Keterangan

Pemberitahuan opsional yang memberi tahu PEP bahwa sistem baru saja dilanjutkan dari status daya sistem. Pemberitahuan ini dikirim ke semua prosesor secara bersamaan tepat sebelum prosesor dirilis untuk melanjutkan pekerjaan tingkat pasif. Pemberitahuan ini dikirim pada DISPATCH_LEVEL, dengan semua prosesor saat dikirim. Pemberitahuan ini selalu dijalankan pada prosesor target.