Re: Modifying stack
From: Pavel A. (pavel_a_at_geeklife.com)
Date: 02/20/04
- Next message: Kirk Ferdmann: "Re: A service and WTS"
- Previous message: Maxim S. Shatskih: "Re: About IoSetNextIrpLocation"
- In reply to: Mahboobul Alem: "Modifying stack"
- Next in thread: Maxim S. Shatskih: "Re: Modifying stack"
- Messages sorted by: [ date ] [ thread ]
Date: Fri, 20 Feb 2004 05:48:37 +0200
"Mahboobul Alem" <mahboobulalem@yahoo.com> wrote in message news:51226FEA-D55A-450A-8711-A54CEEB74881@microsoft.com...
> Question 1:
> We have a NDIS Miniport driver (Win2K) that uses ADSL and ATM stack that are part of it. ADSL/ATM stack require huge
stack size. Receive frame processing requires about 16K stack and transmit processing requires 48 K stack.
>
> The Win2000 driver modifies the ebp & esp before calling ADSL/ATM stack and restores it. This seems to work fine.
However, when we use XP DDK or Server 2003 DDK to build the driver, we get an error for changing the esp/ebp value.
> Is there a way to control the stack size in the driver and driver's ISR (as well as DPC) other than this brute force,
which I assume is not "kosher"?
Not because it is "kosher", but because it just contradicts the common sense.
Why to allocate data this big on kernel stack when you have the pool.
[ kernel is such a special place in the OS, where brute force can do very little without a brain... pardon me ]
> Question 2:
> We use MMA instructions. therefore we use _asm{..} code to save and restore floating point state. However, it looks
like we could use EngSaveFloatingPointState/EngRestoreFloatingPointState. Is there any restriction on if NDIS drivers
can use these functions?
For NDIS, use KeSaveFloatingPointState. Eng... functions are only for video.
Regards,
-- PA
- Next message: Kirk Ferdmann: "Re: A service and WTS"
- Previous message: Maxim S. Shatskih: "Re: About IoSetNextIrpLocation"
- In reply to: Mahboobul Alem: "Modifying stack"
- Next in thread: Maxim S. Shatskih: "Re: Modifying stack"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|