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
July 2009
----- 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
605 discussions
Start a n
N
ew thread
[dchapyshev] 41930: - Implement QueryFullProcessImageNameA/W (based on Wine code). +35 passed tests
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Sun Jul 12 16:21:20 2009 New Revision: 41930 URL:
http://svn.reactos.org/svn/reactos?rev=41930&view=rev
Log: - Implement QueryFullProcessImageNameA/W (based on Wine code). +35 passed tests Modified: trunk/reactos/dll/win32/kernel32/kernel32.pspec trunk/reactos/dll/win32/kernel32/process/proc.c Modified: trunk/reactos/dll/win32/kernel32/kernel32.pspec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/kernel3…
============================================================================== --- trunk/reactos/dll/win32/kernel32/kernel32.pspec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/kernel32.pspec [iso-8859-1] Sun Jul 12 16:21:20 2009 @@ -1017,3 +1017,7 @@ @ stdcall lstrlen(str) lstrlenA @ stdcall lstrlenA(str) @ stdcall lstrlenW(wstr) + +; Functions added in Win Vista +@ stdcall QueryFullProcessImageNameA(ptr long str ptr) +@ stdcall QueryFullProcessImageNameW(ptr long wstr ptr) Modified: trunk/reactos/dll/win32/kernel32/process/proc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/process…
============================================================================== --- trunk/reactos/dll/win32/kernel32/process/proc.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/process/proc.c [iso-8859-1] Sun Jul 12 16:21:20 2009 @@ -1006,4 +1006,106 @@ return TRUE; } + +/* + * @implemented + */ +BOOL +WINAPI +QueryFullProcessImageNameW(HANDLE hProcess, + DWORD dwFlags, + LPWSTR lpExeName, + PDWORD pdwSize) +{ + BYTE Buffer[sizeof(UNICODE_STRING) + MAX_PATH * sizeof(WCHAR)]; + UNICODE_STRING *DynamicBuffer = NULL; + UNICODE_STRING *Result = NULL; + NTSTATUS Status; + DWORD Needed; + + Status = NtQueryInformationProcess(hProcess, + ProcessImageFileName, + Buffer, + sizeof(Buffer) - sizeof(WCHAR), + &Needed); + if (Status == STATUS_INFO_LENGTH_MISMATCH) + { + DynamicBuffer = RtlAllocateHeap(RtlGetProcessHeap(), 0, Needed + sizeof(WCHAR)); + if (!DynamicBuffer) + { + SetLastErrorByStatus(STATUS_NO_MEMORY); + return FALSE; + } + + Status = NtQueryInformationProcess(hProcess, + ProcessImageFileName, + (LPBYTE)DynamicBuffer, + Needed, + &Needed); + Result = DynamicBuffer; + } + else Result = (PUNICODE_STRING)Buffer; + + if (!NT_SUCCESS(Status)) goto Cleanup; + + if (Result->Length / sizeof(WCHAR) + 1 > *pdwSize) + { + Status = STATUS_BUFFER_TOO_SMALL; + goto Cleanup; + } + + *pdwSize = Result->Length / sizeof(WCHAR); + memcpy(lpExeName, Result->Buffer, Result->Length); + lpExeName[*pdwSize] = 0; + +Cleanup: + RtlFreeHeap(RtlGetProcessHeap(), 0, DynamicBuffer); + + if (!NT_SUCCESS(Status)) + { + SetLastErrorByStatus(Status); + } + return !Status; +} + + +/* + * @implemented + */ +BOOL +WINAPI +QueryFullProcessImageNameA(HANDLE hProcess, + DWORD dwFlags, + LPSTR lpExeName, + PDWORD pdwSize) +{ + DWORD pdwSizeW = *pdwSize; + BOOL Result; + LPWSTR lpExeNameW; + + lpExeNameW = RtlAllocateHeap(RtlGetProcessHeap(), + HEAP_ZERO_MEMORY, + *pdwSize * sizeof(WCHAR)); + if (!lpExeNameW) + { + SetLastErrorByStatus(STATUS_NO_MEMORY); + return FALSE; + } + + Result = QueryFullProcessImageNameW(hProcess, dwFlags, lpExeNameW, &pdwSizeW); + + if (Result) + Result = (0 != WideCharToMultiByte(CP_ACP, 0, + lpExeNameW, + -1, + lpExeName, + *pdwSize, + NULL, NULL)); + if (Result) + *pdwSize = strlen(lpExeName); + + RtlFreeHeap(RtlGetProcessHeap(), 0, lpExeNameW); + return Result; +} + /* EOF */
15 years, 5 months
1
0
0
0
[ros-arm-bringup] 41929: Header fixes for ARM to deal with the header cleanup that was performed earlier this year... * ARMDDK is now rationed between user-mode and kernel-mode definitions and imported by WINNT and WINDDK both (Since these don't include each others anymore) Make the MDL flags crossarch instead of x86 only The ARM tree now builds completely, except for the new ARM3 code in ntos... good job guys. 10/10. wasn't this supposed to make things --portable--?
by ros-arm-bringup@svn.reactos.org
Author: ros-arm-bringup Date: Sun Jul 12 14:52:13 2009 New Revision: 41929 URL:
http://svn.reactos.org/svn/reactos?rev=41929&view=rev
Log: Header fixes for ARM to deal with the header cleanup that was performed earlier this year... * ARMDDK is now rationed between user-mode and kernel-mode definitions and imported by WINNT and WINDDK both (Since these don't include each others anymore) Make the MDL flags crossarch instead of x86 only The ARM tree now builds completely, except for the new ARM3 code in ntos... good job guys. 10/10. wasn't this supposed to make things --portable--? Modified: trunk/reactos/include/ddk/winddk.h trunk/reactos/include/psdk/winnt.h trunk/reactos/include/reactos/arm/armddk.h Modified: trunk/reactos/include/ddk/winddk.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/winddk.h?rev=4…
============================================================================== --- trunk/reactos/include/ddk/winddk.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/winddk.h [iso-8859-1] Sun Jul 12 14:52:13 2009 @@ -187,6 +187,7 @@ #if (_M_IX86) #define KIP0PCRADDRESS 0xffdff000 + #endif #define KERNEL_STACK_SIZE 12288 @@ -5183,9 +5184,6 @@ #define MM_KSEG0_BASE MM_SYSTEM_RANGE_START #define MM_SYSTEM_SPACE_END 0xFFFFFFFF -#define MM_DONT_ZERO_ALLOCATION 0x00000001 -#define MM_ALLOCATE_FROM_LOCAL_NODE_ONLY 0x00000002 - #elif defined(__x86_64__) #define CONTEXT_AMD64 0x100000 @@ -5566,6 +5564,10 @@ #error Unknown architecture #endif +#define MM_DONT_ZERO_ALLOCATION 0x00000001 +#define MM_ALLOCATE_FROM_LOCAL_NODE_ONLY 0x00000002 + + #define EFLAG_SIGN 0x8000 #define EFLAG_ZERO 0x4000 #define EFLAG_SELECT (EFLAG_SIGN | EFLAG_ZERO) @@ -5678,9 +5680,48 @@ #define KeGetDcacheFillSize() 1L -#else // !defined (_X86_) - -FORCEINLINE +#elif defined(_M_ARM) // !defined (_X86_) + + NTHALAPI + KIRQL + FASTCALL + KfAcquireSpinLock( + IN PKSPIN_LOCK SpinLock); + + NTHALAPI + VOID + FASTCALL + KfReleaseSpinLock( + IN PKSPIN_LOCK SpinLock, + IN KIRQL NewIrql); + + + NTKERNELAPI + VOID + FASTCALL + KefAcquireSpinLockAtDpcLevel( + IN PKSPIN_LOCK SpinLock); + + NTKERNELAPI + VOID + FASTCALL + KefReleaseSpinLockFromDpcLevel( + IN PKSPIN_LOCK SpinLock); + + +#define KeAcquireSpinLockAtDpcLevel(SpinLock) KefAcquireSpinLockAtDpcLevel(SpinLock) +#define KeReleaseSpinLockFromDpcLevel(SpinLock) KefReleaseSpinLockFromDpcLevel(SpinLock) +#define KeAcquireSpinLock(a,b) *(b) = KfAcquireSpinLock(a) +#define KeReleaseSpinLock(a,b) KfReleaseSpinLock(a,b) + + NTKERNELAPI + VOID + NTAPI + KeInitializeSpinLock( + IN PKSPIN_LOCK SpinLock); + +#else + VOID NTAPI KeInitializeSpinLock( @@ -10691,6 +10732,13 @@ #define ExInterlockedExchangeUlong(Target, Value, Lock) Exfi386InterlockedExchangeUlong(Target, Value) #endif /* _X86_ */ + +#ifdef _M_ARM +// +// NT-ARM is not documented +// +#include <armddk.h> +#endif #ifdef __cplusplus } Modified: trunk/reactos/include/psdk/winnt.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winnt.h?rev=4…
============================================================================== --- trunk/reactos/include/psdk/winnt.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/winnt.h [iso-8859-1] Sun Jul 12 14:52:13 2009 @@ -4863,7 +4863,6 @@ // // NT-ARM is not documented // -#define KIRQL ULONG // Hack! #include <armddk.h> #elif defined (_M_AMD64) Modified: trunk/reactos/include/reactos/arm/armddk.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/arm/armddk…
============================================================================== --- trunk/reactos/include/reactos/arm/armddk.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/arm/armddk.h [iso-8859-1] Sun Jul 12 14:52:13 2009 @@ -1,6 +1,14 @@ #ifndef _ARMDDK_ #define _ARMDDK_ +// +// Page size +// +#ifndef PAGE_SIZE +#define PAGE_SIZE 0x1000 +#endif + +#ifndef _WINNT_H // // IRQLs // @@ -15,12 +23,6 @@ #define IPI_LEVEL 29 #define POWER_LEVEL 30 #define HIGH_LEVEL 31 - -// -// Page size -// -#ifndef PAGE_SIZE -#define PAGE_SIZE 0x1000 #endif // @@ -31,6 +33,21 @@ #define USPCR 0x7FFF0000 #define PCR ((volatile KPCR * const)KIPCR) #define USERPCR ((volatile KPCR * const)USPCR) +#define KeGetPcr() PCR +#ifndef _WINNT_H +#define SharedUserData ((KUSER_SHARED_DATA * const)KI_USER_SHARED_DATA) + +// +// Address space layout +// +extern PVOID MmHighestUserAddress; +extern PVOID MmSystemRangeStart; +extern ULONG_PTR MmUserProbeAddress; +#define MM_HIGHEST_USER_ADDRESS MmHighestUserAddress +#define MM_SYSTEM_RANGE_START MmSystemRangeStart +#define MM_USER_PROBE_ADDRESS MmUserProbeAddress +#define MM_LOWEST_USER_ADDRESS (PVOID)0x10000 +#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xC1400000 // // Maximum IRQs @@ -65,7 +82,6 @@ ULONG Reserved; } KFLOATING_SAVE, *PKFLOATING_SAVE; -#ifndef _WINNT_H /* The following flags control the contents of the CONTEXT structure. */ #define CONTEXT_ARM 0x0000040 #define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001L) @@ -127,7 +143,7 @@ { ULONG MinorVersion; ULONG MajorVersion; - PKINTERRUPT_ROUTINE InterruptRoutine[MAXIMUM_VECTOR]; + PKINTERRUPT_ROUTINE InterruptRoutine[32]; PVOID XcodeDispatch; ULONG FirstLevelDcacheSize; ULONG FirstLevelDcacheFillSize; @@ -153,8 +169,8 @@ PVOID InstructionBusError; ULONG CachePolicy; ULONG AlignedCachePolicy; - UCHAR IrqlMask[HIGH_LEVEL + 1]; - ULONG IrqlTable[HIGH_LEVEL + 1]; + UCHAR IrqlMask[32]; + ULONG IrqlTable[32]; UCHAR CurrentIrql; KAFFINITY SetMember; struct _KTHREAD *CurrentThread; @@ -190,6 +206,7 @@ return (struct _TEB*)USERPCR->Teb; } +#ifndef _WINNT_H // // IRQL Support on ARM is similar to MIPS/ALPHA // @@ -228,5 +245,12 @@ HalSweepIcache( VOID ); - -#endif +#endif + +// +// Intrinsics +// +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedExchange _InterlockedExchange +#endif
15 years, 5 months
1
0
0
0
[ros-arm-bringup] 41928: Add some more intrinsics, and change _enable and _disable to use the new ARMv6 instructions instead... we'll have to make similar changes to the routines that use SWP
by ros-arm-bringup@svn.reactos.org
Author: ros-arm-bringup Date: Sun Jul 12 14:49:47 2009 New Revision: 41928 URL:
http://svn.reactos.org/svn/reactos?rev=41928&view=rev
Log: Add some more intrinsics, and change _enable and _disable to use the new ARMv6 instructions instead... we'll have to make similar changes to the routines that use SWP Modified: trunk/reactos/include/crt/mingw32/intrin_arm.h Modified: trunk/reactos/include/crt/mingw32/intrin_arm.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/crt/mingw32/intrin…
============================================================================== --- trunk/reactos/include/crt/mingw32/intrin_arm.h [iso-8859-1] (original) +++ trunk/reactos/include/crt/mingw32/intrin_arm.h [iso-8859-1] Sun Jul 12 14:49:47 2009 @@ -121,6 +121,14 @@ return (void *)_InterlockedExchange((volatile long * const)Target, (const long)Value); } + + +__INTRIN_INLINE unsigned char _BitScanReverse(unsigned long * const Index, const unsigned long Mask) +{ + *Index = 31 - __builtin_clz(Mask); + return Mask ? 1 : 0; +} + __INTRIN_INLINE char _InterlockedAnd8(volatile char * const value, const char mask) { char x; @@ -294,13 +302,17 @@ return _InterlockedExchangeAdd16(lpAddend, 1) + 1; } +__INTRIN_INLINE long _InterlockedAddLargeStatistic(volatile long long * const Addend, const long Value) +{ + *Addend += Value; + return Value; +} + __INTRIN_INLINE void _disable(void) { __asm__ __volatile__ ( - "mrs r1, cpsr;" - "orr r1, r1, #0x80;" - "msr cpsr, r1;" + "cpsid i @ __cli" : : : "memory", "cc" ); } @@ -308,10 +320,18 @@ { __asm__ __volatile__ ( - "mrs r1, cpsr;" - "bic r1, r1, #0x80;" - "msr cpsr, r1;" + "cpsie i @ __sti" : : : "memory", "cc" ); +} + +__INTRIN_INLINE unsigned char _interlockedbittestandset(volatile long * a, const long b) +{ + return (_InterlockedOr(a, 1 << b) >> b) & 1; +} + +__INTRIN_INLINE unsigned char _interlockedbittestandreset(volatile long * a, const long b) +{ + return (_InterlockedAnd(a, ~(1 << b)) >> b) & 1; } #ifndef __MSVCRT__
15 years, 5 months
1
0
0
0
[ros-arm-bringup] 41927: Define all the other PROCESSOR_ARCHITECTURE values too
by ros-arm-bringup@svn.reactos.org
Author: ros-arm-bringup Date: Sun Jul 12 14:48:23 2009 New Revision: 41927 URL:
http://svn.reactos.org/svn/reactos?rev=41927&view=rev
Log: Define all the other PROCESSOR_ARCHITECTURE values too Modified: trunk/reactos/include/ndk/ketypes.h Modified: trunk/reactos/include/ndk/ketypes.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/ketypes.h?rev=…
============================================================================== --- trunk/reactos/include/ndk/ketypes.h [iso-8859-1] (original) +++ trunk/reactos/include/ndk/ketypes.h [iso-8859-1] Sun Jul 12 14:48:23 2009 @@ -43,6 +43,16 @@ // Processor Architectures // #define PROCESSOR_ARCHITECTURE_INTEL 0 +#define PROCESSOR_ARCHITECTURE_MIPS 1 +#define PROCESSOR_ARCHITECTURE_ALPHA 2 +#define PROCESSOR_ARCHITECTURE_PPC 3 +#define PROCESSOR_ARCHITECTURE_SHX 4 +#define PROCESSOR_ARCHITECTURE_ARM 5 +#define PROCESSOR_ARCHITECTURE_IA64 6 +#define PROCESSOR_ARCHITECTURE_ALPHA64 7 +#define PROCESSOR_ARCHITECTURE_MSIL 8 +#define PROCESSOR_ARCHITECTURE_AMD64 9 +#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF // // Object Type Mask for Kernel Dispatcher Objects
15 years, 5 months
1
0
0
0
[ros-arm-bringup] 41926: Deal with the fact that DirectoryTableBase in EPROCESS has now been defined as PULONG instead of LARGE_INTEGER Remove ARM-specific hyperspace functions since these are portable now
by ros-arm-bringup@svn.reactos.org
Author: ros-arm-bringup Date: Sun Jul 12 14:47:45 2009 New Revision: 41926 URL:
http://svn.reactos.org/svn/reactos?rev=41926&view=rev
Log: Deal with the fact that DirectoryTableBase in EPROCESS has now been defined as PULONG instead of LARGE_INTEGER Remove ARM-specific hyperspace functions since these are portable now Modified: trunk/reactos/ntoskrnl/ke/arm/kiinit.c trunk/reactos/ntoskrnl/ke/arm/trapc.c trunk/reactos/ntoskrnl/mm/arm/stubs.c Modified: trunk/reactos/ntoskrnl/ke/arm/kiinit.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/arm/kiinit.c?r…
============================================================================== --- trunk/reactos/ntoskrnl/ke/arm/kiinit.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ke/arm/kiinit.c [iso-8859-1] Sun Jul 12 14:47:45 2009 @@ -42,7 +42,7 @@ IN CCHAR Number, IN PLOADER_PARAMETER_BLOCK LoaderBlock) { - LARGE_INTEGER PageDirectory; + ULONG PageDirectory[2]; PKPCR Pcr; ULONG i; @@ -200,11 +200,10 @@ // Initialize the Idle Process and the Process Listhead // InitializeListHead(&KiProcessListHead); - PageDirectory.QuadPart = 0; KeInitializeProcess(InitProcess, 0, 0xFFFFFFFF, - &PageDirectory, + PageDirectory, FALSE); InitProcess->QuantumReset = MAXCHAR; } Modified: trunk/reactos/ntoskrnl/ke/arm/trapc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/arm/trapc.c?re…
============================================================================== --- trunk/reactos/ntoskrnl/ke/arm/trapc.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ke/arm/trapc.c [iso-8859-1] Sun Jul 12 14:47:45 2009 @@ -100,7 +100,7 @@ // // Update the page directory base // - TtbRegister.AsUlong = (ULONG)NewProcess->DirectoryTableBase.LowPart; + TtbRegister.AsUlong = NewProcess->DirectoryTableBase[0]; ASSERT(TtbRegister.Reserved == 0); KeArmTranslationTableRegisterSet(TtbRegister); @@ -148,8 +148,8 @@ // // Check if address space switch is needed // - if (OldProcess->DirectoryTableBase.LowPart != - NewProcess->DirectoryTableBase.LowPart) + if (OldProcess->DirectoryTableBase[0] != + NewProcess->DirectoryTableBase[0]) { // // FIXME-USER: Support address space switch Modified: trunk/reactos/ntoskrnl/mm/arm/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/arm/stubs.c?re…
============================================================================== --- trunk/reactos/ntoskrnl/mm/arm/stubs.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/arm/stubs.c [iso-8859-1] Sun Jul 12 14:47:45 2009 @@ -290,7 +290,7 @@ NTAPI MmCreateProcessAddressSpace(IN ULONG MinWs, IN PEPROCESS Process, - IN PLARGE_INTEGER DirectoryTableBase) + IN PULONG DirectoryTableBase) { NTSTATUS Status; ULONG i; @@ -360,7 +360,7 @@ // // Return the page table base // - DirectoryTableBase->QuadPart = Pfn[0] << PAGE_SHIFT; + DirectoryTableBase[0] = Pfn[0] << PAGE_SHIFT; return TRUE; } @@ -391,12 +391,13 @@ NTSTATUS NTAPI MmInitializeHandBuiltProcess(IN PEPROCESS Process, - IN PLARGE_INTEGER DirectoryTableBase) + IN PULONG DirectoryTableBase) { // // Share the directory base with the idle process // - *DirectoryTableBase = PsGetCurrentProcess()->Pcb.DirectoryTableBase; + DirectoryTableBase[0] = PsGetCurrentProcess()->Pcb.DirectoryTableBase[0]; + DirectoryTableBase[1] = PsGetCurrentProcess()->Pcb.DirectoryTableBase[1]; // // Initialize the Addresss Space @@ -685,93 +686,6 @@ // if (WasDirty) *WasDirty = FALSE; // LIE!!! if (Page) *Page = Pfn; -} - -PVOID -NTAPI -MmCreateHyperspaceMapping(IN PFN_TYPE Page) -{ - PMMPTE PointerPte, FirstPte, LastPte; - MMPTE TempPte; - PVOID Address; - - // - // Loop hyperspace PTEs (1MB) - // - FirstPte = PointerPte = MiGetPteAddress((PVOID)HYPER_SPACE); - LastPte = PointerPte + 256; - while (PointerPte <= LastPte) - { - // - // Find a free slot - // - if (PointerPte->u.Hard.L2.Fault.Type == FaultPte) - { - // - // Use this entry - // - break; - } - - // - // Try the next one - // - PointerPte++; - } - - // - // Check if we didn't find anything - // - if (PointerPte > LastPte) return NULL; - - // - // Create the mapping - // - TempPte = MiArmTemplatePte; - TempPte.u.Hard.L2.Small.BaseAddress = Page; - ASSERT(PointerPte->u.Hard.L2.Fault.Type == FaultPte); - ASSERT(TempPte.u.Hard.L2.Small.Type == SmallPte); - *PointerPte = TempPte; - - // - // Return the address - // - Address = (PVOID)(HYPER_SPACE + ((PointerPte - FirstPte) * PAGE_SIZE)); - KeArmInvalidateTlbEntry(Address); - DPRINT("[HMAP]: %p %lx\n", Address, Page); - return Address; -} - -PFN_TYPE -NTAPI -MmDeleteHyperspaceMapping(IN PVOID Address) -{ - PFN_TYPE Pfn; - PMMPTE PointerPte; - DPRINT("[HUNMAP]: %p\n", Address); - - // - // Get the PTE - // - PointerPte = MiGetPteAddress(Address); - ASSERT(PointerPte->u.Hard.L2.Small.Type == SmallPte); - - // - // Save the PFN - // - Pfn = PointerPte->u.Hard.L2.Small.BaseAddress; - - // - // Destroy the PTE - // - PointerPte->u.Hard.AsUlong = 0; - ASSERT(PointerPte->u.Hard.L2.Fault.Type == FaultPte); - - // - // Flush the TLB entry and return the PFN - // - KeArmInvalidateTlbEntry(Address); - return Pfn; } VOID
15 years, 5 months
1
0
0
0
[ros-arm-bringup] 41925: Fix some interlock routine definitions on platforms that use it (not x86)
by ros-arm-bringup@svn.reactos.org
Author: ros-arm-bringup Date: Sun Jul 12 14:45:59 2009 New Revision: 41925 URL:
http://svn.reactos.org/svn/reactos?rev=41925&view=rev
Log: Fix some interlock routine definitions on platforms that use it (not x86) Modified: trunk/reactos/ntoskrnl/ex/fastinterlck.c Modified: trunk/reactos/ntoskrnl/ex/fastinterlck.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/fastinterlck.c…
============================================================================== --- trunk/reactos/ntoskrnl/ex/fastinterlck.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ex/fastinterlck.c [iso-8859-1] Sun Jul 12 14:45:59 2009 @@ -19,6 +19,7 @@ #undef ExInterlockedAddULong #undef ExInterlockedIncrementLong #undef ExInterlockedDecrementLong +#undef ExInterlockedAddLargeStatistic /* FUNCTIONS ******************************************************************/ @@ -288,7 +289,7 @@ VOID FASTCALL -ExInterlockedAddLargeStatistic(IN PLARGE_INTEGER Addend, +ExInterlockedAddLargeStatistic(IN PLONGLONG Addend, IN ULONG Increment) { UNIMPLEMENTED; @@ -296,7 +297,7 @@ LONGLONG FASTCALL -ExInterlockedCompareExchange64(IN OUT PLONGLONG Destination, +ExInterlockedCompareExchange64(IN OUT LONGLONG volatile *Destination, IN PLONGLONG Exchange, IN PLONGLONG Comparand, IN PKSPIN_LOCK Lock)
15 years, 5 months
1
0
0
0
[ros-arm-bringup] 41924: Use portable ExInterlockedWhatever instead of non-portable Exf* function... the headers will do the right thing based on the arch
by ros-arm-bringup@svn.reactos.org
Author: ros-arm-bringup Date: Sun Jul 12 14:45:33 2009 New Revision: 41924 URL:
http://svn.reactos.org/svn/reactos?rev=41924&view=rev
Log: Use portable ExInterlockedWhatever instead of non-portable Exf* function... the headers will do the right thing based on the arch Modified: trunk/reactos/ntoskrnl/ex/uuid.c Modified: trunk/reactos/ntoskrnl/ex/uuid.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/uuid.c?rev=419…
============================================================================== --- trunk/reactos/ntoskrnl/ex/uuid.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ex/uuid.c [iso-8859-1] Sun Jul 12 14:45:33 2009 @@ -239,9 +239,10 @@ PrevLuid = LuidValue; NewLuid = RtlLargeIntegerAdd(PrevLuid, LuidIncrement); - } while(ExfInterlockedCompareExchange64(&LuidValue.QuadPart, - &NewLuid.QuadPart, - &PrevLuid.QuadPart) != PrevLuid.QuadPart); + } while(ExInterlockedCompareExchange64(&LuidValue.QuadPart, + &NewLuid.QuadPart, + &PrevLuid.QuadPart, + NULL) != PrevLuid.QuadPart); LocallyUniqueId->LowPart = NewLuid.u.LowPart; LocallyUniqueId->HighPart = NewLuid.u.HighPart;
15 years, 5 months
1
0
0
0
[ros-arm-bringup] 41923: Don't try to write to "EAX" register on anything else but x86. Please write portable code in crossarch sources.
by ros-arm-bringup@svn.reactos.org
Author: ros-arm-bringup Date: Sun Jul 12 14:44:53 2009 New Revision: 41923 URL:
http://svn.reactos.org/svn/reactos?rev=41923&view=rev
Log: Don't try to write to "EAX" register on anything else but x86. Please write portable code in crossarch sources. Modified: trunk/reactos/ntoskrnl/kd/kdmain.c Modified: trunk/reactos/ntoskrnl/kd/kdmain.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/kd/kdmain.c?rev=4…
============================================================================== --- trunk/reactos/ntoskrnl/kd/kdmain.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/kd/kdmain.c [iso-8859-1] Sun Jul 12 14:44:53 2009 @@ -141,7 +141,13 @@ KdpServiceDispatcher(BREAKPOINT_PRINT, (PVOID)ExceptionRecord->ExceptionInformation[1], ExceptionRecord->ExceptionInformation[2]); +#ifdef _M_IX86 Context->Eax = STATUS_SUCCESS; +#elif _M_ARM + Context->R0 = STATUS_SUCCESS; +#else +#error Please be portable when modifying code +#endif } else if (ExceptionCommand == BREAKPOINT_LOAD_SYMBOLS) {
15 years, 5 months
1
0
0
0
[ros-arm-bringup] 41922: Move HYPER_SPACE definition to x86 header, since ARM already defines it (and it's somewhere else). Thi sis an arch-specific define
by ros-arm-bringup@svn.reactos.org
Author: ros-arm-bringup Date: Sun Jul 12 14:44:22 2009 New Revision: 41922 URL:
http://svn.reactos.org/svn/reactos?rev=41922&view=rev
Log: Move HYPER_SPACE definition to x86 header, since ARM already defines it (and it's somewhere else). Thi sis an arch-specific define Modified: trunk/reactos/ntoskrnl/include/internal/i386/mm.h trunk/reactos/ntoskrnl/include/internal/mm.h Modified: trunk/reactos/ntoskrnl/include/internal/i386/mm.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/i386/mm.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/i386/mm.h [iso-8859-1] Sun Jul 12 14:44:22 2009 @@ -14,6 +14,7 @@ /* Base addresses of PTE and PDE */ #define PAGETABLE_MAP (0xc0000000) #define PAGEDIRECTORY_MAP (0xc0000000 + (PAGETABLE_MAP / (1024))) +#define HYPER_SPACE (0xC0400000) /* Converting address to a corresponding PDE or PTE entry */ #define MiAddressToPde(x) \ Modified: trunk/reactos/ntoskrnl/include/internal/mm.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/mm.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/mm.h [iso-8859-1] Sun Jul 12 14:44:22 2009 @@ -60,8 +60,6 @@ /* Number of list heads to use */ #define MI_FREE_POOL_LISTS 4 - -#define HYPER_SPACE (0xC0400000) #define MI_HYPERSPACE_PTES (256 - 1) #define MI_ZERO_PTES (32)
15 years, 5 months
1
0
0
0
[ros-arm-bringup] 41921: These fields don't exist on ARM, so only C_ASSERT them on x86
by ros-arm-bringup@svn.reactos.org
Author: ros-arm-bringup Date: Sun Jul 12 14:43:29 2009 New Revision: 41921 URL:
http://svn.reactos.org/svn/reactos?rev=41921&view=rev
Log: These fields don't exist on ARM, so only C_ASSERT them on x86 Modified: trunk/reactos/ntoskrnl/include/internal/ntoskrnl.h Modified: trunk/reactos/ntoskrnl/include/internal/ntoskrnl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/ntoskrnl.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/ntoskrnl.h [iso-8859-1] Sun Jul 12 14:43:29 2009 @@ -156,10 +156,10 @@ C_ASSERT(FIELD_OFFSET(KTHREAD, CallbackStack) == KTHREAD_CALLBACK_STACK); C_ASSERT(FIELD_OFFSET(KTHREAD, ApcState.Process) == KTHREAD_APCSTATE_PROCESS); C_ASSERT(FIELD_OFFSET(KPROCESS, DirectoryTableBase) == KPROCESS_DIRECTORY_TABLE_BASE); + +#ifdef _M_IX86 C_ASSERT(FIELD_OFFSET(KPCR, Tib.ExceptionList) == KPCR_EXCEPTION_LIST); - C_ASSERT(FIELD_OFFSET(KPCR, Self) == KPCR_SELF); -#ifdef _M_IX86 C_ASSERT(FIELD_OFFSET(KPCR, IRR) == KPCR_IRR); C_ASSERT(FIELD_OFFSET(KPCR, IDR) == KPCR_IDR); C_ASSERT(FIELD_OFFSET(KPCR, Irql) == KPCR_IRQL);
15 years, 5 months
1
0
0
0
← Newer
1
...
37
38
39
40
41
42
43
...
61
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
Results per page:
10
25
50
100
200