Messages in this thread | | | Date | Mon, 30 Jun 2008 12:05:06 -0700 | From | "Yinghai Lu" <> | Subject | Re: [PATCH 1/2] x86 boot: add E820_RESVD_KERN |
| |
On Mon, Jun 30, 2008 at 2:38 AM, Huang, Ying <ying.huang@intel.com> wrote: > 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. no one touch the reserved area. before all reserved in early_res or e820. > >> > >> > 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?
can you have setup_data and ebda at the same time?
setup_data and ramdisk should be ok, because bootloader is supposed to make them not to be conflicts.
YH
| |