linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: cohutta <cohutta@MailAndNews.com>
To: "Stephen C. Tweedie" <sct@redhat.com>
Cc: linux-mm <linux-mm@kvack.org>
Subject: RE: temp. mem mappings
Date: Thu, 7 Jun 2001 21:38:06 -0400	[thread overview]
Message-ID: <3B2DF994@MailAndNews.com> (raw)

>===== Original Message From "Stephen C. Tweedie" <sct@redhat.com> =====
>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 now have a 768 MB machine, but i don't think that
makes a big difference with the problem that i am seeing
in mapping this ACPI memory early in setup_arch() [x86].

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

My testing indicates that i can't use __get_free_page(GFP_KERNEL)
any time during setup_arch() [still x86].  It causes a BUG
in slab.c (line 920) [linux 2.4.5].  Did I misunderstand you?
Do you have another suggestion?

[for others who need it, not Stephen:
  __get_free_page() -> __get_free_pages() -> alloc_pages()
  -> __alloc_pages() ]

>_Why_ do you need access to the ACPI tables so early, though?

ACPI tables have much to say about booting on newer x86 systems.
I'll try to be more specific later, when i can.

>Cheers,
> Stephen

Thanks Stephen.
/c/

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

             reply	other threads:[~2001-06-08  1:38 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-06-08  1:38 cohutta [this message]
2001-06-08 17:02 ` Joseph A. Knapka
2001-06-08 18:07 ` Stephen C. Tweedie
2001-06-08 21:22   ` Joseph A. Knapka
  -- strict thread matches above, loose matches on Subject: below --
2001-06-11 16:32 cohutta
2001-06-25  6:52 ` Eric W. Biederman
2001-06-06 21:14 cohutta
2001-06-07 10:00 ` Stephen C. Tweedie
2001-06-05 20:42 cohutta
2001-06-05 20:59 ` Timur Tabi
2001-06-05 22:27   ` Joseph A. Knapka
2001-06-06  8:23 ` Stephen C. Tweedie
2001-06-05 17:54 cohutta
2001-06-05 18:25 ` Timur Tabi
2001-06-05 18:41   ` Stephen C. Tweedie
2001-06-05 18:51     ` Timur Tabi
2001-06-05 18:59       ` Stephen C. Tweedie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3B2DF994@MailAndNews.com \
    --to=cohutta@mailandnews.com \
    --cc=linux-mm@kvack.org \
    --cc=sct@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox