Re: [RFC] x86 ELF bootable kernels/Linux booting Linux/LinuxBIOS

Eric W. Biederman
2002-02-05T07:49:41Z

"H. Peter Anvin" <hpa@zytor.com> writes:

> Werner Almesberger wrote:
>
> >
> > Well, it keeps things simple for the kernel, and bootimg(8) needs
> > to know the target architecture anyway. But there isn't really a
> > design reason why it would have to use pages, agreed.
> >
>
>
> I looked at this point at some time, and I found that it made it a lot
> easier to write code to permute memory arbitrarily, as may be required.
> The reason is that you really want to keep an array that's O(N) in the
> size of memory to keep track of where things are, and in order to do that,
> realistically, you need to have some reasonably large granularity -- 4K
> pages are just about right.

On the kernel side I still plan to use pages, though my ideal case
would be to allocate one great big slab of non-conflicting memory, and
just copy everything to where it needs to go.

On the user space side what I am proposing actually increases the
granularity quite a bit. For a linux kernel with a ramdisk you should
only need to pass the kernel 3 segments. (Assuming everything is
contiguous in user space memory). The setup code, the kernel, and the
ramdisk.

> Of course, maybe I was just using a dumb algorithm... :)

Perhaps. So far I don't need an array that is O(N) in the size of
memory just O(N) in the size of the image I am copying. The
permutations that are necessary to avoid conflicts in the pathological
cases are a pain. But I've already done that...

Anyway now it's back to the trenches...

Eric