[ros-dev] [ros-diffs] [dgorbachev] 40014: Trying to fix boot breakage.
Timo Kreuzer
timo.kreuzer at web.de
Sat Mar 14 21:10:36 CET 2009
dgorbachev at svn.reactos.org schrieb:
> Author: dgorbachev
> Date: Sat Mar 14 21:13:32 2009
> New Revision: 40014
>
> URL: http://svn.reactos.org/svn/reactos?rev=40014&view=rev
> Log:
> Trying to fix boot breakage.
>
Try harder, please ;-P
http://reactos.org:8010/builders/ReactOS_%28Debug%29/builds/13888/steps/test/logs/stdio
> Modified:
> trunk/reactos/ntoskrnl/mm/freelist.c
> trunk/reactos/ntoskrnl/mm/kmap.c
>
> Modified: trunk/reactos/ntoskrnl/mm/freelist.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/freelist.c?rev=40014&r1=40013&r2=40014&view=diff
> ==============================================================================
> --- trunk/reactos/ntoskrnl/mm/freelist.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/mm/freelist.c [iso-8859-1] Sat Mar 14 21:13:32 2009
> @@ -942,6 +942,21 @@
> return NumberOfPagesFound;
> }
>
> +static
> +NTSTATUS
> +MiZeroPageInternal(PFN_TYPE Page)
> +{
> + PVOID TempAddress;
> +
> + TempAddress = MiMapPageToZeroInHyperSpace(Page);
> + if (TempAddress == NULL)
> + {
> + return(STATUS_NO_MEMORY);
> + }
> + memset(TempAddress, 0, PAGE_SIZE);
> + return(STATUS_SUCCESS);
> +}
> +
> NTSTATUS
> NTAPI
> MmZeroPageThreadMain(PVOID Ignored)
> @@ -989,7 +1004,7 @@
> PageDescriptor->Flags.Type = MM_PHYSICAL_PAGE_USED;
> KeReleaseQueuedSpinLock(LockQueuePfnLock, oldIrql);
> Pfn = PageDescriptor - MmPageArray;
> - Status = MiZeroPage(Pfn);
> + Status = MiZeroPageInternal(Pfn);
>
> oldIrql = KeAcquireQueuedSpinLock(LockQueuePfnLock);
> if (PageDescriptor->MapCount != 0)
>
> Modified: trunk/reactos/ntoskrnl/mm/kmap.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/kmap.c?rev=40014&r1=40013&r2=40014&view=diff
> ==============================================================================
> --- trunk/reactos/ntoskrnl/mm/kmap.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/mm/kmap.c [iso-8859-1] Sat Mar 14 21:13:32 2009
> @@ -16,18 +16,23 @@
> /* GLOBALS *****************************************************************/
>
> /* FUNCTIONS ***************************************************************/
> +
> NTSTATUS
> NTAPI
> MiZeroPage(PFN_TYPE Page)
> {
> + PEPROCESS Process;
> + KIRQL Irql;
> PVOID TempAddress;
>
> - TempAddress = MiMapPageToZeroInHyperSpace(Page);
> + Process = (PEPROCESS)KeGetCurrentThread()->ApcState.Process;
> + TempAddress = MiMapPageInHyperSpace(Process, Page, &Irql);
> if (TempAddress == NULL)
> {
> return(STATUS_NO_MEMORY);
> }
> memset(TempAddress, 0, PAGE_SIZE);
> + MiUnmapPageInHyperSpace(Process, TempAddress, Irql);
> return(STATUS_SUCCESS);
> }
>
>
>
>
More information about the Ros-dev
mailing list