this sounds like the same problem of the MXT patch. In short pte_alloc
and in turn ioremap was usable only after the initcalls.
Does this incremental patch fix it? (untested)
--- 2.4.19pre1aa1/include/linux/highmem.h.~1~ Fri Mar 1 20:19:05 2002
+++ 2.4.19pre1aa1/include/linux/highmem.h Sat Mar 2 03:43:42 2002
@@ -12,6 +12,7 @@
/* declarations for linux/mm/highmem.c */
unsigned int nr_free_highpages(void);
+extern void init_kmap(void);
extern struct buffer_head *create_bounce(int rw, struct buffer_head * bh_orig);
@@ -64,6 +65,7 @@
#else /* CONFIG_HIGHMEM */
static inline unsigned int nr_free_highpages(void) { return 0; }
+#define init_kmap() do { } while(0)
static inline void *kmap(struct page *page) { return page_address(page); }
--- 2.4.19pre1aa1/init/main.c.~1~ Wed Feb 27 12:46:19 2002
+++ 2.4.19pre1aa1/init/main.c Sat Mar 2 03:42:52 2002
@@ -599,6 +599,7 @@
mem_init();
kmem_cache_sizes_init();
pgtable_cache_init();
+ init_kmap();
#ifdef CONFIG_PERFMON
perfmon_init();
--- 2.4.19pre1aa1/mm/highmem.c.~1~ Wed Feb 27 12:46:13 2002
+++ 2.4.19pre1aa1/mm/highmem.c Sat Mar 2 03:43:50 2002
@@ -45,7 +45,7 @@
static wait_queue_head_t pkmap_map_wait[KM_NR_SERIES];
-static __init int init_kmap(void)
+void __init init_kmap(void)
{
int i;
@@ -56,7 +56,6 @@
#endif
return 0;
}
-__initcall(init_kmap);
static void flush_all_zero_pkmaps(void)
{
>
> Has anyone got any idea why this might be? I'd really like to
> test out the -aa vm patches on this box ... I can debug it some
> more - just looking for an easy answer ;-)
>
> Thanks,
>
> Martin.
Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/