How can you allocate shared memory <16M on W2000?

I have an NDIS4 MAC driver which uses 28-bit DMA. On NT 4.0
we can allocate share memory below 16M but not on Windows 2000.

NdisMAllocateMapRegisters( ) and NdisMAllocateSharedMemory( )
both succed but the physical address is above 16M.

Is there something we can do to free up some memory for our
adapter or force an allocation below 16M ?

Perry Smith
Compuware Corp.

When you call NdisMAllocateMapRegisters(), I think you may want to set the
Dma32BitAddresses to FALSE. I think this will insure that all physical
memory allocations are below 16Mb.

NDIS_STATUS
NdisMAllocateMapRegisters(
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT DmaChannel,
IN BOOLEAN Dma32BitAddresses,
IN ULONG PhysicalMapRegistersNeeded,
IN ULONG MaximumPhysicalMapping
);

----- Original Message -----
From: “Smith, Perry D”
To: “NT Developers Interest List”
Sent: Thursday, March 23, 2000 1:41 PM
Subject: [ntdev] How can you allocate shared memory <16M on W2000?

>
>
> I have an NDIS4 MAC driver which uses 28-bit DMA. On NT 4.0
> we can allocate share memory below 16M but not on Windows 2000.
>
> NdisMAllocateMapRegisters( ) and NdisMAllocateSharedMemory( )
> both succed but the physical address is above 16M.
>
> Is there something we can do to free up some memory for our
> adapter or force an allocation below 16M ?
>
> Perry Smith
> Compuware Corp.
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@flashcom.net
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
>

Yes, Dma32BitAddresses was set to FALSE. That’s the
problem, why are we getting an allocation above 16M
when we requested below 16M?

Is this a bug, or is there a way to force the allocation
below 16M?

Perry Smith
Compuware Corp.

-----Original Message-----
From: Dominick Cafarelli [mailto:xxxxx@flashcom.net]
Sent: Thursday, March 23, 2000 10:20 PM
To: NT Developers Interest List
Subject: [ntdev] Re: How can you allocate shared memory <16M on W2000?

When you call NdisMAllocateMapRegisters(), I think you may want to set the
Dma32BitAddresses to FALSE. I think this will insure that all physical
memory allocations are below 16Mb.

NDIS_STATUS
NdisMAllocateMapRegisters(
IN NDIS_HANDLE MiniportAdapterHandle,
IN UINT DmaChannel,
IN BOOLEAN Dma32BitAddresses,
IN ULONG PhysicalMapRegistersNeeded,
IN ULONG MaximumPhysicalMapping
);

----- Original Message -----
From: “Smith, Perry D”
To: “NT Developers Interest List”
Sent: Thursday, March 23, 2000 1:41 PM
Subject: [ntdev] How can you allocate shared memory <16M on W2000?

>
>
> I have an NDIS4 MAC driver which uses 28-bit DMA. On NT 4.0
> we can allocate share memory below 16M but not on Windows 2000.
>
> NdisMAllocateMapRegisters( ) and NdisMAllocateSharedMemory( )
> both succed but the physical address is above 16M.
>
> Is there something we can do to free up some memory for our
> adapter or force an allocation below 16M ?
>
> Perry Smith
> Compuware Corp.
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@flashcom.net
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
>


You are currently subscribed to ntdev as: xxxxx@compuware.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)