diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2006-04-07 19:49:27 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-09 11:53:50 -0700 |
commit | 952223683ec989e86328c24808fdb962c4dbeb0a (patch) | |
tree | 0c7473d4469cba883bf880bbaa04900960806742 /include | |
parent | eee5a9fa63c97366cdea6ab3aa2ed9e3601812d0 (diff) | |
download | op-kernel-dev-952223683ec989e86328c24808fdb962c4dbeb0a.zip op-kernel-dev-952223683ec989e86328c24808fdb962c4dbeb0a.tar.gz |
[PATCH] x86_64: Introduce e820_all_mapped
Introduce a e820_all_mapped() function which checks if the entire range
<start,end> is mapped with type.
This is done by moving the local start variable to the end of each
known-good region; if at the end of the function the start address is
still before end, there must be a part that's not of the correct type;
otherwise it's a good region.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-i386/e820.h | 4 | ||||
-rw-r--r-- | include/asm-x86_64/e820.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-i386/e820.h b/include/asm-i386/e820.h index edf65be..ca82acb 100644 --- a/include/asm-i386/e820.h +++ b/include/asm-i386/e820.h @@ -35,6 +35,10 @@ struct e820map { }; extern struct e820map e820; + +extern int e820_all_mapped(unsigned long start, unsigned long end, + unsigned type); + #endif/*!__ASSEMBLY__*/ #endif/*__E820_HEADER*/ diff --git a/include/asm-x86_64/e820.h b/include/asm-x86_64/e820.h index 4192d0e..93b51df 100644 --- a/include/asm-x86_64/e820.h +++ b/include/asm-x86_64/e820.h @@ -48,6 +48,7 @@ extern unsigned long e820_end_of_ram(void); extern void e820_reserve_resources(void); extern void e820_print_map(char *who); extern int e820_any_mapped(unsigned long start, unsigned long end, unsigned type); +extern int e820_all_mapped(unsigned long start, unsigned long end, unsigned type); extern void e820_bootmem_free(pg_data_t *pgdat, unsigned long start,unsigned long end); extern void e820_setup_gap(void); |