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

Re: [Xen-devel] Overlaped PIO with multiple ioreq_server (Xen4.6.1)

On Wed, Apr 27, 2016 at 8:38 PM, Martin Cerveny <martin@xxxxxxxxx> wrote:
> Hello.
> I have problem with multiple ioreq_servers
> server 1 (emulates VGA) and server 2 (qemu).
> Emulation VGA server maps VGA PIO registers (3c0-3cf, 3b4-3b5 ...)
> Qemu maps "all" PIO space (0-ffff)
> (ref:
> http://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=blob;f=exec.c;h=46fe70ed49f85d0638061aa5b09f1f9d521b0bd3;hb=18f2ce4bfe67f9b38143d9d96207e49c92b6881c#l2007
> )
> Xen does not check overlap errors between ioreq_servers
> (ref:
> http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/x86/hvm/hvm.c;h=186e01e3b05a0264e8f4538b226da2feed50d11a;hb=d77bac5c064ffb9dbb5b89b55b89853f1b784ebf#l1252
> )
> Xen choose "first match"
> (ref:
> http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/x86/hvm/hvm.c;h=186e01e3b05a0264e8f4538b226da2feed50d11a;hb=d77bac5c064ffb9dbb5b89b55b89853f1b784ebf#l2594
> )
> In my case all requests to VGA PIO are sent to qemu (qemu VGA is disabled
> with parameter "-display none"/"-vga none") and dropped.
> Emulation VGA server receives only memory updates (eg. a0000-bffff).
> Is this problem resolved in updates (actual code looks the same (ioreq.c)) ?
> Is there any prioritization between ioreq_servers (but it is probably bad
> idea) ?
> Should the IO mapping check overlap between ioreq_servers (but it is
> probably bad idea) ?
> Should the qemu IO map only emulated areas (why it needs all ?) ?

I think the idea was that devicemodels should only request IO ports
for devices they actually intend to emulate.  It sounds like this is
an unfinished implementation inside of qemu.


Xen-devel mailing list



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