From: evb Date: Wed, 3 Mar 2010 07:09:09 +0000 (+0000) Subject: - Video Miniport driver not use ntddk.h, but miniport.h. But, Reactos miniport.h... X-Git-Tag: ReactOS-0.3.11-CLT2010~8^2~21 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=7dc9efe80848e2e34cffedfa07c69c182010c776;ds=inline - 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. svn path=/trunk/; revision=45780 --- diff --git a/reactos/drivers/video/miniport/vbe/vbemp.h b/reactos/drivers/video/miniport/vbe/vbemp.h index 7abf14408a5..34807b2f978 100644 --- a/reactos/drivers/video/miniport/vbe/vbemp.h +++ b/reactos/drivers/video/miniport/vbe/vbemp.h @@ -22,17 +22,9 @@ /* INCLUDES *******************************************************************/ -#ifdef _MSC_VER -#pragma message ("INVESTIGATE ME") -#endif - -#if 0 //#ifdef _MSC_VER -#include "devioctl.h" -#else -#include -#endif - +#include "ntdef.h" #include "dderror.h" +#include "devioctl.h" #include "miniport.h" #include "ntddvdeo.h" #include "video.h" diff --git a/reactos/drivers/video/miniport/vga/vgamp.h b/reactos/drivers/video/miniport/vga/vgamp.h index efe0bc558eb..2e018e4b116 100644 --- a/reactos/drivers/video/miniport/vga/vgamp.h +++ b/reactos/drivers/video/miniport/vga/vgamp.h @@ -23,17 +23,9 @@ /* INCLUDES *******************************************************************/ -#ifdef _MSC_VER -#pragma message ("INVESTIGATE ME") -#endif - -#if 0 //#ifdef _MSC_VER -#include "devioctl.h" -#else -#include -#endif - +#include "ntdef.h" #include "dderror.h" +#include "devioctl.h" #include "miniport.h" #include "ntddvdeo.h" #include "video.h" diff --git a/reactos/drivers/video/miniport/xboxvmp/xboxvmp.h b/reactos/drivers/video/miniport/xboxvmp/xboxvmp.h index 55bc208107c..3dacdcc21dc 100644 --- a/reactos/drivers/video/miniport/xboxvmp/xboxvmp.h +++ b/reactos/drivers/video/miniport/xboxvmp/xboxvmp.h @@ -24,18 +24,10 @@ /* 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 -#endif - #include "dderror.h" +#include "devioctl.h" #include "miniport.h" #include "ntddvdeo.h" #include "video.h" diff --git a/reactos/drivers/video/videoprt/videoprt.h b/reactos/drivers/video/videoprt/videoprt.h index aae0ba10ee4..21ea2c09ee1 100644 --- a/reactos/drivers/video/videoprt/videoprt.h +++ b/reactos/drivers/video/videoprt/videoprt.h @@ -24,6 +24,7 @@ #include #include +#define __BROKEN__ #include #include #include diff --git a/reactos/include/ddk/miniport.h b/reactos/include/ddk/miniport.h index b147c25a62b..59fcc52a16e 100644 --- a/reactos/include/ddk/miniport.h +++ b/reactos/include/ddk/miniport.h @@ -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 +#endif #ifdef __cplusplus } diff --git a/reactos/include/ddk/video.h b/reactos/include/ddk/video.h index fcf4d4a7254..047a56721d9 100644 --- a/reactos/include/ddk/video.h +++ b/reactos/include/ddk/video.h @@ -1136,6 +1136,13 @@ DDKAPI VideoPortQuerySystemTime( OUT PLARGE_INTEGER CurrentTime); +VPAPI +BOOLEAN +DDKAPI +VideoPortIsNoVesa( + VOID +); + VPAPI BOOLEAN DDKAPI