* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: view.c,v 1.68 2003/07/21 21:53:51 royce Exp $
+/* $Id: view.c,v 1.69 2003/10/12 17:05:44 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/cc/view.c
}
}
-VOID
+VOID INIT_FUNCTION
CcInitView(VOID)
{
#ifdef CACHE_BITMAP
-/* $Id: import.c,v 1.22 2003/10/10 21:55:16 ekohl Exp $
+/* $Id: import.c,v 1.23 2003/10/12 17:05:44 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-BOOLEAN
+BOOLEAN INIT_FUNCTION
CmImportSystemHive(PCHAR ChunkBase,
ULONG ChunkSize)
{
}
-BOOLEAN
+BOOLEAN INIT_FUNCTION
CmImportHardwareHive(PCHAR ChunkBase,
ULONG ChunkSize)
{
-/* $Id: registry.c,v 1.110 2003/10/10 21:55:16 ekohl Exp $
+/* $Id: registry.c,v 1.111 2003/10/12 17:05:44 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID
+VOID INIT_FUNCTION
CmInitializeRegistry(VOID)
{
OBJECT_ATTRIBUTES ObjectAttributes;
}
-VOID
+VOID INIT_FUNCTION
CmInit2(PCHAR CommandLine)
{
PCHAR p1, p2;
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: profile.c,v 1.5 2003/07/24 18:14:59 royce Exp $
+/* $Id: profile.c,v 1.6 2003/10/12 17:05:44 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/dbg/profile.c
block->Entries[block->UsedEntries++].Address = Address;
}
-VOID
+VOID INIT_FUNCTION
KdbInitProfiling()
{
KdbEnableProfiler = TRUE;
}
-VOID
+VOID INIT_FUNCTION
KdbInitProfiling2()
{
if (KdbEnableProfiler)
KdbAddEntryToProfileDatabase(KdbProfileDatabase, address);
}
-VOID
+VOID INIT_FUNCTION
KdbEnableProfiling()
{
if (KdbProfilingEnabled == FALSE)
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: rdebug.c,v 1.3 2002/09/08 10:23:18 chorns Exp $
+/* $Id: rdebug.c,v 1.4 2003/10/12 17:05:44 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
return(NULL);
}
-VOID
+VOID INIT_FUNCTION
DbgRDebugInit(VOID)
{
if (RDebugInitialized)
/* FUNCTIONS ****************************************************************/
-VOID
+VOID INIT_FUNCTION
ExInit (VOID)
{
ExInitTimeZoneInfo();
-/* $Id: lookas.c,v 1.11 2003/08/14 18:30:28 silverblade Exp $
+/* $Id: lookas.c,v 1.12 2003/10/12 17:05:44 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID
+VOID INIT_FUNCTION
ExpInitLookasideLists()
{
InitializeListHead(&ExpNonPagedLookasideListHead);
-/* $Id: time.c,v 1.18 2003/07/11 01:23:14 royce Exp $
+/* $Id: time.c,v 1.19 2003/10/12 17:05:44 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS ****************************************************************/
-VOID
+VOID INIT_FUNCTION
ExInitTimeZoneInfo (VOID)
{
/* Initialize system time zone information */
RtlFreeUnicodeString(&Desktop->Name);
}
-VOID
+VOID INIT_FUNCTION
ExpWin32kInit(VOID)
{
/* Create window station object type */
-/* $Id: work.c,v 1.17 2003/07/17 16:57:38 silverblade Exp $
+/* $Id: work.c,v 1.18 2003/10/12 17:05:44 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
}
-VOID ExInitializeWorkerThreads(VOID)
+VOID INIT_FUNCTION
+ExInitializeWorkerThreads(VOID)
{
ExInitializeWorkQueue(&EiNormalWorkQueue,
LOW_PRIORITY);
-/* $Id: filelock.c,v 1.11 2003/08/14 18:30:28 silverblade Exp $
+/* $Id: filelock.c,v 1.12 2003/10/12 17:05:44 hbirr Exp $
*
* reactos/ntoskrnl/fs/filelock.c
*
*
*/
VOID
-STDCALL
+STDCALL INIT_FUNCTION
FsRtlpInitFileLockingImplementation(VOID)
{
ExInitializeNPagedLookasideList( &LockTocLookaside,
-/* $Id: inbv.c,v 1.2 2003/08/24 12:08:16 dwelch Exp $
+/* $Id: inbv.c,v 1.3 2003/10/12 17:05:44 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
VOID
-STDCALL
+STDCALL INIT_FUNCTION
InbvEnableBootDriver(IN BOOLEAN Enable)
{
NTSTATUS Status;
ULONG MaxMemInMeg);
VOID MmInit2(VOID);
VOID MmInit3(VOID);
+VOID MiFreeInitMemory(VOID);
NTSTATUS MmInitPagerThread(VOID);
NTSTATUS MmInitZeroPageThread(VOID);
/*
* Use these to place a function in a specific section of the executable
*/
-#define PLACE_IN_SECTION(s) __attribute__((section (s)))
-#define INIT_FUNCTION (PLACE_IN_SECTION("init"))
-#define PAGE_LOCKED_FUNCTION (PLACE_IN_SECTION("pagelk"))
-#define PAGE_UNLOCKED_FUNCTION (PLACE_IN_SECTION("pagepo"))
+#define PLACE_IN_SECTION(s) __attribute__((section (s)))
+#define INIT_FUNCTION PLACE_IN_SECTION("init")
+#define PAGE_LOCKED_FUNCTION PLACE_IN_SECTION("pagelk")
+#define PAGE_UNLOCKED_FUNCTION PLACE_IN_SECTION("pagepo")
/*
* Defines a descriptor as it appears in the processor tables
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: arcname.c,v 1.13 2003/09/26 19:45:04 ekohl Exp $
+/* $Id: arcname.c,v 1.14 2003/10/12 17:05:44 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS ****************************************************************/
-NTSTATUS
+NTSTATUS INIT_FUNCTION
IoCreateArcNames(VOID)
{
PCONFIGURATION_INFORMATION ConfigInfo;
}
-NTSTATUS
+NTSTATUS INIT_FUNCTION
IoCreateSystemRootLink(PCHAR ParameterLine)
{
OBJECT_ATTRIBUTES ObjectAttributes;
-/* $Id: buildirp.c,v 1.34 2003/08/14 18:30:28 silverblade Exp $
+/* $Id: buildirp.c,v 1.35 2003/10/12 17:05:44 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
else
{
- StackPtr->Parameters.Read.ByteOffset.u.LowPart = 0;
- StackPtr->Parameters.Read.ByteOffset.u.LowPart = 0;
+ StackPtr->Parameters.Read.ByteOffset.QuadPart = 0;
}
}
else if (MajorFunction == IRP_MJ_WRITE)
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: cancel.c,v 1.11 2003/07/11 01:23:14 royce Exp $
+/* $Id: cancel.c,v 1.12 2003/10/12 17:05:44 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/io/cancel.c
return(TRUE);
}
-VOID
+VOID INIT_FUNCTION
IoInitCancelHandling(VOID)
{
KeInitializeSpinLock(&CancelSpinLock);
-/* $Id: driver.c,v 1.22 2003/10/07 13:58:53 ekohl Exp $
+/* $Id: driver.c,v 1.23 2003/10/12 17:05:44 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID
+VOID INIT_FUNCTION
IopInitDriverImplementation(VOID)
{
/* Register the process object type */
}
-NTSTATUS
+NTSTATUS INIT_FUNCTION
IoCreateDriverList(VOID)
{
RTL_QUERY_REGISTRY_TABLE QueryTable[2];
}
-VOID
+VOID INIT_FUNCTION
LdrLoadAutoConfigDrivers(VOID)
{
PLIST_ENTRY GroupEntry;
}
-NTSTATUS
+NTSTATUS INIT_FUNCTION
IoDestroyDriverList(VOID)
{
PLIST_ENTRY GroupEntry;
-/* $Id: fs.c,v 1.36 2003/08/07 11:47:33 silverblade Exp $
+/* $Id: fs.c,v 1.37 2003/10/12 17:05:45 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID
+VOID INIT_FUNCTION
IoInitFileSystemImplementation(VOID)
{
InitializeListHead(&FileSystemListHead);
-/* $Id: iomgr.c,v 1.39 2003/10/07 13:58:53 ekohl Exp $
+/* $Id: iomgr.c,v 1.40 2003/10/12 17:05:45 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID IoInit (VOID)
+VOID INIT_FUNCTION
+IoInit (VOID)
{
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING DirName;
PnpInit();
}
-VOID IoInit2(VOID)
+VOID INIT_FUNCTION
+IoInit2(VOID)
{
PDEVICE_NODE DeviceNode;
NTSTATUS Status;
-/* $Id: pnpmgr.c,v 1.19 2003/10/03 13:37:53 navaraf Exp $
+/* $Id: pnpmgr.c,v 1.20 2003/10/12 17:05:45 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
return STATUS_SUCCESS;
}
-VOID IopLoadBootStartDrivers(VOID)
+VOID INIT_FUNCTION
+IopLoadBootStartDrivers(VOID)
{
IopInvalidateDeviceRelations(IopRootDeviceNode, BusRelations);
}
-VOID PnpInit(VOID)
+VOID INIT_FUNCTION
+PnpInit(VOID)
{
PDEVICE_OBJECT Pdo;
NTSTATUS Status;
-/* $Id: shutdown.c,v 1.8 2003/07/10 15:47:00 royce Exp $
+/* $Id: shutdown.c,v 1.9 2003/10/12 17:05:45 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS *****************************************************************/
-VOID IoInitShutdownNotification (VOID)
+VOID INIT_FUNCTION
+IoInitShutdownNotification (VOID)
{
InitializeListHead(&ShutdownListHead);
KeInitializeSpinLock(&ShutdownListLock);
-/* $Id: vpb.c,v 1.22 2003/08/07 11:47:33 silverblade Exp $
+/* $Id: vpb.c,v 1.23 2003/10/12 17:05:45 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS *****************************************************************/
-VOID
+VOID INIT_FUNCTION
IoInitVpbImplementation(VOID)
{
KeInitializeSpinLock(&IoVpbLock);
-/* $Id: dlog.c,v 1.7 2002/09/08 10:23:27 chorns Exp $
+/* $Id: dlog.c,v 1.8 2003/10/12 17:05:45 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
#ifdef DBGPRINT_FILE_LOG
-VOID
+VOID INIT_FUNCTION
DebugLogInit(VOID)
{
KeInitializeSpinLock(&DebugLogLock);
}
}
-VOID
+VOID INIT_FUNCTION
DebugLogInit2(VOID)
{
NTSTATUS Status;
#else /* not DBGPRINT_FILE_LOG */
- VOID
+ VOID INIT_FUNCTION
DebugLogInit(VOID)
{
}
-VOID
+VOID INIT_FUNCTION
DebugLogInit2(VOID)
{
}
extern ULONG KdpPortIrq;
/* Initialize the GDB stub */
-VOID
+VOID INIT_FUNCTION
KdGdbStubInit(ULONG Phase)
{
#if 0
-/* $Id: kdebug.c,v 1.46 2003/08/11 18:50:12 chorns Exp $
+/* $Id: kdebug.c,v 1.47 2003/10/12 17:05:45 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID
+VOID INIT_FUNCTION
KdInitSystem(ULONG Reserved,
PLOADER_PARAMETER_BLOCK LoaderBlock)
{
}
-VOID
+VOID INIT_FUNCTION
KdInit1(VOID)
{
/* Initialize kernel debugger (phase 0) */
}
-VOID KdInit2(VOID)
+VOID INIT_FUNCTION
+KdInit2(VOID)
{
/* Initialize kernel debugger (phase 1) */
if ((KdDebuggerEnabled == TRUE) &&
}
-VOID
+VOID INIT_FUNCTION
KdInit3(VOID)
{
/* Print some information */
return(STATUS_SUCCESS);
}
-VOID PiInitApcManagement(VOID)
+VOID INIT_FUNCTION
+PiInitApcManagement(VOID)
{
KeInitializeSpinLock(&PiApcLock);
}
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: bug.c,v 1.39 2003/10/06 16:24:20 gvg Exp $
+/* $Id: bug.c,v 1.40 2003/10/12 17:05:45 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ke/bug.c
/* FUNCTIONS *****************************************************************/
-VOID
+VOID INIT_FUNCTION
KeInitializeBugCheck(VOID)
{
InitializeListHead(&BugcheckCallbackListHead);
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: dpc.c,v 1.27 2003/07/11 01:23:15 royce Exp $
+/* $Id: dpc.c,v 1.28 2003/10/12 17:05:45 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
UNIMPLEMENTED;
}
-VOID
+VOID INIT_FUNCTION
KeInitDpc(VOID)
/*
* FUNCTION: Initialize DPC handling
STATUS_ACCESS_VIOLATION
};
-extern unsigned int _text_start__, _text_end__;
-
/* FUNCTIONS ****************************************************************/
STATIC BOOLEAN
KiIdt[sel].b = 0x8500;
}
-VOID
+VOID INIT_FUNCTION
KeInitExceptions(VOID)
/*
* FUNCTION: Initalize CPU exception handling
-/* $Id: fpu.c,v 1.9 2003/09/09 14:50:19 gvg Exp $
+/* $Id: fpu.c,v 1.10 2003/10/12 17:05:45 hbirr Exp $
*
* ReactOS kernel
* Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team
/* FUNCTIONS *****************************************************************/
-VOID
+VOID INIT_FUNCTION
KiCheckFPU(VOID)
{
unsigned short int status;
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: irq.c,v 1.35 2003/08/25 09:14:09 hbirr Exp $
+/* $Id: irq.c,v 1.36 2003/10/12 17:05:45 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ke/i386/irq.c
#define PRESENT (0x8000)
#define I486_INTERRUPT_GATE (0xe00)
-VOID KeInitInterrupts (VOID)
+VOID INIT_FUNCTION
+KeInitInterrupts (VOID)
{
int i;
/* FUNCTIONS *****************************************************************/
-VOID
+VOID INIT_FUNCTION
KePrepareForApplicationProcessorInit(ULONG Id)
{
MmRequestPageMemoryConsumer(MC_NPPOOL, FALSE, &PcrPages[Id]);
__asm__ __volatile__ ("sti\n\t");
}
-VOID
+VOID INIT_FUNCTION
KeInit1(VOID)
{
PKPCR KPCR;
Ki386InitializeLdt();
}
-VOID
+VOID INIT_FUNCTION
KeInit2(VOID)
{
KeInitDpc();
: "a" (TSS_SELECTOR));
}
-VOID
+VOID INIT_FUNCTION
Ki386BootInitializeTSS(VOID)
{
ULONG cr3;
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: main.c,v 1.173 2003/10/12 16:39:52 vizzini Exp $
+/* $Id: main.c,v 1.174 2003/10/12 17:05:45 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ke/main.c
/* FUNCTIONS ****************************************************************/
-static BOOLEAN
+static BOOLEAN INIT_FUNCTION
RtlpCheckFileNameExtension(PCHAR FileName,
PCHAR Extension)
{
}
-static VOID
+static VOID INIT_FUNCTION
InitSystemSharedUserPage (PCSZ ParameterLine)
{
UNICODE_STRING ArcDeviceName;
}
}
-VOID STATIC
+VOID STATIC INIT_FUNCTION
MiFreeBootDriverMemory(PVOID StartAddress, ULONG Length)
{
- PHYSICAL_ADDRESS Page;
ULONG i;
for (i = 0; i < PAGE_ROUND_UP(Length)/PAGE_SIZE; i++)
{
- Page = MmGetPhysicalAddressForProcess(NULL, StartAddress + i * PAGE_SIZE);
- MmDeleteVirtualMapping(NULL, StartAddress + i * PAGE_SIZE, FALSE, NULL, NULL);
- MmDereferencePage(Page);
+ MmDeleteVirtualMapping(NULL, StartAddress + i * PAGE_SIZE, TRUE, NULL, NULL);
+
}
}
-VOID
+VOID INIT_FUNCTION
ExpInitializeExecutive(VOID)
{
LARGE_INTEGER Timeout;
NtClose(ThreadHandle);
NtClose(ProcessHandle);
-
- PsTerminateSystemThread(STATUS_SUCCESS);
}
if (BootProcessor)
{
- /* Never returns */
ExpInitializeExecutive();
+ MiFreeInitMemory();
+ /* Never returns */
+ PsTerminateSystemThread(STATUS_SUCCESS);
KEBUGCHECK(0);
}
/* Do application processor initialization */
for(;;);
}
-VOID
+
+VOID INIT_FUNCTION
_main (ULONG MultiBootMagic, PLOADER_PARAMETER_BLOCK _LoaderBlock)
/*
* FUNCTION: Called by the boot loader to start the kernel
-/* $Id: timer.c,v 1.61 2003/07/21 21:53:51 royce Exp $
+/* $Id: timer.c,v 1.62 2003/10/12 17:05:45 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID
+VOID INIT_FUNCTION
KeInitializeTimerImpl(VOID)
/*
* FUNCTION: Initializes timer irq handling
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: init.c,v 1.40 2003/04/27 18:58:00 hbirr Exp $
+/* $Id: init.c,v 1.41 2003/10/12 17:05:45 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ldr/init.c
}
-NTSTATUS
+NTSTATUS INIT_FUNCTION
LdrLoadInitialProcess(PHANDLE ProcessHandle,
PHANDLE ThreadHandle)
{
-/* $Id: loader.c,v 1.135 2003/09/29 20:43:07 navaraf Exp $
+/* $Id: loader.c,v 1.136 2003/10/12 17:05:45 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
}
-VOID
+VOID INIT_FUNCTION
LdrInit1(VOID)
{
PIMAGE_DOS_HEADER DosHeader;
}
-VOID
+VOID INIT_FUNCTION
LdrInitModuleManagement(VOID)
{
PIMAGE_DOS_HEADER DosHeader;
}
-NTSTATUS
+NTSTATUS INIT_FUNCTION
LdrInitializeBootStartDriver(PVOID ModuleLoadBase,
PCHAR FileName,
ULONG ModuleLength)
-/* $Id: port.c,v 1.13 2003/07/11 01:23:15 royce Exp $
+/* $Id: port.c,v 1.14 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS *****************************************************************/
-NTSTATUS NiInitPort (VOID)
+NTSTATUS INIT_FUNCTION
+NiInitPort (VOID)
{
ExPortType = ExAllocatePool(NonPagedPool,sizeof(OBJECT_TYPE));
-/* $Id: aspace.c,v 1.14 2003/07/10 21:05:03 royce Exp $
+/* $Id: aspace.c,v 1.15 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
ExReleaseFastMutex(&AddressSpace->Lock);
}
-VOID
+VOID INIT_FUNCTION
MmInitializeKernelAddressSpace(VOID)
{
MmInitializeAddressSpace(NULL, &KernelAddressSpace);
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: balance.c,v 1.20 2003/07/21 21:53:52 royce Exp $
+/* $Id: balance.c,v 1.21 2003/10/12 17:05:48 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/mm/balance.c
MiNrAvailablePages);
}
-VOID
+VOID INIT_FUNCTION
MmInitializeBalancer(ULONG NrAvailablePages)
{
memset(MiMemoryConsumers, 0, sizeof(MiMemoryConsumers));
MiMemoryConsumers[MC_NPPOOL].PagesTarget = 0xFFFFFFFF;
}
-VOID
+VOID INIT_FUNCTION
MmInitializeMemoryConsumer(ULONG Consumer,
NTSTATUS (*Trim)(ULONG Target, ULONG Priority,
PULONG NrFreed))
return((LARGE_INTEGER)((LONGLONG)start * PAGE_SIZE));
}
-VOID
+VOID INIT_FUNCTION
MiParseRangeToFreeList(PADDRESS_RANGE Range)
{
ULONG i, first, last;
}
}
-VOID
+VOID INIT_FUNCTION
MiParseRangeToBiosList(PADDRESS_RANGE Range)
{
ULONG i, first, last;
}
}
-VOID
+VOID INIT_FUNCTION
MiParseBIOSMemoryMap(ULONG MemorySizeInPages,
PADDRESS_RANGE BIOSMemoryMap,
ULONG AddressRangeCount)
}
}
-PVOID
+PVOID INIT_FUNCTION
MmInitializePageList(PVOID FirstPhysKernelAddress,
PVOID LastPhysKernelAddress,
ULONG MemorySizeInPages,
}
}
-NTSTATUS MmInitZeroPageThread(VOID)
+NTSTATUS INIT_FUNCTION
+MmInitZeroPageThread(VOID)
{
KPRIORITY Priority;
NTSTATUS Status;
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: page.c,v 1.59 2003/08/27 21:28:08 dwelch Exp $
+/* $Id: page.c,v 1.60 2003/10/12 17:05:48 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/mm/i386/page.c
}
}
-VOID
+VOID INIT_FUNCTION
MmInitGlobalKernelPageDirectory(VOID)
{
ULONG i;
-/* $Id: kmap.c,v 1.28 2003/08/20 14:53:16 royce Exp $
+/* $Id: kmap.c,v 1.29 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
return NULL;
}
-VOID
+VOID INIT_FUNCTION
MiInitKernelMap(VOID)
{
KeInitializeSpinLock(&AllocMapLock);
}
-NTSTATUS MmInitMemoryAreas(VOID)
+NTSTATUS INIT_FUNCTION
+MmInitMemoryAreas(VOID)
/*
* FUNCTION: Initialize the memory area list
*/
-/* $Id: mdl.c,v 1.53 2003/07/21 21:53:52 royce Exp $
+/* $Id: mdl.c,v 1.54 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS *****************************************************************/
-VOID
+VOID INIT_FUNCTION
MmInitializeMdlImplementation(VOID)
{
MEMORY_AREA* Result;
-/* $Id: mminit.c,v 1.54 2003/07/21 21:53:53 royce Exp $
+/* $Id: mminit.c,v 1.55 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top directory
* PROJECT: ReactOS kernel
extern unsigned int _text_start__;
extern unsigned int _text_end__;
+extern unsigned int _init_start__;
+extern unsigned int _init_end__;
+
static BOOLEAN IsThisAnNtAsSystem = FALSE;
static MM_SYSTEM_SIZE MmSystemSize = MmSmallSystem;
extern unsigned int _bss_end__;
static MEMORY_AREA* kernel_text_desc = NULL;
+static MEMORY_AREA* kernel_init_desc = NULL;
static MEMORY_AREA* kernel_map_desc = NULL;
static MEMORY_AREA* kernel_data_desc = NULL;
static MEMORY_AREA* kernel_param_desc = NULL;
{
}
-VOID MmInitVirtualMemory(ULONG LastKernelAddress,
- ULONG KernelLength)
+VOID INIT_FUNCTION
+MmInitVirtualMemory(ULONG LastKernelAddress,
+ ULONG KernelLength)
/*
* FUNCTION: Intialize the memory areas list
* ARGUMENTS:
&kernel_text_desc,
FALSE,
FALSE);
- Length = PAGE_ROUND_UP(((ULONG)&_bss_end__)) -
+
+ BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)&_text_end__));
+ assert (BaseAddress == (PVOID)&_init_start__);
+ Length = PAGE_ROUND_UP(((ULONG)&_init_end__)) -
PAGE_ROUND_UP(((ULONG)&_text_end__));
ParamLength = ParamLength - Length;
+
+ MmCreateMemoryArea(NULL,
+ MmGetKernelAddressSpace(),
+ MEMORY_AREA_SYSTEM,
+ &BaseAddress,
+ Length,
+ 0,
+ &kernel_init_desc,
+ FALSE,
+ FALSE);
+
+ Length = PAGE_ROUND_UP(((ULONG)&_bss_end__)) -
+ PAGE_ROUND_UP(((ULONG)&_init_end__));
+ ParamLength = ParamLength - Length;
DPRINT("Length %x\n",Length);
- BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)&_text_end__));
+ BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)&_init_end__));
DPRINT("BaseAddress %x\n",BaseAddress);
/*
MmInitializeMemoryConsumer(MC_USER, MmTrimUserMemory);
}
-VOID MmInit1(ULONG FirstKrnlPhysAddr,
- ULONG LastKrnlPhysAddr,
- ULONG LastKernelAddress,
- PADDRESS_RANGE BIOSMemoryMap,
- ULONG AddressRangeCount,
- ULONG MaxMem)
+VOID INIT_FUNCTION
+MmInit1(ULONG FirstKrnlPhysAddr,
+ ULONG LastKrnlPhysAddr,
+ ULONG LastKernelAddress,
+ PADDRESS_RANGE BIOSMemoryMap,
+ ULONG AddressRangeCount,
+ ULONG MaxMem)
/*
* FUNCTION: Initalize memory managment
*/
* segment
*/
CHECKPOINT;
- DPRINT("_text_start__ %x _text_end__ %x\n",(int)&_text_start__,(int)&_text_end__);
- for (i=PAGE_ROUND_UP(((int)&_text_start__));
- i<PAGE_ROUND_DOWN(((int)&_text_end__));i=i+PAGE_SIZE)
+ DPRINT("_text_start__ %x _init_end__ %x\n",(int)&_text_start__,(int)&_init_end__);
+ for (i=PAGE_ROUND_DOWN(((int)&_text_start__));
+ i<PAGE_ROUND_UP(((int)&_init_end__));i=i+PAGE_SIZE)
{
MmSetPageProtect(NULL,
(PVOID)i,
MmInitializeMdlImplementation();
}
-VOID MmInit2(VOID)
+VOID INIT_FUNCTION
+MmInit2(VOID)
{
MmInitSectionImplementation();
MmInitPagingFile();
}
-VOID MmInit3(VOID)
+VOID INIT_FUNCTION
+MmInit3(VOID)
{
/*
* Unmap low memory
/* FIXME: Read parameters from memory */
}
+VOID STATIC
+MiFreeInitMemoryPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
+ PHYSICAL_ADDRESS PhysAddr, SWAPENTRY SwapEntry,
+ BOOLEAN Dirty)
+{
+ assert(SwapEntry == 0);
+ if (PhysAddr.QuadPart != 0)
+ {
+ MmReleasePageMemoryConsumer(MC_NPPOOL, PhysAddr);
+ }
+}
+
+VOID
+MiFreeInitMemory(VOID)
+{
+ MmLockAddressSpace(MmGetKernelAddressSpace());
+ MmFreeMemoryArea(MmGetKernelAddressSpace(),
+ (PVOID)&_init_start__,
+ PAGE_ROUND_UP((ULONG)&_init_end__) - (ULONG)_init_start__,
+ MiFreeInitMemoryPage,
+ NULL);
+ MmUnlockAddressSpace(MmGetKernelAddressSpace());
+}
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: pagefile.c,v 1.36 2003/08/29 21:22:24 dwelch Exp $
+/* $Id: pagefile.c,v 1.37 2003/10/12 17:05:48 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/mm/pagefile.c
return(Status);
}
-VOID
+VOID INIT_FUNCTION
MmInitPagingFile(VOID)
{
ULONG i;
-/* $Id: pageop.c,v 1.17 2003/07/21 21:53:53 royce Exp $
+/* $Id: pageop.c,v 1.18 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
return(PageOp);
}
-VOID
+VOID INIT_FUNCTION
MmInitializePageOp(VOID)
{
memset(MmPageOpHashTable, 0, sizeof(MmPageOpHashTable));
-/* $Id: ppool.c,v 1.19 2003/08/25 18:51:50 hbirr Exp $
+/* $Id: ppool.c,v 1.20 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
( ((char*)addr) - sizeof(MM_PPOOL_USED_BLOCK_HEADER) - MM_PPOOL_REDZONE_BYTES );
}
-VOID MmInitializePagedPool(VOID)
+VOID INIT_FUNCTION
+MmInitializePagedPool(VOID)
{
MmPagedPoolFirstFreeBlock = (PMM_PPOOL_FREE_BLOCK_HEADER)MmPagedPoolBase;
/*
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: rmap.c,v 1.23 2003/07/21 21:53:53 royce Exp $
+/* $Id: rmap.c,v 1.24 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top directory
* PROJECT: ReactOS kernel
/* FUNCTIONS ****************************************************************/
-VOID
+VOID INIT_FUNCTION
MmInitializeRmapList(VOID)
{
ExInitializeFastMutex(&RmapListLock);
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: section.c,v 1.129 2003/10/07 14:00:10 ekohl Exp $
+/* $Id: section.c,v 1.130 2003/10/12 17:05:48 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/mm/section.c
return(STATUS_SUCCESS);
}
-NTSTATUS
+NTSTATUS INIT_FUNCTION
MmCreatePhysicalMemorySection(VOID)
{
HANDLE PhysSectionH;
return(STATUS_SUCCESS);
}
-NTSTATUS
+NTSTATUS INIT_FUNCTION
MmInitSectionImplementation(VOID)
{
MmSectionObjectType = ExAllocatePool(NonPagedPool,sizeof(OBJECT_TYPE));
-/* $Id: evtpair.c,v 1.18 2003/10/07 14:00:45 ekohl Exp $
+/* $Id: evtpair.c,v 1.19 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
return(STATUS_SUCCESS);
}
-VOID NtInitializeEventPairImplementation(VOID)
+VOID INIT_FUNCTION
+NtInitializeEventPairImplementation(VOID)
{
ExEventPairObjectType = ExAllocatePool(NonPagedPool,sizeof(OBJECT_TYPE));
}
-VOID
+VOID INIT_FUNCTION
NtInitializeMutantImplementation(VOID)
{
ExMutantObjectType = ExAllocatePool(NonPagedPool,sizeof(OBJECT_TYPE));
-/* $Id: nt.c,v 1.10 2002/09/08 10:23:38 chorns Exp $
+/* $Id: nt.c,v 1.11 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS *****************************************************************/
-VOID NtInit(VOID)
+VOID INIT_FUNCTION
+NtInit(VOID)
{
NtInitializeEventImplementation();
NtInitializeEventPairImplementation();
}
-VOID
+VOID INIT_FUNCTION
NtInitializeEventImplementation(VOID)
{
ExEventObjectType = ExAllocatePool(NonPagedPool,sizeof(OBJECT_TYPE));
-/* $Id: ntsem.c,v 1.20 2003/10/07 14:00:45 ekohl Exp $
+/* $Id: ntsem.c,v 1.21 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
return(STATUS_SUCCESS);
}
-VOID NtInitializeSemaphoreImplementation(VOID)
+VOID INIT_FUNCTION
+NtInitializeSemaphoreImplementation(VOID)
{
ExSemaphoreType = ExAllocatePool(NonPagedPool, sizeof(OBJECT_TYPE));
-/* $Id: nttimer.c,v 1.21 2003/10/07 14:00:45 ekohl Exp $
+/* $Id: nttimer.c,v 1.22 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID NtInitializeTimerImplementation(VOID)
+VOID INIT_FUNCTION
+NtInitializeTimerImplementation(VOID)
{
ExTimerType = ExAllocatePool(NonPagedPool, sizeof(OBJECT_TYPE));
Profile->BufferMdl = NULL;
}
-VOID
+VOID INIT_FUNCTION
NtInitializeProfileImplementation(VOID)
{
ULONG i;
/* FUNCTIONS *****************************************************************/
-VOID
+VOID INIT_FUNCTION
NtEarlyInitVdm(VOID)
{
/* GCC 3.4 warns if NULL is passed in parameter 2 to the standard function memcpy */
-/* $Id: namespc.c,v 1.41 2003/10/07 14:01:15 ekohl Exp $
+/* $Id: namespc.c,v 1.42 2003/10/12 17:05:48 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID
+VOID INIT_FUNCTION
ObInit(VOID)
/*
* FUNCTION: Initialize the object manager namespace
-/* $Id: symlink.c,v 1.4 2003/09/25 20:07:46 ekohl Exp $
+/* $Id: symlink.c,v 1.5 2003/10/12 17:05:49 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
*
* REVISIONS
*/
-VOID ObInitSymbolicLinkImplementation (VOID)
+VOID INIT_FUNCTION
+ObInitSymbolicLinkImplementation (VOID)
{
ObSymbolicLinkType = ExAllocatePool(NonPagedPool, sizeof(OBJECT_TYPE));
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: power.c,v 1.7 2003/07/11 01:23:15 royce Exp $
+/* $Id: power.c,v 1.8 2003/10/12 17:05:50 hbirr Exp $
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/po/power.c
* PURPOSE: Power Manager
return STATUS_NOT_IMPLEMENTED;
}
-VOID
+VOID INIT_FUNCTION
PoInit(VOID)
{
}
}
}
-VOID PsInitIdleThread(VOID)
+VOID INIT_FUNCTION
+PsInitIdleThread(VOID)
{
KPRIORITY Priority;
ULONG Affinity;
-/* $Id: locale.c,v 1.4 2002/09/08 10:23:40 chorns Exp $
+/* $Id: locale.c,v 1.5 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS *****************************************************************/
-VOID
+VOID INIT_FUNCTION
PiInitDefaultLocale(VOID)
/*
* FUNCTION:
-/* $Id: process.c,v 1.118 2003/10/07 14:01:57 ekohl Exp $
+/* $Id: process.c,v 1.119 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID
+VOID INIT_FUNCTION
PsInitProcessManagment(VOID)
{
PKPROCESS KProcess;
-/* $Id: psmgr.c,v 1.16 2003/07/23 19:13:37 dwelch Exp $
+/* $Id: psmgr.c,v 1.17 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
PiKillMostProcesses();
}
-VOID PiInitProcessManager(VOID)
+VOID INIT_FUNCTION
+PiInitProcessManager(VOID)
{
PsInitProcessManagment();
PsInitThreadManagment();
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: suspend.c,v 1.12 2003/07/21 21:36:01 dwelch Exp $
+/* $Id: suspend.c,v 1.13 2003/10/12 17:05:50 hbirr Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ps/suspend.c
return(STATUS_SUCCESS);
}
-VOID
+VOID INIT_FUNCTION
PsInitialiseSuspendImplementation(VOID)
{
ExInitializeFastMutex(&SuspendMutex);
-/* $Id: thread.c,v 1.119 2003/10/07 14:01:57 ekohl Exp $
+/* $Id: thread.c,v 1.120 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
(PVOID)IdleThreads[KeGetCurrentProcessorNumber()];
}
-VOID
+VOID INIT_FUNCTION
PsPrepareForApplicationProcessorInit(ULONG Id)
{
PETHREAD IdleThread;
Id, IdleThread->Cid.UniqueThread);
}
-VOID
+VOID INIT_FUNCTION
PsInitThreadManagment(VOID)
/*
* FUNCTION: Initialize thread managment
-/* $Id: w32call.c,v 1.8 2003/07/23 19:13:37 dwelch Exp $
+/* $Id: w32call.c,v 1.9 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS ***************************************************************/
-VOID
+VOID INIT_FUNCTION
PsInitialiseW32Call(VOID)
{
InitializeListHead(&CallbackStackListHead);
-/* $Id: nls.c,v 1.21 2003/10/11 17:23:52 hbirr Exp $
+/* $Id: nls.c,v 1.22 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS *****************************************************************/
-VOID
+VOID INIT_FUNCTION
RtlpImportAnsiCodePage(PUSHORT TableBase,
ULONG Size)
{
}
-VOID
+VOID INIT_FUNCTION
RtlpImportOemCodePage(PUSHORT TableBase,
ULONG Size)
{
}
-VOID
+VOID INIT_FUNCTION
RtlpImportUnicodeCasemap(PUSHORT TableBase,
ULONG Size)
{
}
-VOID
+VOID INIT_FUNCTION
RtlpCreateInitialNlsTables(VOID)
{
NLSTABLEINFO NlsTable;
}
-VOID
+VOID INIT_FUNCTION
RtlpCreateNlsSection(VOID)
{
NLSTABLEINFO NlsTable;
-/* $Id: acl.c,v 1.12 2003/07/11 01:23:16 royce Exp $
+/* $Id: acl.c,v 1.13 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS ****************************************************************/
-BOOLEAN
+BOOLEAN INIT_FUNCTION
SepInitDACLs(VOID)
{
ULONG AclLength2;
-/* $Id: luid.c,v 1.8 2003/07/11 01:23:16 royce Exp $
+/* $Id: luid.c,v 1.9 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS *****************************************************************/
-VOID
+VOID INIT_FUNCTION
SepInitLuid(VOID)
{
KeInitializeSpinLock(&LuidLock);
-/* $Id: priv.c,v 1.9 2003/07/11 01:23:16 royce Exp $
+/* $Id: priv.c,v 1.10 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS ***************************************************************/
-VOID
+VOID INIT_FUNCTION
SepInitPrivileges (VOID)
{
SeCreateTokenPrivilege.LowPart = SE_CREATE_TOKEN_PRIVILEGE;
-/* $Id: sd.c,v 1.10 2003/07/11 01:23:16 royce Exp $
+/* $Id: sd.c,v 1.11 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS ***************************************************************/
-BOOLEAN
+BOOLEAN INIT_FUNCTION
SepInitSDs(VOID)
{
/* Create PublicDefaultSd */
-/* $Id: semgr.c,v 1.26 2003/07/20 22:10:23 ekohl Exp $
+/* $Id: semgr.c,v 1.27 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS ****************************************************************/
-BOOLEAN
+BOOLEAN INIT_FUNCTION
SeInit1(VOID)
{
SepInitLuid();
}
-BOOLEAN
+BOOLEAN INIT_FUNCTION
SeInit2(VOID)
{
SepInitializeTokenImplementation();
}
-static BOOLEAN
+static BOOLEAN INIT_FUNCTION
SepInitExports(VOID)
{
SeExports = ExAllocatePoolWithTag(NonPagedPool,
-/* $Id: sid.c,v 1.14 2003/07/11 01:23:16 royce Exp $
+/* $Id: sid.c,v 1.15 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS ****************************************************************/
-BOOLEAN
+BOOLEAN INIT_FUNCTION
SepInitSecurityIDs(VOID)
{
ULONG SidLength0;
-/* $Id: token.c,v 1.28 2003/10/07 14:04:52 ekohl Exp $
+/* $Id: token.c,v 1.29 2003/10/12 17:05:50 hbirr Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
}
-VOID
+VOID INIT_FUNCTION
SepInitializeTokenImplementation(VOID)
{
SepTokenObjectType = ExAllocatePool(NonPagedPool, sizeof(OBJECT_TYPE));