ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
September 2008
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
27 participants
747 discussions
Start a n
N
ew thread
[dreimer] 35974: More cleanup.
by dreimer@svn.reactos.org
Author: dreimer Date: Sat Sep 6 02:57:53 2008 New Revision: 35974 URL:
http://svn.reactos.org/svn/reactos?rev=35974&view=rev
Log: More cleanup. Modified: trunk/tools/RosBE/RosBE-Windows/Root/Build.cmd trunk/tools/RosBE/RosBE-Windows/Root/Clean.cmd trunk/tools/RosBE/RosBE-Windows/Root/Help.cmd trunk/tools/RosBE/RosBE-Windows/Root/charch.cmd trunk/tools/RosBE/RosBE-Windows/Root/rosbe-gcc-env.cmd Modified: trunk/tools/RosBE/RosBE-Windows/Root/Build.cmd URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/Bui…
============================================================================== --- trunk/tools/RosBE/RosBE-Windows/Root/Build.cmd [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Windows/Root/Build.cmd [iso-8859-1] Sat Sep 6 02:57:53 2008 @@ -61,14 +61,12 @@ set CCACHE_DIR=%APPDATA%\RosBE\.ccache set HOST_CC=ccache gcc set HOST_CPP=ccache g++ + set TARGET_CC=ccache gcc + set TARGET_CPP=ccache g++ if .%ROS_ARCH%. == .arm. ( set TARGET_CC=ccache arm-pc-mingw32-gcc set TARGET_CPP=ccache arm-pc-mingw32-g++ ) - if .%ROS_ARCH%. == .i386. ( - set TARGET_CC=ccache gcc - set TARGET_CPP=ccache g++ - ) if .%ROS_ARCH%. == .amd64. ( set TARGET_CC=ccache x86_64-pc-mingw32-gcc set TARGET_CPP=ccache x86_64-pc-mingw32-g++ @@ -80,14 +78,12 @@ ) else ( set HOST_CC=gcc set HOST_CPP=g++ + set TARGET_CC=gcc + set TARGET_CPP=g++ if .%ROS_ARCH%. == .arm. ( set TARGET_CC=arm-pc-mingw32-gcc set TARGET_CPP=arm-pc-mingw32-g++ ) - if .%ROS_ARCH%. == .i386. ( - set TARGET_CC=gcc - set TARGET_CPP=g++ - ) if .%ROS_ARCH%. == .amd64. ( set TARGET_CC=x86_64-pc-mingw32-gcc set TARGET_CPP=x86_64-pc-mingw32-g++ @@ -140,16 +136,16 @@ :: if "%1" == "multi" ( if not "%2" == "" ( - title 'makex %2' parallel build started: %TIMERAW% %ROS_ARCH% - ) else ( - title 'makex' parallel build started: %TIMERAW% %ROS_ARCH% + title 'makex %2' parallel build started: %TIMERAW% %ROS_ARCH% + ) else ( + title 'makex' parallel build started: %TIMERAW% %ROS_ARCH% ) call :BUILDMULTI %* ) else ( if not "%1" == "" ( - title 'make %1' build started: %TIMERAW% %ROS_ARCH% - ) else ( - title 'make' build started: %TIMERAW% %ROS_ARCH% + title 'make %1' build started: %TIMERAW% %ROS_ARCH% + ) else ( + title 'make' build started: %TIMERAW% %ROS_ARCH% ) call :BUILD %* ) Modified: trunk/tools/RosBE/RosBE-Windows/Root/Clean.cmd URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/Cle…
============================================================================== --- trunk/tools/RosBE/RosBE-Windows/Root/Clean.cmd [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Windows/Root/Clean.cmd [iso-8859-1] Sat Sep 6 02:57:53 2008 @@ -65,30 +65,6 @@ ) if exist "makefile-arm.auto" ( del "makefile-arm.auto" 1> NUL 2> NUL - ) - echo Done cleaning ReactOS source directory. - ) else ( - echo ERROR: There is no compiler output to clean. - ) - goto :ROS -) -if .%ROS_ARCH%. == .i386. ( - :: - :: Check if we have something to clean, if so, clean it. - :: - if exist "obj-i386\." ( - echo Cleaning ReactOS source directory... - :: - : Remove directories created by the build. - :: - if exist "obj-i386\." ( - rd /s /q "obj-i386" 1> NUL 2> NUL - ) - if exist "output-i386\." ( - rd /s /q "output-i386" 1> NUL 2> NUL - ) - if exist "makefile.auto" ( - del "makefile.auto" 1> NUL 2> NUL ) echo Done cleaning ReactOS source directory. ) else ( Modified: trunk/tools/RosBE/RosBE-Windows/Root/Help.cmd URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/Hel…
============================================================================== --- trunk/tools/RosBE/RosBE-Windows/Root/Help.cmd [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Windows/Root/Help.cmd [iso-8859-1] Sat Sep 6 02:57:53 2008 @@ -109,7 +109,7 @@ if /i "%1" == "charch" ( echo Usage: charch [OPTIONS] echo Change the ReactOS source directory for the current RosBE session. - echo Possible Architectures are: x86, ppc, arm. + echo Possible Architectures are: i386, ppc, arm, amd64. echo. goto :EOC ) Modified: trunk/tools/RosBE/RosBE-Windows/Root/charch.cmd URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/cha…
============================================================================== --- trunk/tools/RosBE/RosBE-Windows/Root/charch.cmd [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Windows/Root/charch.cmd [iso-8859-1] Sat Sep 6 02:57:53 2008 @@ -66,3 +66,8 @@ if defined _ROSBE_VERSION ( title ReactOS Build Environment %_ROSBE_VERSION% ) + +:: +:: Unload all used Vars. +:: +set _1= Modified: trunk/tools/RosBE/RosBE-Windows/Root/rosbe-gcc-env.cmd URL:
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/ros…
============================================================================== --- trunk/tools/RosBE/RosBE-Windows/Root/rosbe-gcc-env.cmd [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Windows/Root/rosbe-gcc-env.cmd [iso-8859-1] Sat Sep 6 02:57:53 2008 @@ -26,10 +26,6 @@ :: :: Set the Arch Variables :: -if .%_ROSBE_ARCH%. == .0. ( - set ROS_ARCH= - set ROS_PREFIX= -) if .%_ROSBE_ARCH%. == .1. ( set ROS_ARCH=arm set ROS_PREFIX=arm-pc-mingw32
16 years, 3 months
1
0
0
0
[cwittich] 35973: fix all cabinet fdi winetests (except the ones marked as (todo_wine)
by cwittich@svn.reactos.org
Author: cwittich Date: Sat Sep 6 01:35:07 2008 New Revision: 35973 URL:
http://svn.reactos.org/svn/reactos?rev=35973&view=rev
Log: fix all cabinet fdi winetests (except the ones marked as (todo_wine) Modified: trunk/reactos/dll/win32/kernel32/file/file.c Modified: trunk/reactos/dll/win32/kernel32/file/file.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/file/fi…
============================================================================== --- trunk/reactos/dll/win32/kernel32/file/file.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/file/file.c [iso-8859-1] Sat Sep 6 01:35:07 2008 @@ -376,9 +376,9 @@ */ DWORD STDCALL SetFilePointer(HANDLE hFile, - LONG lDistanceToMove, - PLONG lpDistanceToMoveHigh, - DWORD dwMoveMethod) + LONG lDistanceToMove, + PLONG lpDistanceToMoveHigh, + DWORD dwMoveMethod) { FILE_POSITION_INFORMATION FilePosition; FILE_STANDARD_INFORMATION FileStandard; @@ -387,12 +387,12 @@ LARGE_INTEGER Distance; TRACE("SetFilePointer(hFile %x, lDistanceToMove %d, dwMoveMethod %d)\n", - hFile,lDistanceToMove,dwMoveMethod); + hFile,lDistanceToMove,dwMoveMethod); if(IsConsoleHandle(hFile)) { SetLastError(ERROR_INVALID_HANDLE); - return -1; + return INVALID_SET_FILE_POINTER; } if (lpDistanceToMoveHigh) @@ -408,34 +408,48 @@ switch(dwMoveMethod) { case FILE_CURRENT: - NtQueryInformationFile(hFile, - &IoStatusBlock, - &FilePosition, - sizeof(FILE_POSITION_INFORMATION), - FilePositionInformation); - FilePosition.CurrentByteOffset.QuadPart += Distance.QuadPart; - break; + errCode = NtQueryInformationFile(hFile, + &IoStatusBlock, + &FilePosition, + sizeof(FILE_POSITION_INFORMATION), + FilePositionInformation); + FilePosition.CurrentByteOffset.QuadPart += Distance.QuadPart; + if (!NT_SUCCESS(errCode)) + { + if (lpDistanceToMoveHigh != NULL) + *lpDistanceToMoveHigh = -1; + SetLastErrorByStatus(errCode); + return INVALID_SET_FILE_POINTER; + } + break; case FILE_END: - NtQueryInformationFile(hFile, + errCode = NtQueryInformationFile(hFile, &IoStatusBlock, &FileStandard, sizeof(FILE_STANDARD_INFORMATION), FileStandardInformation); - FilePosition.CurrentByteOffset.QuadPart = + FilePosition.CurrentByteOffset.QuadPart = FileStandard.EndOfFile.QuadPart + Distance.QuadPart; - break; + if (!NT_SUCCESS(errCode)) + { + if (lpDistanceToMoveHigh != NULL) + *lpDistanceToMoveHigh = -1; + SetLastErrorByStatus(errCode); + return INVALID_SET_FILE_POINTER; + } + break; case FILE_BEGIN: FilePosition.CurrentByteOffset.QuadPart = Distance.QuadPart; - break; + break; default: SetLastError(ERROR_INVALID_PARAMETER); - return -1; + return INVALID_SET_FILE_POINTER; } if(FilePosition.CurrentByteOffset.QuadPart < 0) { SetLastError(ERROR_NEGATIVE_SEEK); - return -1; + return INVALID_SET_FILE_POINTER; } if (lpDistanceToMoveHigh == NULL && FilePosition.CurrentByteOffset.HighPart != 0) @@ -443,21 +457,21 @@ /* If we're moving the pointer outside of the 32 bit boundaries but the application only passed a 32 bit value we need to bail out! */ SetLastError(ERROR_INVALID_PARAMETER); - return -1; + return INVALID_SET_FILE_POINTER; } errCode = NtSetInformationFile(hFile, - &IoStatusBlock, - &FilePosition, - sizeof(FILE_POSITION_INFORMATION), - FilePositionInformation); + &IoStatusBlock, + &FilePosition, + sizeof(FILE_POSITION_INFORMATION), + FilePositionInformation); if (!NT_SUCCESS(errCode)) { if (lpDistanceToMoveHigh != NULL) *lpDistanceToMoveHigh = -1; SetLastErrorByStatus(errCode); - return -1; + return INVALID_SET_FILE_POINTER; } if (lpDistanceToMoveHigh != NULL)
16 years, 3 months
1
0
0
0
[arty] 35972: Fix some of my late-night brain damage regarding starting caching. Factor out some common pinning and cache starting code. Use IoPageRead. We run the install to 100%, then fail. We leak pretty bad in here... I think pages aren't being freed when we unmap our cache sections.
by arty@svn.reactos.org
Author: arty Date: Fri Sep 5 21:20:54 2008 New Revision: 35972 URL:
http://svn.reactos.org/svn/reactos?rev=35972&view=rev
Log: Fix some of my late-night brain damage regarding starting caching. Factor out some common pinning and cache starting code. Use IoPageRead. We run the install to 100%, then fail. We leak pretty bad in here... I think pages aren't being freed when we unmap our cache sections. Modified: branches/arty-newcc/ntoskrnl/cache/cachesub.c branches/arty-newcc/ntoskrnl/cache/fssup.c branches/arty-newcc/ntoskrnl/cache/lazyrite.c branches/arty-newcc/ntoskrnl/cache/pinsup.c branches/arty-newcc/ntoskrnl/mm/section.c Modified: branches/arty-newcc/ntoskrnl/cache/cachesub.c URL:
http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/cache/cache…
============================================================================== --- branches/arty-newcc/ntoskrnl/cache/cachesub.c [iso-8859-1] (original) +++ branches/arty-newcc/ntoskrnl/cache/cachesub.c [iso-8859-1] Fri Sep 5 21:20:54 2008 @@ -167,12 +167,13 @@ PNOCC_BCB Bcb = (PNOCC_BCB)BcbVoid; Bcb->Dirty = TRUE; for (Buffer = Bcb->BaseAddress; - Buffer < ((PCHAR)Bcb->BaseAddress) + Bcb->Length; - Buffer += PAGE_SIZE) - { - /* Do a fake write on the buffer pages to mark them for mm */ - *Buffer ^= 0; - } + Buffer < ((PCHAR)Bcb->BaseAddress) + Bcb->Length; + Buffer += PAGE_SIZE) + { + /* Do a fake write on the buffer pages to mark them for mm */ + *Buffer ^= 0; + } + Bcb->Dirty = TRUE; } LARGE_INTEGER Modified: branches/arty-newcc/ntoskrnl/cache/fssup.c URL:
http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/cache/fssup…
============================================================================== --- branches/arty-newcc/ntoskrnl/cache/fssup.c [iso-8859-1] (original) +++ branches/arty-newcc/ntoskrnl/cache/fssup.c [iso-8859-1] Fri Sep 5 21:20:54 2008 @@ -101,7 +101,6 @@ IN PCACHE_MANAGER_CALLBACKS Callbacks, IN PVOID LazyWriteContext) { - DPRINT("Initializing file object for %wZ\n", &FileObject->FileName); CcpLock(); if (FileObject->SectionObjectPointer->SharedCacheMap) { @@ -111,6 +110,8 @@ else { PNOCC_CACHE_MAP Map = ExAllocatePool(NonPagedPool, sizeof(NOCC_CACHE_MAP)); + DPRINT("Initializing file object for (%p) %wZ\n", FileObject, &FileObject->FileName); + ASSERT(FileObject); FileObject->SectionObjectPointer->SharedCacheMap = Map; Map->RefCount = 1; ObReferenceObject(FileObject); Modified: branches/arty-newcc/ntoskrnl/cache/lazyrite.c URL:
http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/cache/lazyr…
============================================================================== --- branches/arty-newcc/ntoskrnl/cache/lazyrite.c [iso-8859-1] (original) +++ branches/arty-newcc/ntoskrnl/cache/lazyrite.c [iso-8859-1] Fri Sep 5 21:20:54 2008 @@ -9,7 +9,7 @@ /* INCLUDES *******************************************************************/ #include <ntoskrnl.h> -//#define NDEBUG +#define NDEBUG #include <debug.h> /* GLOBALS ********************************************************************/ Modified: branches/arty-newcc/ntoskrnl/cache/pinsup.c URL:
http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/cache/pinsu…
============================================================================== --- branches/arty-newcc/ntoskrnl/cache/pinsup.c [iso-8859-1] (original) +++ branches/arty-newcc/ntoskrnl/cache/pinsup.c [iso-8859-1] Fri Sep 5 21:20:54 2008 @@ -383,6 +383,64 @@ BOOLEAN NTAPI +CcpStartCaching(PFILE_OBJECT FileObject) +{ + FILE_STANDARD_INFORMATION FileInfo; + ULONG Information; + NTSTATUS Status; + CC_FILE_SIZES FileSizes; + + if (!FileObject->SectionObjectPointer->SharedCacheMap) + { + DPRINT("CcpStartCaching %p\n", FileObject); + Status = IoQueryFileInformation + (FileObject, + FileStandardInformation, + sizeof(FILE_STANDARD_INFORMATION), + &FileInfo, + &Information); + + if (!NT_SUCCESS(Status)) + { + return FALSE; + } + + Status = IoQueryFileInformation + (FileObject, + FileAllocationInformation, + sizeof(LARGE_INTEGER), + &FileSizes.AllocationSize, + &Information); + + if (!NT_SUCCESS(Status)) + { + return FALSE; + } + + FileSizes.ValidDataLength = FileInfo.EndOfFile; + FileSizes.FileSize = FileInfo.EndOfFile; + + DPRINT("Initializing -> File Sizes: VALID %08x%08x FILESIZE %08x%08x ALLOC %08x%08x\n", + FileSizes.ValidDataLength.HighPart, + FileSizes.ValidDataLength.LowPart, + FileSizes.FileSize.HighPart, + FileSizes.FileSize.LowPart, + FileSizes.AllocationSize.HighPart, + FileSizes.AllocationSize.LowPart); + + CcInitializeCacheMap + (FileObject, + &FileSizes, + FALSE, + NULL, + NULL); + } + + return TRUE; +} + +BOOLEAN +NTAPI CcpMapData (IN PNOCC_CACHE_MAP Map, IN PLARGE_INTEGER FileOffset, @@ -418,7 +476,6 @@ /* Find an accomodating section */ //DPRINT("Selected BCB #%x\n", BcbHead); Bcb = &CcCacheSections[BcbHead]; - SectionObject = Bcb->SectionObject; BcbHead = CcpFindMatchingMap(Bcb, FileOffset, Length); if (BcbHead == INVALID_CACHE) @@ -433,6 +490,7 @@ else { Bcb = &CcCacheSections[BcbHead]; + SectionObject = Bcb->SectionObject; Success = TRUE; *BcbResult = Bcb; *Buffer = ((PCHAR)Bcb->BaseAddress) + (int)(FileOffset->QuadPart - Bcb->FileOffset.QuadPart); @@ -457,7 +515,7 @@ PNOCC_CACHE_MAP Map = (PNOCC_CACHE_MAP)FileObject->SectionObjectPointer->SharedCacheMap; ULONG SectionSize; - DPRINT("%08x: File size %x%x\n", FileObject->SectionObjectPointer, Map->FileSizes.ValidDataLength.HighPart, Map->FileSizes.ValidDataLength.LowPart); + DPRINT("%08x: File size %08x%08x\n", FileObject->SectionObjectPointer, Map->FileSizes.ValidDataLength.HighPart, Map->FileSizes.ValidDataLength.LowPart); if (Map->FileSizes.ValidDataLength.QuadPart) { @@ -508,7 +566,7 @@ goto cleanup; } - //DPRINT("Selected BCB #%x\n", BcbHead); + DPRINT("Selected BCB #%x\n", BcbHead); Bcb = &CcCacheSections[BcbHead]; Status = CcpMapSegment(BcbHead); @@ -545,14 +603,7 @@ OUT PVOID *BcbResult, OUT PVOID *Buffer) { - if (!(PNOCC_CACHE_MAP)FileObject->SectionObjectPointer->SharedCacheMap) - { - PNOCC_CACHE_MAP Map = ExAllocatePool(NonPagedPool, sizeof(NOCC_CACHE_MAP)); - FileObject->SectionObjectPointer->SharedCacheMap = Map; - Map->FileObject = FileObject; - InitializeListHead(&Map->AssociatedBcb); - } - + if (!CcpStartCaching(FileObject)) return FALSE; return CcpMapData ((PNOCC_CACHE_MAP)FileObject->SectionObjectPointer->SharedCacheMap, FileOffset, @@ -570,18 +621,19 @@ IN ULONG Flags, IN OUT PVOID *Bcb) { - BOOLEAN Wait = Flags & PIN_WAIT; + BOOLEAN Wait = Flags == TRUE ? PIN_WAIT : Flags & PIN_WAIT; BOOLEAN Exclusive = Flags & PIN_EXCLUSIVE; BOOLEAN Result; ULONG BcbHead; PNOCC_BCB TheBcb; PVOID Buffer; + if (!CcpStartCaching(FileObject)) return FALSE; Result = CcMapData(FileObject, FileOffset, Length, Wait ? MAP_WAIT : 0, Bcb, &Buffer); if (!Result) return FALSE; - TheBcb = (PNOCC_BCB)Bcb; + TheBcb = (PNOCC_BCB)*Bcb; BcbHead = TheBcb - CcCacheSections; CcpLock(); @@ -591,7 +643,10 @@ CcpMarkForExclusive(BcbHead); } else + { + DPRINT("Reference #%x\n", BcbHead); CcpReferenceCache(BcbHead); + } CcpUnlock(); if (Exclusive) @@ -630,31 +685,25 @@ OUT PVOID *Bcb, OUT PVOID *Buffer) { - BOOLEAN Result = CcMapData(FileObject, FileOffset, Length, Flags, Bcb, Buffer); + PNOCC_BCB RealBcb; + BOOLEAN Result; + + if (!CcpStartCaching(FileObject)) return FALSE; + + Result = CcPinMappedData + (FileObject, + FileOffset, + Length, + Flags, + Bcb); if (Result) { - PNOCC_BCB TheBcb = (PNOCC_BCB)*Bcb; - if (!TheBcb->Pinned) - { - TheBcb->Pinned = IoAllocateMdl - (TheBcb->BaseAddress, - TheBcb->Length, - FALSE, - FALSE, - NULL); - _SEH_TRY - { - MmProbeAndLockPages(TheBcb->Pinned, KernelMode, IoReadAccess); - } - _SEH_HANDLE - { - IoFreeMdl(TheBcb->Pinned); - TheBcb->Pinned = NULL; - Result = FALSE; - } - _SEH_END; - } + CcpLock(); + /* Find out if any range is a superset of what we want */ + RealBcb = *Bcb; + *Buffer = ((PCHAR)RealBcb->BaseAddress) + (int)(FileOffset->QuadPart - RealBcb->FileOffset.QuadPart); + CcpUnlock(); } return Result; @@ -670,32 +719,25 @@ OUT PVOID *Bcb, OUT PVOID *Buffer) { - BOOLEAN Result = CcMapData(FileObject, FileOffset, Length, Flags, Bcb, Buffer); + BOOLEAN Result; + PNOCC_BCB RealBcb; + + ASSERT(!Zero); + + Result = CcPinRead + (FileObject, + FileOffset, + Length, + Flags, + Bcb, + Buffer); if (Result) { - PNOCC_BCB TheBcb = (PNOCC_BCB)*Bcb; - if (!TheBcb->Pinned) - { - TheBcb->Pinned = IoAllocateMdl - (TheBcb->BaseAddress, - TheBcb->Length, - FALSE, - FALSE, - NULL); - _SEH_TRY - { - MmProbeAndLockPages(TheBcb->Pinned, KernelMode, IoReadAccess); - } - _SEH_HANDLE - { - IoFreeMdl(TheBcb->Pinned); - TheBcb->Pinned = NULL; - TheBcb->Dirty = TRUE; - Result = FALSE; - } - _SEH_END; - } + CcpLock(); + RealBcb = *Bcb; + RealBcb->Dirty = TRUE; + CcpUnlock(); } return Result; @@ -707,7 +749,9 @@ { PNOCC_BCB RealBcb = (PNOCC_BCB)Bcb; ULONG Selected = RealBcb - CcCacheSections; + DPRINT("CcUnpinData Bcb #%x (RefCount %d)\n", Selected, RealBcb->RefCount); + CcpLock(); if (RealBcb->RefCount <= 2) { Modified: branches/arty-newcc/ntoskrnl/mm/section.c URL:
http://svn.reactos.org/svn/reactos/branches/arty-newcc/ntoskrnl/mm/section.…
============================================================================== --- branches/arty-newcc/ntoskrnl/mm/section.c [iso-8859-1] (original) +++ branches/arty-newcc/ntoskrnl/mm/section.c [iso-8859-1] Fri Sep 5 21:20:54 2008 @@ -147,45 +147,36 @@ ULONG Length, PIO_STATUS_BLOCK ReadStatus) { - NTSTATUS Status; - PIRP Irp = NULL; + PMDL Mdl; KEVENT ReadWait; - PDEVICE_OBJECT DeviceObject = MmGetDeviceObjectForFile(FileObject); - PIO_STACK_LOCATION IrpSp; - - DPRINT1 - ("PAGING READ File %wZ Offset %x Length %d\n", - &FileObject->FileName, - FileOffset->u.LowPart, - Length); - - KeInitializeEvent(&ReadWait, NotificationEvent, FALSE); - - Irp = IoBuildAsynchronousFsdRequest - (IRP_MJ_READ, - DeviceObject, - Buffer, - Length, - FileOffset, - ReadStatus); - - if (!Irp) + NTSTATUS Status = STATUS_SUCCESS; + + KeInitializeEvent(&ReadWait, SynchronizationEvent, FALSE); + + Mdl = IoAllocateMdl(Buffer, Length, FALSE, TRUE, NULL); + + if (!Mdl) return STATUS_NO_MEMORY; + + _SEH_TRY { - return STATUS_NO_MEMORY; + /* Allocate an MDL */ + Mdl = IoAllocateMdl(Buffer, Length, FALSE, TRUE, NULL); + MmProbeAndLockPages(Mdl, KernelMode, IoWriteAccess); + } + _SEH_HANDLE + { + /* Allocating failed, clean up */ + Status = _SEH_GetExceptionCode(); + } + _SEH_END; + + if (!NT_SUCCESS(Status)) + { + IoFreeMdl(Mdl); + return Status; } - Irp->Flags |= IRP_PAGING_IO | IRP_SYNCHRONOUS_PAGING_IO | IRP_NOCACHE; - - ObReferenceObject(FileObject); - - Irp->UserEvent = &ReadWait; - Irp->Tail.Overlay.OriginalFileObject = FileObject; - Irp->Tail.Overlay.Thread = PsGetCurrentThread(); - IrpSp = IoGetNextIrpStackLocation(Irp); - IrpSp->FileObject = FileObject; - IrpSp->CompletionRoutine = MiSimpleReadComplete; - - Status = IoCallDriver(DeviceObject, Irp); + Status = IoPageRead(FileObject, Mdl, FileOffset, &ReadWait, ReadStatus); if (Status == STATUS_PENDING) { if (!NT_SUCCESS @@ -197,14 +188,16 @@ NULL))) { DPRINT1("Warning: Failed to wait for synchronous IRP\n"); - ASSERT(FALSE); - ObDereferenceObject(FileObject); + MmUnlockPages(Mdl); + IoFreeMdl(Mdl); return Status; } } - - ObDereferenceObject(FileObject); - + + DPRINT("MmUnlockPages(%p)\n", Mdl); + MmUnlockPages(Mdl); + IoFreeMdl(Mdl); + DPRINT("Paging IO Done: %08x [%02x %02x %02x %02x ...]\n", ReadStatus->Status, ((PCHAR)Buffer)[0] & 0xff, ((PCHAR)Buffer)[1] & 0xff,
16 years, 3 months
1
0
0
0
[tkreuzer] 35971: more pointer <-> ULONG cast fixes
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Sep 5 18:53:36 2008 New Revision: 35971 URL:
http://svn.reactos.org/svn/reactos?rev=35971&view=rev
Log: more pointer <-> ULONG cast fixes Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ex/work.c Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ex/work.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntosk…
============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/ex/work.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/ex/work.c [iso-8859-1] Fri Sep 5 18:53:36 2008 @@ -147,7 +147,7 @@ TimeoutPointer); /* Check if we timed out and quit this loop in that case */ - if ((NTSTATUS)QueueEntry == STATUS_TIMEOUT) break; + if ((NTSTATUS)(ULONG_PTR)QueueEntry == STATUS_TIMEOUT) break; /* Increment Processed Work Items */ InterlockedIncrement((PLONG)&WorkQueue->WorkItemsProcessed); @@ -271,7 +271,7 @@ NULL, NULL, ExpWorkerThreadEntryPoint, - (PVOID)Context); + UlongToPtr(Context)); /* If the thread is dynamic */ if (Dynamic)
16 years, 3 months
1
0
0
0
[tkreuzer] 35970: fix pointer <-> ULONG cast
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Sep 5 18:46:47 2008 New Revision: 35970 URL:
http://svn.reactos.org/svn/reactos?rev=35970&view=rev
Log: fix pointer <-> ULONG cast Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmsysini.c Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmsysini.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntosk…
============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmsysini.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmsysini.c [iso-8859-1] Fri Sep 5 18:46:47 2008 @@ -1080,7 +1080,7 @@ PAGED_CODE(); /* Get the hive index, make sure it makes sense */ - i = (ULONG)StartContext; + i = PtrToUlong(StartContext); ASSERT(CmpMachineHiveList[i].Name != NULL); /* We were started */ @@ -1275,7 +1275,7 @@ 0, NULL, CmpLoadHiveThread, - (PVOID)i); + UlongToPtr(i)); if (NT_SUCCESS(Status)) { /* We don't care about the handle -- the thread self-terminates */
16 years, 3 months
1
0
0
0
[tkreuzer] 35969: Fix and update CM_PARTIAL_RESOURCE_DESCRIPTOR
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Sep 5 18:35:40 2008 New Revision: 35969 URL:
http://svn.reactos.org/svn/reactos?rev=35969&view=rev
Log: Fix and update CM_PARTIAL_RESOURCE_DESCRIPTOR Modified: branches/ros-amd64-bringup/reactos/include/ddk/winddk.h branches/ros-amd64-bringup/reactos/include/ndk/cmtypes.h Modified: branches/ros-amd64-bringup/reactos/include/ddk/winddk.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
============================================================================== --- branches/ros-amd64-bringup/reactos/include/ddk/winddk.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/include/ddk/winddk.h [iso-8859-1] Fri Sep 5 18:35:40 2008 @@ -1759,8 +1759,25 @@ struct { ULONG Level; ULONG Vector; - ULONG Affinity; + KAFFINITY Affinity; } Interrupt; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) + struct { + union { + struct { + USHORT Reserved; + USHORT MessageCount; + ULONG Vector; + KAFFINITY Affinity; + } Raw; + struct { + ULONG Level; + ULONG Vector; + KAFFINITY Affinity; + } Translated; + }; + } MessageInterrupt; +#endif struct { PHYSICAL_ADDRESS Start; ULONG Length; @@ -1783,6 +1800,20 @@ ULONG Reserved1; ULONG Reserved2; } DeviceSpecificData; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) + struct { + PHYSICAL_ADDRESS Start; + ULONG Length40; + } Memory40; + struct { + PHYSICAL_ADDRESS Start; + ULONG Length48; + } Memory48; + struct { + PHYSICAL_ADDRESS Start; + ULONG Length64; + } Memory64; +#endif } u; } CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR; Modified: branches/ros-amd64-bringup/reactos/include/ndk/cmtypes.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
============================================================================== --- branches/ros-amd64-bringup/reactos/include/ndk/cmtypes.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/include/ndk/cmtypes.h [iso-8859-1] Fri Sep 5 18:35:40 2008 @@ -433,8 +433,29 @@ { ULONG Level; ULONG Vector; - ULONG Affinity; + KAFFINITY Affinity; } Interrupt; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) + struct + { + union + { + struct + { + USHORT Reserved; + USHORT MessageCount; + ULONG Vector; + KAFFINITY Affinity; + } Raw; + struct + { + ULONG Level; + ULONG Vector; + KAFFINITY Affinity; + } Translated; + }; + } MessageInterrupt; +#endif struct { PHYSICAL_ADDRESS Start; @@ -448,7 +469,7 @@ } Dma; struct { - ULONG Data[3]; + ULONG Data[3]; } DevicePrivate; struct { @@ -462,6 +483,23 @@ ULONG Reserved1; ULONG Reserved2; } DeviceSpecificData; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) + struct + { + PHYSICAL_ADDRESS Start; + ULONG Length40; + } Memory40; + struct + { + PHYSICAL_ADDRESS Start; + ULONG Length48; + } Memory48; + struct + { + PHYSICAL_ADDRESS Start; + ULONG Length64; + } Memory64; +#endif } u; } CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;
16 years, 3 months
1
0
0
0
[tkreuzer] 35968: use KeAcquireSpinLockAtDpcLevel and KeReleaseSpinLockFromDpcLevel instead of KefAcquireSpinLockAtDpcLevel and KefReleaseSpinLockFromDpcLevel. Fix Size parameter of CmpAllpcate (ULONG->SIZE_T).
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Sep 5 18:33:38 2008 New Revision: 35968 URL:
http://svn.reactos.org/svn/reactos?rev=35968&view=rev
Log: use KeAcquireSpinLockAtDpcLevel and KeReleaseSpinLockFromDpcLevel instead of KefAcquireSpinLockAtDpcLevel and KefReleaseSpinLockFromDpcLevel. Fix Size parameter of CmpAllpcate (ULONG->SIZE_T). Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmwraprs.c branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/cm.h branches/ros-amd64-bringup/reactos/ntoskrnl/ke/ipi.c Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmwraprs.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntosk…
============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmwraprs.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/config/cmwraprs.c [iso-8859-1] Fri Sep 5 18:33:38 2008 @@ -51,7 +51,7 @@ PVOID NTAPI -CmpAllocate(IN ULONG Size, +CmpAllocate(IN SIZE_T Size, IN BOOLEAN Paged, IN ULONG Tag) { Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/cm.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntosk…
============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/cm.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/cm.h [iso-8859-1] Fri Sep 5 18:33:38 2008 @@ -1277,7 +1277,7 @@ PVOID NTAPI CmpAllocate( - IN ULONG Size, + IN SIZE_T Size, IN BOOLEAN Paged, IN ULONG Tag ); Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/ipi.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntosk…
============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/ke/ipi.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/ke/ipi.c [iso-8859-1] Fri Sep 5 18:33:38 2008 @@ -152,7 +152,7 @@ if (OldIrql < DISPATCH_LEVEL) KeRaiseIrql(DISPATCH_LEVEL, &OldIrql); /* Acquire the IPI lock */ - KefAcquireSpinLockAtDpcLevel(&KiIpiLock); + KeAcquireSpinLockAtDpcLevel(&KiIpiLock); /* Raise to IPI level */ KeRaiseIrql(IPI_LEVEL, &OldIrql2); @@ -161,7 +161,7 @@ Status = Function(Argument); /* Release the lock */ - KefReleaseSpinLockFromDpcLevel(&KiIpiLock); + KeReleaseSpinLockFromDpcLevel(&KiIpiLock); /* Lower IRQL back */ KeLowerIrql(OldIrql);
16 years, 3 months
1
0
0
0
[tkreuzer] 35967: use KeAcquireSpinLockAtDpcLevel and KeReleaseSpinLockFromDpcLevel instead of KefAcquireSpinLockAtDpcLevel and KefReleaseSpinLockFromDpcLevel
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Sep 5 17:33:50 2008 New Revision: 35967 URL:
http://svn.reactos.org/svn/reactos?rev=35967&view=rev
Log: use KeAcquireSpinLockAtDpcLevel and KeReleaseSpinLockFromDpcLevel instead of KefAcquireSpinLockAtDpcLevel and KefReleaseSpinLockFromDpcLevel Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/dpc.c Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/dpc.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntosk…
============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/ke/dpc.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/ke/dpc.c [iso-8859-1] Fri Sep 5 17:33:50 2008 @@ -437,7 +437,7 @@ while (DpcData->DpcQueueDepth != 0) { /* Lock the DPC data and get the DPC entry*/ - KefAcquireSpinLockAtDpcLevel(&DpcData->DpcLock); + KeAcquireSpinLockAtDpcLevel(&DpcData->DpcLock); DpcEntry = ListHead->Flink; /* Make sure we have an entry */ @@ -461,7 +461,7 @@ Prcb->DebugDpcTime = 0; #endif /* Release the lock */ - KefReleaseSpinLockFromDpcLevel(&DpcData->DpcLock); + KeReleaseSpinLockFromDpcLevel(&DpcData->DpcLock); /* Re-enable interrupts */ _enable(); @@ -482,7 +482,7 @@ ASSERT(DpcData->DpcQueueDepth == 0); /* Release DPC Lock */ - KefReleaseSpinLockFromDpcLevel(&DpcData->DpcLock); + KeReleaseSpinLockFromDpcLevel(&DpcData->DpcLock); } }
16 years, 3 months
1
0
0
0
[tkreuzer] 35966: use own asm.h on amd64 builds
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Sep 5 17:25:27 2008 New Revision: 35966 URL:
http://svn.reactos.org/svn/reactos?rev=35966&view=rev
Log: use own asm.h on amd64 builds Added: branches/ros-amd64-bringup/reactos/include/ndk/amd64/asm.h (with props) Modified: branches/ros-amd64-bringup/reactos/include/ndk/asm.h Added: branches/ros-amd64-bringup/reactos/include/ndk/amd64/asm.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
============================================================================== --- branches/ros-amd64-bringup/reactos/include/ndk/amd64/asm.h (added) +++ branches/ros-amd64-bringup/reactos/include/ndk/amd64/asm.h [iso-8859-1] Fri Sep 5 17:25:27 2008 @@ -1,0 +1,152 @@ +/*++ NDK Version: 0095 + +Copyright (c) Timo Kreuzer. All rights reserved. + +Header Name: + + amd64/asm.h + +Abstract: + + ASM Offsets for dealing with de-referencing structures in registers. + +Author: + + Timo Kreuzer (timo.kreuzer(a)reactos.org) 06-Sep-2008 + +--*/ +#ifndef _ASM_AMD64_H +#define _ASM_AMD64_H + + +#define SIZEOF_FX_SAVE_AREA 528 // HACK + +// +// CPU Modes +// +#define KernelMode 0x0 +#define UserMode 0x1 + +// +// CPU Types +// +#define CPU_INTEL 0x1 +#define CPU_AMD 0x2 + +// +// KTSS Offsets +// +#define KTSS64_RSP0 0x04 +#define KTSS64_RSP1 0x0c +#define KTSS64_RSP2 0x14 +#define KTSS64_IST 0x1c +#define KTSS64_IO_MAP_BASE 0x66 + +// +// KTHREAD Offsets +// +#define KTHREAD_DEBUG_ACTIVE 0x03 +#define KTHREAD_INITIAL_STACK 0x28 +#define KTHREAD_STACK_LIMIT 0x30 +#define KTHREAD_WAIT_IRQL 0x156 + + +// +// KPCR Offsets +// +#define KPCR_TSS_BASE 0x08 +#define KPCR_SELF 0x18 +#define KPCR_STALL_SCALE_FACTOR 0x64 + +// +// Trap Frame Offsets +// +#define KTRAP_FRAME_ALIGN 0x10 +#define KTRAP_FRAME_LENGTH 0x190 + +// +// CR0 +// +#define CR0_PE 0x1 +#define CR0_MP 0x2 +#define CR0_EM 0x4 +#define CR0_TS 0x8 +#define CR0_ET 0x10 +#define CR0_NE 0x20 +#define CR0_WP 0x10000 +#define CR0_AM 0x40000 +#define CR0_NW 0x20000000 +#define CR0_CD 0x40000000 +#define CR0_PG 0x80000000 + +// +// Generic Definitions +// +#define PRIMARY_VECTOR_BASE 0x30 +#define MAXIMUM_IDTVECTOR 0xFF + + +/* Following ones are ASM only! ***********************************************/ + +#ifdef __ASM__ + +// +// PCR Access +// +#define PCR gs: + +// +// EFLAGS +// +#define EFLAGS_TF 0x100 +#define EFLAGS_INTERRUPT_MASK 0x200 +#define EFLAGS_NESTED_TASK 0x4000 +#define EFLAGS_V86_MASK 0x20000 +#define EFLAGS_ALIGN_CHECK 0x40000 +#define EFLAGS_VIF 0x80000 +#define EFLAGS_VIP 0x100000 +#define EFLAG_SIGN 0x8000 +#define EFLAG_ZERO 0x4000 +#define EFLAG_SELECT (EFLAG_SIGN + EFLAG_ZERO) +#define EFLAGS_USER_SANITIZE 0x3F4DD7 + + +// +// IRQL Levels +// +#define PASSIVE_LEVEL 0 +#define LOW_LEVEL 0 +#define APC_LEVEL 1 +#define DISPATCH_LEVEL 2 +#define CLOCK_LEVEL 13 +#define IPI_LEVEL 14 +#define POWER_LEVEL 14 +#define PROFILE_LEVEL 15 +#define HIGH_LEVEL 15 + +// +// Quantum Decrements +// +#define CLOCK_QUANTUM_DECREMENT 0x3 + +// +// Machine types +// +#define MACHINE_TYPE_ISA 0x0000 +#define MACHINE_TYPE_EISA 0x0001 +#define MACHINE_TYPE_MCA 0x0002 + +// +// Kernel Feature Bits +// +#define KF_RDTSC 0x00000002 + +// +// Kernel Stack Size +// +#define KERNEL_STACK_SIZE 0x6000 + +#endif // __ASM__ + +#endif // !_ASM_AMD64_H + Propchange: branches/ros-amd64-bringup/reactos/include/ndk/amd64/asm.h ------------------------------------------------------------------------------ svn:eol-style = native Modified: branches/ros-amd64-bringup/reactos/include/ndk/asm.h URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/inclu…
============================================================================== --- branches/ros-amd64-bringup/reactos/include/ndk/asm.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/include/ndk/asm.h [iso-8859-1] Fri Sep 5 17:25:27 2008 @@ -16,7 +16,9 @@ Alex Ionescu (alex.ionescu(a)reactos.com) 06-Oct-2004 --*/ - +#ifdef _M_AMD64 +# include "amd64/asm.h" +#else #ifndef _ASM_H #define _ASM_H @@ -191,6 +193,7 @@ #define KPCR_PROCESSOR_NUMBER 0x130 #define KPCR_PRCB_SET_MEMBER 0x134 #define KPCR_PRCB_CPU_TYPE 0x138 +#define KPCR_PRCB_PRCB_LOCK 0xA7C #define KPCR_NPX_THREAD 0x640 #define KPCR_DR6 0x428 #define KPCR_DR7 0x42C @@ -449,6 +452,7 @@ #ifdef __ASM__ #define EFLAGS_TF 0x100 #define EFLAGS_INTERRUPT_MASK 0x200 +#define EFLAGS_IOPL 0x3000 #define EFLAGS_NESTED_TASK 0x4000 #define EFLAGS_V86_MASK 0x20000 #define EFLAGS_ALIGN_CHECK 0x40000 @@ -612,5 +616,6 @@ - - +#endif + +
16 years, 3 months
1
0
0
0
[cfinck] 35965: Sync cabinet.dll with Wine HEAD (fixes a memory leak)
by cfinck@svn.reactos.org
Author: cfinck Date: Fri Sep 5 14:58:49 2008 New Revision: 35965 URL:
http://svn.reactos.org/svn/reactos?rev=35965&view=rev
Log: Sync cabinet.dll with Wine HEAD (fixes a memory leak) Modified: trunk/reactos/dll/win32/cabinet/cabinet_main.c Modified: trunk/reactos/dll/win32/cabinet/cabinet_main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/cabinet/cabinet_…
============================================================================== --- trunk/reactos/dll/win32/cabinet/cabinet_main.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/cabinet/cabinet_main.c [iso-8859-1] Fri Sep 5 14:58:49 2008 @@ -338,7 +338,10 @@ return E_FAIL; if (GetFileAttributesA(dest->Destination) == INVALID_FILE_ATTRIBUTES) - return S_OK; + { + res = S_OK; + goto end; + } /* split the cabinet name into path + name */ str = HeapAlloc(GetProcessHeap(), 0, lstrlenA(szCabName)+1);
16 years, 3 months
1
0
0
0
← Newer
1
...
60
61
62
63
64
65
66
...
75
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Results per page:
10
25
50
100
200