Author: sginsberg
Date: Sat Oct 25 17:33:55 2008
New Revision: 36969
URL:
http://svn.reactos.org/svn/reactos?rev=36969&view=rev
Log:
- Make videoprt compile for 64-bit
- Disable Int10 support as it uses x86 specific structures (is this support still
available on amd64?)
- Disable VideoPortEnable/DisableInterrupt -- HalEnable/DisableSystemInterrupt are not
apparently present on NT AMD64, so need to figure out what else to use (and if these
routine are still present on amd64 videoprt)
Modified:
branches/ros-amd64-bringup/reactos/drivers/video/videoprt/agp.c
branches/ros-amd64-bringup/reactos/drivers/video/videoprt/int10.c
branches/ros-amd64-bringup/reactos/drivers/video/videoprt/interrupt.c
branches/ros-amd64-bringup/reactos/drivers/video/videoprt/resource.c
branches/ros-amd64-bringup/reactos/drivers/video/videoprt/services.c
branches/ros-amd64-bringup/reactos/drivers/video/videoprt/spinlock.c
branches/ros-amd64-bringup/reactos/drivers/video/videoprt/videoprt.c
Modified: branches/ros-amd64-bringup/reactos/drivers/video/videoprt/agp.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/drive…
==============================================================================
--- branches/ros-amd64-bringup/reactos/drivers/video/videoprt/agp.c [iso-8859-1]
(original)
+++ branches/ros-amd64-bringup/reactos/drivers/video/videoprt/agp.c [iso-8859-1] Sat Oct
25 17:33:55 2008
@@ -275,7 +275,7 @@
else /* ProcessHandle != NULL */
{
/* Release some virtual memory */
- ULONG Size = Pages * PAGE_SIZE;
+ SIZE_T Size = Pages * PAGE_SIZE;
ULONG OffsetInBytes = Offset * PAGE_SIZE;
BaseAddress = (PVOID)((ULONG_PTR)VirtualMapping->MappedAddress +
OffsetInBytes);
@@ -349,7 +349,7 @@
else /* ProcessHandle != NULL */
{
/* Unmap the section view */
- ULONG Size = Pages * PAGE_SIZE;
+ SIZE_T Size = Pages * PAGE_SIZE;
ULONG OffsetInBytes = Offset * PAGE_SIZE;
BaseAddress = (PVOID)((ULONG_PTR)VirtualMapping->MappedAddress +
OffsetInBytes);
@@ -400,7 +400,7 @@
else /* ProcessHandle != NULL */
{
/* Release the allocated virtual memory */
- ULONG Size = VirtualMapping->AgpMapping->NumberOfPages * PAGE_SIZE;
+ SIZE_T Size = VirtualMapping->AgpMapping->NumberOfPages * PAGE_SIZE;
Status = ZwFreeVirtualMemory(VirtualMapping->ProcessHandle,
&VirtualMapping->MappedAddress,
&Size, MEM_RELEASE);
@@ -452,7 +452,7 @@
else /* ProcessHandle != NULL */
{
/* Reserve memory for usermode */
- ULONG Size = AgpMapping->NumberOfPages * PAGE_SIZE;
+ SIZE_T Size = AgpMapping->NumberOfPages * PAGE_SIZE;
MappedAddress = NULL;
Status = ZwAllocateVirtualMemory(ProcessHandle, &MappedAddress, 0, &Size,
MEM_RESERVE, PAGE_NOACCESS);
Modified: branches/ros-amd64-bringup/reactos/drivers/video/videoprt/int10.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/drive…
==============================================================================
--- branches/ros-amd64-bringup/reactos/drivers/video/videoprt/int10.c [iso-8859-1]
(original)
+++ branches/ros-amd64-bringup/reactos/drivers/video/videoprt/int10.c [iso-8859-1] Sat Oct
25 17:33:55 2008
@@ -25,6 +25,7 @@
/* PRIVATE FUNCTIONS **********************************************************/
+#if defined(_M_IX86)
VP_STATUS NTAPI
IntInt10AllocateBuffer(
IN PVOID Context,
@@ -190,6 +191,7 @@
IntDetachFromCSRSS(&CallingProcess, &ApcState);
return Status;
}
+#endif
/* PUBLIC FUNCTIONS ***********************************************************/
@@ -202,6 +204,7 @@
IN PVOID HwDeviceExtension,
IN PVIDEO_X86_BIOS_ARGUMENTS BiosArguments)
{
+#if defined(_M_IX86)
KV86M_REGISTERS Regs;
NTSTATUS Status;
PKPROCESS CallingProcess;
@@ -243,4 +246,9 @@
IntDetachFromCSRSS(&CallingProcess, &ApcState);
return Status;
-}
+#else
+ /* Not implemented for anything else than X86*/
+ DPRINT1("Int10 not available on non-x86!\n");
+ return ERROR_INVALID_FUNCTION;
+#endif
+}
Modified: branches/ros-amd64-bringup/reactos/drivers/video/videoprt/interrupt.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/drive…
==============================================================================
--- branches/ros-amd64-bringup/reactos/drivers/video/videoprt/interrupt.c [iso-8859-1]
(original)
+++ branches/ros-amd64-bringup/reactos/drivers/video/videoprt/interrupt.c [iso-8859-1] Sat
Oct 25 17:33:55 2008
@@ -111,6 +111,7 @@
VP_STATUS NTAPI
VideoPortEnableInterrupt(IN PVOID HwDeviceExtension)
{
+#ifndef _M_AMD64
PVIDEO_PORT_DEVICE_EXTENSION DeviceExtension;
BOOLEAN Status;
@@ -124,6 +125,11 @@
DeviceExtension->InterruptLevel);
return Status ? NO_ERROR : ERROR_INVALID_ACCESS;
+#else
+ /* FIXME: Function still present? If so what to use instead of
HalEnableSystemInterrupt? */
+ UNIMPLEMENTED;
+ return ERROR_INVALID_ACCESS;
+#endif
}
/*
@@ -133,6 +139,7 @@
VP_STATUS NTAPI
VideoPortDisableInterrupt(IN PVOID HwDeviceExtension)
{
+#ifndef _M_AMD64
PVIDEO_PORT_DEVICE_EXTENSION DeviceExtension;
BOOLEAN Status;
@@ -145,4 +152,9 @@
0);
return Status ? NO_ERROR : ERROR_INVALID_ACCESS;
+#else
+ /* FIXME: Function still present? If so what to use instead of
HalDisableSystemInterrupt? */
+ UNIMPLEMENTED;
+ return ERROR_INVALID_ACCESS;
+#endif
}
Modified: branches/ros-amd64-bringup/reactos/drivers/video/videoprt/resource.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/drive…
==============================================================================
--- branches/ros-amd64-bringup/reactos/drivers/video/videoprt/resource.c [iso-8859-1]
(original)
+++ branches/ros-amd64-bringup/reactos/drivers/video/videoprt/resource.c [iso-8859-1] Sat
Oct 25 17:33:55 2008
@@ -164,7 +164,7 @@
if (Status)
*Status = NO_ERROR;
- return (PVOID)TranslatedAddress.u.LowPart;
+ return (PVOID)(ULONG_PTR)TranslatedAddress.u.LowPart;
}
/* user space */
@@ -272,7 +272,7 @@
Status = ZwUnmapViewOfSection(NtCurrentProcess(), MappedAddress);
if (!NT_SUCCESS(Status))
{
- WARN_(VIDEOPRT, "Warning: Mapping for address 0x%x not found!\n",
(ULONG)MappedAddress);
+ WARN_(VIDEOPRT, "Warning: Mapping for address 0x%p not found!\n",
MappedAddress);
}
}
Modified: branches/ros-amd64-bringup/reactos/drivers/video/videoprt/services.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/drive…
==============================================================================
--- branches/ros-amd64-bringup/reactos/drivers/video/videoprt/services.c [iso-8859-1]
(original)
+++ branches/ros-amd64-bringup/reactos/drivers/video/videoprt/services.c [iso-8859-1] Sat
Oct 25 17:33:55 2008
@@ -44,6 +44,7 @@
switch (ServicesType)
{
+#if defined(_M_IX86)
case VideoPortServicesInt10:
if (Interface->Version >= VIDEO_PORT_INT10_INTERFACE_VERSION_1 ||
Interface->Size >= sizeof(VIDEO_PORT_INT10_INTERFACE))
@@ -61,7 +62,7 @@
return NO_ERROR;
}
break;
-
+#endif
case VideoPortServicesAGP:
if ((Interface->Version == VIDEO_PORT_AGP_INTERFACE_VERSION_2 &&
Interface->Size >= sizeof(VIDEO_PORT_AGP_INTERFACE_2)) ||
Modified: branches/ros-amd64-bringup/reactos/drivers/video/videoprt/spinlock.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/drive…
==============================================================================
--- branches/ros-amd64-bringup/reactos/drivers/video/videoprt/spinlock.c [iso-8859-1]
(original)
+++ branches/ros-amd64-bringup/reactos/drivers/video/videoprt/spinlock.c [iso-8859-1] Sat
Oct 25 17:33:55 2008
@@ -77,7 +77,7 @@
IN PSPIN_LOCK SpinLock)
{
TRACE_(VIDEOPRT, "VideoPortAcquireSpinLockAtDpcLevel\n");
- KefAcquireSpinLockAtDpcLevel((PKSPIN_LOCK)SpinLock);
+ KeAcquireSpinLockAtDpcLevel((PKSPIN_LOCK)SpinLock);
}
/*
@@ -104,5 +104,5 @@
IN PSPIN_LOCK SpinLock)
{
TRACE_(VIDEOPRT, "VideoPortReleaseSpinLockFromDpcLevel\n");
- KefReleaseSpinLockFromDpcLevel((PKSPIN_LOCK)SpinLock);
+ KeReleaseSpinLockFromDpcLevel((PKSPIN_LOCK)SpinLock);
}
Modified: branches/ros-amd64-bringup/reactos/drivers/video/videoprt/videoprt.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/drive…
==============================================================================
--- branches/ros-amd64-bringup/reactos/drivers/video/videoprt/videoprt.c [iso-8859-1]
(original)
+++ branches/ros-amd64-bringup/reactos/drivers/video/videoprt/videoprt.c [iso-8859-1] Sat
Oct 25 17:33:55 2008
@@ -332,7 +332,7 @@
{
WCHAR DeviceVideoBuffer[20];
PVIDEO_PORT_DEVICE_EXTENSION DeviceExtension;
- ULONG Size;
+ SIZE_T Size;
NTSTATUS Status;
VIDEO_PORT_CONFIG_INFO ConfigInfo;
SYSTEM_BASIC_INFORMATION SystemBasicInfo;
@@ -1045,12 +1045,12 @@
case VpHighPriority:
OldIrql = KeGetCurrentIrql();
if (OldIrql < SYNCH_LEVEL)
- OldIrql = KfRaiseIrql(SYNCH_LEVEL);
+ KeRaiseIrql(SYNCH_LEVEL, &OldIrql);
Ret = (*SynchronizeRoutine)(Context);
if (OldIrql < SYNCH_LEVEL)
- KfLowerIrql(OldIrql);
+ KeLowerIrql(OldIrql);
break;
default: