x86: reserve end-of-conventional-memory to 1MB, 64-bit
authorAlexander van Heukelum <heukelum@mailshack.com>
Sat, 1 Mar 2008 16:12:43 +0000 (17:12 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:40:52 +0000 (17:40 +0200)
commit320a6b2efceccb652befca0b1c9a92d6e4256ef6
treeaa8e2e2009d9ac63b5f36952c085db9a25197221
parentf6eb62b6924b99ec7da97fb6f554685a9ad6dce4
x86: reserve end-of-conventional-memory to 1MB, 64-bit

This patch is an add-on to the 64-bit ebda patch. It makes
the functions reserve_ebda_region (renamed from reserve_ebda)
and copy_e820_map equal to the 32-bit versions of the previous
patch.

Changes:

Use u64 and u32 for local variables in copy_e820_map.

The amount of conventional memory and the start of the EBDA are
detected by reading the BIOS data area directly. Paravirtual
environments do not provide this area, so we bail out early
in that case. They will just have to set up a correct memory
map to start with.

Add a safety net for zeroed out BIOS data area.

Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/e820_64.c
arch/x86/kernel/head64.c