2.5.62 ioremap fails

Rob Murphy (rmurphy@integraltech.com)
Mon, 24 Feb 2003 12:21:01 -0500


I have been trying to allocate memory past the end of the kernel in a system
that has more that 1 Gb of memory and have been unsuccessful. My current
machine has an athlon processor and 1.5Gb of memory.

I created a driver with the following code:

#define MAXHM 0x8000000 // 128 Mb
int __init init_module(void)
{
void *kHighMem;

printk(KERN_ERR"before ioremap\n");
kHighMem = ioremap(__pa(high_memory), MAXHM);
printk(KERN_ERR"ioremap ret: %x\n",kHighMem);

return 0;
}

void __exit leave_mod(void) {
iounmap(kHighMem);
printk(KERN_ERR"iounmap passed\n");

printk(KERN_ERR,"module successfully unloaded.\n");
}

I add the line append="mem=xx" to lilo.
If I set "xx" to around 860 or above then ioremap fails. If I set "xx" to
860 or less then ioremap is successful. Has anyone had any experience
trying to allocate a contiguous memory buffer beyond the end of what the
kernel manages in a system with over 1Gb of memory? Any help would be
appreciated in this matter.

Regards,
Rob Murphy

-
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/