Author: evb
Date: Wed Mar 3 08:09:09 2010
New Revision: 45780
URL:
http://svn.reactos.org/svn/reactos?rev=45780&view=rev
Log:
- Video Miniport driver not use ntddk.h, but miniport.h. But, Reactos miniport.h is empty!
Add some definitions to miniport.h to get simple drivers to compile, so now can remove
ntddk.h from VGA/VBE/XBOX miniports!
- Video Port driver should not use either, but too many changes required. So, define
__BROKEN__ to allow ntddk + miniport together.
- Add VideoPortIsNoVesa API definition. Not implemented in ReactOS, used to disable VESA
in F8 "Standard VGA Mode". Should implement for VGA-only support on broken VESA
machine, and for test.
Modified:
trunk/reactos/drivers/video/miniport/vbe/vbemp.h
trunk/reactos/drivers/video/miniport/vga/vgamp.h
trunk/reactos/drivers/video/miniport/xboxvmp/xboxvmp.h
trunk/reactos/drivers/video/videoprt/videoprt.h
trunk/reactos/include/ddk/miniport.h
trunk/reactos/include/ddk/video.h
Modified: trunk/reactos/drivers/video/miniport/vbe/vbemp.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/miniport/vbe…
==============================================================================
--- trunk/reactos/drivers/video/miniport/vbe/vbemp.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/video/miniport/vbe/vbemp.h [iso-8859-1] Wed Mar 3 08:09:09
2010
@@ -22,17 +22,9 @@
/* INCLUDES *******************************************************************/
-#ifdef _MSC_VER
-#pragma message ("INVESTIGATE ME")
-#endif
-
-#if 0 //#ifdef _MSC_VER
+#include "ntdef.h"
+#include "dderror.h"
#include "devioctl.h"
-#else
-#include <ntddk.h>
-#endif
-
-#include "dderror.h"
#include "miniport.h"
#include "ntddvdeo.h"
#include "video.h"
Modified: trunk/reactos/drivers/video/miniport/vga/vgamp.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/miniport/vga…
==============================================================================
--- trunk/reactos/drivers/video/miniport/vga/vgamp.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/video/miniport/vga/vgamp.h [iso-8859-1] Wed Mar 3 08:09:09
2010
@@ -23,17 +23,9 @@
/* INCLUDES *******************************************************************/
-#ifdef _MSC_VER
-#pragma message ("INVESTIGATE ME")
-#endif
-
-#if 0 //#ifdef _MSC_VER
+#include "ntdef.h"
+#include "dderror.h"
#include "devioctl.h"
-#else
-#include <ntddk.h>
-#endif
-
-#include "dderror.h"
#include "miniport.h"
#include "ntddvdeo.h"
#include "video.h"
Modified: trunk/reactos/drivers/video/miniport/xboxvmp/xboxvmp.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/miniport/xbo…
==============================================================================
--- trunk/reactos/drivers/video/miniport/xboxvmp/xboxvmp.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/video/miniport/xboxvmp/xboxvmp.h [iso-8859-1] Wed Mar 3
08:09:09 2010
@@ -24,18 +24,10 @@
/* INCLUDES *******************************************************************/
-#ifdef _MSC_VER
-#pragma message ("INVESTIGATE ME")
-#endif
-
-#if 0 //#ifdef _MSC_VER
+#include "ntdef.h"
+#define PAGE_SIZE 4096
+#include "dderror.h"
#include "devioctl.h"
-#define PAGE_SIZE 4096
-#else
-#include <ntddk.h>
-#endif
-
-#include "dderror.h"
#include "miniport.h"
#include "ntddvdeo.h"
#include "video.h"
Modified: trunk/reactos/drivers/video/videoprt/videoprt.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/video/videoprt/vid…
==============================================================================
--- trunk/reactos/drivers/video/videoprt/videoprt.h [iso-8859-1] (original)
+++ trunk/reactos/drivers/video/videoprt/videoprt.h [iso-8859-1] Wed Mar 3 08:09:09 2010
@@ -24,6 +24,7 @@
#include <stdio.h>
#include <ntddk.h>
+#define __BROKEN__
#include <miniport.h>
#include <video.h>
#include <ntddvdeo.h>
Modified: trunk/reactos/include/ddk/miniport.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/miniport.h?rev…
==============================================================================
--- trunk/reactos/include/ddk/miniport.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/miniport.h [iso-8859-1] Wed Mar 3 08:09:09 2010
@@ -63,6 +63,193 @@
IN ULONG ReadBank,
IN ULONG WriteBank,
IN PVOID Context);
+
+#ifndef __BROKEN__
+
+typedef enum _INTERFACE_TYPE {
+ InterfaceTypeUndefined = -1,
+ Internal,
+ Isa,
+ Eisa,
+ MicroChannel,
+ TurboChannel,
+ PCIBus,
+ VMEBus,
+ NuBus,
+ PCMCIABus,
+ CBus,
+ MPIBus,
+ MPSABus,
+ ProcessorInternal,
+ InternalPowerBus,
+ PNPISABus,
+ PNPBus,
+ Vmcs,
+ MaximumInterfaceType
+}INTERFACE_TYPE, *PINTERFACE_TYPE;
+
+typedef enum _KINTERRUPT_MODE {
+ LevelSensitive,
+ Latched
+} KINTERRUPT_MODE;
+
+typedef VOID (*PINTERFACE_REFERENCE)(PVOID Context);
+typedef VOID (*PINTERFACE_DEREFERENCE)(PVOID Context);
+
+typedef enum _BUS_DATA_TYPE {
+ ConfigurationSpaceUndefined = -1,
+ Cmos,
+ EisaConfiguration,
+ Pos,
+ CbusConfiguration,
+ PCIConfiguration,
+ VMEConfiguration,
+ NuBusConfiguration,
+ PCMCIAConfiguration,
+ MPIConfiguration,
+ MPSAConfiguration,
+ PNPISAConfiguration,
+ SgiInternalConfiguration,
+ MaximumBusDataType
+} BUS_DATA_TYPE, *PBUS_DATA_TYPE;
+
+typedef enum _DMA_WIDTH {
+ Width8Bits,
+ Width16Bits,
+ Width32Bits,
+ MaximumDmaWidth
+}DMA_WIDTH, *PDMA_WIDTH;
+
+typedef enum _DMA_SPEED {
+ Compatible,
+ TypeA,
+ TypeB,
+ TypeC,
+ TypeF,
+ MaximumDmaSpeed
+}DMA_SPEED, *PDMA_SPEED;
+
+typedef struct _INTERFACE {
+ USHORT Size;
+ USHORT Version;
+ PVOID Context;
+ PINTERFACE_REFERENCE InterfaceReference;
+ PINTERFACE_DEREFERENCE InterfaceDereference;
+} INTERFACE, *PINTERFACE;
+
+typedef enum _IRQ_DEVICE_POLICY {
+ IrqPolicyMachineDefault = 0,
+ IrqPolicyAllCloseProcessors,
+ IrqPolicyOneCloseProcessor,
+ IrqPolicyAllProcessorsInMachine,
+ IrqPolicySpecifiedProcessors,
+ IrqPolicySpreadMessagesAcrossAllProcessors
+} IRQ_DEVICE_POLICY, *PIRQ_DEVICE_POLICY;
+
+typedef enum _IRQ_PRIORITY {
+ IrqPriorityUndefined = 0,
+ IrqPriorityLow,
+ IrqPriorityNormal,
+ IrqPriorityHigh
+} IRQ_PRIORITY, *PIRQ_PRIORITY;
+
+typedef struct _IO_RESOURCE_DESCRIPTOR {
+ UCHAR Option;
+ UCHAR Type; // use CM_RESOURCE_TYPE
+ UCHAR ShareDisposition; // use CM_SHARE_DISPOSITION
+ UCHAR Spare1;
+ USHORT Flags; // use CM resource flag defines
+ USHORT Spare2; // align
+
+ union {
+ struct {
+ ULONG Length;
+ ULONG Alignment;
+ PHYSICAL_ADDRESS MinimumAddress;
+ PHYSICAL_ADDRESS MaximumAddress;
+ } Port;
+
+ struct {
+ ULONG Length;
+ ULONG Alignment;
+ PHYSICAL_ADDRESS MinimumAddress;
+ PHYSICAL_ADDRESS MaximumAddress;
+ } Memory;
+
+ struct {
+ ULONG MinimumVector;
+ ULONG MaximumVector;
+ IRQ_DEVICE_POLICY AffinityPolicy;
+ IRQ_PRIORITY PriorityPolicy;
+ KAFFINITY TargetedProcessors;
+ } Interrupt;
+
+ struct {
+ ULONG MinimumChannel;
+ ULONG MaximumChannel;
+ } Dma;
+
+ struct {
+ ULONG Length;
+ ULONG Alignment;
+ PHYSICAL_ADDRESS MinimumAddress;
+ PHYSICAL_ADDRESS MaximumAddress;
+ } Generic;
+
+ struct {
+ ULONG Data[3];
+ } DevicePrivate;
+
+ //
+ // Bus Number information.
+ //
+
+ struct {
+ ULONG Length;
+ ULONG MinBusNumber;
+ ULONG MaxBusNumber;
+ ULONG Reserved;
+ } BusNumber;
+
+ struct {
+ ULONG Priority; // use LCPRI_Xxx values in cfg.h
+ ULONG Reserved1;
+ ULONG Reserved2;
+ } ConfigData;
+
+ //
+ // The following structures provide descriptions
+ // for memory resource requirement greater than MAXULONG
+ //
+
+ struct {
+ ULONG Length40;
+ ULONG Alignment40;
+ PHYSICAL_ADDRESS MinimumAddress;
+ PHYSICAL_ADDRESS MaximumAddress;
+ } Memory40;
+
+ struct {
+ ULONG Length48;
+ ULONG Alignment48;
+ PHYSICAL_ADDRESS MinimumAddress;
+ PHYSICAL_ADDRESS MaximumAddress;
+ } Memory48;
+
+ struct {
+ ULONG Length64;
+ ULONG Alignment64;
+ PHYSICAL_ADDRESS MinimumAddress;
+ PHYSICAL_ADDRESS MaximumAddress;
+ } Memory64;
+
+
+ } u;
+
+} IO_RESOURCE_DESCRIPTOR, *PIO_RESOURCE_DESCRIPTOR;
+
+#include <guiddef.h>
+#endif
#ifdef __cplusplus
}
Modified: trunk/reactos/include/ddk/video.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/video.h?rev=45…
==============================================================================
--- trunk/reactos/include/ddk/video.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/video.h [iso-8859-1] Wed Mar 3 08:09:09 2010
@@ -1139,6 +1139,13 @@
VPAPI
BOOLEAN
DDKAPI
+VideoPortIsNoVesa(
+ VOID
+);
+
+VPAPI
+BOOLEAN
+DDKAPI
VideoPortQueueDpc(
IN PVOID HwDeviceExtension,
IN PMINIPORT_DPC_ROUTINE CallbackRoutine,