[Pkg-xen-devel] xen 2.6.26 on amd64 console troubles

Ian Campbell ijc at hellion.org.uk
Fri Oct 17 06:27:05 UTC 2008


On Thu, 2008-10-16 at 22:50 +0100, Ian Campbell wrote:
> On Thu, 2008-10-16 at 22:47 +0200, Bastian Blank wrote:
> > On Thu, Oct 16, 2008 at 09:38:58PM +0100, Ian Campbell wrote:
> > > On Thu, 2008-10-16 at 20:52 +0200, Bastian Blank wrote: 
> > > > I'm not able to get a console using xencons=off
> > > > console=hvc0. I would have been surprised anyway as the hvc_xen driver
> > > > is disabled by the patch.
> > > I'd guess it won't be as simple as removing this bit of Kconfig.
> > 
> > Nope. I already tried and only partially succeeded. To be exact:
> > console via xenconsoled works, via hypervisor not.
> 
> How about something like this would work as a skanky hack to unify the
> names at least. (it doesn't actually work for some reason, I suspect
> it's trivial but it's late so I'll look into it over the weekend)

It did work, I just needed to update my initrd (I thought I'd get away
with the 2.6.26-1-xen-amd64 since localversion was the same but didn't
for some reason).

Ian.

> --- drivers/xen/console/console.c.orig	2008-10-16 19:33:22.000000000 +0100
> +++ drivers/xen/console/console.c	2008-10-16 22:35:57.000000000 +0100
> @@ -66,20 +66,25 @@
>   *  'xencons=tty'  [XC_TTY]:     Console attached to '/dev/tty[0-9]+'.
>   *  'xencons=ttyS' [XC_SERIAL]:  Console attached to '/dev/ttyS[0-9]+'.
>   *  'xencons=xvc'  [XC_XVC]:     Console attached to '/dev/xvc0'.
> - *  default:                     XC_XVC
> + *  'xencons=hvc'  [XC_HVC]:     Console attached to '/dev/hvc0'.
> + *  default:                     XC_HVC
>   * 
>   * NB. In mode XC_TTY, we create dummy consoles for tty2-63. This suppresses
>   * warnings from standard distro startup scripts.
>   */
>  static enum {
> -	XC_OFF, XC_TTY, XC_SERIAL, XC_XVC
> -} xc_mode = XC_XVC;
> +	XC_OFF, XC_TTY, XC_SERIAL, XC_XVC, XC_HVC
> +} xc_mode = XC_HVC;
>  static int xc_num = -1;
>  
>  /* /dev/xvc0 device number allocated by lanana.org. */
>  #define XEN_XVC_MAJOR 204
>  #define XEN_XVC_MINOR 191
>  
> +/* /dev/hvc0 device number */
> +#define XEN_HVC_MAJOR 229
> +#define XEN_HVC_MINOR 0
> +
>  static int __init xencons_setup(char *str)
>  {
>  	char *q;
> @@ -97,6 +102,9 @@
>  	} else if (!strncmp(str, "xvc", 3)) {
>  		xc_mode = XC_XVC;
>  		str += 3;
> +	} else if (!strncmp(str, "hvc", 3)) {
> +		xc_mode = XC_HVC;
> +		str += 3;
>  	} else if (!strncmp(str, "off", 3)) {
>  		xc_mode = XC_OFF;
>  		str += 3;
> @@ -205,6 +213,12 @@
>  			xc_num = 0;
>  		break;
>  
> +	case XC_HVC:
> +		strcpy(kcons_info.name, "hvc");
> +		if (xc_num == -1)
> +			xc_num = 0;
> +		break;
> +
>  	case XC_SERIAL:
>  		strcpy(kcons_info.name, "ttyS");
>  		if (xc_num == -1)
> @@ -681,6 +695,12 @@
>  		DRV(xencons_driver)->minor_start = XEN_XVC_MINOR;
>  		DRV(xencons_driver)->name_base   = xc_num;
>  		break;
> +	case XC_HVC:
> +		DRV(xencons_driver)->name        = "hvc";
> +		DRV(xencons_driver)->major       = XEN_HVC_MAJOR;
> +		DRV(xencons_driver)->minor_start = XEN_HVC_MINOR;
> +		DRV(xencons_driver)->name_base   = xc_num;
> +		break;
>  	case XC_SERIAL:
>  		DRV(xencons_driver)->name        = "ttyS";
>  		DRV(xencons_driver)->minor_start = 64 + xc_num;
> 
> _______________________________________________
> Pkg-xen-devel mailing list
> Pkg-xen-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/pkg-xen-devel
-- 
Ian Campbell

A witty saying proves nothing.
		-- Voltaire
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : http://lists.alioth.debian.org/pipermail/pkg-xen-devel/attachments/20081017/bc3c51fb/attachment-0001.pgp 


More information about the Pkg-xen-devel mailing list