[Prev][Next][Index][Thread]

Re: Loading the kernel.



> From: "Imobac Exposito ..." <mkernel@csi.ull.es>
> Subject: Loading the kernel.
> 
> We suppose the problem is due to a call to oskit_mem_alloc in the
> function oskit_services_create in com/services.c (we have oskit-0.97 with 
> snapshot 19991124).
> 
> How can we fix it?
> Is anything wrong in the steps we have followed to load the kernel?

The problem is probably with osenv_mem_alloc(), or more specifically, with
the phys LMM that underlies it. Part of the multiboot process is to set up
the memory layout; determining where and how much physical memory you have.
That info is stored into the phys lmm, and doled out, typically though the
osenv_mem interface or the clientos memory interface.

SVM is rather independent of all that.

So, it sounds like you loading an oskit kernel at 3G, and just jumping
into, bypassing all of the initialization code, or possibly not providing
the proper stuff for it to do the initialization?

I suggest looking at kern/x86/pc/base_multiboot_main.c to see how oskit
kernels are initialized. Note that the boot adaptors in boot/ setup the
multiboot info structure that is passed into the kernel, and from which
the stuff like the memory layout is initialized.

Hope this helps. If not, and I just misunderstood everything, feel free to
provide more details.

Lbs

---------------------------------------------------------------------------
Leigh B. Stoller                     Computer Science - Flux Research Group
stoller@cs.utah.edu                  University of Utah
http://www.cs.utah.edu/~stoller      Salt Lake City, Utah 84112
Voice: (541) 929-2666                FAX: (801) 585-3743
---------------------------------------------------------------------------

Follow-Ups: