
People love to do comparisons with highmem_start_page.  However, where
CONFIG_HIGHMEM=y and there is no actual highmem, there's no real page
at *highmem_start_page.

That's usually not a problem, but CONFIG_NONLINEAR is a bit more strict
and catches the bogus address tranlations.  

There are about a gillion different ways to find out of a 'struct page'
is highmem or not.  Why not just check page_flags?

Declare page_is_highmem() and use it wherever there used to be a 
highmem_start_page comparison.  Then, kill off highmem_start_page.

Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
---

 memhotplug1-dave/arch/i386/lib/kgdb_serial.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/i386/lib/kgdb_serial.c~A1-no-highmem-mess-kgdb arch/i386/lib/kgdb_serial.c
--- memhotplug1/arch/i386/lib/kgdb_serial.c~A1-no-highmem-mess-kgdb	2004-11-04 16:45:29.000000000 -0800
+++ memhotplug1-dave/arch/i386/lib/kgdb_serial.c	2004-11-04 16:45:29.000000000 -0800
@@ -407,7 +407,7 @@ void shutdown_for_kgdb(struct async_stru
 #ifdef CONFIG_DISCONTIGMEM
 static inline int kgdb_mem_init_done(void)
 {
-	return highmem_start_page != NULL;
+	return initsize != NULL;
 }
 #else
 static inline int kgdb_mem_init_done(void)
_
