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

[Xen-users] Max number of serial ports in dom0?


  • To: xen-users@xxxxxxxxxxxxxxxxxxx
  • From: Arjen Roodselaar <xen@xxxxxxxxxx>
  • Date: Thu, 24 Apr 2008 16:10:07 +0200
  • Delivery-date: Thu, 24 Apr 2008 07:25:28 -0700
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

Hi all,

One of my Xen servers is equipped in a Lavalink Octopus-550 8 port serial PCI adapter, in order to function as a poor man's serial console server. The server itself, a IBM eSeries 345, has one additional onboard serial port. Booting a stock Debian Etch kernel gives me all 8 ports. However, booting this server with the Xen Hypervisor and a Xen enabled kernel only 4 of the 8 ports are detected and usable. I there a limit on the amount of usable serial ports in a dom0?

Some detailed info:

Distro: Debian Etch 4.0
Xen hypervisor: 3.2-1, compiled from the source package in the Debian package pool
Kernels: 2.6.18-6-686 and 2.6.18-6-xen-686

host                   : node01-ams
release                : 2.6.18-6-xen-686
version                : #1 SMP Sun Feb 10 22:43:13 UTC 2008
machine                : i686
nr_cpus                : 4
nr_nodes               : 1
cores_per_socket       : 1
threads_per_core       : 2
cpu_mhz                : 2394
hw_caps                : bfebfbff:00000000:00000000:00000080:00004400
total_memory           : 2047
free_memory            : 126
node_to_cpu            : node0:0-3
xen_major              : 3
xen_minor              : 2
xen_extra              : -1
xen_caps               : xen-3.0-x86_32p
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xf5800000
xen_changeset          : unavailable
cc_compiler : gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
cc_compile_by          : waldi
cc_compile_domain      : debian.org
cc_compile_date        : Tue Feb 26 13:22:43 CET 2008
xend_config_format     : 4

Some lspci -v output:

00:05.0 Serial controller: Lava Computer mfg Inc Lava Octo A (rev 03) (prog-if 02 [16550])
        Subsystem: Lava Computer mfg Inc Lava Octo A
        Flags: medium devsel, IRQ 169
        I/O ports at 2400 [size=8]
        I/O ports at 2408 [size=8]
        I/O ports at 2410 [size=8]
        I/O ports at 2418 [size=8]

00:05.1 Serial controller: Lava Computer mfg Inc Lava Octo B (rev 03) (prog-if 02 [16550])
        Subsystem: Lava Computer mfg Inc Lava Octo B
        Flags: medium devsel, IRQ 169
        I/O ports at 2420 [size=8]
        I/O ports at 2428 [size=8]
        I/O ports at 2430 [size=8]
        I/O ports at 2438 [size=8]

Running a stock Debian kernel (2.6.18-6-686) gives me only 4 ports; the onboard port, and 3 additional ports from the Octopus:

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:05: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 24 (level, low) -> IRQ 169
0000:00:05.0: ttyS1 at I/O 0x2400 (irq = 169) is a 16550A
0000:00:05.0: ttyS2 at I/O 0x2408 (irq = 169) is a 16550A
0000:00:05.0: ttyS3 at I/O 0x2410 (irq = 169) is a 16550A
Couldn't register serial port 0000:00:05.0: -28
ACPI: PCI Interrupt 0000:00:05.1[A] -> GSI 24 (level, low) -> IRQ 169
Couldn't register serial port 0000:00:05.1: -28

As you can see the last port on PCI device 5.0 couldn't be registered and neither can the ports on device 5.1.

When passing 8250.nr_uarts=16 as an argument to the stock kernel all ports get detected properly:

Serial: 8250/16550 driver $Revision: 1.90 $ 16 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:05: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 24 (level, low) -> IRQ 169
0000:00:05.0: ttyS4 at I/O 0x2400 (irq = 169) is a 16550A
0000:00:05.0: ttyS5 at I/O 0x2408 (irq = 169) is a 16550A
0000:00:05.0: ttyS6 at I/O 0x2410 (irq = 169) is a 16550A
0000:00:05.0: ttyS7 at I/O 0x2418 (irq = 169) is a 16550A
ACPI: PCI Interrupt 0000:00:05.1[A] -> GSI 24 (level, low) -> IRQ 169
0000:00:05.1: ttyS8 at I/O 0x2420 (irq = 169) is a 16550A
0000:00:05.1: ttyS9 at I/O 0x2428 (irq = 169) is a 16550A
0000:00:05.1: ttyS10 at I/O 0x2430 (irq = 169) is a 16550A
0000:00:05.1: ttyS11 at I/O 0x2438 (irq = 169) is a 16550A

When running a Xen enabled kernel and hypervisor and after remapping the xen serial device to ttyS16 (the onboard port) I receive the following output:

Xen virtual console successfully installed as ttyS16
[...]
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
ACPI: PCI Interrupt 0000:00:05.0[A] -> GSI 24 (level, low) -> IRQ 21
0000:00:05.0: ttyS0 at I/O 0x2400 (irq = 21) is a 16550A
0000:00:05.0: ttyS1 at I/O 0x2408 (irq = 21) is a 16550A
0000:00:05.0: ttyS2 at I/O 0x2410 (irq = 21) is a 16550A
0000:00:05.0: ttyS3 at I/O 0x2418 (irq = 21) is a 16550A
ACPI: PCI Interrupt 0000:00:05.1[A] -> GSI 24 (level, low) -> IRQ 21
Couldn't register serial port 0000:00:05.1: -28

I've been fiddling with this all afternoon, but can't get more then 4 ports detected when using Xen. I this some kind of limit, or am I missing something?

Thanks in advance,
Arjen

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

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