replace nob with ms' build, move disk creation to build.bat, major comment cleanup, remove old and stupid tests, overhaul interrupt management with per-CPU vector allocation, affinity migration and safe teardown, add proper IOAPIC routing and PCI MSI/MSI-X/INTx support, migrate drivers to the new interrupt API, integrate ACPICA with a proper OS services layer, move ACPI firmware events, power button handling and S5 shutdown into acpi.sys, add parallel driver startup and atomic publication, replace PnP arrays with dynamic lists, redesign service startup again to be asynchronous, add delayed startup mode for services, allow omitting keys in services.ini, fix acpi ec deferred work handling, fix kernel threads having garbage exit code.
This commit is contained in:
1 parent
d36f19509c
commit
36eef8f58d
696 files changed
+147281
-7530
No files matched your search
@@ -0,0 +1,36 @@
|
||||
// Firmware power provider interface for resident platform drivers.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include <ntlite/status.h>
|
||||
|
||||
// A registered provider remains resident through the final hardware transition.
|
||||
// Callbacks run in thread context; Enter returns an error if the transition fails.
|
||||
typedef struct NTL_FIRMWARE_POWER_PROVIDER {
|
||||
uint32_t Size;
|
||||
void* Context;
|
||||
KSTATUS (*Prepare)(void* context, uint32_t action);
|
||||
KSTATUS (*Enter)(void* context, uint32_t action);
|
||||
} NTL_FIRMWARE_POWER_PROVIDER;
|
||||
|
||||
#ifdef NTL_KERNEL_BUILD
|
||||
#define NTL_DDK_POWER_API __declspec(dllexport)
|
||||
#else
|
||||
#define NTL_DDK_POWER_API __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// Installs one firmware power provider for the lifetime of the boot.
|
||||
NTL_DDK_POWER_API KSTATUS KeRegisterFirmwarePowerProvider(
|
||||
const NTL_FIRMWARE_POWER_PROVIDER* provider);
|
||||
|
||||
// Reports a physical button press from a firmware driver's worker context.
|
||||
NTL_DDK_POWER_API KSTATUS KeNotifyPowerButton(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in new issue
Block a user