win-pvdrivers

changeset 618:a344955897dd

DPC and Reconfiguring update to xen_windows.h
author James Harper <james.harper@bendigoit.com.au>
date Sun Jul 26 23:07:56 2009 +1000 (2009-07-26)
parents 1478103c6ef5
children 5383e500d68a
files common/include/xen_windows.h
line diff
     1.1 --- a/common/include/xen_windows.h	Sun Jul 26 23:06:45 2009 +1000
     1.2 +++ b/common/include/xen_windows.h	Sun Jul 26 23:07:56 2009 +1000
     1.3 @@ -65,6 +65,8 @@ typedef unsigned long xenbus_transaction
     1.4  #define wmb() KeMemoryBarrier()
     1.5  #define mb() KeMemoryBarrier()
     1.6  
     1.7 +#define IOCTL_XEN_RECONFIGURE CTL_CODE(0x8000, 0x800, METHOD_NEITHER, 0)
     1.8 +
     1.9  static __inline char **
    1.10  SplitString(char *String, char Split, int MaxParts, int *Count)
    1.11  {
    1.12 @@ -396,8 +398,6 @@ typedef struct {
    1.13    CHAR path[128];
    1.14    CHAR backend_path[128];
    1.15  
    1.16 -  //evtchn_port_t pdo_event_channel;
    1.17 -
    1.18    PXEN_XENBUS_READ XenBus_Read;
    1.19    PXEN_XENBUS_WRITE XenBus_Write;
    1.20    PXEN_XENBUS_PRINTF XenBus_Printf;
    1.21 @@ -447,6 +447,7 @@ typedef struct {
    1.22  #define XEN_INIT_TYPE_QEMU_PROTOCOL_VERSION     13
    1.23  #define XEN_INIT_TYPE_MATCH_FRONT               14 /* string, value, action */
    1.24  #define XEN_INIT_TYPE_MATCH_BACK                15 /* string, value, action */
    1.25 +#define XEN_INIT_TYPE_EVENT_CHANNEL_DPC         16
    1.26  
    1.27  #define XEN_INIT_MATCH_TYPE_IF_MATCH		0x0001
    1.28  #define XEN_INIT_MATCH_TYPE_IF_NOT_MATCH	0x0000
    1.29 @@ -575,6 +576,7 @@ ADD_XEN_INIT_REQ(PUCHAR *ptr, UCHAR type
    1.30      __ADD_XEN_INIT_STRING(ptr, (PCHAR) p1);
    1.31      break;
    1.32    case XEN_INIT_TYPE_EVENT_CHANNEL:
    1.33 +  case XEN_INIT_TYPE_EVENT_CHANNEL_DPC:
    1.34      __ADD_XEN_INIT_STRING(ptr, (PCHAR) p1);
    1.35      __ADD_XEN_INIT_PTR(ptr, p2);
    1.36      __ADD_XEN_INIT_PTR(ptr, p3);
    1.37 @@ -624,6 +626,7 @@ GET_XEN_INIT_REQ(PUCHAR *ptr, PVOID *p1,
    1.38      *p2 = NULL;
    1.39      break;
    1.40    case XEN_INIT_TYPE_EVENT_CHANNEL:
    1.41 +  case XEN_INIT_TYPE_EVENT_CHANNEL_DPC:
    1.42      *p1 = __GET_XEN_INIT_STRING(ptr);
    1.43      *p2 = __GET_XEN_INIT_PTR(ptr);
    1.44      *p3 = __GET_XEN_INIT_PTR(ptr);
    1.45 @@ -657,6 +660,7 @@ ADD_XEN_INIT_RSP(PUCHAR *ptr, UCHAR type
    1.46      __ADD_XEN_INIT_PTR(ptr, p2);
    1.47      break;
    1.48    case XEN_INIT_TYPE_EVENT_CHANNEL:
    1.49 +  case XEN_INIT_TYPE_EVENT_CHANNEL_DPC:
    1.50    case XEN_INIT_TYPE_EVENT_CHANNEL_IRQ:
    1.51      __ADD_XEN_INIT_STRING(ptr, (PCHAR) p1);
    1.52      __ADD_XEN_INIT_ULONG(ptr, PtrToUlong(p2));
    1.53 @@ -713,6 +717,7 @@ GET_XEN_INIT_RSP(PUCHAR *ptr, PVOID *p1,
    1.54      *p2 = __GET_XEN_INIT_PTR(ptr);
    1.55      break;
    1.56    case XEN_INIT_TYPE_EVENT_CHANNEL:
    1.57 +  case XEN_INIT_TYPE_EVENT_CHANNEL_DPC:
    1.58    case XEN_INIT_TYPE_EVENT_CHANNEL_IRQ:
    1.59      *p1 = __GET_XEN_INIT_STRING(ptr);
    1.60      *p2 = UlongToPtr(__GET_XEN_INIT_ULONG(ptr));