While I agree with your sentiments, I took the original request at face
value: the hardware requires a contiguous physical memory allocation for its
firmware update, firmware updates must occur while the device is
operational, not just at initialization. Given these constraints the fellow
will have to allocate his contiguous buffer at DriverEntry, or he will be
forced to reboot his system in order to update his firmware. If there is
some other solution to this problem I’d like to know what it is.
MmDefragmentAndThenAllocateContiguousBuffer()?
Add more ram. Whatever the performance was before the static allocation will
be restored (and then some) by tossing another stick of SDRAM onto the
platform.
Ship the device with the additional memory ![:slight_smile: :slight_smile:](/images/emoji/twitter/slight_smile.png?v=12)
Mark Roddy
xxxxx@hollistech.com
www.hollistech.com
603 321 1032
WindowsNT Windows 2000 Consulting Services
-----Original Message-----
From: Paul Bunn [mailto:xxxxx@UltraBac.com]
Sent: Wednesday, March 07, 2001 5:11 PM
To: NT Developers Interest List
Subject: [ntdev] RE: Contiguous memory
It’s traditional to write firmware in packets, so that only a 4/16/32KB
buffer is
required temporarily.
Any driver that grabs 384KB at DriverEntry and does not release (on the
off-chance
a firmware update may be requested), of course, deserves to roast in
purgatory.
Regards,
Paul Bunn, UltraBac.com, 425-644-6000
Microsoft MVP - WindowsNT/2000
http://www.ultrabac.com
-----Original Message-----
From: Daniel Pradeep [mailto:xxxxx@broadlogic.com]
Sent: Wednesday, March 07, 2001 1:44 PM
To: NT Developers Interest List
Subject: [ntdev] Contiguous memory
Hello,
I need to download Fw to the driver. The Fw size is 384K. I need contiguous
memory and so I call
MmAllocateContiguousMemory. This succeeds at Driver initialization but
fails during normal operations(due to fragmentation) I might need to do Fw
download at anytime not necessarily at driver init. Is there a way to go
about doing this??
You are currently subscribed to ntdev as: xxxxx@stratus.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com