On Sat, Jan 30, 2010 at 11:10:43PM +0800, Jiang, Yunhong wrote:
For how to setup the memory as NVS, you can refer to src/memmap.c, maybe using add_e820().
Adding to the e820 is simple. Just align the madt to 4k:
madt_size = ALIGN(madt_size, PAGE_SIZE); struct multiple_apic_table *madt = memalign_high(PAGE_SIZE, madt_size);
and then add it to the e820:
add_e820((u64)madt, madt_size, E820_NVS);
It's not strictly necessary to align to 4k, but I think it makes sense to do that.
-Kevin