Author: tkreuzer Date: Wed Jul 30 21:20:15 2008 New Revision: 34971
URL: http://svn.reactos.org/svn/reactos?rev=34971&view=rev Log: - do not define -nostartfiles for kernel, it looks like ld creates unaligned section pointers then - comment out RtlCapturestackLimits - use KeGetCurrentPrcb instead if KetGetPcr()->Prcb - fix use of KPCR->Prcb - use %p instead of %08x for ULONG_PTR - update stubs - add more files to build - add FrLdrDbgPrint prototype to ntoskrnl.h
Modified: branches/ros-amd64-bringup/reactos/ReactOS-amd64.rbuild branches/ros-amd64-bringup/reactos/ntoskrnl/amd64stubs.c branches/ros-amd64-bringup/reactos/ntoskrnl/ex/sysinfo.c branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/ntoskrnl.h branches/ros-amd64-bringup/reactos/ntoskrnl/ke/bug.c branches/ros-amd64-bringup/reactos/ntoskrnl/ntoskrnl-amd64hack.rbuild branches/ros-amd64-bringup/reactos/ntoskrnl/rtl/libsupp.c
Modified: branches/ros-amd64-bringup/reactos/ReactOS-amd64.rbuild URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ReactO... ============================================================================== --- branches/ros-amd64-bringup/reactos/ReactOS-amd64.rbuild [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ReactOS-amd64.rbuild [iso-8859-1] Wed Jul 30 21:20:15 2008 @@ -17,7 +17,7 @@ <property name="PLATFORM" value="PC"/> <property name="usewrc" value="false"/> <property name="WINEBUILD_FLAGS" value="--kill-at"/> - <property name="NTOSKRNL_SHARED" value="-nostartfiles -shared"/> + <property name="NTOSKRNL_SHARED" value="-shared"/> <linkerflag>-enable-stdcall-fixup</linkerflag>
<if property="OPTIMIZE" value="1">
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/amd64stubs.c URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskr... ============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/amd64stubs.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/amd64stubs.c [iso-8859-1] Wed Jul 30 21:20:15 2008 @@ -9,26 +9,11 @@ STUB(KeRaiseIrqlToDpcLevel) STUB(KiIdleLoop) STUB(KeGetCurrentIrql) -STUB(KeBugCheckEx) STUB(KeAcquireInStackQueuedSpinLockRaiseToSynch) STUB(KeNumberProcessors) STUB(KeBugcheckCallbackListHead) -STUB(NtAdjustGroupsToken) -STUB(NtAdjustPrivilegesToken) STUB(ExpInterlockedPushEntrySList) -STUB(PsGetCurrentThreadId) STUB(NtContinue) -STUB(NtCreateEvent) -STUB(NtCreateMutant) -STUB(NtCreateSemaphore) -STUB(NtCreateThread) -STUB(NtCreateTimer) -STUB(NtCreateToken) -STUB(NtDebugContinue) -STUB(NtDuplicateToken) -STUB(NtFilterToken) -STUB(NtFlushInstructionCache) -STUB(NtDebugActiveProcess) STUB(KeActiveProcessors) STUB(KeDisableInterrupts) STUB(KiSwapContext) @@ -36,7 +21,6 @@ STUB(KiDispatchException) STUB(MiGetUserPageDirectoryCount) STUB(MmStats) -STUB(PsCreateSystemThread) STUB(ExAcquireResourceLock) STUB(ExReleaseResourceLock) STUB(MiNonPagedPoolLength) @@ -46,90 +30,28 @@ STUB(KeBugcheckReasonCallbackListHead) STUB(BugCheckCallbackLock) STUB(NtCallbackReturn) -STUB(NtCancelTimer) -STUB(NtClearEvent) -STUB(NtCompareTokens) -STUB(NtCreateDebugObject) -STUB(NtCreateIoCompletion) -STUB(NtEnumerateSystemEnvironmentValuesEx) -STUB(NtImpersonateAnonymousToken) -STUB(NtOpenEvent) -STUB(NtOpenIoCompletion) -STUB(NtOpenMutant) -STUB(NtOpenSemaphore) -STUB(NtOpenThread) -STUB(NtOpenThreadToken) -STUB(NtOpenTimer) -STUB(NtPulseEvent) -STUB(NtQueryEvent) -STUB(NtQueryInformationToken) -STUB(NtQueryIoCompletion) -STUB(NtQueryMutant) -STUB(NtQuerySemaphore) -STUB(NtQuerySystemEnvironmentValue) -STUB(NtQuerySystemEnvironmentValueEx) -STUB(NtQuerySystemInformation) -STUB(NtQueryTimer) STUB(NtRaiseException) -STUB(NtReleaseMutant) -STUB(NtReleaseSemaphore) -STUB(NtRemoveIoCompletion) -STUB(NtRemoveProcessDebug) -STUB(NtResetEvent) -STUB(NtSetEvent) -STUB(NtSetEventBoostPriority) -STUB(NtSetInformationTokenNtSetInformationDebugObject) -STUB(NtSetIoCompletion) STUB(NtSetLdtEntries) -STUB(NtSetSystemEnvironmentValue) -STUB(NtSetSystemEnvironmentValueEx) -STUB(NtSetSystemInformation) -STUB(NtSetTimer) STUB(NtVdmControl) -STUB(NtWaitForDebugEvent) -STUB(NtGetCurrentProcessorNumber) -STUB(NtOpenThreadTokenEx) -STUB(NtSetInformationDebugObject) -STUB(NtSetInformationToken) STUB(KiSwapProcess) STUB(KeGetCurrentProcessorNumber) STUB(Ke386InitThreadWithContext) STUB(ExpInterlockedPopEntrySList) STUB(ExAllocateFromNPagedLookasideList) -STUB(ExInitializeNPagedLookasideList) -STUB(SeTokenType) STUB(RtlGetCallersAddress) STUB(RtlCompareMemory) -STUB(DbgkpSendApiMessage) -STUB(DbgkpTraceLevel) -STUB(ExpInitializeEventImplementation) -STUB(ExpInitializeMutantImplementation) -STUB(ExpInitializeSemaphoreImplementation) -STUB(ExpInitializeTimerImplementation) STUB(ExpEnvironmentLock) STUB(ExpFirmwareTableProviderListHead) -STUB(IoAcquireCancelSpinLock) -STUB(IoReleaseCancelSpinLock) STUB(ExInterlockedInsertTailList) STUB(ExInterlockedRemoveHeadList) STUB(ExInterlockedAddLargeStatistic) -STUB(IopCompletionMapping) STUB(CmpInitializeMachineDependentConfiguration) -STUB(ExpInitLookasideLists) STUB(ExpFirmwareTableResource) STUB(MmNumberOfPhysicalPages) -STUB(RtlInitializeRangeListPackage) -STUB(ExInitPoolLookasidePointers) -STUB(KiInitializeBugCheck) -STUB(DbgkInitialize) STUB(MmMapLockedPage) STUB(PsThreadType) STUB(ExfInterlockedCompareExchange64) -STUB(ExInitializePagedLookasideList) STUB(ExInterlockedInsertHeadList) -STUB(IoCheckEaBufferValidity) -STUB(ExEventObjectType) -STUB(IopDeleteIoCompletion) STUB(IoCompletionType) STUB(IoCompletionPacketLookaside) STUB(CancelSpinLock) @@ -140,97 +62,42 @@ STUB(MmPfnDatabase) STUB(MmHighestPhysicalPage) STUB(MiFreeDescriptorOrg) -STUB(_PsThreadType) -STUB(_ExEventObjectType) +STUB(ExEventObjectType) STUB(KeRosDumpStackFrames) STUB(RtlWalkFrameChain) STUB(ExSystemLookasideListHead) STUB(PspGetOrSetContextKernelRoutine) -STUB(PspW32ThreadCallout) -STUB(ExTimerRundown) STUB(KeConnectInterrupt) -STUB(ExInitializeSystemLookasideList) STUB(KeRaiseUserException) -STUB(PsIsThreadTerminating) -STUB(ExMutantObjectType) STUB(_ExSemaphoreObjectType) -STUB(DbgkClearProcessDebugObject) STUB(KeFeatureBits) -STUB(SepTokenObjectType) -STUB(SeExchangePrimaryToken) -STUB(SeIsTokenChild) -STUB(SeTokenImpersonationLevel) -STUB(SeSubProcessToken) -STUB(SeAssignPrimaryToke) -STUB(SeCopyClientToken) -STUB(SepInitializeTokenImplementation) STUB(KiSystemService) STUB(KdpGdbStubInit) STUB(KdbpGetCommandLineSettings) STUB(KdbpSafeReadMemory) -STUB(RtlpAllocateMemory) STUB(RtlFillMemoryUlong) STUB(RtlCaptureContext) STUB(RtlpGetExceptionAddress) -STUB(RtlpCheckForActiveDebugger) STUB(RtlDispatchException) -STUB(RtlpFreeMemory) -STUB(RtlpLockAtomTable) -STUB(RtlpUnlockAtomTable) -STUB(PspW32ProcessCallout) STUB(DbgkDebugObjectType) -STUB(DbgkCopyProcessDebugPort) -STUB(SeAssignPrimaryToken) -STUB(SeDeassignPrimaryToken) -STUB(SepCreateSystemProcessToken) STUB(KdbEnterDebuggerException) STUB(KdbpCliModuleLoaded) -STUB(RtlpSetInDbgPrint) -STUB(CHECK_PAGED_CODE_RTL) -STUB(RtlpGetAtomEntry) -STUB(RtlpFreeAtomHandle) -STUB(RtlpFreeAtomTableEntry) -STUB(RtlpAllocAtomTableEntry) -STUB(RtlAcquirePebLock) -STUB(RtlpGetMode) -STUB(RtlReleasePebLock) -STUB(RtlEnterHeapLock) -STUB(RtlLeaveHeapLock) -STUB(RtlInitializeHeapLock) -STUB(LdrShutdownThread) -STUB(RtlpDestroyAtomHandleTable) -STUB(RtlpDestroyAtomTableLock) -STUB(RtlpFreeAtomTable) -STUB(RtlpAllocAtomTable) -STUB(RtlpInitAtomTableLock) -STUB(RtlpCreateAtomHandleTable) -STUB(RtlpAllocDeallocQueryBufferSize) -STUB(find_entry) -STUB(RtlDeleteHeapLock) STUB(RtlUnwind) -STUB(RtlpCreateAtomHandle) STUB(RtlInitializeContext) -STUB(RtlpCurrentPeb) STUB(DbgCommandString) STUB(ExAcquireRundownProtection) STUB(ExAcquireRundownProtectionCacheAware) STUB(ExAcquireRundownProtectionCacheAwareEx) STUB(ExAcquireRundownProtectionEx) STUB(ExAllocateFromPagedLookasideList) -STUB(ExDeleteNPagedLookasideList) -STUB(ExDeletePagedLookasideList) STUB(ExEnterCriticalRegionAndAcquireResourceShared) STUB(ExEnterCriticalRegionAndAcquireSharedWaitForExclusive) STUB(ExFreeToPagedLookasideList) -STUB(ExGetCurrentProcessorCounts) -STUB(ExGetCurrentProcessorCpuUsage) -STUB(ExGetPreviousMode) STUB(ExInitializeRundownProtection) STUB(ExInterlockedAddLargeInteger) STUB(ExInterlockedAddUlong) STUB(ExInterlockedPopEntryList) STUB(ExInterlockedPushEntryList) -STUB(ExIsProcessorFeaturePresent) STUB(ExQueryDepthSList) STUB(ExRaiseException) STUB(ExRaiseStatus) @@ -243,7 +110,6 @@ STUB(ExRundownCompleted) STUB(ExRundownCompletedCacheAware) STUB(ExSemaphoreObjectType) -STUB(ExVerifySuite) STUB(ExWaitForRundownProtectionRelease) STUB(ExWaitForRundownProtectionReleaseCacheAware) STUB(ExpInterlockedFlushSList) @@ -263,27 +129,12 @@ STUB(HalDispatchTable) STUB(HeadlessDispatch) STUB(InitializeSListHead) -STUB(IoCheckDesiredAccess) -STUB(IoCheckFunctionAccess) -STUB(IoCheckQuerySetVolumeInformation) STUB(IoEnumerateRegisteredFiltersList) STUB(IoFileObjectType) STUB(IoForwardAndCatchIrp) -STUB(IoGetCurrentProcess) -STUB(IoGetDeviceToVerify) -STUB(IoGetInitialStack) STUB(IoGetPagingIoPriority) -STUB(IoGetStackLimits) STUB(IoIs32bitProcess) -STUB(IoIsSystemThread) -STUB(IoIsWdmVersionAvailable) -STUB(IoSetCompletionRoutineEx) -STUB(IoSetDeviceToVerify) -STUB(IoSetHardErrorOrVerifyDevice) -STUB(IoSetIoCompletion) -STUB(IoThreadToProcess) STUB(IoTranslateBusAddress) -STUB(IoValidateDeviceIoControlAccess) STUB(IoWMIDeviceObjectToProviderId) STUB(KdDebuggerEnabled) STUB(KdDebuggerNotPresent) @@ -294,12 +145,9 @@ STUB(KeAcquireSpinLockForDpc) STUB(KeAcquireSpinLockRaiseToDpc) STUB(KeAcquireSpinLockRaiseToSynch) -STUB(KeDeregisterBugCheckCallback) -STUB(KeDeregisterBugCheckReasonCallback) STUB(KeDeregisterNmiCallback) STUB(KeEnterCriticalRegion) STUB(KeEnterGuardedRegion) -STUB(KeEnterKernelDebugger) STUB(KeExpandKernelStackAndCallout) STUB(KeFlushEntireTb) STUB(KeGenericCallDpc) @@ -314,8 +162,6 @@ STUB(KeQueryMultiThreadProcessorSet) STUB(KeQueryPrcbAddress) STUB(KeReadStateMutex) -STUB(KeRegisterBugCheckCallback) -STUB(KeRegisterBugCheckReasonCallback) STUB(KeRegisterNmiCallback) STUB(KeReleaseInStackQueuedSpinLockForDpc) STUB(KeReleaseQueuedSpinLock) @@ -355,35 +201,17 @@ STUB(PoRequestShutdownEvent) STUB(PoSetHiberRange) STUB(PoShutdownBugCheck) -STUB(PsEstablishWin32Callouts) STUB(PsGetCurrentProcess) STUB(PsGetCurrentProcessWow64Process) STUB(PsGetCurrentThread) -STUB(PsGetCurrentThreadPreviousMode) STUB(PsGetCurrentThreadProcess) STUB(PsGetCurrentThreadProcessId) -STUB(PsGetCurrentThreadStackBase) -STUB(PsGetCurrentThreadStackLimit) STUB(PsGetCurrentThreadTeb) -STUB(PsGetCurrentThreadWin32Thread) STUB(PsGetCurrentThreadWin32ThreadAndEnterCriticalRegion) STUB(PsGetProcessSessionIdEx) STUB(PsGetProcessWow64Process) -STUB(PsGetThreadFreezeCount) -STUB(PsGetThreadHardErrorsAreDisabled) -STUB(PsGetThreadId) -STUB(PsGetThreadProcess) -STUB(PsGetThreadProcessId) -STUB(PsGetThreadSessionId) -STUB(PsGetThreadTeb) -STUB(PsGetThreadWin32Thread) STUB(PsIsSystemProcess) -STUB(PsIsSystemThread) -STUB(PsIsThreadImpersonating) -STUB(PsLookupThreadByThreadId) STUB(PsProcessType) -STUB(PsSetThreadHardErrorsAreDisabled) -STUB(PsSetThreadWin32Thread) STUB(PsWrapApcWow64Thread) STUB(RtlAnsiStringToUnicodeSize) STUB(RtlCompareMemoryUlong) @@ -409,14 +237,8 @@ STUB(RtlUnwindEx) STUB(RtlVirtualUnwind) STUB(RtlZeroMemory) -STUB(SeFilterToken) -STUB(SeQueryAuthenticationIdToken) -STUB(SeQueryInformationToken) -STUB(SeQuerySessionIdToken) STUB(SeReportSecurityEvent) STUB(SeSetAuditParameter) -STUB(SeTokenIsAdmin) -STUB(SeTokenIsRestricted) STUB(SeTokenObjectType) STUB(VfFailDeviceNode) STUB(VfFailDriver) @@ -443,4 +265,9 @@ STUB(KeAcquireInStackQueuedSpinLock) STUB(KeReleaseInStackQueuedSpinLock) STUB(KfAcquireSpinLock) -STUB(KeBugCheck) +STUB(KiSaveProcessorControlState) +STUB(KeProcessorArchitecture) +STUB(KeProcessorLevel) +STUB(KeProcessorRevision) +STUB(RtlpGetStackLimits) +STUB(KeSwitchKernelStack)
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ex/sysinfo.c URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskr... ============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/ex/sysinfo.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/ex/sysinfo.c [iso-8859-1] Wed Jul 30 21:20:15 2008 @@ -899,7 +899,7 @@ }
CurrentTime.QuadPart = KeQueryInterruptTime(); - Prcb = KeGetPcr()->Prcb; + Prcb = KeGetCurrentPrcb(); for (i = 0; i < KeNumberProcessors; i++) { Spi->IdleTime.QuadPart = (Prcb->IdleThread->KernelTime + Prcb->IdleThread->UserTime) * 100000LL; @@ -1195,7 +1195,11 @@ for (i = 0; i < KeNumberProcessors; i++) { Prcb = KiProcessorBlock[i]; +#ifdef _M_AMD64 + Pcr = CONTAINING_RECORD(Prcb, KPCR, CurrentPrcb); +#else Pcr = CONTAINING_RECORD(Prcb, KPCR, Prcb); +#endif #ifdef _M_ARM // This code should probably be done differently sii->ContextSwitches = Pcr->ContextSwitches; #else @@ -1929,6 +1933,9 @@ for (;;); #elif defined(_M_ARM) __asm__ __volatile__("mov r1, #0; mcr p15, 0, r1, c7, c5, 0"); +#elif defined(_M_AMD64) + DPRINT1("NtFlushInstructionCache() is not implemented\n"); + for (;;); #else #error Unknown architecture #endif
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/ntoskrnl.h URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskr... ============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/ntoskrnl.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/ntoskrnl.h [iso-8859-1] Wed Jul 30 21:20:15 2008 @@ -70,6 +70,8 @@ #include "vdm.h" #include "hal.h" #include "arch/intrin_i.h" + +ULONG (*FrLdrDbgPrint)(const char *Format, ...);
#include <pshpack1.h> /*
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/bug.c URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskr... ============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/ke/bug.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/ke/bug.c [iso-8859-1] Wed Jul 30 21:20:15 2008 @@ -227,7 +227,7 @@ return (USHORT)i; }
- +#ifndef _M_AMD64 VOID FASTCALL KeRosDumpStackFrameArray(IN PULONG Frames, @@ -316,6 +316,7 @@ } } } +#endif
VOID NTAPI @@ -725,8 +726,8 @@
/* Show the technical Data */ sprintf(AnsiName, - "\r\n\r\n*** STOP: 0x%08lX (0x%p,0x%p,0x%p,0x%p)\r\n\r\n", - KiBugCheckData[0], + "\r\n\r\n*** STOP: 0x%p (0x%p,0x%p,0x%p,0x%p)\r\n\r\n", + (PVOID)KiBugCheckData[0], (PVOID)KiBugCheckData[1], (PVOID)KiBugCheckData[2], (PVOID)KiBugCheckData[3],
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ntoskrnl-amd64hack.rbuild URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskr... ============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/ntoskrnl-amd64hack.rbuild [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/ntoskrnl-amd64hack.rbuild [iso-8859-1] Wed Jul 30 21:20:15 2008 @@ -96,7 +96,7 @@ </if> <file>apc.c</file> <file>balmgr.c</file> - <!-- file>bug.c</file --> + <file>bug.c</file> <file>clock.c</file> <file>config.c</file> <file>devqueue.c</file> @@ -170,7 +170,7 @@ </directory> <directory name="dbgk"> <file>dbgkutil.c</file> - <!-- file>dbgkobj.c</file --> + <file>dbgkobj.c</file> </directory> <directory name="ex" root="intermediate"> <file>zw.S</file> @@ -187,7 +187,7 @@ <file>callback.c</file> <file>dbgctrl.c</file> <file>efi.c</file> - <!-- file>event.c</file --> + <file>event.c</file> <file>evtpair.c</file> <file>exintrin.c</file> <file>fastinterlck.c</file> @@ -198,17 +198,17 @@ <file>init.c</file> <file>keyedevt.c</file> <file>locale.c</file> - <!-- file>lookas.c</file --> - <!-- file>mutant.c</file --> + <file>lookas.c</file> + <file>mutant.c</file> <file>pushlock.c</file> <file>profile.c</file> <file>resource.c</file> <file>rundown.c</file> - <!-- file>sem.c</file --> + <file>sem.c</file> <file>shutdown.c</file> - <!-- file>sysinfo.c</file --> + <file>sysinfo.c</file> <file>time.c</file> - <!-- file>timer.c</file --> + <file>timer.c</file> <file>uuid.c</file> <file>win32k.c</file> <file>work.c</file> @@ -253,7 +253,7 @@ <file>drvrlist.c</file> <file>error.c</file> <file>file.c</file> - <!-- file>iocomp.c</file --> + <file>iocomp.c</file> <file>ioevent.c</file> <file>iofunc.c</file> <file>iomdl.c</file> @@ -266,7 +266,7 @@ <file>ramdisk.c</file> <file>rawfs.c</file> <file>remlock.c</file> - <!-- file>util.c</file --> + <file>util.c</file> <file>symlink.c</file> <file>volume.c</file> </directory> @@ -437,8 +437,8 @@ <file>quota.c</file> <file>security.c</file> <file>state.c</file> - <!-- file>thread.c</file --> - <!-- file>win32.c</file --> + <file>thread.c</file> + <file>win32.c</file> </directory> <directory name="rtl"> <if property="ARCH" value="arm"> @@ -446,7 +446,7 @@ <file>rtlexcpt.c</file> </directory> </if> - <!-- file>libsupp.c</file --> + <file>libsupp.c</file> <file>misc.c</file> <file>strtok.c</file> </directory> @@ -459,7 +459,7 @@ <file>sd.c</file> <file>semgr.c</file> <file>sid.c</file> - <!-- file>token.c</file --> + <file>token.c</file> </directory> <directory name="vdm"> <if property="ARCH" value="i386">
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/rtl/libsupp.c URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskr... ============================================================================== --- branches/ros-amd64-bringup/reactos/ntoskrnl/rtl/libsupp.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/ntoskrnl/rtl/libsupp.c [iso-8859-1] Wed Jul 30 21:20:15 2008 @@ -211,7 +211,7 @@ return FALSE; }
-#ifndef _ARM_ +#if !defined(_ARM_) && !defined(_AMD64_)
BOOLEAN NTAPI