WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

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

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] Max number of serial ports in dom0?
From: Arjen Roodselaar <xen@xxxxxxxxxx>
Date: Thu, 24 Apr 2008 16:10:07 +0200
Delivery-date: Thu, 24 Apr 2008 07:25:28 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>