Nick Couchman
2010-Jun-03 22:38 UTC
[Xen-users] Multiple Serial Port Passthrough in HVM domU
So, I made a mistake a bought four systems with the Intel Core i3 processors,
without doing my homework to make sure that these systems actually supported
VTd. Turns out there''s plenty of information out there indicating that
the Core i3 processors do *not* support VTd. I was counting on VTd for two
applications: Graphics Passthrough and passing through a PCIe 4-port serial
card. Of course, graphics passthrough with these systems is now completely out
of the question - that definitely requires VTd, and, short of purchasing 4
upgraded processors, I don''t have a way of making these systems support
VTd. However, I''m hoping there''s still a way for the serial
port passthrough to work. I know there are two methods for serial port
passthrough:
serial = /dev/ttyS0
and
irq=4
ioports=[range1,range2,etc]
Two questions: first, with the first method above, is there any way to pass
through more than one serial port? Second, with the second method, is there any
way to pass through serial port cards that don''t have traditional I/O
ranges, but, instead, only seem to support MMIO? If I look in /proc/ioports, I
see my on-board serial port listed, but nothing about the PCIe add-in card.
dmesg output shows:
[ 13.972625] ttyS4: detected caps 00000700 should be 00000100
[ 13.972632] 0000:04:00.0: ttyS4 at MMIO 0xdf1fd000 (irq = 16) is a 16C950/954
[ 13.972743] ttyS5: detected caps 00000700 should be 00000100
[ 13.972750] 0000:04:00.0: ttyS5 at MMIO 0xdf1fd200 (irq = 16) is a 16C950/954
[ 13.972849] ttyS6: detected caps 00000700 should be 00000100
[ 13.972856] 0000:04:00.0: ttyS6 at MMIO 0xdf1fd400 (irq = 16) is a 16C950/954
[ 13.972952] ttyS7: detected caps 00000700 should be 00000100
[ 13.972959] 0000:04:00.0: ttyS7 at MMIO 0xdf1fd600 (irq = 16) is a 16C950/954
If I do lspci -v and look at the card, I see:
04:00.0 Serial controller: Oxford Semiconductor Ltd Device c208 (prog-if 06
[16950])
Subsystem: Siig Inc Device 2250
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at df1fc000 (32-bit, non-prefetchable) [size=16K]
Memory at df200000 (32-bit, non-prefetchable) [size=2M]
Memory at df400000 (32-bit, non-prefetchable) [size=2M]
Capabilities: [40] Power Management version 3
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [b0] MSI-X: Enable- Count=16 Masked-
Capabilities: [100] Device Serial Number 00-30-e0-11-11-00-02-00
Capabilities: [110] Power Budgeting
Kernel driver in use: serial
So, any hints - any way to make this work?
Thanks!
-Nick
--------
This e-mail may contain confidential and privileged material for the sole use of
the intended recipient. If this email is not intended for you, or you are not
responsible for the delivery of this message to the intended recipient, please
note that this message may contain SEAKR Engineering (SEAKR)
Privileged/Proprietary Information. In such a case, you are strictly prohibited
from downloading, photocopying, distributing or otherwise using this message,
its contents or attachments in any way. If you have received this message in
error, please notify us immediately by replying to this e-mail and delete the
message from your mailbox. Information contained in this message that does not
relate to the business of SEAKR is neither endorsed by nor attributable to
SEAKR.
_______________________________________________
Xen-users mailing list
Xen-users@lists.xensource.com
http://lists.xensource.com/xen-users
Trolle Selander
2010-Jun-03 22:47 UTC
Re: [Xen-users] Multiple Serial Port Passthrough in HVM domU
Hi Nick, There''s been several suggestions on how to handle multiple emulated serial ports in the config file, but as far as I can tell from a quick look at XendConfig.py, none of them have made it into the tree. It''s still doable, however - simply create a qemu-dm "wrapper" that adds multiple -serial options to the qemu-dm commandline, and change the device_model line to point to the wrapper. -- Trolle On Thu, Jun 3, 2010 at 6:38 PM, Nick Couchman <Nick.Couchman@seakr.com> wrote:> So, I made a mistake a bought four systems with the Intel Core i3 processors, without doing my homework to make sure that these systems actually supported VTd. Turns out there''s plenty of information out there indicating that the Core i3 processors do *not* support VTd. I was counting on VTd for two applications: Graphics Passthrough and passing through a PCIe 4-port serial card. Of course, graphics passthrough with these systems is now completely out of the question - that definitely requires VTd, and, short of purchasing 4 upgraded processors, I don''t have a way of making these systems support VTd. However, I''m hoping there''s still a way for the serial port passthrough to work. I know there are two methods for serial port passthrough: > > serial = /dev/ttyS0 > > and > > irq=4 > ioports=[range1,range2,etc] > > Two questions: first, with the first method above, is there any way to pass through more than one serial port? Second, with the second method, is there any way to pass through serial port cards that don''t have traditional I/O ranges, but, instead, only seem to support MMIO? If I look in /proc/ioports, I see my on-board serial port listed, but nothing about the PCIe add-in card. dmesg output shows: > > [ 13.972625] ttyS4: detected caps 00000700 should be 00000100 > [ 13.972632] 0000:04:00.0: ttyS4 at MMIO 0xdf1fd000 (irq = 16) is a 16C950/954 > [ 13.972743] ttyS5: detected caps 00000700 should be 00000100 > [ 13.972750] 0000:04:00.0: ttyS5 at MMIO 0xdf1fd200 (irq = 16) is a 16C950/954 > [ 13.972849] ttyS6: detected caps 00000700 should be 00000100 > [ 13.972856] 0000:04:00.0: ttyS6 at MMIO 0xdf1fd400 (irq = 16) is a 16C950/954 > [ 13.972952] ttyS7: detected caps 00000700 should be 00000100 > [ 13.972959] 0000:04:00.0: ttyS7 at MMIO 0xdf1fd600 (irq = 16) is a 16C950/954 > > If I do lspci -v and look at the card, I see: > > 04:00.0 Serial controller: Oxford Semiconductor Ltd Device c208 (prog-if 06 [16950]) > Subsystem: Siig Inc Device 2250 > Flags: bus master, fast devsel, latency 0, IRQ 16 > Memory at df1fc000 (32-bit, non-prefetchable) [size=16K] > Memory at df200000 (32-bit, non-prefetchable) [size=2M] > Memory at df400000 (32-bit, non-prefetchable) [size=2M] > Capabilities: [40] Power Management version 3 > Capabilities: [70] Express Endpoint, MSI 00 > Capabilities: [b0] MSI-X: Enable- Count=16 Masked- > Capabilities: [100] Device Serial Number 00-30-e0-11-11-00-02-00 > Capabilities: [110] Power Budgeting > Kernel driver in use: serial > > So, any hints - any way to make this work? > > Thanks! > -Nick > > > > -------- > This e-mail may contain confidential and privileged material for the sole use of the intended recipient. If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information. In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way. If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox. Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR. > > _______________________________________________ > Xen-users mailing list > Xen-users@lists.xensource.com > http://lists.xensource.com/xen-users >_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Nick Couchman
2010-Jun-07 14:29 UTC
Re: [Xen-users] Multiple Serial Port Passthrough in HVM domU
>>> On 2010/06/03 at 16:47, Trolle Selander <trolle.selander@gmail.com> wrote: > Hi Nick, > > There''s been several suggestions on how to handle multiple emulated > serial ports in the config file, but as far as I can tell from a quick > look at XendConfig.py, none of them have made it into the tree. It''s > still doable, however - simply create a qemu-dm "wrapper" that adds > multiple -serial options to the qemu-dm commandline, and change the > device_model line to point to the wrapper. > > -- Trolle >Thanks for the hint - I did this, but I''m wondering if there''s a limitation on the number of serial ports? The Qemu man page, from the most recent version of Qemu, indicates that a maximum of 4 serial devices can be used. However, Windows in my Xen domU only sees two of the four devices that I''ve attempted to pass through, so I''m wondering if the qemu-dm version included with Xen 4 only supports 2?? -Nick -------- This e-mail may contain confidential and privileged material for the sole use of the intended recipient. If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information. In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way. If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox. Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR. _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Nick Couchman
2010-Jun-07 18:43 UTC
Re: [Xen-users] Multiple Serial Port Passthrough in HVM domU
> > Thanks for the hint - I did this, but I''m wondering if there''s a limitation > on the number of serial ports? The Qemu man page, from the most recent > version of Qemu, indicates that a maximum of 4 serial devices can be used. > However, Windows in my Xen domU only sees two of the four devices that I''ve > attempted to pass through, so I''m wondering if the qemu-dm version included > with Xen 4 only supports 2?? >I decided I''m just going to bite the bullet and go out and purchase the CPUs for these machines that support VTd. Stupid of me, anyway - should have done my research to begin with. -Nick -------- This e-mail may contain confidential and privileged material for the sole use of the intended recipient. If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information. In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way. If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox. Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR. _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users