[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: temp. mem mappings
Hi,
On Wed, Jun 06, 2001 at 05:14:26PM -0400, cohutta wrote:
> I think this is part of the problem: on my 1 GB system, the
> ACPI tables are at physical 0x3fffxxxx == virtual 0xffffxxxx,
> which could conflict with the APIC and IOAPIC mappings
> (from fixmap.h).
Shouldn't be --- the fixmaps should be part of the kernel's dynamic
virtual area, which is not identity mapped. You can still map those
physical addresses via kmap() on a highmem system (and a 1GB machine
should be running a highmem kernel).
> Well, i'm talking about physical memory, but it's marked as ACPI
> data.
If it is marked PG_Reserved, then ioremap() will work on it despite it
being inside the normal physical memory area. If not, kmap() will
still work.
> Another part of the problem is that I need to do this early in
> arch/i386/kernel/setup.c::setup_arch(), like between calls to
> paging_init() and init_apic_mappings(). I can't use ioremap()
> here can i? ioremap() calls get_vm_area() which calls
> kmalloc(), and i don't think i can use kmalloc() just yet.
Right --- you can use alloc_pages but we haven't done the
initialisation of the kmalloc slabsl by this point.
_Why_ do you need access to the ACPI tables so early, though?
Cheers,
Stephen
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/