From: Franck Bui-Huu <vagabon.xyz@gmail.com>
To: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: vagabon.xyz@gmail.com, ralf@linux-mips.org, ths@networkno.de,
linux-mips@linux-mips.org, fbuihuu@gmail.com
Subject: Re: [PATCH 1/5] Make __pa() uses CPHYSADDR() if really needed
Date: Wed, 11 Oct 2006 16:15:49 +0200 [thread overview]
Message-ID: <452CFC95.1080806@innova-card.com> (raw)
In-Reply-To: <20061011.223352.126573442.anemo@mba.ocn.ne.jp>
Hi Atsushi,
Atsushi Nemoto wrote:
> On Wed, 11 Oct 2006 14:08:41 +0200, Franck Bui-Huu <vagabon.xyz@gmail.com> wrote:
>> -#define __pa(x) ((unsigned long) (x) - PAGE_OFFSET)
>> +#if defined(CONFIG_64BITS) && !defined(CONFIG_BUILD_ELF64)
>> +#define __pa(x) CPHYSADDR(x)
>> +#else
>> +#define __pa(x) ((unsigned long)(x) - PAGE_OFFSET)
>> +#endif
>> #define __va(x) ((void *)((unsigned long) (x) + PAGE_OFFSET))
>
> Please do not do this. CONFIG_BUILD_ELF64=n does not mean we only
> have less then 512MB memory. We can have large flat area at
> PAGE_OFFSET (0x9800000000000000) in 64-bit kernel, so __pa() should
> accepct a value such as 0x9800000020000000.
>
To deal with such address there's virt_to_phys() routine. __pa() is
normally used during early bootmem init (as CPHYSADDR(), BTW). At early
bootmem, we normally deal with address in KSEG0. Once we have switched
to XKPHYS address, I agree we should use virt_to_phys().
If we look at how to convert a virtual address into a physical one,
we have:
CPHYSADDR()
__pa()
virt_to_phys()
What definition would you give to each of them ?
BTW, if you grep for __pa() you'll notice that it's almost not used
by the kernel. I suspect that's because of CPHYSADDR() existence which
is really confusing.
Franck
next prev parent reply other threads:[~2006-10-11 14:16 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-11 12:08 [PATCH 0/5] Get ride of CPHYSADDR() in setup.c Franck Bui-Huu
2006-10-11 12:08 ` [PATCH 1/5] Make __pa() uses CPHYSADDR() if really needed Franck Bui-Huu
2006-10-11 13:33 ` Atsushi Nemoto
2006-10-11 14:15 ` Franck Bui-Huu [this message]
2006-10-11 15:30 ` Atsushi Nemoto
2006-10-11 16:01 ` Franck Bui-Huu
2006-10-11 17:07 ` Franck Bui-Huu
2006-10-12 10:05 ` Atsushi Nemoto
2006-10-12 11:49 ` Franck Bui-Huu
2006-10-12 12:37 ` Thiemo Seufer
2006-10-11 12:08 ` [PATCH 2/5] setup.c: get ride of CPHYSADDR() Franck Bui-Huu
2006-10-11 12:08 ` [PATCH 3/5] setup.c: clean up initrd related code Franck Bui-Huu
2006-10-13 8:23 ` Franck Bui-Huu
2006-10-11 12:08 ` [PATCH 4/5] Introduce __pa_symbol() Franck Bui-Huu
2006-10-11 15:34 ` Atsushi Nemoto
2006-10-11 16:13 ` Franck Bui-Huu
2006-10-12 9:48 ` Atsushi Nemoto
2006-10-12 11:57 ` Franck Bui-Huu
2006-10-12 14:27 ` Atsushi Nemoto
2006-10-11 12:08 ` [PATCH 5/5] setup.c: use __pa_symbol() where needed Franck Bui-Huu
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=452CFC95.1080806@innova-card.com \
--to=vagabon.xyz@gmail.com \
--cc=anemo@mba.ocn.ne.jp \
--cc=fbuihuu@gmail.com \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
--cc=ths@networkno.de \
/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.