mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
[KMTESTS]
- Fix 64 bit warnings - Do not force assembly syntax on GCC in ExInterlocked svn path=/trunk/; revision=56456
This commit is contained in:
parent
67d9295a2d
commit
2ab0757b32
6 changed files with 31 additions and 31 deletions
|
@ -234,7 +234,7 @@ static PKMT_RESULTBUFFER KmtAllocateResultBuffer(SIZE_T ResultBufferSize)
|
|||
Buffer->Failures = 0;
|
||||
Buffer->Skipped = 0;
|
||||
Buffer->LogBufferLength = 0;
|
||||
Buffer->LogBufferMaxLength = ResultBufferSize - FIELD_OFFSET(KMT_RESULTBUFFER, LogBuffer);
|
||||
Buffer->LogBufferMaxLength = (ULONG)ResultBufferSize - FIELD_OFFSET(KMT_RESULTBUFFER, LogBuffer);
|
||||
|
||||
return Buffer;
|
||||
}
|
||||
|
@ -260,7 +260,7 @@ static VOID KmtAddToLogBuffer(PKMT_RESULTBUFFER Buffer, PCSTR String, SIZE_T Len
|
|||
do
|
||||
{
|
||||
OldLength = Buffer->LogBufferLength;
|
||||
NewLength = OldLength + Length;
|
||||
NewLength = OldLength + (ULONG)Length;
|
||||
if (NewLength > Buffer->LogBufferMaxLength)
|
||||
return;
|
||||
} while (InterlockedCompareExchange(&Buffer->LogBufferLength, NewLength, OldLength) != OldLength);
|
||||
|
|
|
@ -31,7 +31,7 @@ KmtRunKernelTest(
|
|||
DWORD Error = ERROR_SUCCESS;
|
||||
DWORD BytesRead;
|
||||
|
||||
if (!DeviceIoControl(KmtestHandle, IOCTL_KMTEST_RUN_TEST, (PVOID)TestName, strlen(TestName), NULL, 0, &BytesRead, NULL))
|
||||
if (!DeviceIoControl(KmtestHandle, IOCTL_KMTEST_RUN_TEST, (PVOID)TestName, (DWORD)strlen(TestName), NULL, 0, &BytesRead, NULL))
|
||||
error(Error);
|
||||
|
||||
return Error;
|
||||
|
@ -181,7 +181,7 @@ KmtSendStringToDriver(
|
|||
|
||||
assert(ControlCode < 0x400);
|
||||
|
||||
if (!DeviceIoControl(TestDeviceHandle, KMT_MAKE_CODE(ControlCode), (PVOID)String, strlen(String), NULL, 0, &BytesRead, NULL))
|
||||
if (!DeviceIoControl(TestDeviceHandle, KMT_MAKE_CODE(ControlCode), (PVOID)String, (DWORD)strlen(String), NULL, 0, &BytesRead, NULL))
|
||||
return GetLastError();
|
||||
|
||||
return ERROR_SUCCESS;
|
||||
|
|
|
@ -279,7 +279,7 @@ DriverIoControl(
|
|||
{
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
PIO_STACK_LOCATION IoStackLocation;
|
||||
ULONG Length = 0;
|
||||
SIZE_T Length = 0;
|
||||
|
||||
PAGED_CODE();
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ int __cdecl KmtVSNPrintF(char *buffer, size_t count, const char *format, va_list
|
|||
stream._base = (char *)buffer;
|
||||
stream._ptr = stream._base;
|
||||
stream._charbuf = 0;
|
||||
stream._cnt = count;
|
||||
stream._cnt = (int)count;
|
||||
stream._bufsiz = 0;
|
||||
stream._flag = _IOSTRG | _IOWRT;
|
||||
stream._tmpfname = 0;
|
||||
|
|
|
@ -5,18 +5,18 @@
|
|||
* PROGRAMMER: Thomas Faber <thfabba@gmx.de>
|
||||
*/
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
/* missing prototypes >:| */
|
||||
#ifndef _MSC_VER
|
||||
typedef long long __int64;
|
||||
#endif
|
||||
struct _KSPIN_LOCK;
|
||||
__declspec(dllimport) long __fastcall InterlockedCompareExchange(volatile long *, long, long);
|
||||
__declspec(dllimport) __int64 __fastcall ExInterlockedCompareExchange64(volatile __int64 *, __int64 *, __int64 *, void *);
|
||||
__declspec(dllimport) __int64 __fastcall ExfInterlockedCompareExchange64(volatile __int64 *, __int64 *, __int64 *);
|
||||
__declspec(dllimport) long __fastcall InterlockedExchange(volatile long *, long);
|
||||
__declspec(dllimport) unsigned long __stdcall ExInterlockedExchangeUlong(unsigned long *, unsigned long, void *);
|
||||
__declspec(dllimport) long __fastcall InterlockedExchangeAdd(volatile long *, long);
|
||||
__declspec(dllimport) unsigned long __stdcall ExInterlockedAddUlong(unsigned long *, unsigned long, void *);
|
||||
#ifdef _X86_
|
||||
__declspec(dllimport) unsigned long __stdcall ExInterlockedAddUlong(unsigned long *, unsigned long, unsigned long *);
|
||||
#endif
|
||||
__declspec(dllimport) unsigned long __stdcall Exi386InterlockedExchangeUlong(unsigned long *, unsigned long);
|
||||
__declspec(dllimport) long __fastcall InterlockedIncrement(long *);
|
||||
__declspec(dllimport) long __fastcall InterlockedDecrement(long *);
|
||||
|
@ -74,13 +74,11 @@ typedef int PROCESSOR_STATE;
|
|||
#elif defined(__GNUC__) && defined(_M_IX86)
|
||||
#define SaveState(State) \
|
||||
asm volatile( \
|
||||
".intel_syntax noprefix\n\t" \
|
||||
"mov\t[ecx], esi\n\t" \
|
||||
"mov\t[ecx+4], edi\n\t" \
|
||||
"mov\t[ecx+8], ebx\n\t" \
|
||||
"mov\t[ecx+12], ebp\n\t" \
|
||||
"mov\t[ecx+16], esp\n\t" \
|
||||
".att_syntax prefix" \
|
||||
"movl\t%%esi, (%%ecx)\n\t" \
|
||||
"movl\t%%edi, 4(%%ecx)\n\t" \
|
||||
"movl\t%%ebx, 8(%%ecx)\n\t" \
|
||||
"movl\t%%ebp, 12(%%ecx)\n\t" \
|
||||
"movl\t%%esp, 16(%%ecx)" \
|
||||
: : "c" (&State) : "memory" \
|
||||
);
|
||||
|
||||
|
@ -96,17 +94,15 @@ typedef int PROCESSOR_STATE;
|
|||
#elif defined(__GNUC__) && defined(_M_AMD64)
|
||||
#define SaveState(State) \
|
||||
asm volatile( \
|
||||
".intel_syntax noprefix\n\t" \
|
||||
"mov\t[rcx], rsi\n\t" \
|
||||
"mov\t[rcx+8], rdi\n\t" \
|
||||
"mov\t[rcx+16], rbx\n\t" \
|
||||
"mov\t[rcx+24], rbp\n\t" \
|
||||
"mov\t[rcx+32], rsp\n\t" \
|
||||
"mov\t[rcx+40], r12\n\t" \
|
||||
"mov\t[rcx+48], r13\n\t" \
|
||||
"mov\t[rcx+56], r14\n\t" \
|
||||
"mov\t[rcx+64], r15\n\t" \
|
||||
".att_syntax prefix" \
|
||||
"mov\t%%rsi, (%%rcx)\n\t" \
|
||||
"mov\t%%rdi, 8(%%rcx)\n\t" \
|
||||
"mov\t%%rbx, 16(%%rcx)\n\t" \
|
||||
"mov\t%%rbp, 24(%%rcx)\n\t" \
|
||||
"mov\t%%rsp, 32(%%rcx)\n\t" \
|
||||
"mov\t%%r12, 40(%%rcx)\n\t" \
|
||||
"mov\t%%r13, 48(%%rcx)\n\t" \
|
||||
"mov\t%%r14, 56(%%rcx)\n\t" \
|
||||
"mov\t%%r15, 64(%%rcx)" \
|
||||
: : "c" (&State) : "memory" \
|
||||
);
|
||||
|
||||
|
@ -124,7 +120,11 @@ typedef int PROCESSOR_STATE;
|
|||
} while (0)
|
||||
#else
|
||||
#define SaveState(State)
|
||||
#define CheckState(OldState, NewState)
|
||||
#define CheckState(OldState, NewState) do \
|
||||
{ \
|
||||
(void)OldState; \
|
||||
(void)NewState; \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
static
|
||||
|
|
|
@ -160,7 +160,7 @@ START_TEST(RtlMemory)
|
|||
const SIZE_T HalfSize = Size / 2;
|
||||
SIZE_T RetSize;
|
||||
KIRQL Irql;
|
||||
ULONG i;
|
||||
SIZE_T i;
|
||||
|
||||
KeRaiseIrql(HIGH_LEVEL, &Irql);
|
||||
/* zero everything behind 'Size'. Tests will check that this wasn't changed.
|
||||
|
|
Loading…
Reference in a new issue