diff --git a/reactos/ntoskrnl/cc/cacheman.c b/reactos/ntoskrnl/cc/cacheman.c index d9217e28819..9921b4b786e 100644 --- a/reactos/ntoskrnl/cc/cacheman.c +++ b/reactos/ntoskrnl/cc/cacheman.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/cc/cacheman.c diff --git a/reactos/ntoskrnl/cc/copy.c b/reactos/ntoskrnl/cc/copy.c index ea9bf07a897..c7c5ea532f9 100644 --- a/reactos/ntoskrnl/cc/copy.c +++ b/reactos/ntoskrnl/cc/copy.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/cc/copy.c diff --git a/reactos/ntoskrnl/cc/fs.c b/reactos/ntoskrnl/cc/fs.c index 8c32bf7adb0..9f7324c9c22 100644 --- a/reactos/ntoskrnl/cc/fs.c +++ b/reactos/ntoskrnl/cc/fs.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/cc/fs.c diff --git a/reactos/ntoskrnl/cc/mdl.c b/reactos/ntoskrnl/cc/mdl.c index 1d20cdde37c..5dde9884825 100644 --- a/reactos/ntoskrnl/cc/mdl.c +++ b/reactos/ntoskrnl/cc/mdl.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/cc/fs.c diff --git a/reactos/ntoskrnl/cc/pin.c b/reactos/ntoskrnl/cc/pin.c index e836cc7dbe8..1645883181d 100644 --- a/reactos/ntoskrnl/cc/pin.c +++ b/reactos/ntoskrnl/cc/pin.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/cc/pin.c diff --git a/reactos/ntoskrnl/cc/view.c b/reactos/ntoskrnl/cc/view.c index 6c034bb2fde..01a0643530e 100644 --- a/reactos/ntoskrnl/cc/view.c +++ b/reactos/ntoskrnl/cc/view.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/cc/view.c diff --git a/reactos/ntoskrnl/ex/shutdown.c b/reactos/ntoskrnl/ex/shutdown.c index fc278b49193..16db6e93d62 100644 --- a/reactos/ntoskrnl/ex/shutdown.c +++ b/reactos/ntoskrnl/ex/shutdown.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/ex/power.c diff --git a/reactos/ntoskrnl/ex/uuid.c b/reactos/ntoskrnl/ex/uuid.c index 4e38bae6ba2..e2f6f1011f8 100644 --- a/reactos/ntoskrnl/ex/uuid.c +++ b/reactos/ntoskrnl/ex/uuid.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/ex/uuid.c diff --git a/reactos/ntoskrnl/io/iomgr/bootlog.c b/reactos/ntoskrnl/io/iomgr/bootlog.c index 4ae97f0f07a..d083bec2f00 100644 --- a/reactos/ntoskrnl/io/iomgr/bootlog.c +++ b/reactos/ntoskrnl/io/iomgr/bootlog.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/io/bootlog.c diff --git a/reactos/ntoskrnl/io/iomgr/iorsrce.c b/reactos/ntoskrnl/io/iomgr/iorsrce.c index 34f12e4cd37..ec9c742a5ab 100644 --- a/reactos/ntoskrnl/io/iomgr/iorsrce.c +++ b/reactos/ntoskrnl/io/iomgr/iorsrce.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/io/resource.c diff --git a/reactos/ntoskrnl/io/pnpmgr/pnpdma.c b/reactos/ntoskrnl/io/pnpmgr/pnpdma.c index a0b34b80a6d..19fdd982ad3 100644 --- a/reactos/ntoskrnl/io/pnpmgr/pnpdma.c +++ b/reactos/ntoskrnl/io/pnpmgr/pnpdma.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/io/pnpdma.c diff --git a/reactos/ntoskrnl/io/pnpmgr/pnpreport.c b/reactos/ntoskrnl/io/pnpmgr/pnpreport.c index c342e8477f2..0e372b08b95 100644 --- a/reactos/ntoskrnl/io/pnpmgr/pnpreport.c +++ b/reactos/ntoskrnl/io/pnpmgr/pnpreport.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/io/pnpreport.c diff --git a/reactos/ntoskrnl/kdbg/i386/i386-dis.c b/reactos/ntoskrnl/kdbg/i386/i386-dis.c index 3a438608a93..fb004f1b1c4 100644 --- a/reactos/ntoskrnl/kdbg/i386/i386-dis.c +++ b/reactos/ntoskrnl/kdbg/i386/i386-dis.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/dbg/i386/i386-dis.c diff --git a/reactos/ntoskrnl/kdbg/kdb_expr.c b/reactos/ntoskrnl/kdbg/kdb_expr.c index 737d826d682..198a5c0b622 100644 --- a/reactos/ntoskrnl/kdbg/kdb_expr.c +++ b/reactos/ntoskrnl/kdbg/kdb_expr.c @@ -16,8 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id$ - * +/* * PROJECT: ReactOS kernel * FILE: ntoskrnl/dbg/kdb_expr.c * PURPOSE: Kernel debugger expression evaluation diff --git a/reactos/ntoskrnl/kdbg/kdb_keyboard.c b/reactos/ntoskrnl/kdbg/kdb_keyboard.c index d81d77f6c5c..f1e2a63d154 100644 --- a/reactos/ntoskrnl/kdbg/kdb_keyboard.c +++ b/reactos/ntoskrnl/kdbg/kdb_keyboard.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/dbg/kdb_keyboard.c diff --git a/reactos/ntoskrnl/kdbg/kdb_serial.c b/reactos/ntoskrnl/kdbg/kdb_serial.c index 9a9c378c9a1..6ccd460f6f8 100644 --- a/reactos/ntoskrnl/kdbg/kdb_serial.c +++ b/reactos/ntoskrnl/kdbg/kdb_serial.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/dbg/kdb_serial.c diff --git a/reactos/ntoskrnl/mm/anonmem.c b/reactos/ntoskrnl/mm/anonmem.c index 3129692f4c0..ae35f0288bc 100644 --- a/reactos/ntoskrnl/mm/anonmem.c +++ b/reactos/ntoskrnl/mm/anonmem.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * Copyright (C) 2002-2005 ReactOS Team (and the authors from the programmers section) * * This program is free software; you can redistribute it and/or diff --git a/reactos/ntoskrnl/mm/aspace.c b/reactos/ntoskrnl/mm/aspace.c index 78c6883cc2d..1d49ccdc909 100644 --- a/reactos/ntoskrnl/mm/aspace.c +++ b/reactos/ntoskrnl/mm/aspace.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/aspace.c diff --git a/reactos/ntoskrnl/mm/balance.c b/reactos/ntoskrnl/mm/balance.c index 20b94697c7e..ed8e6cd95e3 100644 --- a/reactos/ntoskrnl/mm/balance.c +++ b/reactos/ntoskrnl/mm/balance.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/balance.c diff --git a/reactos/ntoskrnl/mm/cont.c b/reactos/ntoskrnl/mm/cont.c index 5790ee718ca..899c7ffefa0 100644 --- a/reactos/ntoskrnl/mm/cont.c +++ b/reactos/ntoskrnl/mm/cont.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/cont.c diff --git a/reactos/ntoskrnl/mm/drvlck.c b/reactos/ntoskrnl/mm/drvlck.c index ec0964c95e4..63551d5f2e5 100644 --- a/reactos/ntoskrnl/mm/drvlck.c +++ b/reactos/ntoskrnl/mm/drvlck.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/drvlck.c diff --git a/reactos/ntoskrnl/mm/elf.inc.h b/reactos/ntoskrnl/mm/elf.inc.h index 9fa7a73f1ae..3592c1b40ca 100644 --- a/reactos/ntoskrnl/mm/elf.inc.h +++ b/reactos/ntoskrnl/mm/elf.inc.h @@ -1,6 +1,3 @@ -/* $Id$ -*/ - #define NDEBUG #include diff --git a/reactos/ntoskrnl/mm/elf32.c b/reactos/ntoskrnl/mm/elf32.c index 3b2c23e7b60..4e56e4408fc 100644 --- a/reactos/ntoskrnl/mm/elf32.c +++ b/reactos/ntoskrnl/mm/elf32.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/elf32.c diff --git a/reactos/ntoskrnl/mm/elf64.c b/reactos/ntoskrnl/mm/elf64.c index b42957bf0a7..783f5a00534 100644 --- a/reactos/ntoskrnl/mm/elf64.c +++ b/reactos/ntoskrnl/mm/elf64.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/elf64.c diff --git a/reactos/ntoskrnl/mm/freelist.c b/reactos/ntoskrnl/mm/freelist.c index 207031b7c87..3d1bc323381 100644 --- a/reactos/ntoskrnl/mm/freelist.c +++ b/reactos/ntoskrnl/mm/freelist.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/freelist.c diff --git a/reactos/ntoskrnl/mm/i386/page.c b/reactos/ntoskrnl/mm/i386/page.c index 9a79c783208..ed3d6295959 100644 --- a/reactos/ntoskrnl/mm/i386/page.c +++ b/reactos/ntoskrnl/mm/i386/page.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/i386/page.c diff --git a/reactos/ntoskrnl/mm/i386/pagepae.c b/reactos/ntoskrnl/mm/i386/pagepae.c index 5e13e7830aa..45ca9f32fd0 100644 --- a/reactos/ntoskrnl/mm/i386/pagepae.c +++ b/reactos/ntoskrnl/mm/i386/pagepae.c @@ -1,5 +1,4 @@ -/* $Id: page.c 32364 2008-02-14 20:30:31Z ros-arm-bringup $ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/i386/page.c diff --git a/reactos/ntoskrnl/mm/iospace.c b/reactos/ntoskrnl/mm/iospace.c index 511e9ec4a21..e19d5ce2d9d 100644 --- a/reactos/ntoskrnl/mm/iospace.c +++ b/reactos/ntoskrnl/mm/iospace.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/iospace.c diff --git a/reactos/ntoskrnl/mm/kmap.c b/reactos/ntoskrnl/mm/kmap.c index 5cd680591c9..7cd2794dd6e 100644 --- a/reactos/ntoskrnl/mm/kmap.c +++ b/reactos/ntoskrnl/mm/kmap.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/kmap.c diff --git a/reactos/ntoskrnl/mm/marea.c b/reactos/ntoskrnl/mm/marea.c index dd3e4fa1543..21c56a47e7b 100644 --- a/reactos/ntoskrnl/mm/marea.c +++ b/reactos/ntoskrnl/mm/marea.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * Copyright (C) 1998-2005 ReactOS Team (and the authors from the programmers section) * * This program is free software; you can redistribute it and/or diff --git a/reactos/ntoskrnl/mm/mdlsup.c b/reactos/ntoskrnl/mm/mdlsup.c index 9eddcfa2933..146b4e51f93 100644 --- a/reactos/ntoskrnl/mm/mdlsup.c +++ b/reactos/ntoskrnl/mm/mdlsup.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/mdl.c diff --git a/reactos/ntoskrnl/mm/mm.c b/reactos/ntoskrnl/mm/mm.c index 418cd46357c..d19f86b84d8 100644 --- a/reactos/ntoskrnl/mm/mm.c +++ b/reactos/ntoskrnl/mm/mm.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/mm.c diff --git a/reactos/ntoskrnl/mm/mpw.c b/reactos/ntoskrnl/mm/mpw.c index 93ff145cc6d..b17199858f2 100644 --- a/reactos/ntoskrnl/mm/mpw.c +++ b/reactos/ntoskrnl/mm/mpw.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/mpw.c diff --git a/reactos/ntoskrnl/mm/ncache.c b/reactos/ntoskrnl/mm/ncache.c index 9d82fa89abd..328cb9ae3d5 100644 --- a/reactos/ntoskrnl/mm/ncache.c +++ b/reactos/ntoskrnl/mm/ncache.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/ncache.c diff --git a/reactos/ntoskrnl/mm/npool.c b/reactos/ntoskrnl/mm/npool.c index 5aaecefaf9a..f0c8cc4551b 100644 --- a/reactos/ntoskrnl/mm/npool.c +++ b/reactos/ntoskrnl/mm/npool.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/npool.c diff --git a/reactos/ntoskrnl/mm/pageop.c b/reactos/ntoskrnl/mm/pageop.c index 1c9b75e6b37..deb4d128bd3 100644 --- a/reactos/ntoskrnl/mm/pageop.c +++ b/reactos/ntoskrnl/mm/pageop.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/pageop.c diff --git a/reactos/ntoskrnl/mm/pager.c b/reactos/ntoskrnl/mm/pager.c index 656da6aba35..793d73df328 100644 --- a/reactos/ntoskrnl/mm/pager.c +++ b/reactos/ntoskrnl/mm/pager.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/pager.c diff --git a/reactos/ntoskrnl/mm/pagfault.c b/reactos/ntoskrnl/mm/pagfault.c index 0432a1eac7e..4bae88943f6 100644 --- a/reactos/ntoskrnl/mm/pagfault.c +++ b/reactos/ntoskrnl/mm/pagfault.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/pagfault.c diff --git a/reactos/ntoskrnl/mm/paging.c b/reactos/ntoskrnl/mm/paging.c index ae27ab5e68f..228e1c7ea18 100644 --- a/reactos/ntoskrnl/mm/paging.c +++ b/reactos/ntoskrnl/mm/paging.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/paging.c diff --git a/reactos/ntoskrnl/mm/pe.c b/reactos/ntoskrnl/mm/pe.c index 2b1c7b8f5af..7c9590ad8ca 100644 --- a/reactos/ntoskrnl/mm/pe.c +++ b/reactos/ntoskrnl/mm/pe.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/pe.c diff --git a/reactos/ntoskrnl/mm/physical.c b/reactos/ntoskrnl/mm/physical.c index 8e57dc0d446..9187f32430d 100644 --- a/reactos/ntoskrnl/mm/physical.c +++ b/reactos/ntoskrnl/mm/physical.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/physical.c diff --git a/reactos/ntoskrnl/mm/pool.c b/reactos/ntoskrnl/mm/pool.c index 079ca74c166..743bca6c121 100644 --- a/reactos/ntoskrnl/mm/pool.c +++ b/reactos/ntoskrnl/mm/pool.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/pool.c diff --git a/reactos/ntoskrnl/mm/powerpc/page.c b/reactos/ntoskrnl/mm/powerpc/page.c index c2c8bb59922..73b46616680 100644 --- a/reactos/ntoskrnl/mm/powerpc/page.c +++ b/reactos/ntoskrnl/mm/powerpc/page.c @@ -1,669 +1,668 @@ -/* $Id: page.c 23907 2006-09-04 05:52:23Z arty $ - * - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS kernel - * FILE: ntoskrnl/mm/i386/page.c - * PURPOSE: Low level memory managment manipulation - * - * PROGRAMMERS: David Welch (welch@cwcom.net) - * Revised for PowerPC by arty - */ - -/* INCLUDES ***************************************************************/ - -#include -#include -//#define NDEBUG -#include - -#if defined (ALLOC_PRAGMA) -#pragma alloc_text(INIT, MmInitGlobalKernelPageDirectory) -#pragma alloc_text(INIT, MiInitPageDirectoryMap) -#endif - -/* GLOBALS *****************************************************************/ - -#define HYPERSPACE_PAGEDIR_PTR ((PVOID)0xc0000000) - -#define PA_PRESENT (1ll<<63) -#define PA_USER (1ll<<62) -#define PA_ACCESSED 0x200 -#define PA_DIRTY 0x100 -#define PA_WT 0x20 -#define PA_CD 0x10 -#define PA_READWRITE 3 - -#define HYPERSPACE (0xc0400000) -#define IS_HYPERSPACE(v) (((ULONG)(v) >= HYPERSPACE && (ULONG)(v) < HYPERSPACE + 0x400000)) - -#define PTE_TO_PFN(X) ((X) >> PAGE_SHIFT) -#define PFN_TO_PTE(X) ((X) << PAGE_SHIFT) - -#if defined(__GNUC__) -#define PTE_TO_PAGE(X) ((LARGE_INTEGER)(LONGLONG)(PAGE_MASK(X))) -#else -__inline LARGE_INTEGER PTE_TO_PAGE(ULONG npage) -{ - LARGE_INTEGER dummy; - dummy.QuadPart = (LONGLONG)(PAGE_MASK(npage)); - return dummy; -} -#endif - -/* FUNCTIONS ***************************************************************/ - -VOID -STDCALL -MiFlushTlbIpiRoutine(PVOID Address) -{ - if (Address == (PVOID)0xffffffff) - { - __asm__("tlbsync"); - } - else if (Address == (PVOID)0xfffffffe) - { - __asm__("tlbsync"); - } - else - { - __asm__("tlbi %0" : "=r" (Address)); - } -} - -VOID -MiFlushTlb(PULONG Pt, PVOID Address) -{ - __asm__("tlbi %0" : "=r" (Address)); -} - - - -PULONG -MmGetPageDirectory(VOID) -{ - unsigned int page_dir=0; - return((PULONG)page_dir); -} - -static ULONG -ProtectToFlags(ULONG flProtect) -{ - return MMU_ALL_RW; // XXX hack -} - -NTSTATUS -STDCALL -MmCopyMmInfo(PEPROCESS Src, - PEPROCESS Dest, - PPHYSICAL_ADDRESS DirectoryTableBase) -{ - DPRINT("MmCopyMmInfo(Src %x, Dest %x)\n", Src, Dest); - - KeBugCheck(0); - - return(STATUS_SUCCESS); -} - -NTSTATUS -NTAPI -MmInitializeHandBuiltProcess(IN PEPROCESS Process, - IN PLARGE_INTEGER DirectoryTableBase) -{ - /* Share the directory base with the idle process */ - *DirectoryTableBase = PsGetCurrentProcess()->Pcb.DirectoryTableBase; - - /* Initialize the Addresss Space */ - MmInitializeAddressSpace(Process, (PMADDRESS_SPACE)&Process->VadRoot); - - /* The process now has an address space */ - Process->HasAddressSpace = TRUE; - return STATUS_SUCCESS; -} - -BOOLEAN -STDCALL -MmCreateProcessAddressSpace(IN ULONG MinWs, - IN PEPROCESS Process, - IN PLARGE_INTEGER DirectoryTableBase) -{ - KeBugCheck(0); - return TRUE; -} - -VOID -NTAPI -MmDeletePageTable(PEPROCESS Process, PVOID Address) -{ - PEPROCESS CurrentProcess = PsGetCurrentProcess(); - - DPRINT1("DeletePageTable: Process: %x CurrentProcess %x\n", - Process, CurrentProcess); - - if (Process != NULL && Process != CurrentProcess) - { - KeAttachProcess(&Process->Pcb); - } - - if (Process) - { - DPRINT1("Revoking VSID %d\n", (paddr_t)Process->UniqueProcessId); - MmuRevokeVsid((paddr_t)Process->UniqueProcessId, -1); - } - else - { - DPRINT1("No vsid to revoke\n"); - } - - if (Process != NULL && Process != CurrentProcess) - { - KeDetachProcess(); - } -} - -VOID -NTAPI -MmFreePageTable(PEPROCESS Process, PVOID Address) -{ - MmDeletePageTable(Process, Address); -} - -PVOID -NTAPI -MmGetPhysicalAddressProcess(PEPROCESS Process, PVOID Addr) -{ - ppc_map_info_t info = { 0 }; - info.proc = Process ? (int)Process->UniqueProcessId : 0; - info.addr = (vaddr_t)Addr; - MmuInqPage(&info, 1); - return (PVOID)info.phys; -} - -/* - * @implemented - */ -PHYSICAL_ADDRESS STDCALL -MmGetPhysicalAddress(PVOID vaddr) -/* - * FUNCTION: Returns the physical address corresponding to a virtual address - */ -{ - PHYSICAL_ADDRESS Addr; - Addr.QuadPart = (ULONG)MmGetPhysicalAddressProcess(PsGetCurrentProcess()->UniqueProcessId, vaddr); - return Addr; -} - -PFN_TYPE -NTAPI -MmGetPfnForProcess(PEPROCESS Process, - PVOID Address) -{ - return((PFN_TYPE)MmGetPhysicalAddressProcess(Process, Address) >> PAGE_SHIFT); -} - -VOID -NTAPI -MmDisableVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN* WasDirty, PPFN_TYPE Page) -/* - * FUNCTION: Delete a virtual mapping - */ -{ - ppc_map_info_t info = { 0 }; - info.proc = Process ? (int)Process->UniqueProcessId : 0; - info.addr = (vaddr_t)Address; - MmuUnmapPage(&info, 1); -} - -VOID -NTAPI -MmRawDeleteVirtualMapping(PVOID Address) -{ -} - -VOID -NTAPI -MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage, - BOOLEAN* WasDirty, PPFN_TYPE Page) -/* - * FUNCTION: Delete a virtual mapping - */ -{ - ppc_map_info_t info = { 0 }; - - DPRINT("MmDeleteVirtualMapping(%x, %x, %d, %x, %x)\n", - Process, Address, FreePage, WasDirty, Page); - - info.proc = Process ? (int)Process->UniqueProcessId : 0; - info.addr = (vaddr_t)Address; - MmuInqPage(&info, 1); - - if (FreePage && info.phys) - { - MmReleasePageMemoryConsumer(MC_NPPOOL, info.phys >> PAGE_SHIFT); - } - - /* - * Return some information to the caller - */ - if (WasDirty != NULL) - { - *WasDirty = !!(info.flags & MMU_PAGE_DIRTY); - } - if (Page != NULL) - { - *Page = info.phys >> PAGE_SHIFT; - } -} - -VOID -NTAPI -MmDeletePageFileMapping(PEPROCESS Process, PVOID Address, - SWAPENTRY* SwapEntry) -/* - * FUNCTION: Delete a virtual mapping - */ -{ - ppc_map_info_t info = { 0 }; - /* - * Decrement the reference count for this page table. - */ - if (Process != NULL && - ((PMADDRESS_SPACE)&Process->VadRoot)->PageTableRefCountTable != NULL && - Address < MmSystemRangeStart) - { - PUSHORT Ptrc; - - Ptrc = ((PMADDRESS_SPACE)&Process->VadRoot)->PageTableRefCountTable; - MmFreePageTable(Process, Address); - } - - /* - * Return some information to the caller - */ - MmuInqPage(&info, 1); - *SwapEntry = info.phys; -} - -BOOLEAN -NTAPI -MmIsDirtyPage(PEPROCESS Process, PVOID Address) -{ - ppc_map_info_t info = { 0 }; - info.proc = Process ? (int)Process->UniqueProcessId : 0; - info.addr = (vaddr_t)Address; - MmuInqPage(&info, 1); - return !!(info.flags & MMU_PAGE_DIRTY); -} - -BOOLEAN -NTAPI -MmIsAccessedAndResetAccessPage(PEPROCESS Process, PVOID Address) -{ - ppc_map_info_t info = { 0 }; - - if (Address < MmSystemRangeStart && Process == NULL) - { - DPRINT1("MmIsAccessedAndResetAccessPage is called for user space without a process.\n"); - KEBUGCHECK(0); - } - - info.proc = Process ? (int)Process->UniqueProcessId : 0; - info.addr = (vaddr_t)Address; - MmuInqPage(&info, 1); - return !!(info.flags /*& MMU_PAGE_ACCESS*/); -} - -VOID -NTAPI -MmSetCleanPage(PEPROCESS Process, PVOID Address) -{ -} - -VOID -NTAPI -MmSetDirtyPage(PEPROCESS Process, PVOID Address) -{ -} - -VOID -NTAPI -MmEnableVirtualMapping(PEPROCESS Process, PVOID Address) -{ -} - -BOOLEAN -NTAPI -MmIsPagePresent(PEPROCESS Process, PVOID Address) -{ - ppc_map_info_t info = { 0 }; - info.proc = Process ? (int)Process->UniqueProcessId : 0; - info.addr = (vaddr_t)Address; - MmuInqPage(&info, 1); - return !!info.phys; -} - -ULONGLONG MmGetPageEntryForProcess(PEPROCESS Process, PVOID Address) -{ - return 0; // XXX arty -} - -BOOLEAN -NTAPI -MmIsPageSwapEntry(PEPROCESS Process, PVOID Address) -{ - ULONG Entry; - Entry = MmGetPageEntryForProcess(Process, Address); - return !(Entry & PA_PRESENT) && Entry != 0 ? TRUE : FALSE; -} - -NTSTATUS -NTAPI -MmCreateVirtualMappingForKernel(PVOID Address, - ULONG flProtect, - PPFN_TYPE Pages, - ULONG PageCount) -{ - ULONG i; - PVOID Addr; - - DPRINT("MmCreateVirtualMappingForKernel(%x, %x, %x, %d)\n", - Address, flProtect, Pages, PageCount); - - if (Address < MmSystemRangeStart) - { - DPRINT1("MmCreateVirtualMappingForKernel is called for user space\n"); - KEBUGCHECK(0); - } - - Addr = Address; - - for (i = 0; i < PageCount; i++, Addr = (PVOID)((ULONG_PTR)Addr + PAGE_SIZE)) - { -#if 0 - if (!(Attributes & PA_PRESENT) && Pages[i] != 0) - { - DPRINT1("Setting physical address but not allowing access at address " - "0x%.8X with attributes %x/%x.\n", - Addr, Attributes, flProtect); - KEBUGCHECK(0); - } - (void)InterlockedExchangeUL(Pt, PFN_TO_PTE(Pages[i]) | Attributes); -#endif - } - - return(STATUS_SUCCESS); -} - -NTSTATUS -NTAPI -MmCreatePageFileMapping(PEPROCESS Process, - PVOID Address, - SWAPENTRY SwapEntry) -{ - if (Process == NULL && Address < MmSystemRangeStart) - { - DPRINT1("No process\n"); - KEBUGCHECK(0); - } - if (Process != NULL && Address >= MmSystemRangeStart) - { - DPRINT1("Setting kernel address with process context\n"); - KEBUGCHECK(0); - } - if (SwapEntry & (1 << 31)) - { - KEBUGCHECK(0); - } - - // XXX arty - - return(STATUS_SUCCESS); -} - - -NTSTATUS -NTAPI -MmCreateVirtualMappingUnsafe(PEPROCESS Process, - PVOID Address, - ULONG flProtect, - PPFN_TYPE Pages, - ULONG PageCount) -{ - ULONG Attributes; - PVOID Addr; - ULONG i; - ppc_map_info_t info = { 0 }; - - DPRINT("MmCreateVirtualMappingUnsafe(%x, %x, %x, %x (%x), %d)\n", - Process, Address, flProtect, Pages, *Pages, PageCount); - - if (Process == NULL) - { - if (Address < MmSystemRangeStart) - { - DPRINT1("No process\n"); - KEBUGCHECK(0); - } - if (PageCount > 0x10000 || - (ULONG_PTR) Address / PAGE_SIZE + PageCount > 0x100000) - { - DPRINT1("Page count to large\n"); - KEBUGCHECK(0); - } - } - else - { - if (Address >= MmSystemRangeStart) - { - DPRINT1("Setting kernel address with process context\n"); - KEBUGCHECK(0); - } - if (PageCount > (ULONG_PTR)MmSystemRangeStart / PAGE_SIZE || - (ULONG_PTR) Address / PAGE_SIZE + PageCount > - (ULONG_PTR)MmSystemRangeStart / PAGE_SIZE) - { - DPRINT1("Page Count to large\n"); - KEBUGCHECK(0); - } - } - - Attributes = ProtectToFlags(flProtect); - Addr = Address; - - for (i = 0; i < PageCount; i++, Addr = (PVOID)((ULONG_PTR)Addr + PAGE_SIZE)) - { - Process = PsGetCurrentProcess(); - info.proc = ((Addr < MmSystemRangeStart) && Process) ? - (int)Process->UniqueProcessId : 0; - info.addr = (vaddr_t)Addr; - info.flags = Attributes; - MmuMapPage(&info, 1); - //(void)InterlockedExchangeUL(Pt, PFN_TO_PTE(Pages[i]) | Attributes); - if (Address < MmSystemRangeStart && - ((PMADDRESS_SPACE)&Process->VadRoot)->PageTableRefCountTable != NULL && - Attributes & PA_PRESENT) - { -#if 0 - PUSHORT Ptrc; - - Ptrc = ((PMADDRESS_SPACE)&Process->VadRoot)->PageTableRefCountTable; - - Ptrc[ADDR_TO_PAGE_TABLE(Addr)]++; -#endif - } - } - return(STATUS_SUCCESS); -} - -NTSTATUS -NTAPI -MmCreateVirtualMapping(PEPROCESS Process, - PVOID Address, - ULONG flProtect, - PPFN_TYPE Pages, - ULONG PageCount) -{ - ULONG i; - - for (i = 0; i < PageCount; i++) - { - if (!MmIsUsablePage(Pages[i])) - { - DPRINT1("Page at address %x not usable\n", PFN_TO_PTE(Pages[i])); - KEBUGCHECK(0); - } - } - - return(MmCreateVirtualMappingUnsafe(Process, - Address, - flProtect, - Pages, - PageCount)); -} - -ULONG -NTAPI -MmGetPageProtect(PEPROCESS Process, PVOID Address) -{ - ULONG Protect = 0; - ppc_map_info_t info = { 0 }; - - info.proc = Process ? (int)Process->UniqueProcessId : 0; - info.addr = (vaddr_t)Address; - MmuInqPage(&info, 1); - - if (!info.phys) { return PAGE_NOACCESS; } - if (!(info.flags & MMU_KMASK)) - { - Protect |= PAGE_SYSTEM; - if ((info.flags & MMU_KR) && (info.flags & MMU_KW)) - Protect = PAGE_READWRITE; - else if (info.flags & MMU_KR) - Protect = PAGE_EXECUTE_READ; - } - else - { - if ((info.flags & MMU_UR) && (info.flags & MMU_UW)) - Protect = PAGE_READWRITE; - else - Protect = PAGE_EXECUTE_READ; - } - return(Protect); -} - -VOID -NTAPI -MmSetPageProtect(PEPROCESS Process, PVOID Address, ULONG flProtect) -{ - //ULONG Attributes = 0; - - DPRINT("MmSetPageProtect(Process %x Address %x flProtect %x)\n", - Process, Address, flProtect); - -#if 0 - Attributes = ProtectToPTE(flProtect); - - Pt = MmGetPageTableForProcess(Process, Address, FALSE); - if (Pt == NULL) - { - KEBUGCHECK(0); - } - InterlockedExchange((PLONG)Pt, PAGE_MASK(*Pt) | Attributes | (*Pt & (PA_ACCESSED|PA_DIRTY))); - MiFlushTlb(Pt, Address); -#endif -} - -PVOID -NTAPI -MmCreateHyperspaceMapping(PFN_TYPE Page) -{ - PVOID Address; - ppc_map_info_t info = { 0 }; - - Address = (PVOID)((ULONG_PTR)HYPERSPACE * PAGE_SIZE); - info.proc = 0; - info.addr = (vaddr_t)Address; - info.flags = MMU_KRW; - MmuMapPage(&info, 1); - - return Address; -} - -PFN_TYPE -NTAPI -MmChangeHyperspaceMapping(PVOID Address, PFN_TYPE NewPage) -{ - PFN_TYPE OldPage; - ppc_map_info_t info = { 0 }; - - info.proc = 0; - info.addr = (vaddr_t)Address; - MmuUnmapPage(&info, 1); - OldPage = info.phys; - info.phys = (paddr_t)NewPage; - MmuMapPage(&info, 1); - - return NewPage; -} - -PFN_TYPE -NTAPI -MmDeleteHyperspaceMapping(PVOID Address) -{ - ppc_map_info_t info = { 0 }; - ASSERT (IS_HYPERSPACE(Address)); - - info.proc = 0; - info.addr = (vaddr_t)Address; - - MmuUnmapPage(&info, 1); - - return (PFN_TYPE)info.phys; -} - -VOID -INIT_FUNCTION -NTAPI -MmInitGlobalKernelPageDirectory(VOID) -{ -} - -VOID -INIT_FUNCTION -NTAPI -MiInitPageDirectoryMap(VOID) -{ -} - -ULONG -NTAPI -MiGetUserPageDirectoryCount(VOID) -{ - return 0; -} - -VOID -NTAPI -MmUpdatePageDir(PEPROCESS Process, PVOID Address, ULONG Size) -{ -} - -/* Create a simple, primitive mapping at the specified address on a new page */ -NTSTATUS MmPPCCreatePrimitiveMapping(ULONG_PTR PageAddr) -{ - NTSTATUS result; - ppc_map_info_t info = { 0 }; - info.flags = MMU_KRW; - info.addr = (vaddr_t)PageAddr; - result = MmuMapPage(&info, 1) ? STATUS_SUCCESS : STATUS_NO_MEMORY; - return result; -} - -/* Use our primitive allocator */ -PFN_TYPE MmPPCPrimitiveAllocPage() -{ - paddr_t Result = MmuGetPage(); - DbgPrint("Got Page %x\n", Result); - return Result / PAGE_SIZE; -} - -/* EOF */ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS kernel + * FILE: ntoskrnl/mm/i386/page.c + * PURPOSE: Low level memory managment manipulation + * + * PROGRAMMERS: David Welch (welch@cwcom.net) + * Revised for PowerPC by arty + */ + +/* INCLUDES ***************************************************************/ + +#include +#include +//#define NDEBUG +#include + +#if defined (ALLOC_PRAGMA) +#pragma alloc_text(INIT, MmInitGlobalKernelPageDirectory) +#pragma alloc_text(INIT, MiInitPageDirectoryMap) +#endif + +/* GLOBALS *****************************************************************/ + +#define HYPERSPACE_PAGEDIR_PTR ((PVOID)0xc0000000) + +#define PA_PRESENT (1ll<<63) +#define PA_USER (1ll<<62) +#define PA_ACCESSED 0x200 +#define PA_DIRTY 0x100 +#define PA_WT 0x20 +#define PA_CD 0x10 +#define PA_READWRITE 3 + +#define HYPERSPACE (0xc0400000) +#define IS_HYPERSPACE(v) (((ULONG)(v) >= HYPERSPACE && (ULONG)(v) < HYPERSPACE + 0x400000)) + +#define PTE_TO_PFN(X) ((X) >> PAGE_SHIFT) +#define PFN_TO_PTE(X) ((X) << PAGE_SHIFT) + +#if defined(__GNUC__) +#define PTE_TO_PAGE(X) ((LARGE_INTEGER)(LONGLONG)(PAGE_MASK(X))) +#else +__inline LARGE_INTEGER PTE_TO_PAGE(ULONG npage) +{ + LARGE_INTEGER dummy; + dummy.QuadPart = (LONGLONG)(PAGE_MASK(npage)); + return dummy; +} +#endif + +/* FUNCTIONS ***************************************************************/ + +VOID +STDCALL +MiFlushTlbIpiRoutine(PVOID Address) +{ + if (Address == (PVOID)0xffffffff) + { + __asm__("tlbsync"); + } + else if (Address == (PVOID)0xfffffffe) + { + __asm__("tlbsync"); + } + else + { + __asm__("tlbi %0" : "=r" (Address)); + } +} + +VOID +MiFlushTlb(PULONG Pt, PVOID Address) +{ + __asm__("tlbi %0" : "=r" (Address)); +} + + + +PULONG +MmGetPageDirectory(VOID) +{ + unsigned int page_dir=0; + return((PULONG)page_dir); +} + +static ULONG +ProtectToFlags(ULONG flProtect) +{ + return MMU_ALL_RW; // XXX hack +} + +NTSTATUS +STDCALL +MmCopyMmInfo(PEPROCESS Src, + PEPROCESS Dest, + PPHYSICAL_ADDRESS DirectoryTableBase) +{ + DPRINT("MmCopyMmInfo(Src %x, Dest %x)\n", Src, Dest); + + KeBugCheck(0); + + return(STATUS_SUCCESS); +} + +NTSTATUS +NTAPI +MmInitializeHandBuiltProcess(IN PEPROCESS Process, + IN PLARGE_INTEGER DirectoryTableBase) +{ + /* Share the directory base with the idle process */ + *DirectoryTableBase = PsGetCurrentProcess()->Pcb.DirectoryTableBase; + + /* Initialize the Addresss Space */ + MmInitializeAddressSpace(Process, (PMADDRESS_SPACE)&Process->VadRoot); + + /* The process now has an address space */ + Process->HasAddressSpace = TRUE; + return STATUS_SUCCESS; +} + +BOOLEAN +STDCALL +MmCreateProcessAddressSpace(IN ULONG MinWs, + IN PEPROCESS Process, + IN PLARGE_INTEGER DirectoryTableBase) +{ + KeBugCheck(0); + return TRUE; +} + +VOID +NTAPI +MmDeletePageTable(PEPROCESS Process, PVOID Address) +{ + PEPROCESS CurrentProcess = PsGetCurrentProcess(); + + DPRINT1("DeletePageTable: Process: %x CurrentProcess %x\n", + Process, CurrentProcess); + + if (Process != NULL && Process != CurrentProcess) + { + KeAttachProcess(&Process->Pcb); + } + + if (Process) + { + DPRINT1("Revoking VSID %d\n", (paddr_t)Process->UniqueProcessId); + MmuRevokeVsid((paddr_t)Process->UniqueProcessId, -1); + } + else + { + DPRINT1("No vsid to revoke\n"); + } + + if (Process != NULL && Process != CurrentProcess) + { + KeDetachProcess(); + } +} + +VOID +NTAPI +MmFreePageTable(PEPROCESS Process, PVOID Address) +{ + MmDeletePageTable(Process, Address); +} + +PVOID +NTAPI +MmGetPhysicalAddressProcess(PEPROCESS Process, PVOID Addr) +{ + ppc_map_info_t info = { 0 }; + info.proc = Process ? (int)Process->UniqueProcessId : 0; + info.addr = (vaddr_t)Addr; + MmuInqPage(&info, 1); + return (PVOID)info.phys; +} + +/* + * @implemented + */ +PHYSICAL_ADDRESS STDCALL +MmGetPhysicalAddress(PVOID vaddr) +/* + * FUNCTION: Returns the physical address corresponding to a virtual address + */ +{ + PHYSICAL_ADDRESS Addr; + Addr.QuadPart = (ULONG)MmGetPhysicalAddressProcess(PsGetCurrentProcess()->UniqueProcessId, vaddr); + return Addr; +} + +PFN_TYPE +NTAPI +MmGetPfnForProcess(PEPROCESS Process, + PVOID Address) +{ + return((PFN_TYPE)MmGetPhysicalAddressProcess(Process, Address) >> PAGE_SHIFT); +} + +VOID +NTAPI +MmDisableVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN* WasDirty, PPFN_TYPE Page) +/* + * FUNCTION: Delete a virtual mapping + */ +{ + ppc_map_info_t info = { 0 }; + info.proc = Process ? (int)Process->UniqueProcessId : 0; + info.addr = (vaddr_t)Address; + MmuUnmapPage(&info, 1); +} + +VOID +NTAPI +MmRawDeleteVirtualMapping(PVOID Address) +{ +} + +VOID +NTAPI +MmDeleteVirtualMapping(PEPROCESS Process, PVOID Address, BOOLEAN FreePage, + BOOLEAN* WasDirty, PPFN_TYPE Page) +/* + * FUNCTION: Delete a virtual mapping + */ +{ + ppc_map_info_t info = { 0 }; + + DPRINT("MmDeleteVirtualMapping(%x, %x, %d, %x, %x)\n", + Process, Address, FreePage, WasDirty, Page); + + info.proc = Process ? (int)Process->UniqueProcessId : 0; + info.addr = (vaddr_t)Address; + MmuInqPage(&info, 1); + + if (FreePage && info.phys) + { + MmReleasePageMemoryConsumer(MC_NPPOOL, info.phys >> PAGE_SHIFT); + } + + /* + * Return some information to the caller + */ + if (WasDirty != NULL) + { + *WasDirty = !!(info.flags & MMU_PAGE_DIRTY); + } + if (Page != NULL) + { + *Page = info.phys >> PAGE_SHIFT; + } +} + +VOID +NTAPI +MmDeletePageFileMapping(PEPROCESS Process, PVOID Address, + SWAPENTRY* SwapEntry) +/* + * FUNCTION: Delete a virtual mapping + */ +{ + ppc_map_info_t info = { 0 }; + /* + * Decrement the reference count for this page table. + */ + if (Process != NULL && + ((PMADDRESS_SPACE)&Process->VadRoot)->PageTableRefCountTable != NULL && + Address < MmSystemRangeStart) + { + PUSHORT Ptrc; + + Ptrc = ((PMADDRESS_SPACE)&Process->VadRoot)->PageTableRefCountTable; + MmFreePageTable(Process, Address); + } + + /* + * Return some information to the caller + */ + MmuInqPage(&info, 1); + *SwapEntry = info.phys; +} + +BOOLEAN +NTAPI +MmIsDirtyPage(PEPROCESS Process, PVOID Address) +{ + ppc_map_info_t info = { 0 }; + info.proc = Process ? (int)Process->UniqueProcessId : 0; + info.addr = (vaddr_t)Address; + MmuInqPage(&info, 1); + return !!(info.flags & MMU_PAGE_DIRTY); +} + +BOOLEAN +NTAPI +MmIsAccessedAndResetAccessPage(PEPROCESS Process, PVOID Address) +{ + ppc_map_info_t info = { 0 }; + + if (Address < MmSystemRangeStart && Process == NULL) + { + DPRINT1("MmIsAccessedAndResetAccessPage is called for user space without a process.\n"); + KEBUGCHECK(0); + } + + info.proc = Process ? (int)Process->UniqueProcessId : 0; + info.addr = (vaddr_t)Address; + MmuInqPage(&info, 1); + return !!(info.flags /*& MMU_PAGE_ACCESS*/); +} + +VOID +NTAPI +MmSetCleanPage(PEPROCESS Process, PVOID Address) +{ +} + +VOID +NTAPI +MmSetDirtyPage(PEPROCESS Process, PVOID Address) +{ +} + +VOID +NTAPI +MmEnableVirtualMapping(PEPROCESS Process, PVOID Address) +{ +} + +BOOLEAN +NTAPI +MmIsPagePresent(PEPROCESS Process, PVOID Address) +{ + ppc_map_info_t info = { 0 }; + info.proc = Process ? (int)Process->UniqueProcessId : 0; + info.addr = (vaddr_t)Address; + MmuInqPage(&info, 1); + return !!info.phys; +} + +ULONGLONG MmGetPageEntryForProcess(PEPROCESS Process, PVOID Address) +{ + return 0; // XXX arty +} + +BOOLEAN +NTAPI +MmIsPageSwapEntry(PEPROCESS Process, PVOID Address) +{ + ULONG Entry; + Entry = MmGetPageEntryForProcess(Process, Address); + return !(Entry & PA_PRESENT) && Entry != 0 ? TRUE : FALSE; +} + +NTSTATUS +NTAPI +MmCreateVirtualMappingForKernel(PVOID Address, + ULONG flProtect, + PPFN_TYPE Pages, + ULONG PageCount) +{ + ULONG i; + PVOID Addr; + + DPRINT("MmCreateVirtualMappingForKernel(%x, %x, %x, %d)\n", + Address, flProtect, Pages, PageCount); + + if (Address < MmSystemRangeStart) + { + DPRINT1("MmCreateVirtualMappingForKernel is called for user space\n"); + KEBUGCHECK(0); + } + + Addr = Address; + + for (i = 0; i < PageCount; i++, Addr = (PVOID)((ULONG_PTR)Addr + PAGE_SIZE)) + { +#if 0 + if (!(Attributes & PA_PRESENT) && Pages[i] != 0) + { + DPRINT1("Setting physical address but not allowing access at address " + "0x%.8X with attributes %x/%x.\n", + Addr, Attributes, flProtect); + KEBUGCHECK(0); + } + (void)InterlockedExchangeUL(Pt, PFN_TO_PTE(Pages[i]) | Attributes); +#endif + } + + return(STATUS_SUCCESS); +} + +NTSTATUS +NTAPI +MmCreatePageFileMapping(PEPROCESS Process, + PVOID Address, + SWAPENTRY SwapEntry) +{ + if (Process == NULL && Address < MmSystemRangeStart) + { + DPRINT1("No process\n"); + KEBUGCHECK(0); + } + if (Process != NULL && Address >= MmSystemRangeStart) + { + DPRINT1("Setting kernel address with process context\n"); + KEBUGCHECK(0); + } + if (SwapEntry & (1 << 31)) + { + KEBUGCHECK(0); + } + + // XXX arty + + return(STATUS_SUCCESS); +} + + +NTSTATUS +NTAPI +MmCreateVirtualMappingUnsafe(PEPROCESS Process, + PVOID Address, + ULONG flProtect, + PPFN_TYPE Pages, + ULONG PageCount) +{ + ULONG Attributes; + PVOID Addr; + ULONG i; + ppc_map_info_t info = { 0 }; + + DPRINT("MmCreateVirtualMappingUnsafe(%x, %x, %x, %x (%x), %d)\n", + Process, Address, flProtect, Pages, *Pages, PageCount); + + if (Process == NULL) + { + if (Address < MmSystemRangeStart) + { + DPRINT1("No process\n"); + KEBUGCHECK(0); + } + if (PageCount > 0x10000 || + (ULONG_PTR) Address / PAGE_SIZE + PageCount > 0x100000) + { + DPRINT1("Page count to large\n"); + KEBUGCHECK(0); + } + } + else + { + if (Address >= MmSystemRangeStart) + { + DPRINT1("Setting kernel address with process context\n"); + KEBUGCHECK(0); + } + if (PageCount > (ULONG_PTR)MmSystemRangeStart / PAGE_SIZE || + (ULONG_PTR) Address / PAGE_SIZE + PageCount > + (ULONG_PTR)MmSystemRangeStart / PAGE_SIZE) + { + DPRINT1("Page Count to large\n"); + KEBUGCHECK(0); + } + } + + Attributes = ProtectToFlags(flProtect); + Addr = Address; + + for (i = 0; i < PageCount; i++, Addr = (PVOID)((ULONG_PTR)Addr + PAGE_SIZE)) + { + Process = PsGetCurrentProcess(); + info.proc = ((Addr < MmSystemRangeStart) && Process) ? + (int)Process->UniqueProcessId : 0; + info.addr = (vaddr_t)Addr; + info.flags = Attributes; + MmuMapPage(&info, 1); + //(void)InterlockedExchangeUL(Pt, PFN_TO_PTE(Pages[i]) | Attributes); + if (Address < MmSystemRangeStart && + ((PMADDRESS_SPACE)&Process->VadRoot)->PageTableRefCountTable != NULL && + Attributes & PA_PRESENT) + { +#if 0 + PUSHORT Ptrc; + + Ptrc = ((PMADDRESS_SPACE)&Process->VadRoot)->PageTableRefCountTable; + + Ptrc[ADDR_TO_PAGE_TABLE(Addr)]++; +#endif + } + } + return(STATUS_SUCCESS); +} + +NTSTATUS +NTAPI +MmCreateVirtualMapping(PEPROCESS Process, + PVOID Address, + ULONG flProtect, + PPFN_TYPE Pages, + ULONG PageCount) +{ + ULONG i; + + for (i = 0; i < PageCount; i++) + { + if (!MmIsUsablePage(Pages[i])) + { + DPRINT1("Page at address %x not usable\n", PFN_TO_PTE(Pages[i])); + KEBUGCHECK(0); + } + } + + return(MmCreateVirtualMappingUnsafe(Process, + Address, + flProtect, + Pages, + PageCount)); +} + +ULONG +NTAPI +MmGetPageProtect(PEPROCESS Process, PVOID Address) +{ + ULONG Protect = 0; + ppc_map_info_t info = { 0 }; + + info.proc = Process ? (int)Process->UniqueProcessId : 0; + info.addr = (vaddr_t)Address; + MmuInqPage(&info, 1); + + if (!info.phys) { return PAGE_NOACCESS; } + if (!(info.flags & MMU_KMASK)) + { + Protect |= PAGE_SYSTEM; + if ((info.flags & MMU_KR) && (info.flags & MMU_KW)) + Protect = PAGE_READWRITE; + else if (info.flags & MMU_KR) + Protect = PAGE_EXECUTE_READ; + } + else + { + if ((info.flags & MMU_UR) && (info.flags & MMU_UW)) + Protect = PAGE_READWRITE; + else + Protect = PAGE_EXECUTE_READ; + } + return(Protect); +} + +VOID +NTAPI +MmSetPageProtect(PEPROCESS Process, PVOID Address, ULONG flProtect) +{ + //ULONG Attributes = 0; + + DPRINT("MmSetPageProtect(Process %x Address %x flProtect %x)\n", + Process, Address, flProtect); + +#if 0 + Attributes = ProtectToPTE(flProtect); + + Pt = MmGetPageTableForProcess(Process, Address, FALSE); + if (Pt == NULL) + { + KEBUGCHECK(0); + } + InterlockedExchange((PLONG)Pt, PAGE_MASK(*Pt) | Attributes | (*Pt & (PA_ACCESSED|PA_DIRTY))); + MiFlushTlb(Pt, Address); +#endif +} + +PVOID +NTAPI +MmCreateHyperspaceMapping(PFN_TYPE Page) +{ + PVOID Address; + ppc_map_info_t info = { 0 }; + + Address = (PVOID)((ULONG_PTR)HYPERSPACE * PAGE_SIZE); + info.proc = 0; + info.addr = (vaddr_t)Address; + info.flags = MMU_KRW; + MmuMapPage(&info, 1); + + return Address; +} + +PFN_TYPE +NTAPI +MmChangeHyperspaceMapping(PVOID Address, PFN_TYPE NewPage) +{ + PFN_TYPE OldPage; + ppc_map_info_t info = { 0 }; + + info.proc = 0; + info.addr = (vaddr_t)Address; + MmuUnmapPage(&info, 1); + OldPage = info.phys; + info.phys = (paddr_t)NewPage; + MmuMapPage(&info, 1); + + return NewPage; +} + +PFN_TYPE +NTAPI +MmDeleteHyperspaceMapping(PVOID Address) +{ + ppc_map_info_t info = { 0 }; + ASSERT (IS_HYPERSPACE(Address)); + + info.proc = 0; + info.addr = (vaddr_t)Address; + + MmuUnmapPage(&info, 1); + + return (PFN_TYPE)info.phys; +} + +VOID +INIT_FUNCTION +NTAPI +MmInitGlobalKernelPageDirectory(VOID) +{ +} + +VOID +INIT_FUNCTION +NTAPI +MiInitPageDirectoryMap(VOID) +{ +} + +ULONG +NTAPI +MiGetUserPageDirectoryCount(VOID) +{ + return 0; +} + +VOID +NTAPI +MmUpdatePageDir(PEPROCESS Process, PVOID Address, ULONG Size) +{ +} + +/* Create a simple, primitive mapping at the specified address on a new page */ +NTSTATUS MmPPCCreatePrimitiveMapping(ULONG_PTR PageAddr) +{ + NTSTATUS result; + ppc_map_info_t info = { 0 }; + info.flags = MMU_KRW; + info.addr = (vaddr_t)PageAddr; + result = MmuMapPage(&info, 1) ? STATUS_SUCCESS : STATUS_NO_MEMORY; + return result; +} + +/* Use our primitive allocator */ +PFN_TYPE MmPPCPrimitiveAllocPage() +{ + paddr_t Result = MmuGetPage(); + DbgPrint("Got Page %x\n", Result); + return Result / PAGE_SIZE; +} + +/* EOF */ diff --git a/reactos/ntoskrnl/mm/powerpc/pfault.c b/reactos/ntoskrnl/mm/powerpc/pfault.c index ffcdc40c33c..bb6b302e0b2 100644 --- a/reactos/ntoskrnl/mm/powerpc/pfault.c +++ b/reactos/ntoskrnl/mm/powerpc/pfault.c @@ -1,112 +1,111 @@ -/* $Id: pfault.c 24443 2006-10-08 10:01:27Z arty $ - * - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS kernel - * FILE: ntoskrnl/mm/powerpc/pfault.c - * PURPOSE: Paging file functions - * - * PROGRAMMERS: David Welch (welch@mcmail.com) - */ - -/* INCLUDES *****************************************************************/ - -#include -#define NDEBUG -#include -#include - -/* EXTERNS *******************************************************************/ - -NTSTATUS -NTAPI -MmNotPresentFault(KPROCESSOR_MODE Mode, - ULONG_PTR Address, - BOOLEAN FromMdl); -extern ULONG KiKernelTrapHandler(PKTRAP_FRAME Tf, ULONG ExceptionNr, PVOID Cr2); - -/* FUNCTIONS *****************************************************************/ - -VOID MmpPpcTrapFrameToTrapFrame(ppc_trap_frame_t *frame, PKTRAP_FRAME Tf) -{ - RtlCopyMemory(&Tf->Gpr0, frame->gpr, 12 * sizeof(ULONG)); - Tf->Lr = frame->lr; - Tf->Cr = frame->cr; - Tf->Ctr = frame->ctr; - Tf->Xer = frame->xer; - Tf->Iar = frame->srr0; - Tf->Msr = frame->srr1 & 0xffff; - Tf->Dr0 = frame->dar; - Tf->Dr1 = frame->dsisr; -} - -void CopyFrame(int *oldframe, int *ourframe) -{ - int i; - - for (i = 0; i < sizeof(ppc_trap_frame_t) / sizeof(int); i++) - { - ourframe[i] = GetPhys((int)&oldframe[i]); - } -} - -void KiPageFaultHandler(int trap, ppc_trap_frame_t *frame) -{ - NTSTATUS Status = STATUS_SUCCESS; - KPROCESSOR_MODE Mode; - EXCEPTION_RECORD Er; - KTRAP_FRAME Tf; - BOOLEAN AccessFault = !!(frame->dsisr & (1<<28)); - vaddr_t VirtualAddr; - PVOID TrapInfo = NULL; - - /* get the faulting address */ - if (trap == 4) /* Instruction miss */ - VirtualAddr = frame->srr0; - else /* Data miss */ - VirtualAddr = frame->dar; - - /* MSR_PR */ - Mode = frame->srr1 & 0x4000 ? UserMode : KernelMode; - DPRINT("Page Fault at %08x\n", frame->srr0); - - /* handle the fault */ - if (AccessFault) - { - Status = MmAccessFault(Mode, (PVOID)VirtualAddr, FALSE, TrapInfo); - } - else - { - Status = MmNotPresentFault(Mode, VirtualAddr, FALSE); - } - - if (NT_SUCCESS(Status)) - { - MmuCallbackRet(); - } - - if (KeGetCurrentThread()->ApcState.UserApcPending) - { - KIRQL oldIrql; - - KeRaiseIrql(APC_LEVEL, &oldIrql); - KiDeliverApc(UserMode, NULL, NULL); - KeLowerIrql(oldIrql); - } - - MmpPpcTrapFrameToTrapFrame(frame, &Tf); - - Er.ExceptionCode = STATUS_ACCESS_VIOLATION; - Er.ExceptionFlags = 0; - Er.ExceptionRecord = NULL; - Er.ExceptionAddress = (PVOID)frame->srr0; - Er.NumberParameters = 2; - Er.ExceptionInformation[0] = AccessFault; - Er.ExceptionInformation[1] = VirtualAddr; - - /* FIXME: Which exceptions are noncontinuable? */ - Er.ExceptionFlags = 0; - - KiDispatchException(&Er, 0, &Tf, Mode, TRUE); - MmuCallbackRet(); -} - +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS kernel + * FILE: ntoskrnl/mm/powerpc/pfault.c + * PURPOSE: Paging file functions + * + * PROGRAMMERS: David Welch (welch@mcmail.com) + */ + +/* INCLUDES *****************************************************************/ + +#include +#define NDEBUG +#include +#include + +/* EXTERNS *******************************************************************/ + +NTSTATUS +NTAPI +MmNotPresentFault(KPROCESSOR_MODE Mode, + ULONG_PTR Address, + BOOLEAN FromMdl); +extern ULONG KiKernelTrapHandler(PKTRAP_FRAME Tf, ULONG ExceptionNr, PVOID Cr2); + +/* FUNCTIONS *****************************************************************/ + +VOID MmpPpcTrapFrameToTrapFrame(ppc_trap_frame_t *frame, PKTRAP_FRAME Tf) +{ + RtlCopyMemory(&Tf->Gpr0, frame->gpr, 12 * sizeof(ULONG)); + Tf->Lr = frame->lr; + Tf->Cr = frame->cr; + Tf->Ctr = frame->ctr; + Tf->Xer = frame->xer; + Tf->Iar = frame->srr0; + Tf->Msr = frame->srr1 & 0xffff; + Tf->Dr0 = frame->dar; + Tf->Dr1 = frame->dsisr; +} + +void CopyFrame(int *oldframe, int *ourframe) +{ + int i; + + for (i = 0; i < sizeof(ppc_trap_frame_t) / sizeof(int); i++) + { + ourframe[i] = GetPhys((int)&oldframe[i]); + } +} + +void KiPageFaultHandler(int trap, ppc_trap_frame_t *frame) +{ + NTSTATUS Status = STATUS_SUCCESS; + KPROCESSOR_MODE Mode; + EXCEPTION_RECORD Er; + KTRAP_FRAME Tf; + BOOLEAN AccessFault = !!(frame->dsisr & (1<<28)); + vaddr_t VirtualAddr; + PVOID TrapInfo = NULL; + + /* get the faulting address */ + if (trap == 4) /* Instruction miss */ + VirtualAddr = frame->srr0; + else /* Data miss */ + VirtualAddr = frame->dar; + + /* MSR_PR */ + Mode = frame->srr1 & 0x4000 ? UserMode : KernelMode; + DPRINT("Page Fault at %08x\n", frame->srr0); + + /* handle the fault */ + if (AccessFault) + { + Status = MmAccessFault(Mode, (PVOID)VirtualAddr, FALSE, TrapInfo); + } + else + { + Status = MmNotPresentFault(Mode, VirtualAddr, FALSE); + } + + if (NT_SUCCESS(Status)) + { + MmuCallbackRet(); + } + + if (KeGetCurrentThread()->ApcState.UserApcPending) + { + KIRQL oldIrql; + + KeRaiseIrql(APC_LEVEL, &oldIrql); + KiDeliverApc(UserMode, NULL, NULL); + KeLowerIrql(oldIrql); + } + + MmpPpcTrapFrameToTrapFrame(frame, &Tf); + + Er.ExceptionCode = STATUS_ACCESS_VIOLATION; + Er.ExceptionFlags = 0; + Er.ExceptionRecord = NULL; + Er.ExceptionAddress = (PVOID)frame->srr0; + Er.NumberParameters = 2; + Er.ExceptionInformation[0] = AccessFault; + Er.ExceptionInformation[1] = VirtualAddr; + + /* FIXME: Which exceptions are noncontinuable? */ + Er.ExceptionFlags = 0; + + KiDispatchException(&Er, 0, &Tf, Mode, TRUE); + MmuCallbackRet(); +} + diff --git a/reactos/ntoskrnl/mm/ppool.c b/reactos/ntoskrnl/mm/ppool.c index c458c54a6ab..a4c4f2ed430 100644 --- a/reactos/ntoskrnl/mm/ppool.c +++ b/reactos/ntoskrnl/mm/ppool.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/ppool.c diff --git a/reactos/ntoskrnl/mm/region.c b/reactos/ntoskrnl/mm/region.c index 1608c226053..efa8cb1bcff 100644 --- a/reactos/ntoskrnl/mm/region.c +++ b/reactos/ntoskrnl/mm/region.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/region.c diff --git a/reactos/ntoskrnl/mm/rmap.c b/reactos/ntoskrnl/mm/rmap.c index 2b12552ef30..b30f24b3eef 100644 --- a/reactos/ntoskrnl/mm/rmap.c +++ b/reactos/ntoskrnl/mm/rmap.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/rmap.c diff --git a/reactos/ntoskrnl/mm/rpoolmgr.h b/reactos/ntoskrnl/mm/rpoolmgr.h index c864524a955..2935ab8274b 100644 --- a/reactos/ntoskrnl/mm/rpoolmgr.h +++ b/reactos/ntoskrnl/mm/rpoolmgr.h @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/RPoolMgr.h diff --git a/reactos/ntoskrnl/mm/section.c b/reactos/ntoskrnl/mm/section.c index 262efcdaadd..aab518a4629 100644 --- a/reactos/ntoskrnl/mm/section.c +++ b/reactos/ntoskrnl/mm/section.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * Copyright (C) 1998-2005 ReactOS Team (and the authors from the programmers section) * * This program is free software; you can redistribute it and/or diff --git a/reactos/ntoskrnl/mm/virtual.c b/reactos/ntoskrnl/mm/virtual.c index c77d1a701c3..5f5cf18bad6 100644 --- a/reactos/ntoskrnl/mm/virtual.c +++ b/reactos/ntoskrnl/mm/virtual.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/virtual.c diff --git a/reactos/ntoskrnl/mm/wset.c b/reactos/ntoskrnl/mm/wset.c index 411fdea3b6b..45d78b99314 100644 --- a/reactos/ntoskrnl/mm/wset.c +++ b/reactos/ntoskrnl/mm/wset.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/mm/wset.c diff --git a/reactos/ntoskrnl/ntoskrnl_arm.def b/reactos/ntoskrnl/ntoskrnl_arm.def index 8eca904566e..43f8504e404 100644 --- a/reactos/ntoskrnl/ntoskrnl_arm.def +++ b/reactos/ntoskrnl/ntoskrnl_arm.def @@ -1,5 +1,3 @@ -; $Id: ntoskrnl.def 31476 2007-12-28 14:39:43Z hpoussin $ -; ; reactos/ntoskrnl/ntoskrnl.def ; ; ReactOS Operating System diff --git a/reactos/ntoskrnl/ntoskrnl_i386.def b/reactos/ntoskrnl/ntoskrnl_i386.def index ffecd800dc7..7a413a9d526 100644 --- a/reactos/ntoskrnl/ntoskrnl_i386.def +++ b/reactos/ntoskrnl/ntoskrnl_i386.def @@ -1,5 +1,3 @@ -; $Id$ -; ; reactos/ntoskrnl/ntoskrnl.def ; ; ReactOS Operating System diff --git a/reactos/ntoskrnl/ob/sdcache.c b/reactos/ntoskrnl/ob/sdcache.c index 94af6b3ea9c..0be7d9c0da7 100644 --- a/reactos/ntoskrnl/ob/sdcache.c +++ b/reactos/ntoskrnl/ob/sdcache.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/ob/sdcache.c diff --git a/reactos/ntoskrnl/po/power.c b/reactos/ntoskrnl/po/power.c index 353d505b079..309e10243fa 100644 --- a/reactos/ntoskrnl/po/power.c +++ b/reactos/ntoskrnl/po/power.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/po/power.c diff --git a/reactos/ntoskrnl/ps/job.c b/reactos/ntoskrnl/ps/job.c index 6af27b35387..135822d652b 100644 --- a/reactos/ntoskrnl/ps/job.c +++ b/reactos/ntoskrnl/ps/job.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/ps/job.c diff --git a/reactos/ntoskrnl/rtl/misc.c b/reactos/ntoskrnl/rtl/misc.c index dc6f3ea720b..925aa724e4c 100644 --- a/reactos/ntoskrnl/rtl/misc.c +++ b/reactos/ntoskrnl/rtl/misc.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/rtl/misc.c diff --git a/reactos/ntoskrnl/rtl/strtok.c b/reactos/ntoskrnl/rtl/strtok.c index ecb20aa7222..98ed06b0881 100644 --- a/reactos/ntoskrnl/rtl/strtok.c +++ b/reactos/ntoskrnl/rtl/strtok.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/rtl/strtok.c diff --git a/reactos/ntoskrnl/se/acl.c b/reactos/ntoskrnl/se/acl.c index 2ed35412892..cbde82d7f64 100644 --- a/reactos/ntoskrnl/se/acl.c +++ b/reactos/ntoskrnl/se/acl.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/se/acl.c diff --git a/reactos/ntoskrnl/se/audit.c b/reactos/ntoskrnl/se/audit.c index 1069d5f2748..9b6edb54593 100644 --- a/reactos/ntoskrnl/se/audit.c +++ b/reactos/ntoskrnl/se/audit.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/se/audit.c diff --git a/reactos/ntoskrnl/se/lsa.c b/reactos/ntoskrnl/se/lsa.c index c44781c1400..24b81b2902a 100644 --- a/reactos/ntoskrnl/se/lsa.c +++ b/reactos/ntoskrnl/se/lsa.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/se/lsa.c diff --git a/reactos/ntoskrnl/se/luid.c b/reactos/ntoskrnl/se/luid.c index 95239c9be24..1fbb2c7390b 100644 --- a/reactos/ntoskrnl/se/luid.c +++ b/reactos/ntoskrnl/se/luid.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/se/luid.c diff --git a/reactos/ntoskrnl/se/priv.c b/reactos/ntoskrnl/se/priv.c index f1341ed7634..ef7f7f5dc32 100644 --- a/reactos/ntoskrnl/se/priv.c +++ b/reactos/ntoskrnl/se/priv.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/se/priv.c diff --git a/reactos/ntoskrnl/se/sd.c b/reactos/ntoskrnl/se/sd.c index 5ebccb6bac3..4389d689ccc 100644 --- a/reactos/ntoskrnl/se/sd.c +++ b/reactos/ntoskrnl/se/sd.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/se/sd.c diff --git a/reactos/ntoskrnl/se/semgr.c b/reactos/ntoskrnl/se/semgr.c index 649d851938e..68e1a7e68d5 100644 --- a/reactos/ntoskrnl/se/semgr.c +++ b/reactos/ntoskrnl/se/semgr.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/se/semgr.c diff --git a/reactos/ntoskrnl/se/sid.c b/reactos/ntoskrnl/se/sid.c index 541fca02562..2f1a6091087 100644 --- a/reactos/ntoskrnl/se/sid.c +++ b/reactos/ntoskrnl/se/sid.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/se/sid.c diff --git a/reactos/ntoskrnl/se/token.c b/reactos/ntoskrnl/se/token.c index 40a354179a9..241e7a31098 100644 --- a/reactos/ntoskrnl/se/token.c +++ b/reactos/ntoskrnl/se/token.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/se/token.c diff --git a/reactos/ntoskrnl/tests/setup.c b/reactos/ntoskrnl/tests/setup.c index f8c558a6655..0c5fbd461c8 100644 --- a/reactos/ntoskrnl/tests/setup.c +++ b/reactos/ntoskrnl/tests/setup.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/tests/setup.c diff --git a/reactos/ntoskrnl/tests/tests/VirtualMemory.c b/reactos/ntoskrnl/tests/tests/VirtualMemory.c index b04a9f43a81..345824c6b84 100644 --- a/reactos/ntoskrnl/tests/tests/VirtualMemory.c +++ b/reactos/ntoskrnl/tests/tests/VirtualMemory.c @@ -1,5 +1,4 @@ -/* $Id$ - * +/* * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * FILE: ntoskrnl/tests/tests/VirtualMemory.c