|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: xen/ia64 and elilo relocation
Arun,
On Mon, 2005-02-21 at 22:26 -0800, Arun Sharma wrote:
> Stephane Eranian wrote:
>
> > elilo loads each block of text/data at the address indicated by the
> > paddr of the corresponding program header.
> >
> > Are you saying that the address is different only when you abort a load?
>
> Yes, that's right. Other missing pieces of info:
>
> - I was using the elilo shipped with a RHEL4 beta
> - my elilo.conf:
>
> image=xen
> label=xen
> initrd=xenlinux
> read-only
> append="nomca console=ttyS1,57600 root=/dev/sda2"
>
> xenlinux is a large uncompressed binary - so it's easy to hit space to
> abort it's loading.
>
Ok, this means it is using the plain_loader.c. But that should not
really matter.
> > Note that when an EFI program terminates, the memory is not freed. If we do
> > not cleanly free the memory on load abort, then it is possible that the
> > designated memory address is unavailable.
>
> elilo.efi didn't exit yet. It dropped me back to the elilo: prompt to
> let me choose an image. I chose the same image a second time and this
> time I saw xen getting loaded at a different address.
>
If you abort from the plain loader, you do a free_kmem() call. As such
the memory should be freed, unless there is something broken in the
alloc.c:free() code.
You could try enabling debug by adding "debug" to your elilo.conf.
Careful, though, as you will get tons of debug printfs.
> > I quickly checked the source code
> > and elilo does not try to relocate unless the option "relocatable " is
> > specified
> > either globally in elilo.conf or on the Xen image. I also checked the abort
> > case and elilo does free the memory allocated for the kernel, as such you
> > should
> > be able to retry.
>
> Someone suggested that the RHEL4 elilo turns relocation on by default to
> support SGI boxes. I'm not sure if it does that by adding a relocatable
> flag to elilo.conf or by changing the code. I checked the SRPM and the
> fedora cvs and can't find a patch which touches the code.
>
That would be ok if the free logic works. You would be able to get the
same region of memory.
> >
> > You can try forcing elilo-3.4/ia64/config.c:ia64_can_relocate() to return 0
> > just to make sure this is not the source of the problem.
> >
>
> Yes, I'll check this and let you know
I suggest checking the free() code.
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel
|
|
|
|
|