Re: [Linux-ia64] Problem with elilo 3.3a

From: Stephane Eranian <eranian_at_frankl.hpl.hp.com>
Date: 2003-02-14 17:58:53
Charles,

On Thu, Feb 13, 2003 at 09:15:48PM -0600, Sluder, Charles wrote:
> I keep seeing hangs in the SAL that I have traced back to a corrupted EFI
> memory map. I was looking at the code for allocating the boot parameter
> block in elilo and noticed this piece of code in bootparams.c
> 
> 	/*
> 	 * Allocate memory for boot parameters.
> 	 * This CANNOT be EfiLoaderData or EfiLoaderCode as the kernel
> 	 * frees this region when initializing.
> 	 */
> 
> 	bp = (boot_params_t *)alloc(BOOT_PARAM_MEMSIZE, EfiLoaderData);
> 
> The comment seems to be at odds with the code. Is this a problem with the
> code or the comment?

The latter. The memory type is correct. In fact if you look everywhere
else in the code, you will see that we use EfiLoaderData.

You need to give some more information for us to help you here.

Note that the memory map itself IS NOT allocated inside the boot_param
structure. This structure only contains a pointer to it as well
as the size of the region. The map is dynamically allocated (in util.c).
The kernel (arch/ia64/kernel/setup.c) assumes all "valid" memory regions 
are free except for regions it knows about which are:
	- the boot param struct
	- the memory map (address in size in boot param struct)
	- initrd
	- command line string
	- kernel code and data

-- 
-Stephane
Received on Thu Feb 13 23:00:47 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:12 EST