lkml.org 
[lkml]   [2005]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] bootmem.c clean up bad pfn convertions
Dave Hansen wrote:

>The only arch with phys_to_pfn() defined is UML, so the patch simply
>won't compile anything but UML on current kernels (unless I'm missing
>something).
>
>
oops, I forgot to send the part of the patch that defines these macros,
sorry.

>Could you try to give us a more complete description of your problem? I
>know your memory doesn't start at 0x0, but what problems does that
>cause? Does the mem_map[] allocation blow up, etc...
>
>
yes, it actually intends to solve that.

>If it's just mem_map[], That calculation could be fixed pretty easily.
>Something like
>
>+#ifdef CONFIG_CRAZY_MIPS_FOO_MEM_MAP_START...
>+extern unsigned long mem_map_start_pfn
>+#else
>+#define mem_map_start_pfn 0UL
>+#endif
>-#define pfn_to_page(pfn) (mem_map + (pfn))
>+#define pfn_to_page(pfn) (mem_map + (pfn) - mem_map_start_pfn)
>
>
>
>
This is another solution indeed...But you will have to define another
constant which
will be used for virtual to physical address convertion. In my case I have

#define phys_to_pfn(x) (((x) - PHYS_START) >> PAGE_SHIFT)
#define pa(x) ((x) - PAGE_OFFSET + PHYS_START)

and "pfn_to_page" stays untouch.
But I expect your solution easier to implement since as you said
previously no arch
defines "phys_to_pfn".

Thanks

Franck.

-------------------------------------------------------------------------------
Come to visit Innova Card at CTST (Las Vegas, April 11-14, 2005) on booth 559
and Cards Asia (Singapore, April 27-29, 2005) on booth 4A04 !

links:
- www.ctst.com
- www.worldofcards.biz/2005/cardsa_SG/

-------------------------------------------------------------------------------
This message contains confidential information and is intended only for the
individual named. If you are not the named addressee you should not
disseminate, distribute or copy this e-mail. Please notify the sender
immediately by e-mail if you have received this e-mail by mistake and delete
this e-mail from your system.
Innova Card will not therefore be liable for the message if modified.

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

\
 
 \ /
  Last update: 2005-04-11 10:28    [W:0.069 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site