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