* question about page_to_phys @ 2005-09-01 1:29 Xiaofeng Ling 2005-09-01 9:07 ` Keir Fraser 0 siblings, 1 reply; 4+ messages in thread From: Xiaofeng Ling @ 2005-09-01 1:29 UTC (permalink / raw) To: xen-devel The page_to_phys is defined as #define page_to_phys(page) (phys_to_machine(page_to_pseudophys(page))) so it return machine addresss while virt_to_phys return psedophys. include/asm-xen/asm-i386/io.h this is really confusing. why not define page_to_machine? ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: question about page_to_phys 2005-09-01 1:29 question about page_to_phys Xiaofeng Ling @ 2005-09-01 9:07 ` Keir Fraser [not found] ` <4316C793.4080501@intel.com> 0 siblings, 1 reply; 4+ messages in thread From: Keir Fraser @ 2005-09-01 9:07 UTC (permalink / raw) To: Xiaofeng Ling; +Cc: xen-devel On 1 Sep 2005, at 02:29, Xiaofeng Ling wrote: > The page_to_phys is defined as > #define page_to_phys(page) > (phys_to_machine(page_to_pseudophys(page))) > so it return machine addresss > while virt_to_phys return psedophys. include/asm-xen/asm-i386/io.h > this is really confusing. > why not define page_to_machine? page_to_phys() is used only in places where we want to compare machine addresses (e.g., in deciding when to merge I/O requests). It was easier to abuse the macro definition than fix every place that it is used. -- Keir ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <4316C793.4080501@intel.com>]
[parent not found: <ca96cc44c40fb9aea95586126b73ecc5@cl.cam.ac.uk>]
* Re: question about page_to_phys [not found] ` <ca96cc44c40fb9aea95586126b73ecc5@cl.cam.ac.uk> @ 2005-09-01 9:56 ` Xiaofeng Ling 2005-09-01 10:37 ` Keir Fraser 0 siblings, 1 reply; 4+ messages in thread From: Xiaofeng Ling @ 2005-09-01 9:56 UTC (permalink / raw) To: Keir Fraser, xen-devel Keir Fraser wrote: > > On 1 Sep 2005, at 10:19, Xiaofeng Ling wrote: > > If a guest is in translate mode it should have no concept of pseudophys > vs machine. That translation is hidden from it. Hence there should be > no need to hack the virtual drivers -- page_to_phys() should naturally > translate to pseudophys if SHADOW_TRANSLATE is configured. > > -- Keir > so we need such a patch? but how to deal with virt_to_mfn in blkfront.c? diff -r 9092486cc4b3 linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h @@ -101,7 +101,11 @@ * Change "struct page" to physical address. */ #define page_to_pseudophys(page) ((dma_addr_t)page_to_pfn(page) << PAGE_SHIFT) +#ifndef CONFIG_SHADOW_TRANSLATE #define page_to_phys(page) (phys_to_machine(page_to_pseudophys(page))) +#else +#define page_to_phys(page) (page_to_pseudophys(page)) +#endif #define bio_to_pseudophys(bio) (page_to_pseudophys(bio_page((bio))) + \ (unsigned long) bio_offset((bio))) ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: question about page_to_phys 2005-09-01 9:56 ` Xiaofeng Ling @ 2005-09-01 10:37 ` Keir Fraser 0 siblings, 0 replies; 4+ messages in thread From: Keir Fraser @ 2005-09-01 10:37 UTC (permalink / raw) To: Xiaofeng Ling; +Cc: xen-devel On 1 Sep 2005, at 10:56, Xiaofeng Ling wrote: > so we need such a patch? but how to deal with virt_to_mfn in > blkfront.c? I guess the phys<->mach macros should all be no-ops. -- Keir ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-09-01 10:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-01 1:29 question about page_to_phys Xiaofeng Ling
2005-09-01 9:07 ` Keir Fraser
[not found] ` <4316C793.4080501@intel.com>
[not found] ` <ca96cc44c40fb9aea95586126b73ecc5@cl.cam.ac.uk>
2005-09-01 9:56 ` Xiaofeng Ling
2005-09-01 10:37 ` Keir Fraser
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.