- Video Miniport driver not use ntddk.h, but miniport.h. But, Reactos miniport.h...
authorevb <evb@svn.reactos.org>
Wed, 3 Mar 2010 07:09:09 +0000 (07:09 +0000)
committerevb <evb@svn.reactos.org>
Wed, 3 Mar 2010 07:09:09 +0000 (07:09 +0000)
- 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.

svn path=/trunk/; revision=45780

reactos/drivers/video/miniport/vbe/vbemp.h
reactos/drivers/video/miniport/vga/vgamp.h
reactos/drivers/video/miniport/xboxvmp/xboxvmp.h
reactos/drivers/video/videoprt/videoprt.h
reactos/include/ddk/miniport.h
reactos/include/ddk/video.h

index 7abf144..34807b2 100644 (file)
 
 /* INCLUDES *******************************************************************/
 
-#ifdef _MSC_VER
-#pragma message ("INVESTIGATE ME")
-#endif
-
-#if 0 //#ifdef _MSC_VER
-#include "devioctl.h"
-#else
-#include <ntddk.h>
-#endif
-
+#include "ntdef.h"
 #include "dderror.h"
+#include "devioctl.h"
 #include "miniport.h"
 #include "ntddvdeo.h"
 #include "video.h"
index efe0bc5..2e018e4 100644 (file)
 
 /* INCLUDES *******************************************************************/
 
-#ifdef _MSC_VER
-#pragma message ("INVESTIGATE ME")
-#endif
-
-#if 0 //#ifdef _MSC_VER
-#include "devioctl.h"
-#else
-#include <ntddk.h>
-#endif
-
+#include "ntdef.h"
 #include "dderror.h"
+#include "devioctl.h"
 #include "miniport.h"
 #include "ntddvdeo.h"
 #include "video.h"
index 55bc208..3dacdcc 100644 (file)
 
 /* INCLUDES *******************************************************************/
 
-#ifdef _MSC_VER
-#pragma message ("INVESTIGATE ME")
-#endif
-
-#if 0 //#ifdef _MSC_VER
-#include "devioctl.h"
+#include "ntdef.h"
 #define PAGE_SIZE 4096
-#else
-#include <ntddk.h>
-#endif
-
 #include "dderror.h"
+#include "devioctl.h"
 #include "miniport.h"
 #include "ntddvdeo.h"
 #include "video.h"
index aae0ba1..21ea2c0 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <stdio.h>
 #include <ntddk.h>
+#define __BROKEN__
 #include <miniport.h>
 #include <video.h>
 #include <ntddvdeo.h>
index b147c25..59fcc52 100644 (file)
@@ -63,6 +63,193 @@ typedef VOID
   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
 }
index fcf4d4a..047a567 100644 (file)
@@ -1136,6 +1136,13 @@ DDKAPI
 VideoPortQuerySystemTime(
   OUT PLARGE_INTEGER  CurrentTime);
 
+VPAPI
+BOOLEAN
+DDKAPI
+VideoPortIsNoVesa(
+    VOID
+);
+
 VPAPI
 BOOLEAN
 DDKAPI