From 624c3fd847868d26b9e3f3e1ada7eab188ca8648 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?George=20Bi=C8=99oc?= Date: Mon, 14 Jul 2025 22:52:59 +0200 Subject: [PATCH] [SDK] Introduce the PO GUID library This library aims to include all the public and global power manager related GUID identifiers into one shared library, of which they can be accessed across multiple modules of ReactOS, e.g. the kernel, ACPI, PCI, et al. This patch is needed for the development of the Power Manager (#5719) to continue. CORE-18969 --- ntoskrnl/CMakeLists.txt | 2 +- ntoskrnl/ntkrnlmp/CMakeLists.txt | 2 +- ntoskrnl/ntos.cmake | 1 - ntoskrnl/po/guid.c | 4 ---- sdk/include/xdk/potypes.h | 25 ++++++++++++++----------- sdk/lib/CMakeLists.txt | 1 + sdk/lib/poguid/CMakeLists.txt | 3 +++ sdk/lib/poguid/poguid.c | 14 ++++++++++++++ 8 files changed, 34 insertions(+), 18 deletions(-) delete mode 100644 ntoskrnl/po/guid.c create mode 100644 sdk/lib/poguid/CMakeLists.txt create mode 100644 sdk/lib/poguid/poguid.c diff --git a/ntoskrnl/CMakeLists.txt b/ntoskrnl/CMakeLists.txt index ffa2c64633b..bbd6dda003c 100644 --- a/ntoskrnl/CMakeLists.txt +++ b/ntoskrnl/CMakeLists.txt @@ -46,7 +46,7 @@ set_module_type(ntoskrnl kernel) source_group(TREE ${REACTOS_SOURCE_DIR}/ntoskrnl PREFIX "Source Files" FILES ${NTOSKRNL_SOURCE}) -target_link_libraries(ntoskrnl cportlib csq ${PSEH_LIB} arbiter cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr wdmguid ioevent) +target_link_libraries(ntoskrnl cportlib csq ${PSEH_LIB} arbiter cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr wdmguid poguid ioevent) if(STACK_PROTECTOR) target_sources(ntoskrnl PRIVATE $) diff --git a/ntoskrnl/ntkrnlmp/CMakeLists.txt b/ntoskrnl/ntkrnlmp/CMakeLists.txt index da4677de0a0..ef768d31e7c 100644 --- a/ntoskrnl/ntkrnlmp/CMakeLists.txt +++ b/ntoskrnl/ntkrnlmp/CMakeLists.txt @@ -37,7 +37,7 @@ if(STACK_PROTECTOR) target_sources(ntkrnlmp PRIVATE $) endif() -target_link_libraries(ntkrnlmp cportlib csq ${PSEH_LIB} arbiter cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr wdmguid ioevent) +target_link_libraries(ntkrnlmp cportlib csq ${PSEH_LIB} arbiter cmlib ntlsalib rtl ${ROSSYM_LIB} libcntpr wdmguid poguid ioevent) add_importlibs(ntkrnlmp hal kdcom bootvid) add_pch(ntkrnlmp ${REACTOS_SOURCE_DIR}/ntoskrnl/include/ntoskrnl.h "${NTKRNLMP_PCH_SKIP_SOURCE}") add_dependencies(ntkrnlmp psdk asm) diff --git a/ntoskrnl/ntos.cmake b/ntoskrnl/ntos.cmake index f8853b12b95..249ce3c11c8 100644 --- a/ntoskrnl/ntos.cmake +++ b/ntoskrnl/ntos.cmake @@ -253,7 +253,6 @@ list(APPEND SOURCE ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/obsecure.c ${REACTOS_SOURCE_DIR}/ntoskrnl/ob/obwait.c ${REACTOS_SOURCE_DIR}/ntoskrnl/po/events.c - ${REACTOS_SOURCE_DIR}/ntoskrnl/po/guid.c ${REACTOS_SOURCE_DIR}/ntoskrnl/po/poshtdwn.c ${REACTOS_SOURCE_DIR}/ntoskrnl/po/povolume.c ${REACTOS_SOURCE_DIR}/ntoskrnl/po/power.c diff --git a/ntoskrnl/po/guid.c b/ntoskrnl/po/guid.c deleted file mode 100644 index a3ec3196c0f..00000000000 --- a/ntoskrnl/po/guid.c +++ /dev/null @@ -1,4 +0,0 @@ - -#include -#include -#include diff --git a/sdk/include/xdk/potypes.h b/sdk/include/xdk/potypes.h index 9524ee0b7c4..f9b1b999490 100644 --- a/sdk/include/xdk/potypes.h +++ b/sdk/include/xdk/potypes.h @@ -335,6 +335,20 @@ typedef struct { #define CORE_PARKING_POLICY_CHANGE_ROCKET 2 #define CORE_PARKING_POLICY_CHANGE_MAX CORE_PARKING_POLICY_CHANGE_ROCKET +#define PERFSTATE_POLICY_CHANGE_IDEAL 0 +#define PERFSTATE_POLICY_CHANGE_SINGLE 1 +#define PERFSTATE_POLICY_CHANGE_ROCKET 2 +#define PERFSTATE_POLICY_CHANGE_MAX PERFSTATE_POLICY_CHANGE_ROCKET + +#define PROCESSOR_PERF_BOOST_POLICY_DISABLED 0 +#define PROCESSOR_PERF_BOOST_POLICY_MAX 100 + +#define POWER_DEVICE_IDLE_POLICY_PERFORMANCE 0 +#define POWER_DEVICE_IDLE_POLICY_CONSERVATIVE 1 + +// +// Power setting GUIDs +// DEFINE_GUID(GUID_MAX_POWER_SAVINGS, 0xA1841308, 0x3541, 0x4FAB, 0xBC, 0x81, 0xF7, 0x15, 0x56, 0xF2, 0x0B, 0x4A); DEFINE_GUID(GUID_MIN_POWER_SAVINGS, 0x8C5E7FDA, 0xE8BF, 0x4A96, 0x9A, 0x85, 0xA6, 0xE2, 0x3A, 0x8C, 0x63, 0x5C); DEFINE_GUID(GUID_TYPICAL_POWER_SAVINGS, 0x381B4222, 0xF694, 0x41F0, 0x96, 0x85, 0xFF, 0x5B, 0xB2, 0x60, 0xDF, 0x2E); @@ -446,17 +460,6 @@ DEFINE_GUID(GUID_PCIEXPRESS_SETTINGS_SUBGROUP, 0x501a4d13, 0x42af,0x4429, 0x9f, DEFINE_GUID(GUID_PCIEXPRESS_ASPM_POLICY, 0xee12f906, 0xd277, 0x404b, 0xb6, 0xda, 0xe5, 0xfa, 0x1a, 0x57, 0x6d, 0xf5); DEFINE_GUID(GUID_ENABLE_SWITCH_FORCED_SHUTDOWN, 0x833a6b62, 0xdfa4, 0x46d1, 0x82, 0xf8, 0xe0, 0x9e, 0x34, 0xd0, 0x29, 0xd6); -#define PERFSTATE_POLICY_CHANGE_IDEAL 0 -#define PERFSTATE_POLICY_CHANGE_SINGLE 1 -#define PERFSTATE_POLICY_CHANGE_ROCKET 2 -#define PERFSTATE_POLICY_CHANGE_MAX PERFSTATE_POLICY_CHANGE_ROCKET - -#define PROCESSOR_PERF_BOOST_POLICY_DISABLED 0 -#define PROCESSOR_PERF_BOOST_POLICY_MAX 100 - -#define POWER_DEVICE_IDLE_POLICY_PERFORMANCE 0 -#define POWER_DEVICE_IDLE_POLICY_CONSERVATIVE 1 - _Function_class_(REQUEST_POWER_COMPLETE) _IRQL_requires_same_ typedef VOID diff --git a/sdk/lib/CMakeLists.txt b/sdk/lib/CMakeLists.txt index f87d4c0bde4..27d51a4eee0 100644 --- a/sdk/lib/CMakeLists.txt +++ b/sdk/lib/CMakeLists.txt @@ -38,6 +38,7 @@ add_subdirectory(ioevent) add_subdirectory(lsalib) add_subdirectory(nt) add_subdirectory(pathcch) +add_subdirectory(poguid) add_subdirectory(pseh) if(KDBG) diff --git a/sdk/lib/poguid/CMakeLists.txt b/sdk/lib/poguid/CMakeLists.txt new file mode 100644 index 00000000000..84e16061a63 --- /dev/null +++ b/sdk/lib/poguid/CMakeLists.txt @@ -0,0 +1,3 @@ + +add_library(poguid poguid.c) +add_dependencies(poguid psdk) diff --git a/sdk/lib/poguid/poguid.c b/sdk/lib/poguid/poguid.c new file mode 100644 index 00000000000..0b30eff2b2c --- /dev/null +++ b/sdk/lib/poguid/poguid.c @@ -0,0 +1,14 @@ +/* + * PROJECT: ReactOS SDK + * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) + * PURPOSE: Power Manager GUID library + * COPYRIGHT: Copyright 2011 Timo Kreuzer + */ + +/* INCLUDES *****************************************************************/ + +#include +#include +#include + +/* EOF */