exe$alononpage and exe$deanopgdsiz
- From: "Richard Maher" <maher_rj@xxxxxxxxxxxxxxxxxx>
- Date: Wed, 29 Mar 2006 07:11:19 +0800
Hi,
Please help with the following questions and supply any other useful advice
you can when it comes to calling these services.
* Manuals referenced:- VMS Source code + "OpenVMS VAX Device Support
[Reference] Manual".
1) exe$deanonpgdsiz says it will get the length from R1 *only* if the memory
was allocated from Variable Pool. Exe$alonnonpaged says it will allocate
from Variable Region *or* Lookaside List depending on the size of the
request. ("The" size it neglects to mention.) The Alononpaged_inline macro
went to some lengths to examine the size parameter and then call either
exe$alononpage or exe$alonpagvar. The doc says the entry for exe$alnonpagvar
no longer exists and just to jump to exe$alononpaged instead. If
exe$deanonpgdsiz desides that the size of the deallocation is such that it
will log for implicit inputs at irp$w_size and irp$b_type and I haven't
adhered to those packet formatting conventions then it won't be happy and
you don't want to see exe$deanonpgdsiz unhappy. None of the code and
examples I've seen explicitly cater for this. Do I have to worry or can I
force it some how to only ever look to R1 for the size of the block to
deallocate? Does the memory layout have to follow a convention?
2) A lot of the past code in COV wants to raise IPL to ipl$_astdel before
calling exe$alononpaged. I don't think this is necessary is it? The
subroutine itself executes at caller's IPL and raises IPL to ipl$_pool (and
the deallocation also aquires the SYNCH lock and raises it to ipl$_synch)
but the only restriction I've seen is that you can't be above ipl$_pool when
jumping to these routines. Is that correct? Does working set have to be
locked in memory?
3) As these routines raise IPL, I assume that you have to be in Kernel mode
and Exec won't cut it. Is that correct?
4) What protection is on the memory that you get back from non-paged pool?
5) You're not expected to do your own accounting with thwse are you? What
quotas and sysgen parameters are in play?
Anything else?
Regards Richard Maher
.
- Follow-Ups:
- Re: exe$alononpage and exe$deanopgdsiz
- From: Ian Miller
- Re: exe$alononpage and exe$deanopgdsiz
- From: Rob Brooks
- Re: exe$alononpage and exe$deanopgdsiz
- Prev by Date: Re: F$FAO (!%D) & Week Number
- Next by Date: Re: EFN$C_ENF Chalk or Cheese?
- Previous by thread: [Q] Make DS10 firmware CD
- Next by thread: Re: exe$alononpage and exe$deanopgdsiz
- Index(es):
Relevant Pages
|