lkml.org 
[lkml]   [2008]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/2] x86 boot: add E820_RESVD_KERN
From
Date
On Mon, 2008-06-30 at 02:15 -0700, Yinghai Lu wrote:
[...]
> >
> > I mean memory area reserved with reserved_early() or e820_update_range()
> > before reserve_setup_data() is called.
>
> before parse_setup_data, reserve_early is called for
> 1. kernel text/data/bss + initial pgt
> 2. ramdisk
> 3. ebda
> e820_update_range is not called.
> at this time early_res have RAM reserved by kernel.
>
> then setup_memory_map is called, so e820 have some ranges...directly
> from e820 table
>
> next need to call parse_setup_data
> it will add some entries in e820
>
> then reserve_setup_data is called, it will use e820_update_range to
> reserve setup_data itself directly in e820
>
> ...

Yes. There is no real conflict now. I think a better rule is:

- Reserve memory area (directly from BIOS or boot-loader, not from
find_e820_area) needed as early as possible.
- Don't touch reserved area until all possible reservation is made, that
is, before conflict check is done.

> >
> > And because there is no conflict check in e820_update_range(), what to
> > deal with potential conflict between setup_data and other memory area
> > regardless which one is reserved earlier?
>
> find_e820_area will make sure it only find ram from e820 and it is not
> conflict with early_res

For find_e820_area, this is safe enough. But what about conflict between
setup_data and ebda or ramdisk?

Best Regards,
Huang Ying



\
 
 \ /
  Last update: 2008-06-30 11:37    [W:0.055 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site