+++ /dev/null
---- lum-pristine/arch/um/kernel/mem.c Mon Aug 12 11:05:20 2002
-+++ lum/arch/um/kernel/mem.c Thu Aug 1 18:07:35 2002
-@@ -527,6 +527,21 @@
- return(phys_mem_map(pte_val(pte)));
- }
-
-+struct page *check_get_page(unsigned long kaddr)
-+{
-+ struct page *page;
-+ struct mem_region *mr;
-+ unsigned long phys = __pa(kaddr);
-+ unsigned int n = phys_region_index(phys);
-+
-+ if (regions[n] == NULL)
-+ return NULL;
-+
-+ mr = regions[n];
-+ page = (struct page *) mr->mem_map;
-+ return page + ((phys_addr(phys)) >> PAGE_SHIFT);
-+}
-+
- struct mem_region *page_region(struct page *page, int *index_out)
- {
- int i;
-@@ -542,12 +558,14 @@
- return(region);
- }
- }
-- panic("No region found for page");
-+ //panic("No region found for page");
- return(NULL);
- }
-
- struct page *page_mem_map(struct page *page)
- {
-+ if (!page_region(page, NULL))
-+ return NULL;
- return((struct page *) page_region(page, NULL)->mem_map);
- }
-
-@@ -564,7 +582,7 @@
- (addr <= region->start + region->len))
- return(mk_phys(addr - region->start, i));
- }
-- panic("region_pa : no region for virtual address");
-+ //panic("region_pa : no region for virtual address");
- return(0);
- }
-
---- /usr/src/lum/include/asm/pgtable.h.orig 2002-12-04 01:58:36.000000000 -0700
-+++ /usr/src/lum/include/asm/pgtable.h 2002-12-04 01:58:54.000000000 -0700
-@@ -200,7 +200,7 @@ static inline void pgd_clear(pgd_t * pgd
- * called on a highmem page.
- */
-
--#define page_address(page) ({ if (!(page)->virtual) BUG(); (page)->virtual; })
-+//#define page_address(page) ({ if (!(page)->virtual) BUG(); (page)->virtual; })
- #define pages_to_mb(x) ((x) >> (20-PAGE_SHIFT))
-
- extern struct page *pte_mem_map(pte_t pte);