[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] How dispatch a vIRQ to all guests in ARM

Please don't top post.

On Wed, 2013-03-13 at 02:28 +0000, Josh Zhao wrote:
> Hi lan,
> Thanks for answering my question. I was imagining that some hardware
> drivers might be sharing in domains, such as ethernet, SD card. Two
> more domains may access to the device same time.

This is not possible, a single device can only ever be associated with
one domain. Technologies like SR-IOV provide some sort of "illusion" of
passing a device to multiple domains by providing multiple MMIO regions
and IRQs, but each of those can still only be associated with a single

> I thought the same IRQ may be associated with each domain. Now I am
> thinking that the vIRQs should be dispatched between domains by event
> channels.  A channel  means one 2 one domain mapping. Each channel is
> a vIRQ. Am I right?

I'm afraid I don't understand what you are saying so I don't know if you
are right.

> BTW, I have 2 other questions in this thread:
> (1) The tranditional Linux kernel without virtualization is running on
> SVC mode.  With virtualization,the Linux kernel in DomU is on ARM's
> SVC mode and the Dom0 is in Hyper Mode?

No. Xen (the hypervisor itself) runs in HYP mode. The kernel (dom0 or
domu) always runs in SVC mode. Dom0 is really just another guest, albeit
with some special privileges.

> (2) I am wondering How xen pass memory to domains( Dom0/DomU)?   Are
> there any key fields associated with memory in domain/vcpu structs,
> such like Linux kernel 's mm struct?

Not sure what you mean, each domain has a list of pages which belong to
it (struct domain.page_list) as well as data structures like the p2m
which describes to domains IPA->PA mapping.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.