Yinghai Lu wrote: > noticed that bootmap_size is shifted already... > > please use attached patch to see if bootmap is right... > Unfortunately its a bit difficult because printk() output isn't appearing at early boot (not sure why). I'll try to extract something useful tomorrow. Perhaps this is helpful: This the e820 map of a regular boot: BIOS-provided physical RAM map: Xen: 0000000000000000 - 000000000009f000 (usable) Xen: 0000000000100000 - 0000000010000000 (usable) debug: ignoring loglevel setting. limit_regions start: 0000000000000000 - 000000000009f000 (usable) limit_regions start: 0000000000100000 - 0000000010000000 (usable) limit_regions endfunc: 0000000000000000 - 000000000009f000 (usable) limit_regions endfunc: 0000000000100000 - 0000000010000000 (usable) user-defined physical RAM map: user: 0000000000000000 - 000000000009f000 (usable) user: 0000000000100000 - 0000000010000000 (usable) 0MB HIGHMEM available. 256MB LOWMEM available. [...] Entering add_active_range(0, 0, 65536) 0 entries of 256 used Zone PFN ranges: DMA 0 -> 4096 Normal 4096 -> 65536 HighMem 65536 -> 65536 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0 -> 65536 On node 0 totalpages: 65536 DMA zone: 56 pages used for memmap DMA zone: 0 pages reserved DMA zone: 4040 pages, LIFO batch:0 Normal zone: 840 pages used for memmap Normal zone: 60600 pages, LIFO batch:15 HighMem zone: 0 pages used for memmap Movable zone: 0 pages used for memmap .config attached. J