2.5.62 ioremap fails

From: Rob Murphy (rmurphy@integraltech.com)
Date: Mon Feb 24 2003 - 12:21:01 EST


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/



This archive was generated by hypermail 2b29 : Fri Feb 28 2003 - 22:00:20 EST