From: Timo Kreuzer Date: Sun, 18 Oct 2009 17:24:21 +0000 (+0000) Subject: Merge trunk (r43561) X-Git-Tag: backups/aicom-network-stable@46924~240^2~3 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=dfb17b5cd94de93fc6ece50c4a46d33204e7894b Merge trunk (r43561) svn path=/branches/ros-amd64-bringup/; revision=43562 --- dfb17b5cd94de93fc6ece50c4a46d33204e7894b diff --cc reactos/dll/ntdll/ldr/startup.c index a87e0a9dfeb,33353e78517..c52c4354baf --- a/reactos/dll/ntdll/ldr/startup.c +++ b/reactos/dll/ntdll/ldr/startup.c @@@ -426,14 -426,8 +426,8 @@@ LdrpInit2(PCONTEXT Context InsertTailList(&Peb->Ldr->InLoadOrderModuleList, &NtModule->InLoadOrderLinks); InsertTailList(&Peb->Ldr->InInitializationOrderModuleList, - &NtModule->InInitializationOrderModuleList); + &NtModule->InInitializationOrderLinks); - #if DBG || defined(KDBG) - - LdrpLoadUserModuleSymbols(NtModule); - - #endif /* DBG || KDBG */ - /* add entry for executable (becomes first list entry) */ ExeModule = (PLDR_DATA_TABLE_ENTRY) RtlAllocateHeap(Peb->ProcessHeap, diff --cc reactos/dll/ntdll/ldr/utils.c index 275381442db,873cce8f1fa..16c7c75fbe4 --- a/reactos/dll/ntdll/ldr/utils.c +++ b/reactos/dll/ntdll/ldr/utils.c @@@ -2269,12 -2252,10 +2253,10 @@@ LdrpLoadModule(IN PWSTR SearchPath OPTI DPRINT1("LdrFixupImports failed for %wZ, status=%x\n", &(*Module)->BaseDllName, Status); return Status; } - #if DBG || defined(KDBG) - LdrpLoadUserModuleSymbols(*Module); - #endif /* DBG || KDBG */ + RtlEnterCriticalSection(NtCurrentPeb()->LoaderLock); InsertTailList(&NtCurrentPeb()->Ldr->InInitializationOrderModuleList, - &(*Module)->InInitializationOrderModuleList); + &(*Module)->InInitializationOrderLinks); RtlLeaveCriticalSection (NtCurrentPeb()->LoaderLock); } return STATUS_SUCCESS; diff --cc reactos/include/ndk/pstypes.h index 3bd6f2c41bb,45e27f2d741..77d7bf3def9 --- a/reactos/include/ndk/pstypes.h +++ b/reactos/include/ndk/pstypes.h @@@ -591,26 -621,20 +621,30 @@@ typedef struct _INITIAL_PE // typedef struct _PEB { - UCHAR InheritedAddressSpace; - UCHAR ReadImageFileExecOptions; - UCHAR BeingDebugged; + BOOLEAN InheritedAddressSpace; + BOOLEAN ReadImageFileExecOptions; + BOOLEAN BeingDebugged; #if (NTDDI_VERSION >= NTDDI_WS03) - struct + union { - UCHAR BitField; + BOOLEAN ImageUsesLargePages:1; ++ BOOLEAN BitField; + struct + { + UCHAR ImageUsesLargePages:1; #if (NTDDI_VERSION >= NTDDI_LONGHORN) - UCHAR IsProtectedProcess:1; - UCHAR IsLegacyProcess:1; - UCHAR IsImageDynamicallyRelocated:1; - UCHAR SkipPatchingUser32Forwarders:1; - UCHAR SpareBits:3; + BOOLEAN IsProtectedProcess:1; + BOOLEAN IsLegacyProcess:1; + BOOLEAN SpareBits:5; ++ BOOLEAN IsProtectedProcess:1; ++ BOOLEAN IsLegacyProcess:1; ++ BOOLEAN IsImageDynamicallyRelocated:1; ++ BOOLEAN SkipPatchingUser32Forwarders:1; ++ BOOLEAN SpareBits:3; #else - UCHAR SpareBits:7; - BOOLEAN SpareBits:7; ++ BOOLEAN SpareBits:7; #endif + }; }; #else BOOLEAN SpareBool; diff --cc reactos/include/psdk/winnt.h index c9b7f61d23f,d2e7d0d0298..b1b61a8a66a --- a/reactos/include/psdk/winnt.h +++ b/reactos/include/psdk/winnt.h @@@ -58,10 -56,10 +58,11 @@@ extern "C" #include /* FIXME: add more architectures. Is there a way to specify this in GCC? */ - #ifdef _X86_ - #define UNALIGNED + #if defined(_M_AMD64) + #undef UNALIGNED + #define UNALIGNED __unaligned #else +#undef UNALIGNED #define UNALIGNED #endif diff --cc reactos/ntoskrnl/include/internal/ke.h index 7f16d5d7337,a85180e8daa..4a95160bb59 --- a/reactos/ntoskrnl/include/internal/ke.h +++ b/reactos/ntoskrnl/include/internal/ke.h @@@ -192,8 -192,31 +192,31 @@@ extern ULONG KiDPCTimeout /* INTERNAL KERNEL FUNCTIONS ************************************************/ + VOID + NTAPI + CPUID( + IN ULONG InfoType, + OUT PULONG CpuInfoEax, + OUT PULONG CpuInfoEbx, + OUT PULONG CpuInfoEcx, + OUT PULONG CpuInfoEdx + ); + + LONGLONG + FASTCALL + RDMSR( + IN ULONG Register + ); + + VOID + NTAPI + WRMSR( + IN ULONG Register, + IN LONGLONG Value + ); + /* Finds a new thread to run */ -NTSTATUS +LONG_PTR FASTCALL KiSwapThread( IN PKTHREAD Thread, diff --cc reactos/ntoskrnl/kd64/kdapi.c index 77173e20454,a68e43b7c91..3d3ff38c3b2 --- a/reactos/ntoskrnl/kd64/kdapi.c +++ b/reactos/ntoskrnl/kd64/kdapi.c @@@ -264,11 -334,15 +334,16 @@@ KdpReadVirtualMemory(IN PDBGKD_MANIPULA IN PSTRING Data, IN PCONTEXT Context) { + PDBGKD_READ_MEMORY64 ReadMemory = &State->u.ReadMemory; STRING Header; - ULONG Length = State->u.ReadMemory.TransferCount; - NTSTATUS Status = STATUS_SUCCESS; + ULONG Length = ReadMemory->TransferCount; + ULONG64 TargetBaseAddress = State->u.ReadMemory.TargetBaseAddress; + /* Setup the header */ + Header.Length = sizeof(DBGKD_MANIPULATE_STATE64); + Header.Buffer = (PCHAR)State; + ASSERT(Data->Length == 0); + /* Validate length */ if (Length > (PACKET_MAX_SIZE - sizeof(DBGKD_MANIPULATE_STATE64))) { diff --cc reactos/ntoskrnl/mm/ARM3/expool.c index 5fdc201ac35,8ae73ec8883..d6274e1f8a8 --- a/reactos/ntoskrnl/mm/ARM3/expool.c +++ b/reactos/ntoskrnl/mm/ARM3/expool.c @@@ -547,4 -640,67 +640,67 @@@ ExFreeArmPool(PVOID P ExFreeArmPoolWithTag(P, 0); } + /* + * @unimplemented + */ + SIZE_T + NTAPI + ExQueryPoolBlockSize(IN PVOID PoolBlock, + OUT PBOOLEAN QuotaCharged) + { + // + // Not implemented + // + UNIMPLEMENTED; + return FALSE; + } + + /* + * @implemented + */ + + PVOID + NTAPI + ExAllocatePoolWithQuota(IN POOL_TYPE PoolType, - IN ULONG NumberOfBytes) ++ IN SIZE_T NumberOfBytes) + { + // + // Allocate the pool + // + return ExAllocatePoolWithQuotaTag(PoolType, NumberOfBytes, 'enoN'); + } + + /* + * @implemented + */ + PVOID + NTAPI + ExAllocatePoolWithTagPriority(IN POOL_TYPE PoolType, + IN SIZE_T NumberOfBytes, + IN ULONG Tag, + IN EX_POOL_PRIORITY Priority) + { + // + // Allocate the pool + // + UNIMPLEMENTED; + return ExAllocatePoolWithTag(PoolType, NumberOfBytes, Tag); + } + + /* + * @implemented + */ + PVOID + NTAPI + ExAllocatePoolWithQuotaTag(IN POOL_TYPE PoolType, - IN ULONG NumberOfBytes, ++ IN SIZE_T NumberOfBytes, + IN ULONG Tag) + { + // + // Allocate the pool + // + UNIMPLEMENTED; + return ExAllocatePoolWithTag(PoolType, NumberOfBytes, Tag); + } + /* EOF */