With a few recent changes, we have the console working pretty well on the xen/ia64 port. However, we''re trying to come to grips with the xen0/U config file implication of xencons_driver. It seems the xen0 config file cannot include CONFIG_SERIAL_8250 since the default console for that domain is a serial device. Likewise xenU cannot include CONFIG_VT because those domains default to tty devices. In both cases the call to tty_register_driver() overlaps with major/minor number for the in-kernel drivers and therefore cannot co-exist. What can we do to fix this? I assume these devices were chosen for compatibility, but on ia64 we''d ideally like to be able to boot kernels with generic config files that work either on bare metal or xen. I don''t know if we should try to standardize something like a "ttyXen" device or if there''s some more obscure device we could piggy back on. Any thoughts on where we might go with this? I assume there are some people out there that would like to use physical 8250 UART ports w/ a xen0 kernel if nothing else. Thanks, Alex -- Alex Williamson HP Linux & Open Source Lab _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
> With a few recent changes, we have the console working > pretty well on the xen/ia64 port. However, we''re trying to > come to grips with the xen0/U config file implication of > xencons_driver. It seems the xen0 config file cannot include > CONFIG_SERIAL_8250 since the default console for that domain > is a serial device. Likewise xenU cannot include CONFIG_VT > because those domains default to tty devices. In both cases > the call to tty_register_driver() overlaps with major/minor > number for the in-kernel drivers and therefore cannot co-exist.Yep, it would be good to have a standard xen console device in the same way we now have xvdX. We actually probably want a range to allow for multiple consoles.> What can we do to fix this? I assume these devices were > chosen for compatibility, but on ia64 we''d ideally like to be > able to boot kernels with generic config files that work > either on bare metal or xen. I don''t know if we should try > to standardize something like a "ttyXen" > device or if there''s some more obscure device we could piggy back on. > Any thoughts on where we might go with this? I assume there > are some people out there that would like to use physical > 8250 UART ports w/ a xen0 kernel if nothing else. Thanks,I''ve appended my checkin message from when I last made changes in this area. Best, Ian bitkeeper revision 1.1236.42.1 (42422fb2SvqEyBwXAZf3p2BJS-gfBA) If Xen is told to use a serial console via a com1= or com2= directive on the Xen command line, it now hides that particular UART from dom0. This means that it''s now safe to enable the 8250 driver in the Linux config. If Xen has been told to use com1, the dom0 linux kernel will not see /dev/ttyS0, but will see ttyS1,S2 etc if they are present, enabling them to be used for mice, modems, printers etc. Unfortunately, the 8250 driver will register itself for a ttyS even if that particular UART isn''t present. This is really annoying, as it prevents the ''xencons'' driver registering itself as ttyS0 even though the 8250 won''t see ttyS0 as present if Xen is using com1. This prevents us from enabling 8250 in the default kernel config, as it will change current behaviour. If you want to use 8250 and xencons, the trick is to tell xencons to grab a high numbered ttyS port that the 8250 driver will have left alone. For example, put "xencons=ttyS31" on the Linux command line. You''ll then be able to edit /etc/inittab to add an entry for a getty on ttyS31 if you want to be able to log in on the serial console that is being shared with Xen. If anyone knows a way of cleanly kicking the 8250 driver off a particular char minor then please let me know! _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Tue, 2005-12-06 at 23:14 +0000, Ian Pratt wrote:> I''ve appended my checkin message from when I last made changes in this > area....> If you want to use 8250 and xencons, the trick is to tell xencons to > grab a high numbered ttyS port that the 8250 driver will have left > alone. For example, put "xencons=ttyS31" on the Linux command line. > You''ll then be able to edit /etc/inittab to add an entry for a > getty on ttyS31 if you want to be able to log in on the serial console > that is being shared with Xen.Am I misinterpreting how to do this or is something broken? I just pulled a new clone of xen-unstable.hg and tried the simple case of incrementing xencons to ttyS1 on a generic x86_64 system. This is still using all default configs, so the 8250 driver is not included in the xen0 config. It blows up with some interesting messages about ttyS2(?) Does anyone know the problem here? Thanks, Alex [grub] kernel /boot/xen-3.0.gz dom0_mem=512M com1=115200,8n1 console=com1 ... module /boot/vmlinuz-2.6.12-xen0 root=/dev/hda1 ro xencons=ttyS1 console=ttyS1,115200n8 ... [xen boot] [xenlinux boot...] Kernel command line: root=/dev/hda1 ro xencons=ttyS1 console=ttyS1,115200n8 ... Xen virtual console successfully installed as ttyS1 ... EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Warning: dev (ttyS2) tty->count(2) != #fd''s(1) in release_dev Warning: dev (ttyS2) tty->count(3) != #fd''s(1) in tty_open Unable to handle kernel paging request at 0000000000006500 RIP: <ffffffff80252f86>{unset_locked_termios+22} PGD b36067 PUD b37067 PMD 0 Oops: 0000 [1] CPU 0 Modules linked in: Pid: 1, comm: init Not tainted 2.6.12.6-xen0 RIP: e030:[<ffffffff80252f86>] <ffffffff80252f86>{unset_locked_termios+22} RSP: e02b:ffff880000703e00 EFLAGS: 00010206 RAX: 0000000000000016 RBX: ffff880000b0e000 RCX: ffff880000b0e018 RDX: 0000000000006500 RSI: ffff880000703e08 RDI: ffff8800009c5e80 RBP: 00007fffff9eb7d0 R08: 0000000000006500 R09: ffffffff8024f660 R10: 0000000000000000 R11: ffffffffff577000 R12: ffff880000b0e0a8 R13: ffff880000703e08 R14: ffff880000703e68 R15: ffff880000b0e018 -- Alex Williamson HP Linux & Open Source Lab _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel