mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 08:05:43 +00:00
Get some more details about interrupt in resource list.
This lets ne2000 share its interrupt with another device svn path=/trunk/; revision=31141
This commit is contained in:
parent
b3b1b632cb
commit
5692e5315f
2 changed files with 11 additions and 2 deletions
|
@ -29,6 +29,8 @@
|
|||
|
||||
#define DRIVER_DEFAULT_IO_BASE_ADDRESS 0x280 /* bochs default */
|
||||
#define DRIVER_DEFAULT_INTERRUPT_NUMBER 9 /* bochs default */
|
||||
#define DRIVER_DEFAULT_INTERRUPT_SHARED FALSE
|
||||
#define DRIVER_DEFAULT_INTERRUPT_MODE NdisInterruptLatched
|
||||
|
||||
#define DRIVER_MAX_MULTICAST_LIST_SIZE 8
|
||||
|
||||
|
@ -80,6 +82,8 @@ typedef struct _NIC_ADAPTER
|
|||
ULONG IoBaseAddress;
|
||||
ULONG InterruptLevel;
|
||||
ULONG InterruptVector;
|
||||
BOOLEAN InterruptShared;
|
||||
KINTERRUPT_MODE InterruptMode;
|
||||
|
||||
/* Mapped address of the I/O base port */
|
||||
PUCHAR IOBase;
|
||||
|
|
|
@ -190,6 +190,9 @@ static VOID STDCALL MiQueryResources(
|
|||
case CmResourceTypeInterrupt:
|
||||
Adapter->InterruptLevel = Descriptor->u.Interrupt.Level;
|
||||
Adapter->InterruptVector = Descriptor->u.Interrupt.Vector;
|
||||
Adapter->InterruptShared = (Descriptor->ShareDisposition == CmResourceShareShared);
|
||||
Adapter->InterruptMode = Descriptor->Flags & CM_RESOURCE_INTERRUPT_LATCHED ?
|
||||
NdisInterruptLatched : NdisInterruptLevelSensitive;
|
||||
break;
|
||||
case CmResourceTypePort:
|
||||
Adapter->IoBaseAddress = Descriptor->u.Port.Start.LowPart;
|
||||
|
@ -252,6 +255,8 @@ static NDIS_STATUS STDCALL MiniportInitialize(
|
|||
Adapter->IoBaseAddress = DRIVER_DEFAULT_IO_BASE_ADDRESS;
|
||||
Adapter->InterruptLevel = DRIVER_DEFAULT_INTERRUPT_NUMBER;
|
||||
Adapter->InterruptVector = DRIVER_DEFAULT_INTERRUPT_NUMBER;
|
||||
Adapter->InterruptShared = DRIVER_DEFAULT_INTERRUPT_SHARED;
|
||||
Adapter->InterruptMode = DRIVER_DEFAULT_INTERRUPT_MODE;
|
||||
Adapter->MaxMulticastListSize = DRIVER_MAX_MULTICAST_LIST_SIZE;
|
||||
Adapter->InterruptMask = DRIVER_INTERRUPT_MASK;
|
||||
Adapter->LookaheadSize = DRIVER_MAXIMUM_LOOKAHEAD;
|
||||
|
@ -392,8 +397,8 @@ static NDIS_STATUS STDCALL MiniportInitialize(
|
|||
Adapter->InterruptVector,
|
||||
Adapter->InterruptLevel,
|
||||
FALSE,
|
||||
FALSE,
|
||||
NdisInterruptLatched);
|
||||
Adapter->InterruptShared,
|
||||
Adapter->InterruptMode);
|
||||
if (Status != NDIS_STATUS_SUCCESS) {
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Cannot register interrupt. Status (0x%X).\n", Status));
|
||||
MiniportHalt((NDIS_HANDLE)Adapter);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue