"Stephane E. Potvin" wrote:
> > How often must this be allocated?
> >
> > How many of them are needed?
> >
> > If you only need a small set number of them, then they can be
> > allocated very early on in the system lifetime, which means
> > you should allocate them in machdep.c, with the rest of the
> > memory overlay which attempts to make memory in protected mode
> > look like physical RAM.
> 
> I need one per process to hold the L1PT of the process' vm space. I will
> probably implement a cache to avoid creating/destroying repetitively but I
> don't think that it's reasonable to preallocate them as it will wire too
> much physical memory.

So your answers are:

o       Allocated on every fork, freed on every exit

o       One per process

I don't know how you have the ARM memory map laid out.  One thing
that FreeBSD does -- and why I suggested machdep.c -- is to map
out page mappings, without providing backing store for those
mappings until later.

I guess I need a clarification on your original statement:

> > > table of the StrongARM processor is four pages. These pages
> > > need to be allocated contiguously.

The questions are:

o       Contiguous in physical memory? yes/no

o       Contiguous in kernel virtual memory? yes/no

o       Mapped at all in user virtual memory? yes/no

o       Contiguous in user virtual memory?  yes/no

If it's just in kernel virtual memory, then the approach I
suggested -- using machdep.c -- is the correct one.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to