WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

RE: [Xen-ia64-devel] RE: [Xen-ia64-full 68] Fwd: Topics to for Xen Summi

To: "Isaku Yamahata" <yamahata@xxxxxxxxxxxxx>
Subject: RE: [Xen-ia64-devel] RE: [Xen-ia64-full 68] Fwd: Topics to for Xen Summit discussion
From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Date: Tue, 10 Jan 2006 15:52:36 +0800
Cc: Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>, jean-paul.pigache@xxxxxxxx, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 10 Jan 2006 07:59:23 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcYVtlCvG31iXBFNSgywELbUpkQuZwAAStKA
Thread-topic: [Xen-ia64-devel] RE: [Xen-ia64-full 68] Fwd: Topics to for Xen Summit discussion
>From: Isaku Yamahata [mailto:yamahata@xxxxxxxxxxxxx]
>Sent: 2006年1月10日 15:17
>> >  My implementation proposal is as follows.
>> >  Just phys to mach translation is sufficient, and xen tracks their change.
>>
>> Not sure what you mean by "sufficient"? ;-) Just a reminder that once p2m 
>> concept
>is added, we have to promise all places aware of existence of this translation 
>if really
>required, including some core-header files (like DMA) besides para-drivers. 
>Code
>there has to explicit query this translation by either direct access or 
>hypercall.
>
>My more detailed idea to implement the phys2mach is as follows.
>
>* observation
>  - xenlinux/X86 maintains phys2table conversion by itself. not by xen.
>    the memory area used for the table is maintained by xenlinux and
>    the table is writable for xenlinux.

Yes.

>  - By grepping xenlinux code, I observed that xenlinux modifiles
>    the phys2mach table via set_phys_to_machine() and that
>    set_phys_to_machine() calls are paired with hypercalls
>    (xen_machphys_update(), memory op, grant table, update va mapping).
>    So I gussed dom0 don't have to write the phys2mach table directly.
>    (I can easily miss important things, so I may be wrong.)

Yes, that's one place you may need to grep carefully. IIRC, sometimes xenlinux 
may simply change the phys_to_mach table to INVALID_P2M_ENTRY without 
notification to Xen if guest pfn is free. Anyway, I think final goal is to 
minimize architecture bias in common driver code, and if you can do that 
cleanly then it's OK. I think Keir and Ian have clearest vision on this point. 
;-)

>  - xen/ia64 already tracks phys2mach conversion by struct arch_domain::mm.
>    (currently for domU. dom0 is an exception for now)
>
>* my implementation proposal
>  - map xen's arch_domain::mm pte pages to dom0 virtual address space
>    linearly with read-only protection.
>    Since pte pages are managed by xen, I think it is reasonable for xen
>    to handles tlb miss by dom0 on the phys2mach table area.
>  - leave set_phys_to_machine() as nop.
>
>You seem to have different ideas.
>Do you think that it is needed for dom0 to write phys2mach table directly?

No, I mostly agree with your approach on this issue with just one difference: I 
would like to see phys2mach mapping ptes allocated within domain's configured 
memory, instead of by Xen. Then you need to modify construct_dom0 and control 
panel to construct those ptes. Then Later Xen just constructs its multi-level 
page tables with phys2mach table as L1 directly. By this way, dom0 owns the 
memory and thus dom0 setups the mapping within its own range. I always think 
dom0 has better knowledge about how allocated resource will be final utilized 
and better to let dom0 to setup such stuff by its normal way instead of Xen's 
supplement.

If we do this way, it's natural to let dom0 modify phys2mach table directly, 
right?

Thanks,
Kevin


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel