Ulrich Weigand wrote:
> 
> > The largest structure I can think of at the moment, that I'd
> > like to keep contiguous is say a full GDT (64K).  Am I going
> > to run into troubles trying to get something <=64K allocated
> > from any of the host kernels, but which is contiguous?
> 
> Physically or virtually contiguous?
> 
> With Linux, I think there's a 128K limit on physically contigous
> allocations.  Virtually contiguous areas can be arbitrarily large
> (using vmalloc).
> 
> > If this is a pain, I could place static variable declarations
> > in the kernel code, and use that memory instead.
> 
> Eh, static variables are not necessarily physically contiguous ...


Sorry, my email wasn't very clear.  I had meant virtually contiguous.
The pages still need to be locked down.  So if I had say a 64K GDT,
which spans 16 pages allocated by the kernel.  It would be cool while
I'm in the host context to have one pointer to the gdt to access
the entire structure.  Otherwise, I have to calculate the offset, and
then see which page it's in first.

So I was curious if all the host OSes can alloc a virtually contiguous
block of <= 64K.  That's the biggest structure I think I'll need.

-Kevin

Reply via email to