diff --git a/reactos/ntoskrnl/cc/cacheman.c b/reactos/ntoskrnl/cc/cacheman.c index a9459d7988d..78d23e737cd 100644 --- a/reactos/ntoskrnl/cc/cacheman.c +++ b/reactos/ntoskrnl/cc/cacheman.c @@ -19,6 +19,7 @@ PFSN_PREFETCHER_GLOBALS CcPfGlobals; VOID NTAPI +INIT_FUNCTION CcPfInitializePrefetcher(VOID) { /* Notify debugger */ @@ -36,6 +37,7 @@ CcPfInitializePrefetcher(VOID) BOOLEAN NTAPI +INIT_FUNCTION CcInitializeCacheManager(VOID) { CcInitView(); diff --git a/reactos/ntoskrnl/config/cmalloc.c b/reactos/ntoskrnl/config/cmalloc.c index 97dfc1a6e26..65028838e13 100644 --- a/reactos/ntoskrnl/config/cmalloc.c +++ b/reactos/ntoskrnl/config/cmalloc.c @@ -25,6 +25,7 @@ LIST_ENTRY CmpFreeDelayItemsListHead; VOID NTAPI +INIT_FUNCTION CmpInitCmPrivateAlloc(VOID) { /* Make sure we didn't already do this */ @@ -39,6 +40,7 @@ CmpInitCmPrivateAlloc(VOID) VOID NTAPI +INIT_FUNCTION CmpInitCmPrivateDelayAlloc(VOID) { /* Initialize the delay allocation list and lock */ diff --git a/reactos/ntoskrnl/config/cmboot.c b/reactos/ntoskrnl/config/cmboot.c index 50c6815866f..1416c4dfe01 100644 --- a/reactos/ntoskrnl/config/cmboot.c +++ b/reactos/ntoskrnl/config/cmboot.c @@ -17,6 +17,7 @@ HCELL_INDEX NTAPI +INIT_FUNCTION CmpFindControlSet(IN PHHIVE SystemHive, IN HCELL_INDEX RootCell, IN PUNICODE_STRING SelectKeyName, @@ -126,6 +127,7 @@ CmpFindControlSet(IN PHHIVE SystemHive, ULONG NTAPI +INIT_FUNCTION CmpFindTagIndex(IN PHHIVE Hive, IN HCELL_INDEX TagCell, IN HCELL_INDEX GroupOrderCell, @@ -175,6 +177,7 @@ CmpFindTagIndex(IN PHHIVE Hive, BOOLEAN NTAPI +INIT_FUNCTION CmpAddDriverToList(IN PHHIVE Hive, IN HCELL_INDEX DriverCell, IN HCELL_INDEX GroupOrderCell, @@ -341,6 +344,7 @@ CmpAddDriverToList(IN PHHIVE Hive, BOOLEAN NTAPI +INIT_FUNCTION CmpIsLoadType(IN PHHIVE Hive, IN HCELL_INDEX Cell, IN SERVICE_LOAD_TYPE LoadType) @@ -371,6 +375,7 @@ CmpIsLoadType(IN PHHIVE Hive, BOOLEAN NTAPI +INIT_FUNCTION CmpFindDrivers(IN PHHIVE Hive, IN HCELL_INDEX ControlSet, IN SERVICE_LOAD_TYPE LoadType, @@ -465,6 +470,7 @@ CmpFindDrivers(IN PHHIVE Hive, BOOLEAN NTAPI +INIT_FUNCTION CmpDoSort(IN PLIST_ENTRY DriverListHead, IN PUNICODE_STRING OrderList) { @@ -521,6 +527,7 @@ CmpDoSort(IN PLIST_ENTRY DriverListHead, BOOLEAN NTAPI +INIT_FUNCTION CmpSortDriverList(IN PHHIVE Hive, IN HCELL_INDEX ControlSet, IN PLIST_ENTRY DriverListHead) @@ -569,6 +576,7 @@ CmpSortDriverList(IN PHHIVE Hive, BOOLEAN NTAPI +INIT_FUNCTION CmpOrderGroup(IN PBOOT_DRIVER_NODE StartNode, IN PBOOT_DRIVER_NODE EndNode) { @@ -631,6 +639,7 @@ CmpOrderGroup(IN PBOOT_DRIVER_NODE StartNode, BOOLEAN NTAPI +INIT_FUNCTION CmpResolveDriverDependencies(IN PLIST_ENTRY DriverListHead) { PLIST_ENTRY NextEntry; diff --git a/reactos/ntoskrnl/config/cmconfig.c b/reactos/ntoskrnl/config/cmconfig.c index 7aae14da7a6..f483d700983 100644 --- a/reactos/ntoskrnl/config/cmconfig.c +++ b/reactos/ntoskrnl/config/cmconfig.c @@ -16,6 +16,7 @@ NTSTATUS NTAPI +INIT_FUNCTION CmpInitializeRegistryNode(IN PCONFIGURATION_COMPONENT_DATA CurrentEntry, IN HANDLE NodeHandle, OUT PHANDLE NewHandle, @@ -195,6 +196,7 @@ CmpInitializeRegistryNode(IN PCONFIGURATION_COMPONENT_DATA CurrentEntry, NTSTATUS NTAPI +INIT_FUNCTION CmpSetupConfigurationTree(IN PCONFIGURATION_COMPONENT_DATA CurrentEntry, IN HANDLE ParentHandle, IN INTERFACE_TYPE InterfaceType, @@ -311,6 +313,7 @@ CmpSetupConfigurationTree(IN PCONFIGURATION_COMPONENT_DATA CurrentEntry, NTSTATUS NTAPI +INIT_FUNCTION CmpInitializeHardwareConfiguration(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { NTSTATUS Status; @@ -390,8 +393,3 @@ CmpInitializeHardwareConfiguration(IN PLOADER_PARAMETER_BLOCK LoaderBlock) NtClose(KeyHandle); return Status; } - - - - - diff --git a/reactos/ntoskrnl/config/cmcontrl.c b/reactos/ntoskrnl/config/cmcontrl.c index 8d3459ba72e..1e481e455c0 100644 --- a/reactos/ntoskrnl/config/cmcontrl.c +++ b/reactos/ntoskrnl/config/cmcontrl.c @@ -18,6 +18,7 @@ LANGID NTAPI +INIT_FUNCTION CmpConvertLangId(IN LPWSTR Name, IN ULONG NameLength) { @@ -68,6 +69,7 @@ CmpConvertLangId(IN LPWSTR Name, HCELL_INDEX NTAPI +INIT_FUNCTION CmpWalkPath(IN PHHIVE SystemHive, IN HCELL_INDEX ParentCell, IN LPWSTR Path) @@ -98,6 +100,7 @@ CmpWalkPath(IN PHHIVE SystemHive, VOID NTAPI +INIT_FUNCTION CmGetSystemControlValues(IN PVOID SystemHiveData, IN PCM_SYSTEM_CONTROL_VECTOR ControlVector) { diff --git a/reactos/ntoskrnl/config/cmdata.c b/reactos/ntoskrnl/config/cmdata.c index 6dbf2a0380d..a4e7acb6590 100644 --- a/reactos/ntoskrnl/config/cmdata.c +++ b/reactos/ntoskrnl/config/cmdata.c @@ -65,7 +65,7 @@ ULONG CmpTypeCount[MaximumType + 1]; HANDLE CmpRegistryRootHandle; -UNICODE_STRING CmClassName[MaximumClass + 1] = +INIT_FUNCTION UNICODE_STRING CmClassName[MaximumClass + 1] = { RTL_CONSTANT_STRING(L"System"), RTL_CONSTANT_STRING(L"Processor"), @@ -77,7 +77,7 @@ UNICODE_STRING CmClassName[MaximumClass + 1] = RTL_CONSTANT_STRING(L"Undefined") }; -UNICODE_STRING CmTypeName[MaximumType + 1] = +INIT_FUNCTION UNICODE_STRING CmTypeName[MaximumType + 1] = { RTL_CONSTANT_STRING(L"System"), RTL_CONSTANT_STRING(L"CentralProcessor"), @@ -123,7 +123,7 @@ UNICODE_STRING CmTypeName[MaximumType + 1] = RTL_CONSTANT_STRING(L"Undefined") }; -CMP_MF_TYPE CmpMultifunctionTypes[] = +INIT_FUNCTION CMP_MF_TYPE CmpMultifunctionTypes[] = { {"ISA", Isa, 0}, {"MCA", MicroChannel, 0}, @@ -136,7 +136,7 @@ CMP_MF_TYPE CmpMultifunctionTypes[] = {NULL, Internal, 0} }; -CM_SYSTEM_CONTROL_VECTOR CmControlVector[] = +INIT_FUNCTION CM_SYSTEM_CONTROL_VECTOR CmControlVector[] = { { L"Session Manager", diff --git a/reactos/ntoskrnl/config/cmdelay.c b/reactos/ntoskrnl/config/cmdelay.c index 015aa2f991f..58ac9a67ce8 100644 --- a/reactos/ntoskrnl/config/cmdelay.c +++ b/reactos/ntoskrnl/config/cmdelay.c @@ -185,6 +185,7 @@ CmpDelayCloseWorker(IN PVOID Context) VOID NTAPI +INIT_FUNCTION CmpInitializeDelayedCloseTable(VOID) { @@ -259,6 +260,7 @@ CmpDelayDerefKCBWorker(IN PVOID Context) VOID NTAPI +INIT_FUNCTION CmpInitDelayDerefKCBEngine(VOID) { /* Initialize lock and list */ diff --git a/reactos/ntoskrnl/config/cmhook.c b/reactos/ntoskrnl/config/cmhook.c index 6ccd751f3ed..cf12c26404a 100644 --- a/reactos/ntoskrnl/config/cmhook.c +++ b/reactos/ntoskrnl/config/cmhook.c @@ -34,6 +34,7 @@ typedef struct _REGISTRY_CALLBACK VOID NTAPI +INIT_FUNCTION CmpInitCallback(VOID) { ULONG i; diff --git a/reactos/ntoskrnl/config/cmkcbncb.c b/reactos/ntoskrnl/config/cmkcbncb.c index a123a3cee56..1c093403c48 100644 --- a/reactos/ntoskrnl/config/cmkcbncb.c +++ b/reactos/ntoskrnl/config/cmkcbncb.c @@ -22,6 +22,7 @@ PCM_NAME_HASH_TABLE_ENTRY CmpNameCacheTable; VOID NTAPI +INIT_FUNCTION CmpInitializeCache(VOID) { ULONG Length, i; diff --git a/reactos/ntoskrnl/config/cmse.c b/reactos/ntoskrnl/config/cmse.c index 4ee2335c064..019a14c8868 100644 --- a/reactos/ntoskrnl/config/cmse.c +++ b/reactos/ntoskrnl/config/cmse.c @@ -18,6 +18,7 @@ PSECURITY_DESCRIPTOR NTAPI +INIT_FUNCTION CmpHiveRootSecurityDescriptor(VOID) { NTSTATUS Status; diff --git a/reactos/ntoskrnl/config/cmsysini.c b/reactos/ntoskrnl/config/cmsysini.c index 779d902b650..f144e84a0fa 100644 --- a/reactos/ntoskrnl/config/cmsysini.c +++ b/reactos/ntoskrnl/config/cmsysini.c @@ -308,6 +308,7 @@ CmpInitHiveFromFile(IN PCUNICODE_STRING HiveName, NTSTATUS NTAPI +INIT_FUNCTION CmpSetSystemValues(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { OBJECT_ATTRIBUTES ObjectAttributes; @@ -361,6 +362,7 @@ Quickie: NTSTATUS NTAPI +INIT_FUNCTION CmpCreateControlSet(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { UNICODE_STRING ConfigName = RTL_CONSTANT_STRING(L"Control\\IDConfigDB"); @@ -689,6 +691,7 @@ CmpLinkHiveToMaster(IN PUNICODE_STRING LinkName, BOOLEAN NTAPI +INIT_FUNCTION CmpInitializeSystemHive(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PVOID HiveBase; @@ -817,6 +820,7 @@ CmpInitializeSystemHive(IN PLOADER_PARAMETER_BLOCK LoaderBlock) NTSTATUS NTAPI +INIT_FUNCTION CmpCreateObjectTypes(VOID) { OBJECT_TYPE_INITIALIZER ObjectTypeInitializer; @@ -849,6 +853,7 @@ CmpCreateObjectTypes(VOID) BOOLEAN NTAPI +INIT_FUNCTION CmpCreateRootNode(IN PHHIVE Hive, IN PCWSTR Name, OUT PHCELL_INDEX Index) @@ -909,6 +914,7 @@ CmpCreateRootNode(IN PHHIVE Hive, BOOLEAN NTAPI +INIT_FUNCTION CmpCreateRegistryRoot(VOID) { UNICODE_STRING KeyName; @@ -1366,6 +1372,7 @@ CmpInitializeHiveList(IN USHORT Flag) BOOLEAN NTAPI +INIT_FUNCTION CmInitSystem1(VOID) { OBJECT_ATTRIBUTES ObjectAttributes; @@ -1577,6 +1584,7 @@ CmInitSystem1(VOID) VOID NTAPI +INIT_FUNCTION CmpFreeDriverList(IN PHHIVE Hive, IN PLIST_ENTRY DriverList) { @@ -1625,6 +1633,7 @@ CmpFreeDriverList(IN PHHIVE Hive, PUNICODE_STRING* NTAPI +INIT_FUNCTION CmGetSystemDriverList(VOID) { LIST_ENTRY DriverList; diff --git a/reactos/ntoskrnl/ex/handle.c b/reactos/ntoskrnl/ex/handle.c index 548163d0099..17ae2814550 100644 --- a/reactos/ntoskrnl/ex/handle.c +++ b/reactos/ntoskrnl/ex/handle.c @@ -23,6 +23,7 @@ EX_PUSH_LOCK HandleTableListLock; VOID NTAPI +INIT_FUNCTION ExpInitializeHandleTables(VOID) { /* Initialize the list of handle tables and the lock */ diff --git a/reactos/ntoskrnl/ex/hdlsterm.c b/reactos/ntoskrnl/ex/hdlsterm.c index a47cd006152..ce34699fcb2 100644 --- a/reactos/ntoskrnl/ex/hdlsterm.c +++ b/reactos/ntoskrnl/ex/hdlsterm.c @@ -69,6 +69,7 @@ HdlspEnableTerminal( VOID NTAPI +INIT_FUNCTION HeadlessInit( IN PLOADER_PARAMETER_BLOCK LoaderBlock ) diff --git a/reactos/ntoskrnl/ex/init.c b/reactos/ntoskrnl/ex/init.c index c8fa84b6874..ee7cc3c2f55 100644 --- a/reactos/ntoskrnl/ex/init.c +++ b/reactos/ntoskrnl/ex/init.c @@ -87,6 +87,7 @@ BOOLEAN ExpRealTimeIsUniversal; NTSTATUS NTAPI +INIT_FUNCTION ExpCreateSystemRootLink(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { UNICODE_STRING LinkName; @@ -198,6 +199,7 @@ ExpCreateSystemRootLink(IN PLOADER_PARAMETER_BLOCK LoaderBlock) VOID NTAPI +INIT_FUNCTION ExpInitNls(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { LARGE_INTEGER SectionSize; @@ -373,6 +375,7 @@ ExpInitNls(IN PLOADER_PARAMETER_BLOCK LoaderBlock) VOID NTAPI +INIT_FUNCTION ExpLoadInitialProcess(IN PINIT_BUFFER InitBuffer, OUT PRTL_USER_PROCESS_PARAMETERS *ProcessParameters, OUT PCHAR *ProcessEnvironment) @@ -593,6 +596,7 @@ ExpLoadInitialProcess(IN PINIT_BUFFER InitBuffer, ULONG NTAPI +INIT_FUNCTION ExComputeTickCountMultiplier(IN ULONG ClockIncrement) { ULONG MsRemainder = 0, MsIncrement; @@ -625,6 +629,7 @@ ExComputeTickCountMultiplier(IN ULONG ClockIncrement) BOOLEAN NTAPI +INIT_FUNCTION ExpInitSystemPhase0(VOID) { /* Initialize EXRESOURCE Support */ @@ -647,6 +652,7 @@ ExpInitSystemPhase0(VOID) BOOLEAN NTAPI +INIT_FUNCTION ExpInitSystemPhase1(VOID) { /* Initialize worker threads */ @@ -684,6 +690,7 @@ ExpInitSystemPhase1(VOID) BOOLEAN NTAPI +INIT_FUNCTION ExInitSystem(VOID) { /* Check the initialization phase */ @@ -709,6 +716,7 @@ ExInitSystem(VOID) BOOLEAN NTAPI +INIT_FUNCTION ExpIsLoaderValid(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PLOADER_PARAMETER_EXTENSION Extension; @@ -734,6 +742,7 @@ ExpIsLoaderValid(IN PLOADER_PARAMETER_BLOCK LoaderBlock) VOID NTAPI +INIT_FUNCTION ExpLoadBootSymbols(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { ULONG i = 0; @@ -826,6 +835,7 @@ ExpLoadBootSymbols(IN PLOADER_PARAMETER_BLOCK LoaderBlock) VOID NTAPI +INIT_FUNCTION ExBurnMemory(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN ULONG PagesToDestroy, IN TYPE_OF_MEMORY MemoryType) @@ -871,6 +881,7 @@ ExBurnMemory(IN PLOADER_PARAMETER_BLOCK LoaderBlock, VOID NTAPI +INIT_FUNCTION ExpInitializeExecutive(IN ULONG Cpu, IN PLOADER_PARAMETER_BLOCK LoaderBlock) { @@ -1281,6 +1292,7 @@ ExpInitializeExecutive(IN ULONG Cpu, VOID NTAPI +INIT_FUNCTION Phase1InitializationDiscard(IN PVOID Context) { PLOADER_PARAMETER_BLOCK LoaderBlock = Context; @@ -1899,6 +1911,7 @@ Phase1InitializationDiscard(IN PVOID Context) InbvUpdateProgressBar(90); /* Launch initial process */ + DPRINT1("Free non-cache pages: %lx\n", MmAvailablePages + MiMemoryConsumers[MC_CACHE].PagesUsed); ProcessInfo = &InitBuffer->ProcessInfo; ExpLoadInitialProcess(InitBuffer, &ProcessParameters, &Environment); @@ -1945,6 +1958,7 @@ Phase1InitializationDiscard(IN PVOID Context) /* Free the boot buffer */ ExFreePool(InitBuffer); + DPRINT1("Free non-cache pages: %lx\n", MmAvailablePages + MiMemoryConsumers[MC_CACHE].PagesUsed); } VOID diff --git a/reactos/ntoskrnl/ex/lookas.c b/reactos/ntoskrnl/ex/lookas.c index 7979e739e06..a82ececef68 100644 --- a/reactos/ntoskrnl/ex/lookas.c +++ b/reactos/ntoskrnl/ex/lookas.c @@ -31,6 +31,7 @@ GENERAL_LOOKASIDE ExpSmallPagedPoolLookasideLists[MAXIMUM_PROCESSORS]; VOID NTAPI +INIT_FUNCTION ExInitializeSystemLookasideList(IN PGENERAL_LOOKASIDE List, IN POOL_TYPE Type, IN ULONG Size, @@ -58,6 +59,7 @@ ExInitializeSystemLookasideList(IN PGENERAL_LOOKASIDE List, VOID NTAPI +INIT_FUNCTION ExInitPoolLookasidePointers(VOID) { ULONG i; @@ -87,6 +89,7 @@ ExInitPoolLookasidePointers(VOID) VOID NTAPI +INIT_FUNCTION ExpInitLookasideLists() { ULONG i; diff --git a/reactos/ntoskrnl/ex/pushlock.c b/reactos/ntoskrnl/ex/pushlock.c index f426d3d6c52..18ef8d66574 100644 --- a/reactos/ntoskrnl/ex/pushlock.c +++ b/reactos/ntoskrnl/ex/pushlock.c @@ -41,6 +41,7 @@ ULONG ExPushLockSpinCount = 0; *--*/ VOID NTAPI +INIT_FUNCTION ExpInitializePushLocks(VOID) { #ifdef CONFIG_SMP diff --git a/reactos/ntoskrnl/ex/xipdisp.c b/reactos/ntoskrnl/ex/xipdisp.c index aa739c2dfa8..c3249f43383 100644 --- a/reactos/ntoskrnl/ex/xipdisp.c +++ b/reactos/ntoskrnl/ex/xipdisp.c @@ -17,6 +17,7 @@ PMEMORY_ALLOCATION_DESCRIPTOR NTAPI +INIT_FUNCTION XIPpFindMemoryDescriptor(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PLIST_ENTRY NextEntry; @@ -40,6 +41,7 @@ XIPpFindMemoryDescriptor(IN PLOADER_PARAMETER_BLOCK LoaderBlock) VOID NTAPI +INIT_FUNCTION XIPInit(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PCHAR CommandLine, XipBoot, XipRom, XipMegs, XipVerbose, XipRam; diff --git a/reactos/ntoskrnl/fsrtl/fsrtlpc.c b/reactos/ntoskrnl/fsrtl/fsrtlpc.c index 9e018e44e20..6c59f4f691f 100644 --- a/reactos/ntoskrnl/fsrtl/fsrtlpc.c +++ b/reactos/ntoskrnl/fsrtl/fsrtlpc.c @@ -155,6 +155,7 @@ PUCHAR FsRtlLegalAnsiCharacterArray = LegalAnsiCharacterArray; BOOLEAN NTAPI +INIT_FUNCTION FsRtlInitSystem(VOID) { ULONG i; diff --git a/reactos/ntoskrnl/inbv/inbv.c b/reactos/ntoskrnl/inbv/inbv.c index 280e918bd83..98aff194e3f 100644 --- a/reactos/ntoskrnl/inbv/inbv.c +++ b/reactos/ntoskrnl/inbv/inbv.c @@ -28,6 +28,7 @@ BT_PROGRESS_INDICATOR InbvProgressIndicator = {0, 25, 0}; PVOID NTAPI +INIT_FUNCTION FindBitmapResource(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN ULONG ResourceId) { @@ -92,6 +93,7 @@ FindBitmapResource(IN PLOADER_PARAMETER_BLOCK LoaderBlock, BOOLEAN NTAPI +INIT_FUNCTION InbvDriverInitialize(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN ULONG Count) { @@ -174,6 +176,7 @@ InbvReleaseLock(VOID) VOID NTAPI +INIT_FUNCTION InbvEnableBootDriver(IN BOOLEAN Enable) { /* Check if we're installed */ @@ -408,6 +411,7 @@ InbvSolidColorFill(IN ULONG Left, VOID NTAPI +INIT_FUNCTION InbvUpdateProgressBar(IN ULONG Progress) { ULONG FillCount, BoundedProgress; @@ -523,6 +527,7 @@ InbvSetProgressBarSubset(IN ULONG Floor, VOID NTAPI +INIT_FUNCTION InbvIndicateProgress(VOID) { ULONG Percentage; @@ -570,6 +575,7 @@ NtDisplayString(IN PUNICODE_STRING DisplayString) VOID NTAPI +INIT_FUNCTION DisplayBootBitmap(IN BOOLEAN SosMode) { PVOID Header, Band, Text, Screen; @@ -705,6 +711,7 @@ DisplayBootBitmap(IN BOOLEAN SosMode) VOID NTAPI +INIT_FUNCTION FinalizeBootLogo(VOID) { /* Acquire lock and check the display state */ diff --git a/reactos/ntoskrnl/io/iomgr/arcname.c b/reactos/ntoskrnl/io/iomgr/arcname.c index 17d242ef5c5..a49fdfc20ab 100644 --- a/reactos/ntoskrnl/io/iomgr/arcname.c +++ b/reactos/ntoskrnl/io/iomgr/arcname.c @@ -785,6 +785,7 @@ Cleanup: NTSTATUS NTAPI +INIT_FUNCTION IopReassignSystemRoot(IN PLOADER_PARAMETER_BLOCK LoaderBlock, OUT PANSI_STRING NtBootPath) { diff --git a/reactos/ntoskrnl/io/iomgr/driver.c b/reactos/ntoskrnl/io/iomgr/driver.c index 1f5832c65ce..b0d35fa8fdd 100644 --- a/reactos/ntoskrnl/io/iomgr/driver.c +++ b/reactos/ntoskrnl/io/iomgr/driver.c @@ -709,6 +709,7 @@ MiResolveImageReferences(IN PVOID ImageBase, // NTSTATUS NTAPI +INIT_FUNCTION LdrProcessDriverModule(PLDR_DATA_TABLE_ENTRY LdrEntry, PUNICODE_STRING FileName, PLDR_DATA_TABLE_ENTRY *ModuleObject) @@ -784,6 +785,7 @@ LdrProcessDriverModule(PLDR_DATA_TABLE_ENTRY LdrEntry, NTSTATUS NTAPI +INIT_FUNCTION IopInitializeBuiltinDriver(IN PLDR_DATA_TABLE_ENTRY LdrEntry) { PDEVICE_NODE DeviceNode; @@ -870,6 +872,7 @@ IopInitializeBuiltinDriver(IN PLDR_DATA_TABLE_ENTRY LdrEntry) */ VOID FASTCALL +INIT_FUNCTION IopInitializeBootDrivers(VOID) { PLIST_ENTRY ListHead, NextEntry, NextEntry2; @@ -1061,6 +1064,7 @@ IopInitializeBootDrivers(VOID) VOID FASTCALL +INIT_FUNCTION IopInitializeSystemDrivers(VOID) { PUNICODE_STRING *DriverList, *SavedList; diff --git a/reactos/ntoskrnl/io/iomgr/ramdisk.c b/reactos/ntoskrnl/io/iomgr/ramdisk.c index eec4f8d801a..3ca2d0351d8 100644 --- a/reactos/ntoskrnl/io/iomgr/ramdisk.c +++ b/reactos/ntoskrnl/io/iomgr/ramdisk.c @@ -24,6 +24,7 @@ NTSTATUS NTAPI +INIT_FUNCTION IopStartRamdisk(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PMEMORY_ALLOCATION_DESCRIPTOR MemoryDescriptor; diff --git a/reactos/ntoskrnl/io/iomgr/rawfs.c b/reactos/ntoskrnl/io/iomgr/rawfs.c index 32c396f712e..143f486977c 100755 --- a/reactos/ntoskrnl/io/iomgr/rawfs.c +++ b/reactos/ntoskrnl/io/iomgr/rawfs.c @@ -1076,6 +1076,7 @@ RawUnload(IN PDRIVER_OBJECT DriverObject) NTSTATUS NTAPI +INIT_FUNCTION RawFsDriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) { diff --git a/reactos/ntoskrnl/io/pnpmgr/pnpinit.c b/reactos/ntoskrnl/io/pnpmgr/pnpinit.c index deced326832..7811632dd5c 100644 --- a/reactos/ntoskrnl/io/pnpmgr/pnpinit.c +++ b/reactos/ntoskrnl/io/pnpmgr/pnpinit.c @@ -44,6 +44,7 @@ IopInitializeArbiters(VOID) NTSTATUS NTAPI +INIT_FUNCTION PiInitCacheGroupInformation(VOID) { HANDLE KeyHandle; @@ -355,6 +356,7 @@ PipCallDriverAddDevice(IN PDEVICE_NODE DeviceNode, NTSTATUS NTAPI +INIT_FUNCTION IopInitializePlugPlayServices(VOID) { NTSTATUS Status; diff --git a/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c b/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c index 69e013caefc..cfdad1d741a 100644 --- a/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c +++ b/reactos/ntoskrnl/io/pnpmgr/pnpmgr.c @@ -2606,6 +2606,7 @@ cleanup: NTSTATUS NTAPI +INIT_FUNCTION IopUpdateRootKey(VOID) { UNICODE_STRING EnumU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Enum"); diff --git a/reactos/ntoskrnl/kd/kdinit.c b/reactos/ntoskrnl/kd/kdinit.c index 5fcc0ee8cd2..3e7b53e4057 100644 --- a/reactos/ntoskrnl/kd/kdinit.c +++ b/reactos/ntoskrnl/kd/kdinit.c @@ -44,6 +44,7 @@ PKDP_INIT_ROUTINE InitRoutines[KdMax] = {KdpScreenInit, PCHAR NTAPI +INIT_FUNCTION KdpGetDebugMode(PCHAR Currentp2) { PCHAR p2 = Currentp2; @@ -118,6 +119,7 @@ KdpGetDebugMode(PCHAR Currentp2) VOID NTAPI +INIT_FUNCTION KdpCallInitRoutine(ULONG BootPhase) { PLIST_ENTRY CurrentEntry; diff --git a/reactos/ntoskrnl/kd/kdio.c b/reactos/ntoskrnl/kd/kdio.c index db48c31e227..4c18d4c721d 100644 --- a/reactos/ntoskrnl/kd/kdio.c +++ b/reactos/ntoskrnl/kd/kdio.c @@ -134,6 +134,7 @@ KdpPrintToLogFile(PCH String, VOID NTAPI +INIT_FUNCTION KdpInitDebugLog(PKD_DISPATCH_TABLE DispatchTable, ULONG BootPhase) { diff --git a/reactos/ntoskrnl/kd64/kdinit.c b/reactos/ntoskrnl/kd64/kdinit.c index 542b8ded5d8..9fb10a86878 100644 --- a/reactos/ntoskrnl/kd64/kdinit.c +++ b/reactos/ntoskrnl/kd64/kdinit.c @@ -70,6 +70,7 @@ KdRegisterDebuggerDataBlock(IN ULONG Tag, BOOLEAN NTAPI +INIT_FUNCTION KdInitSystem(IN ULONG BootPhase, IN PLOADER_PARAMETER_BLOCK LoaderBlock) { diff --git a/reactos/ntoskrnl/kdbg/kdb.c b/reactos/ntoskrnl/kdbg/kdb.c index bc7e01864b0..67037f6829d 100644 --- a/reactos/ntoskrnl/kdbg/kdb.c +++ b/reactos/ntoskrnl/kdbg/kdb.c @@ -1695,6 +1695,7 @@ continue_execution: VOID NTAPI +INIT_FUNCTION KdbpGetCommandLineSettings( PCHAR p1) { diff --git a/reactos/ntoskrnl/ke/config.c b/reactos/ntoskrnl/ke/config.c index 5f9a196d032..ae01ca87368 100644 --- a/reactos/ntoskrnl/ke/config.c +++ b/reactos/ntoskrnl/ke/config.c @@ -19,6 +19,7 @@ */ PCONFIGURATION_COMPONENT_DATA NTAPI +INIT_FUNCTION KeFindConfigurationEntry(IN PCONFIGURATION_COMPONENT_DATA Child, IN CONFIGURATION_CLASS Class, IN CONFIGURATION_TYPE Type, @@ -39,6 +40,7 @@ KeFindConfigurationEntry(IN PCONFIGURATION_COMPONENT_DATA Child, */ PCONFIGURATION_COMPONENT_DATA NTAPI +INIT_FUNCTION KeFindConfigurationNextEntry(IN PCONFIGURATION_COMPONENT_DATA Child, IN CONFIGURATION_CLASS Class, IN CONFIGURATION_TYPE Type, diff --git a/reactos/ntoskrnl/ke/freeldr.c b/reactos/ntoskrnl/ke/freeldr.c index 7e67916a7ff..866d0a7ca2b 100644 --- a/reactos/ntoskrnl/ke/freeldr.c +++ b/reactos/ntoskrnl/ke/freeldr.c @@ -8,6 +8,8 @@ /* INCLUDES *****************************************************************/ +#if !defined(_X86_) + #include #define NDEBUG #include @@ -1412,3 +1414,4 @@ KiRosPrepareForSystemStartup(IN PROS_LOADER_PARAMETER_BLOCK LoaderBlock) /* Do general System Startup */ KiSystemStartup(NtLoaderBlock); } +#endif diff --git a/reactos/ntoskrnl/ke/i386/cpu.c b/reactos/ntoskrnl/ke/i386/cpu.c index 5e4f51dfd65..a8db4d5b5dd 100644 --- a/reactos/ntoskrnl/ke/i386/cpu.c +++ b/reactos/ntoskrnl/ke/i386/cpu.c @@ -120,6 +120,7 @@ RDMSR(IN ULONG Register) VOID NTAPI +INIT_FUNCTION KiSetProcessorType(VOID) { ULONG EFlags, NewEFlags; @@ -186,6 +187,7 @@ KiSetProcessorType(VOID) ULONG NTAPI +INIT_FUNCTION KiGetCpuVendor(VOID) { PKPRCB Prcb = KeGetCurrentPrcb(); @@ -247,6 +249,7 @@ KiGetCpuVendor(VOID) ULONG NTAPI +INIT_FUNCTION KiGetFeatureBits(VOID) { PKPRCB Prcb = KeGetCurrentPrcb(); @@ -472,6 +475,7 @@ KiGetFeatureBits(VOID) VOID NTAPI +INIT_FUNCTION KiGetCacheInformation(VOID) { PKIPCR Pcr = (PKIPCR)KeGetPcr(); @@ -774,6 +778,7 @@ KiGetCacheInformation(VOID) VOID NTAPI +INIT_FUNCTION KiSetCR0Bits(VOID) { ULONG Cr0; @@ -790,6 +795,7 @@ KiSetCR0Bits(VOID) VOID NTAPI +INIT_FUNCTION KiInitializeTSS2(IN PKTSS Tss, IN PKGDTENTRY TssEntry OPTIONAL) { @@ -843,6 +849,7 @@ KiInitializeTSS(IN PKTSS Tss) VOID FASTCALL +INIT_FUNCTION Ki386InitializeTss(IN PKTSS Tss, IN PKIDTENTRY Idt, IN PKGDTENTRY Gdt) @@ -1002,6 +1009,7 @@ KiSaveProcessorControlState(OUT PKPROCESSOR_STATE ProcessorState) VOID NTAPI +INIT_FUNCTION KiInitializeMachineType(VOID) { /* Set the Machine Type we got from NTLDR */ @@ -1010,6 +1018,7 @@ KiInitializeMachineType(VOID) ULONG_PTR NTAPI +INIT_FUNCTION KiLoadFastSyscallMachineSpecificRegisters(IN ULONG_PTR Context) { /* Set CS and ESP */ @@ -1023,6 +1032,7 @@ KiLoadFastSyscallMachineSpecificRegisters(IN ULONG_PTR Context) VOID NTAPI +INIT_FUNCTION KiRestoreFastSyscallReturnState(VOID) { /* Check if the CPU Supports fast system call */ @@ -1056,6 +1066,7 @@ KiRestoreFastSyscallReturnState(VOID) ULONG_PTR NTAPI +INIT_FUNCTION Ki386EnableDE(IN ULONG_PTR Context) { /* Enable DE */ @@ -1065,6 +1076,7 @@ Ki386EnableDE(IN ULONG_PTR Context) ULONG_PTR NTAPI +INIT_FUNCTION Ki386EnableFxsr(IN ULONG_PTR Context) { /* Enable FXSR */ @@ -1074,6 +1086,7 @@ Ki386EnableFxsr(IN ULONG_PTR Context) ULONG_PTR NTAPI +INIT_FUNCTION Ki386EnableXMMIExceptions(IN ULONG_PTR Context) { PKIDTENTRY IdtEntry; @@ -1096,6 +1109,7 @@ Ki386EnableXMMIExceptions(IN ULONG_PTR Context) VOID NTAPI +INIT_FUNCTION KiI386PentiumLockErrataFixup(VOID) { KDESCRIPTOR IdtDescriptor; @@ -1187,6 +1201,7 @@ KiSaveProcessorState(IN PKTRAP_FRAME TrapFrame, BOOLEAN NTAPI +INIT_FUNCTION KiIsNpxPresent(VOID) { ULONG Cr0; @@ -1227,6 +1242,7 @@ KiIsNpxPresent(VOID) BOOLEAN NTAPI +INIT_FUNCTION KiIsNpxErrataPresent(VOID) { BOOLEAN ErrataPresent; diff --git a/reactos/ntoskrnl/ke/i386/kiinit.c b/reactos/ntoskrnl/ke/i386/kiinit.c index b9ad8c65fea..535d6d27164 100644 --- a/reactos/ntoskrnl/ke/i386/kiinit.c +++ b/reactos/ntoskrnl/ke/i386/kiinit.c @@ -33,6 +33,7 @@ ULONGLONG BootCycles, BootCyclesEnd; VOID NTAPI +INIT_FUNCTION KiInitMachineDependent(VOID) { ULONG CpuCount; @@ -325,6 +326,7 @@ KiInitMachineDependent(VOID) VOID NTAPI +INIT_FUNCTION KiInitializePcr(IN ULONG ProcessorNumber, IN PKIPCR Pcr, IN PKIDTENTRY Idt, @@ -386,6 +388,7 @@ KiInitializePcr(IN ULONG ProcessorNumber, VOID NTAPI +INIT_FUNCTION KiInitializeKernel(IN PKPROCESS InitProcess, IN PKTHREAD InitThread, IN PVOID IdleStack, @@ -607,6 +610,7 @@ KiInitializeKernel(IN PKPROCESS InitProcess, VOID FASTCALL +INIT_FUNCTION KiGetMachineBootPointers(IN PKGDTENTRY *Gdt, IN PKIDTENTRY *Idt, IN PKIPCR *Pcr, @@ -647,6 +651,7 @@ KiGetMachineBootPointers(IN PKGDTENTRY *Gdt, VOID NTAPI +INIT_FUNCTION KiSystemStartupBootStack(VOID) { PKTHREAD Thread; @@ -676,6 +681,7 @@ KiSystemStartupBootStack(VOID) VOID NTAPI +INIT_FUNCTION KiSystemStartup(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { ULONG Cpu; @@ -689,10 +695,10 @@ KiSystemStartup(IN PLOADER_PARAMETER_BLOCK LoaderBlock) /* Boot cycles timestamp */ BootCycles = __rdtsc(); - +#if !defined(_X86_) /* Check if we are being booted from FreeLDR */ if (!((ULONG_PTR)LoaderBlock & 0x80000000)) KiRosPrepareForSystemStartup((PROS_LOADER_PARAMETER_BLOCK)LoaderBlock); - +#endif /* Save the loader block and get the current CPU */ KeLoaderBlock = LoaderBlock; Cpu = KeNumberProcessors; diff --git a/reactos/ntoskrnl/ke/i386/mtrr.c b/reactos/ntoskrnl/ke/i386/mtrr.c index 72ceed70f31..d2f83038f66 100644 --- a/reactos/ntoskrnl/ke/i386/mtrr.c +++ b/reactos/ntoskrnl/ke/i386/mtrr.c @@ -18,6 +18,7 @@ VOID NTAPI +INIT_FUNCTION KiInitializeMTRR(IN BOOLEAN FinalCpu) { /* FIXME: Support this */ @@ -26,6 +27,7 @@ KiInitializeMTRR(IN BOOLEAN FinalCpu) VOID NTAPI +INIT_FUNCTION KiAmdK6InitializeMTRR(VOID) { /* FIXME: Support this */ diff --git a/reactos/ntoskrnl/ke/i386/patpge.c b/reactos/ntoskrnl/ke/i386/patpge.c index 9b6ef4b67c6..5e8e232727a 100644 --- a/reactos/ntoskrnl/ke/i386/patpge.c +++ b/reactos/ntoskrnl/ke/i386/patpge.c @@ -16,6 +16,7 @@ ULONG_PTR NTAPI +INIT_FUNCTION Ki386EnableGlobalPage(IN volatile ULONG_PTR Context) { volatile PLONG Count = (PLONG)Context; @@ -52,6 +53,7 @@ Ki386EnableGlobalPage(IN volatile ULONG_PTR Context) VOID NTAPI +INIT_FUNCTION KiInitializePAT(VOID) { /* FIXME: Support this */ diff --git a/reactos/ntoskrnl/ke/krnlinit.c b/reactos/ntoskrnl/ke/krnlinit.c index 55ec779251d..d22fe7e2fd8 100644 --- a/reactos/ntoskrnl/ke/krnlinit.c +++ b/reactos/ntoskrnl/ke/krnlinit.c @@ -57,6 +57,7 @@ KSPIN_LOCK KiReverseStallIpiLock; VOID NTAPI +INIT_FUNCTION KiInitSystem(VOID) { ULONG i; @@ -108,6 +109,7 @@ KiInitSystem(VOID) LARGE_INTEGER NTAPI +INIT_FUNCTION KiComputeReciprocal(IN LONG Divisor, OUT PUCHAR Shift) { @@ -171,6 +173,7 @@ KiComputeReciprocal(IN LONG Divisor, VOID NTAPI +INIT_FUNCTION KiInitSpinLocks(IN PKPRCB Prcb, IN CCHAR Number) { @@ -276,6 +279,7 @@ KiInitSpinLocks(IN PKPRCB Prcb, BOOLEAN NTAPI +INIT_FUNCTION KeInitSystem(VOID) { /* Check if Threaded DPCs are enabled */ diff --git a/reactos/ntoskrnl/lpc/port.c b/reactos/ntoskrnl/lpc/port.c index b179fd30b48..77517ded394 100644 --- a/reactos/ntoskrnl/lpc/port.c +++ b/reactos/ntoskrnl/lpc/port.c @@ -33,6 +33,7 @@ static GENERIC_MAPPING LpcpPortMapping = BOOLEAN NTAPI +INIT_FUNCTION LpcInitSystem(VOID) { OBJECT_TYPE_INITIALIZER ObjectTypeInitializer; diff --git a/reactos/ntoskrnl/mm/ARM3/expool.c b/reactos/ntoskrnl/mm/ARM3/expool.c index 4a93c072a86..79e5ef95dc7 100644 --- a/reactos/ntoskrnl/mm/ARM3/expool.c +++ b/reactos/ntoskrnl/mm/ARM3/expool.c @@ -288,6 +288,7 @@ ExpCheckPoolBlocks(IN PVOID Block) VOID NTAPI +INIT_FUNCTION ExInitializePoolDescriptor(IN PPOOL_DESCRIPTOR PoolDescriptor, IN POOL_TYPE PoolType, IN ULONG PoolIndex, @@ -333,6 +334,7 @@ ExInitializePoolDescriptor(IN PPOOL_DESCRIPTOR PoolDescriptor, VOID NTAPI +INIT_FUNCTION InitializePool(IN POOL_TYPE PoolType, IN ULONG Threshold) { diff --git a/reactos/ntoskrnl/mm/ARM3/i386/init.c b/reactos/ntoskrnl/mm/ARM3/i386/init.c index d38da5a0290..5ac50e77a6e 100644 --- a/reactos/ntoskrnl/mm/ARM3/i386/init.c +++ b/reactos/ntoskrnl/mm/ARM3/i386/init.c @@ -33,6 +33,7 @@ MMPTE PrototypePte = {.u.Long = (MM_READWRITE << MM_PTE_SOFTWARE_PROTECTION_BITS VOID NTAPI +INIT_FUNCTION MiComputeNonPagedPoolVa(IN ULONG FreePages) { IN PFN_NUMBER PoolPages; @@ -148,6 +149,7 @@ MiComputeNonPagedPoolVa(IN ULONG FreePages) NTSTATUS NTAPI +INIT_FUNCTION MiInitMachineDependent(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PLIST_ENTRY NextEntry; diff --git a/reactos/ntoskrnl/mm/ARM3/largepag.c b/reactos/ntoskrnl/mm/ARM3/largepag.c index 01917b89876..601542b4005 100644 --- a/reactos/ntoskrnl/mm/ARM3/largepag.c +++ b/reactos/ntoskrnl/mm/ARM3/largepag.c @@ -31,6 +31,7 @@ BOOLEAN MiLargePageAllDrivers; VOID NTAPI +INIT_FUNCTION MiInitializeLargePageSupport(VOID) { #if _MI_PAGING_LEVELS > 2 @@ -50,6 +51,7 @@ MiInitializeLargePageSupport(VOID) VOID NTAPI +INIT_FUNCTION MiSyncCachedRanges(VOID) { ULONG i; @@ -64,6 +66,7 @@ MiSyncCachedRanges(VOID) VOID NTAPI +INIT_FUNCTION MiInitializeDriverLargePageList(VOID) { PWCHAR p, pp; diff --git a/reactos/ntoskrnl/mm/ARM3/mminit.c b/reactos/ntoskrnl/mm/ARM3/mminit.c index dd6f6585f63..6a36dd3acc8 100644 --- a/reactos/ntoskrnl/mm/ARM3/mminit.c +++ b/reactos/ntoskrnl/mm/ARM3/mminit.c @@ -365,6 +365,7 @@ FALSE; PFN_NUMBER NTAPI +INIT_FUNCTION MxGetNextPage(IN PFN_NUMBER PageCount) { PFN_NUMBER Pfn; @@ -389,6 +390,7 @@ MxGetNextPage(IN PFN_NUMBER PageCount) VOID NTAPI +INIT_FUNCTION MiComputeColorInformation(VOID) { ULONG L2Associativity; @@ -442,6 +444,7 @@ MiComputeColorInformation(VOID) VOID NTAPI +INIT_FUNCTION MiInitializeColorTables(VOID) { ULONG i; @@ -491,6 +494,7 @@ MiInitializeColorTables(VOID) BOOLEAN NTAPI +INIT_FUNCTION MiIsRegularMemory(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN PFN_NUMBER Pfn) { @@ -549,6 +553,7 @@ MiIsRegularMemory(IN PLOADER_PARAMETER_BLOCK LoaderBlock, VOID NTAPI +INIT_FUNCTION MiMapPfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { ULONG FreePage, FreePageCount, PagesLeft, BasePage, PageCount; @@ -644,6 +649,7 @@ MiMapPfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock) VOID NTAPI +INIT_FUNCTION MiBuildPfnDatabaseFromPages(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PMMPDE PointerPde; @@ -752,6 +758,7 @@ MiBuildPfnDatabaseFromPages(IN PLOADER_PARAMETER_BLOCK LoaderBlock) VOID NTAPI +INIT_FUNCTION MiBuildPfnDatabaseZeroPage(VOID) { PMMPFN Pfn1; @@ -774,6 +781,7 @@ MiBuildPfnDatabaseZeroPage(VOID) VOID NTAPI +INIT_FUNCTION MiBuildPfnDatabaseFromLoaderBlock(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PLIST_ENTRY NextEntry; @@ -917,6 +925,7 @@ MiBuildPfnDatabaseFromLoaderBlock(IN PLOADER_PARAMETER_BLOCK LoaderBlock) VOID NTAPI +INIT_FUNCTION MiBuildPfnDatabaseSelf(VOID) { PMMPTE PointerPte, LastPte; @@ -946,6 +955,7 @@ MiBuildPfnDatabaseSelf(VOID) VOID NTAPI +INIT_FUNCTION MiInitializePfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { /* Scan memory and start setting up PFN entries */ @@ -963,6 +973,7 @@ MiInitializePfnDatabase(IN PLOADER_PARAMETER_BLOCK LoaderBlock) VOID NTAPI +INIT_FUNCTION MiAdjustWorkingSetManagerParameters(IN BOOLEAN Client) { /* This function needs to do more work, for now, we tune page minimums */ @@ -977,6 +988,7 @@ MiAdjustWorkingSetManagerParameters(IN BOOLEAN Client) VOID NTAPI +INIT_FUNCTION MiNotifyMemoryEvents(VOID) { /* Are we in a low-memory situation? */ @@ -1002,6 +1014,7 @@ MiNotifyMemoryEvents(VOID) NTSTATUS NTAPI +INIT_FUNCTION MiCreateMemoryEvent(IN PUNICODE_STRING Name, OUT PKEVENT *Event) { @@ -1096,6 +1109,7 @@ CleanUp: BOOLEAN NTAPI +INIT_FUNCTION MiInitializeMemoryEvents(VOID) { UNICODE_STRING LowString = RTL_CONSTANT_STRING(L"\\KernelObjects\\LowMemoryCondition"); @@ -1174,6 +1188,7 @@ MiInitializeMemoryEvents(VOID) VOID NTAPI +INIT_FUNCTION MiAddHalIoMappings(VOID) { PVOID BaseAddress; @@ -1401,6 +1416,7 @@ MiPagesInLoaderBlock(IN PLOADER_PARAMETER_BLOCK LoaderBlock, PPHYSICAL_MEMORY_DESCRIPTOR NTAPI +INIT_FUNCTION MmInitializeMemoryLimits(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN PBOOLEAN IncludeType) { @@ -1537,6 +1553,7 @@ MmInitializeMemoryLimits(IN PLOADER_PARAMETER_BLOCK LoaderBlock, VOID NTAPI +INIT_FUNCTION MiBuildPagedPool(VOID) { PMMPTE PointerPte, PointerPde; @@ -1747,6 +1764,7 @@ MiBuildPagedPool(VOID) VOID NTAPI +INIT_FUNCTION MiDbgDumpMemoryDescriptors(VOID) { PLIST_ENTRY NextEntry; @@ -1798,6 +1816,7 @@ MiDbgDumpMemoryDescriptors(VOID) BOOLEAN NTAPI +INIT_FUNCTION MmArmInitSystem(IN ULONG Phase, IN PLOADER_PARAMETER_BLOCK LoaderBlock) { diff --git a/reactos/ntoskrnl/mm/ARM3/pool.c b/reactos/ntoskrnl/mm/ARM3/pool.c index c92d01a1c67..a808ff5d98d 100644 --- a/reactos/ntoskrnl/mm/ARM3/pool.c +++ b/reactos/ntoskrnl/mm/ARM3/pool.c @@ -177,6 +177,7 @@ MiProtectedPoolRemoveEntryList(IN PLIST_ENTRY Entry) VOID NTAPI +INIT_FUNCTION MiInitializeNonPagedPoolThresholds(VOID) { PFN_NUMBER Size = MmMaximumNonPagedPoolInPages; @@ -193,6 +194,7 @@ MiInitializeNonPagedPoolThresholds(VOID) VOID NTAPI +INIT_FUNCTION MiInitializePoolEvents(VOID) { KIRQL OldIrql; @@ -267,6 +269,7 @@ MiInitializePoolEvents(VOID) VOID NTAPI +INIT_FUNCTION MiInitializeNonPagedPool(VOID) { ULONG i; diff --git a/reactos/ntoskrnl/mm/ARM3/procsup.c b/reactos/ntoskrnl/mm/ARM3/procsup.c index a415d33a4d4..fca03ee02e7 100644 --- a/reactos/ntoskrnl/mm/ARM3/procsup.c +++ b/reactos/ntoskrnl/mm/ARM3/procsup.c @@ -1023,6 +1023,7 @@ MmInitializeProcessAddressSpace(IN PEPROCESS Process, NTSTATUS NTAPI +INIT_FUNCTION MmInitializeHandBuiltProcess(IN PEPROCESS Process, IN PULONG_PTR DirectoryTableBase) { @@ -1044,6 +1045,7 @@ MmInitializeHandBuiltProcess(IN PEPROCESS Process, NTSTATUS NTAPI +INIT_FUNCTION MmInitializeHandBuiltProcess2(IN PEPROCESS Process) { /* Lock the VAD, ARM3-owned ranges away */ diff --git a/reactos/ntoskrnl/mm/ARM3/sysldr.c b/reactos/ntoskrnl/mm/ARM3/sysldr.c index 77475428df7..673ef30afa1 100644 --- a/reactos/ntoskrnl/mm/ARM3/sysldr.c +++ b/reactos/ntoskrnl/mm/ARM3/sysldr.c @@ -563,6 +563,7 @@ MiProcessLoaderEntry(IN PLDR_DATA_TABLE_ENTRY LdrEntry, VOID NTAPI +INIT_FUNCTION MiUpdateThunks(IN PLOADER_PARAMETER_BLOCK LoaderBlock, IN PVOID OldBase, IN PVOID NewBase, @@ -1364,6 +1365,7 @@ CheckDllState: VOID NTAPI +INIT_FUNCTION MiReloadBootLoadedDrivers(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PLIST_ENTRY NextEntry; @@ -1552,6 +1554,7 @@ MiReloadBootLoadedDrivers(IN PLOADER_PARAMETER_BLOCK LoaderBlock) NTSTATUS NTAPI +INIT_FUNCTION MiBuildImportsForBootDrivers(VOID) { PLIST_ENTRY NextEntry, NextEntry2; @@ -1817,6 +1820,7 @@ MiBuildImportsForBootDrivers(VOID) VOID NTAPI +INIT_FUNCTION MiLocateKernelSections(IN PLDR_DATA_TABLE_ENTRY LdrEntry) { ULONG_PTR DllBase; @@ -1877,6 +1881,7 @@ MiLocateKernelSections(IN PLDR_DATA_TABLE_ENTRY LdrEntry) BOOLEAN NTAPI +INIT_FUNCTION MiInitializeLoadedModuleList(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { PLDR_DATA_TABLE_ENTRY LdrEntry, NewEntry; diff --git a/reactos/ntoskrnl/mm/ARM3/syspte.c b/reactos/ntoskrnl/mm/ARM3/syspte.c index a70ebda3c07..401550d8edf 100644 --- a/reactos/ntoskrnl/mm/ARM3/syspte.c +++ b/reactos/ntoskrnl/mm/ARM3/syspte.c @@ -366,6 +366,7 @@ MiReleaseSystemPtes(IN PMMPTE StartingPte, VOID NTAPI +INIT_FUNCTION MiInitializeSystemPtes(IN PMMPTE StartingPte, IN ULONG NumberOfPtes, IN MMSYSTEM_PTE_POOL_TYPE PoolType) diff --git a/reactos/ntoskrnl/mm/ARM3/zeropage.c b/reactos/ntoskrnl/mm/ARM3/zeropage.c index f92159f81c0..5a7aee0d3a6 100644 --- a/reactos/ntoskrnl/mm/ARM3/zeropage.c +++ b/reactos/ntoskrnl/mm/ARM3/zeropage.c @@ -39,6 +39,7 @@ MmZeroPageThread(VOID) /* FIXME: Get the discardable sections to free them */ // MiFindInitializationCode(&StartAddress, &EndAddress); // if (StartAddress) MiFreeInitializationCode(StartAddress, EndAddress); + DPRINT1("Free non-cache pages: %lx\n", MmAvailablePages + MiMemoryConsumers[MC_CACHE].PagesUsed); /* Set our priority to 0 */ Thread->BasePriority = 0; diff --git a/reactos/ntoskrnl/mm/mminit.c b/reactos/ntoskrnl/mm/mminit.c index 55233979f65..1ad5b5cc0d4 100644 --- a/reactos/ntoskrnl/mm/mminit.c +++ b/reactos/ntoskrnl/mm/mminit.c @@ -231,6 +231,7 @@ MiInitSystemMemoryAreas() VOID NTAPI +INIT_FUNCTION MiDbgDumpAddressSpace(VOID) { // @@ -312,6 +313,7 @@ MmMpwThreadMain(PVOID Ignored) NTSTATUS NTAPI +INIT_FUNCTION MmInitMpwThread(VOID) { KPRIORITY Priority; @@ -343,6 +345,7 @@ MmInitMpwThread(VOID) NTSTATUS NTAPI +INIT_FUNCTION MmInitBsmThread(VOID) { NTSTATUS Status; @@ -366,6 +369,7 @@ MmInitBsmThread(VOID) BOOLEAN NTAPI +INIT_FUNCTION MmInitSystem(IN ULONG Phase, IN PLOADER_PARAMETER_BLOCK LoaderBlock) { diff --git a/reactos/ntoskrnl/ntoskrnl_i386.lnk b/reactos/ntoskrnl/ntoskrnl_i386.lnk index c759babe6b9..788cda743c1 100644 --- a/reactos/ntoskrnl/ntoskrnl_i386.lnk +++ b/reactos/ntoskrnl/ntoskrnl_i386.lnk @@ -19,12 +19,6 @@ SECTIONS *(.gcc_exc) __text_end__ = .; *(.gcc_except_table) - } - init BLOCK(__section_alignment__) : - { - __init_start__ = . ; - *(init) - __init_end__ = . ; } /* The Cygwin32 library uses a section to avoid copying certain data on fork. This used to be named ".data". The linker used @@ -101,5 +95,11 @@ SECTIONS { [ .stabstr ] } + INIT BLOCK(__section_alignment__) : + { + __init_start__ = . ; + *(INIT) + __init_end__ = . ; + } } diff --git a/reactos/ntoskrnl/ob/obname.c b/reactos/ntoskrnl/ob/obname.c index c97d4cea5be..a514af7b195 100644 --- a/reactos/ntoskrnl/ob/obname.c +++ b/reactos/ntoskrnl/ob/obname.c @@ -33,6 +33,7 @@ UNICODE_STRING ObpDosDevicesShortName = NTSTATUS NTAPI +INIT_FUNCTION ObpCreateDosDevicesDirectory(VOID) { OBJECT_ATTRIBUTES ObjectAttributes; diff --git a/reactos/ntoskrnl/ob/obsdcach.c b/reactos/ntoskrnl/ob/obsdcach.c index 8e51d967622..1e8f9dad198 100644 --- a/reactos/ntoskrnl/ob/obsdcach.c +++ b/reactos/ntoskrnl/ob/obsdcach.c @@ -57,6 +57,7 @@ ObpSdReleaseLockShared(IN POB_SD_CACHE_LIST CacheEntry) NTSTATUS NTAPI +INIT_FUNCTION ObpInitSdCache(VOID) { ULONG i; diff --git a/reactos/ntoskrnl/po/power.c b/reactos/ntoskrnl/po/power.c index cb343125edc..359a035f294 100644 --- a/reactos/ntoskrnl/po/power.c +++ b/reactos/ntoskrnl/po/power.c @@ -127,6 +127,7 @@ PopSetSystemPowerState(SYSTEM_POWER_STATE PowerState) BOOLEAN NTAPI +INIT_FUNCTION PoInitSystem(IN ULONG BootPhase) { PVOID NotificationEntry; @@ -216,6 +217,7 @@ PopIdle0(IN PPROCESSOR_POWER_STATE PowerState) VOID NTAPI +INIT_FUNCTION PoInitializePrcb(IN PKPRCB Prcb) { /* Initialize the Power State */ diff --git a/reactos/ntoskrnl/ps/job.c b/reactos/ntoskrnl/ps/job.c index 52f4f2715be..7bded05b5ef 100644 --- a/reactos/ntoskrnl/ps/job.c +++ b/reactos/ntoskrnl/ps/job.c @@ -72,6 +72,7 @@ PspDeleteJob ( PVOID ObjectBody ) VOID NTAPI +INIT_FUNCTION PspInitializeJobStructures(VOID) { InitializeListHead(&PsJobListHead); diff --git a/reactos/ntoskrnl/ps/psmgr.c b/reactos/ntoskrnl/ps/psmgr.c index dbc9a660cfc..156982ed565 100644 --- a/reactos/ntoskrnl/ps/psmgr.c +++ b/reactos/ntoskrnl/ps/psmgr.c @@ -65,6 +65,7 @@ BOOLEAN PspDoingGiveBacks; USHORT NTAPI +INIT_FUNCTION NameToOrdinal(IN PCHAR Name, IN PVOID DllBase, IN ULONG NumberOfNames, @@ -107,6 +108,7 @@ NameToOrdinal(IN PCHAR Name, NTSTATUS NTAPI +INIT_FUNCTION LookupEntryPoint(IN PVOID DllBase, IN PCHAR Name, OUT PVOID *EntryPoint) @@ -158,6 +160,7 @@ LookupEntryPoint(IN PVOID DllBase, NTSTATUS NTAPI +INIT_FUNCTION PspLookupSystemDllEntryPoint(IN PCHAR Name, IN PVOID *EntryPoint) { @@ -167,6 +170,7 @@ PspLookupSystemDllEntryPoint(IN PCHAR Name, NTSTATUS NTAPI +INIT_FUNCTION PspLookupKernelUserEntryPoints(VOID) { NTSTATUS Status; @@ -239,6 +243,7 @@ PspLookupKernelUserEntryPoints(VOID) NTSTATUS NTAPI +INIT_FUNCTION PspMapSystemDll(IN PEPROCESS Process, IN PVOID *DllBase, IN BOOLEAN UseLargePages) @@ -272,6 +277,7 @@ PspMapSystemDll(IN PEPROCESS Process, NTSTATUS NTAPI +INIT_FUNCTION PsLocateSystemDll(VOID) { OBJECT_ATTRIBUTES ObjectAttributes; @@ -357,6 +363,7 @@ PsLocateSystemDll(VOID) NTSTATUS NTAPI +INIT_FUNCTION PspInitializeSystemDll(VOID) { NTSTATUS Status; @@ -389,6 +396,7 @@ PspInitializeSystemDll(VOID) BOOLEAN NTAPI +INIT_FUNCTION PspInitPhase1() { /* Initialize the System DLL and return status of operation */ @@ -398,6 +406,7 @@ PspInitPhase1() BOOLEAN NTAPI +INIT_FUNCTION PspInitPhase0(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { NTSTATUS Status; @@ -616,6 +625,7 @@ PspInitPhase0(IN PLOADER_PARAMETER_BLOCK LoaderBlock) BOOLEAN NTAPI +INIT_FUNCTION PsInitSystem(IN PLOADER_PARAMETER_BLOCK LoaderBlock) { /* Check the initialization phase */ diff --git a/reactos/ntoskrnl/ps/quota.c b/reactos/ntoskrnl/ps/quota.c index 772ae7e6bcf..8814104c147 100644 --- a/reactos/ntoskrnl/ps/quota.c +++ b/reactos/ntoskrnl/ps/quota.c @@ -98,6 +98,7 @@ PspReturnProcessQuotaSpecifiedPool(IN PEPROCESS Process, VOID NTAPI +INIT_FUNCTION PsInitializeQuotaSystem(VOID) { RtlZeroMemory(&PspDefaultQuotaBlock, sizeof(PspDefaultQuotaBlock)); diff --git a/reactos/ntoskrnl/se/semgr.c b/reactos/ntoskrnl/se/semgr.c index 406003b0af9..2795f01e0c8 100644 --- a/reactos/ntoskrnl/se/semgr.c +++ b/reactos/ntoskrnl/se/semgr.c @@ -86,6 +86,7 @@ SepInitExports(VOID) BOOLEAN NTAPI +INIT_FUNCTION SepInitializationPhase0(VOID) { PAGED_CODE(); @@ -117,6 +118,7 @@ SepInitializationPhase0(VOID) BOOLEAN NTAPI +INIT_FUNCTION SepInitializationPhase1(VOID) { NTSTATUS Status; @@ -139,6 +141,7 @@ SepInitializationPhase1(VOID) BOOLEAN NTAPI +INIT_FUNCTION SeInitSystem(VOID) { /* Check the initialization phase */ @@ -168,6 +171,7 @@ SeInitSystem(VOID) BOOLEAN NTAPI +INIT_FUNCTION SeInitSRM(VOID) { OBJECT_ATTRIBUTES ObjectAttributes; diff --git a/reactos/ntoskrnl/vdm/vdmmain.c b/reactos/ntoskrnl/vdm/vdmmain.c index c7aa0a2500d..e9136599791 100644 --- a/reactos/ntoskrnl/vdm/vdmmain.c +++ b/reactos/ntoskrnl/vdm/vdmmain.c @@ -15,11 +15,11 @@ /* GLOBALS *******************************************************************/ - /* PRIVATE FUNCTIONS *********************************************************/ VOID NTAPI +INIT_FUNCTION Ki386VdmEnablePentiumExtentions(IN BOOLEAN Enable) { ULONG EFlags, Cr4; @@ -38,6 +38,7 @@ Ki386VdmEnablePentiumExtentions(IN BOOLEAN Enable) VOID NTAPI +INIT_FUNCTION KeI386VdmInitialize(VOID) { NTSTATUS Status; @@ -84,6 +85,7 @@ KeI386VdmInitialize(VOID) NTSTATUS NTAPI +INIT_FUNCTION VdmpInitialize(PVOID ControlData) { OBJECT_ATTRIBUTES ObjectAttributes;