[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Overlaped PIO with multiple ioreq_server (Xen4.6.1)
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 ?) ? Any other solution ? Thanks for answers, Martin Cerveny PS: I programmed workaround to select sever with smaller mapped range (attached). CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> - Maintainer qemu - exec.c CC: Paul Durrant <paul.durrant@xxxxxxxxxx> - Maintainer X86 I/O EMULATION - ioreq.c Attachment:
ioreq_server-smaller-wins.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |