[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] Notes about driver domains
Hi Tristan. You already noticed the followings though. On Tue, Jul 25, 2006 at 08:59:47AM +0200, Tristan Gingold wrote: > * Memory attributes have to be handled (if you want to avoid mca!). The > current method (dom0 uses its attribute, domU always use WB) doesn't work > anymore. Xen has to merge domain attributes with MADT attributes. Probably introduce new pte flag and check it in translate_domain_pte() would work. See the comment on memory mapped IO pages. > * Currently any domain can do ioremap. Access checks have to be done. When I worked on dom0 vp model, I wanted to keep the modification of linux ioremap() as small as possible. So I made the requirement that pseudo physical address == machine address on I/O area. assign_domain_mmio_page(), assign_domain_mach_page() realize it. It is acceptable and appropriate for dom0. But I don't know about driver domains. - require p=m on I/O area like dom0. - don't require p=m on I/O area and paravirtualize Linux ioremap(),iounmap() more. - other > * IO port entry should be added in the MADT of every domain. Access checks > have to be performed. I don't know wether we should use a per page control, > a global control (yes/no) or a per port control (slow!). Disabled port > should either crash the domain or be silently rejected. This issue has > already been discussed and silent rejection was agreed. Probably we may want to use rangeset (xen/common/rangeset.c). > * memory mapped IO pages should belongs to dom_io pseudo-domain. At least > work is required here to avoid crash when a domain is destroyed. With CONFIG_VIRTUAL_FRAME_TABLE enabled (this is default), struct page_info correspanding to I/O area might not be allocated. It is the reason why assign_domain_mmio_page() and assign_domain_mmio_page() doesn't increase reference count. These are just ideas when I modified those functions. - allocate struct page_info dynamically and make dom_io owns them when they become necessary. - go without struct page_info. introduce new pte flag to indicate that it is I/O page and there is no corresponding struct page_info. Probably this requires adding check whether this pte is for I/O before converting pte to struct page_info - other > At this time I was able to see an ethernet card in a domU. Very nice! -- yamahata _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |