From: Vivek Goyal <vgoyal@in.ibm.com>
To: keith mannthey <kmannth@us.ibm.com>
Cc: dave hansen <haveblue@us.ibm.com>,
lkml <linux-kernel@vger.kernel.org>,
ebiederm@xmission.com, andrew <akpm@osdl.org>
Subject: Re: [Bug] 2.6.18-rc6-mm2 i386 trouble finding RSDT in get_memcfg_from_srat
Date: Thu, 14 Sep 2006 19:59:10 -0400 [thread overview]
Message-ID: <20060914235910.GG25044@in.ibm.com> (raw)
In-Reply-To: <1158277414.15745.26.camel@keithlap>
On Thu, Sep 14, 2006 at 04:43:33PM -0700, keith mannthey wrote:
> On Thu, 2006-09-14 at 16:21 -0700, Dave Hansen wrote:
> > On Thu, 2006-09-14 at 19:04 -0400, Vivek Goyal wrote:
> > > I think I know what is going on wrong here. boot_ioremap() is assuming
> > > that only first 8MB of physical memory is being mapped and while
> > > calculating the index into page table (boot_pte_index) we will truncate
> > > any higher address bits.
> >
> > Vivek, are those pte pages still all contiguous?
> >
> > Yeah, that's probably it. Keith, I'm trying to think of reasons why we
> > need the mask here:
> >
> > #define boot_pte_index(address) \
> > (((address) >> PAGE_SHIFT) & (BOOT_PTE_PTRS - 1))
> >
> > and I can't think of any other than just masking out the top of the
> > virtual address. You could do this a bunch of other ways, like __pa().
> >
> > This might just work:
> >
> > static unsigned long boot_pte_index(unsigned long vaddr)
> > {
> > return __pa(vaddr) >> PAGE_SHIFT;
> > }
> With
> CONFIG_KEXEC=y
> CONFIG_CRASH_DUMP=y
> CONFIG_PHYSICAL_START=0x1000000
> and the above __pa(vaddr) >> PAGE_SHIFT changed things worked for me but
> I am still confused as to why the pte we set is c1686f6c and we flush
> and return c13db000.
I think c13db000 is the virtual address of symbol boot_ioremap_space,
and we are remapping this virtual address to physical addres eff9c063,
that's why we flush tlb for this virtual address.
I guess c1686f6c is virtual address of PTE (somewhere between pg0 to pg5).
It is independent of actual virtual address (boot_ioremap_space) being
remapped.
Thanks
Vivek
>
> get_memcfg_from_srat: assigning address to rsdp fdfc0
> RSD PTR v0 [IBM ]
> rsdp->rsdt_address eff9c2c0
> boot_ioremap phys_addr = eff9c2c0 long = 44
> __boot_ioremap phys_addr = eff9c000 pages = 1 source c13db000
> setting pte c1686f6c to eff9c063
> just flushed c13db000
> boot_ioremap and I return c13db2c0
> rsdt = c13db2c0 header is RSDT4
> Begin SRAT table scan....
>
> thanks,
> Keith
>
next prev parent reply other threads:[~2006-09-14 23:59 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-13 2:18 [Bug] 2.6.18-rc6-mm2 i386 trouble finding RSDT in get_memcfg_from_srat keith mannthey
2006-09-14 21:34 ` keith mannthey
2006-09-14 22:01 ` Dave Hansen
2006-09-14 22:43 ` keith mannthey
2006-09-14 22:48 ` Dave Hansen
2006-09-14 23:19 ` keith mannthey
2006-09-14 23:04 ` Vivek Goyal
2006-09-14 23:21 ` Dave Hansen
2006-09-14 23:35 ` Vivek Goyal
2006-09-14 23:43 ` keith mannthey
2006-09-14 23:59 ` Vivek Goyal [this message]
2006-09-15 0:03 ` keith mannthey
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=20060914235910.GG25044@in.ibm.com \
--to=vgoyal@in.ibm.com \
--cc=akpm@osdl.org \
--cc=ebiederm@xmission.com \
--cc=haveblue@us.ibm.com \
--cc=kmannth@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.