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-ppc-devel

Re: [XenPPC] [PATCH] Use xvc to boot on bare metal

To: Amos Waterland <apw@xxxxxxxxxx>
Subject: Re: [XenPPC] [PATCH] Use xvc to boot on bare metal
From: Hollis Blanchard <hollisb@xxxxxxxxxx>
Date: Tue, 24 Oct 2006 15:18:26 -0500
Cc: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 24 Oct 2006 13:18:46 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20061024151456.GA7969@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: IBM Linux Technology Center
References: <20061024151456.GA7969@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Tue, 2006-10-24 at 11:14 -0400, Amos Waterland wrote:
> This patch allows Linux compiled with xen_maple_defconfig to boot on
> both bare hardware and as a dom0.  I had to respin it to keep up with changes.
> 
> Note that this depends on a xen_start_info patch soon to be posted by Jimi.

I don't see the dependency?

> To use, put `xencons=xvc0' in your Linux bootargs, and run 
> `mknod /dev/xvc0 c 204 187' in your rootfs.  Built and booted up to
> nfsroot on a JS21 ppc64 blade both on bare hardware and as a dom0.

This doesn't seem to be PowerPC-specific. Why don't you send this to
xen-devel?

> Signed-off-by: Amos Waterland <apw@xxxxxxxxxx>
> 
> ---
> 
>  arch/powerpc/configs/xen_maple_defconfig |   12 ++++++++++--
>  drivers/xen/console/console.c            |   27 ++++++++++++++++++++++++++-
>  include/linux/major.h                    |    1 +
>  3 files changed, 37 insertions(+), 3 deletions(-)
> 
> diff -r 968ced1469e8 drivers/xen/console/console.c
> --- a/drivers/xen/console/console.c   Tue Oct 17 17:03:31 2006 -0400
> +++ b/drivers/xen/console/console.c   Mon Oct 23 22:12:03 2006 -0400
> @@ -63,13 +63,20 @@
>   *  'xencons=off'  [XC_OFF]:     Console is disabled.
>   *  '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/xvc[0-9]+'.
>   *                 [XC_DEFAULT]: DOM0 -> XC_SERIAL ; all others -> XC_TTY.
>   * 
>   * 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_DEFAULT, XC_TTY, XC_SERIAL } xc_mode = XC_DEFAULT;
> +static enum { XC_OFF, XC_DEFAULT, XC_TTY, XC_SERIAL, XC_XVC } 
> +    xc_mode = XC_DEFAULT;
>  static int xc_num = -1;
> +
> +/* If we are in XC_XVC mode (a virtual console at /dev/xvcX), we need to
> + * comply with Lanana and use a minor under the low density serial major.
> + */
> +#define XEN_XVC_MINOR 187
>  
>  #ifdef CONFIG_MAGIC_SYSRQ
>  static unsigned long sysrq_requested;
> @@ -85,6 +92,8 @@ static int __init xencons_setup(char *st
>               xc_mode = XC_SERIAL;
>       else if (!strncmp(str, "tty", 3))
>               xc_mode = XC_TTY;
> +     else if (!strncmp(str, "xvc", 3))
> +             xc_mode = XC_XVC;
>       else if (!strncmp(str, "off", 3))
>               xc_mode = XC_OFF;
>  
> @@ -95,6 +104,11 @@ static int __init xencons_setup(char *st
>                       xc_num = n;
>               break;
>       case XC_TTY:
> +             n = simple_strtol(str+3, &q, 10);
> +             if (q > (str + 3))
> +                     xc_num = n;
> +             break;
> +     case XC_XVC:
>               n = simple_strtol(str+3, &q, 10);
>               if (q > (str + 3))
>                       xc_num = n;
> @@ -199,6 +213,12 @@ static int __init xen_console_init(void)
>       }
>  
>       switch (xc_mode) {
> +     case XC_XVC:
> +             strcpy(kcons_info.name, "xvc");
> +             if (xc_num == -1)
> +                     xc_num = 0;
> +             break;
> +
>       case XC_SERIAL:
>               strcpy(kcons_info.name, "ttyS");
>               if (xc_num == -1)
> @@ -595,6 +615,11 @@ static int __init xencons_init(void)
>               DRV(xencons_driver)->name        = "ttyS";
>               DRV(xencons_driver)->minor_start = 64 + xc_num;
>               DRV(xencons_driver)->name_base   = 0 + xc_num;
> +     } else if (xc_mode == XC_XVC) {
> +             DRV(xencons_driver)->name        = "xvc";
> +             DRV(xencons_driver)->major       = LOW_DENS_SERIAL_MAJOR;
> +             DRV(xencons_driver)->minor_start = XEN_XVC_MINOR;
> +             DRV(xencons_driver)->name_base   = xc_num;
>       } else {
>               DRV(xencons_driver)->name        = "tty";
>               DRV(xencons_driver)->minor_start = xc_num;
> diff -r 968ced1469e8 include/linux/major.h
> --- a/include/linux/major.h   Tue Oct 17 17:03:31 2006 -0400
> +++ b/include/linux/major.h   Mon Oct 23 22:12:03 2006 -0400
> @@ -158,6 +158,7 @@
>  
>  #define MSR_MAJOR            202
>  #define CPUID_MAJOR          203
> +#define LOW_DENS_SERIAL_MAJOR        204
>  
>  #define OSST_MAJOR           206     /* OnStream-SCx0 SCSI tape */
>  
> diff -r 968ced1469e8 arch/powerpc/configs/xen_maple_defconfig
> --- a/arch/powerpc/configs/xen_maple_defconfig        Tue Oct 17 17:03:31 
> 2006 -0400
> +++ b/arch/powerpc/configs/xen_maple_defconfig        Tue Oct 24 10:55:38 
> 2006 -0400
> @@ -1,7 +1,7 @@
>  #
>  # Automatically generated make config: don't edit
>  # Linux kernel version: 2.6.17
> -# Sat Oct  7 08:37:53 2006
> +# Tue Oct 24 10:51:54 2006
>  #
>  CONFIG_PPC64=y
>  CONFIG_64BIT=y
> @@ -711,10 +711,18 @@ CONFIG_HW_CONSOLE=y
>  #
>  # Serial drivers
>  #
> +CONFIG_SERIAL_8250=y
> +CONFIG_SERIAL_8250_CONSOLE=y
> +CONFIG_SERIAL_8250_PCI=y
> +CONFIG_SERIAL_8250_NR_UARTS=4
> +CONFIG_SERIAL_8250_RUNTIME_UARTS=4
> +# CONFIG_SERIAL_8250_EXTENDED is not set
>  
>  #
>  # Non-8250 serial port support
>  #
> +CONFIG_SERIAL_CORE=y
> +CONFIG_SERIAL_CORE_CONSOLE=y
>  # CONFIG_SERIAL_ICOM is not set
>  # CONFIG_SERIAL_JSM is not set
>  CONFIG_UNIX98_PTYS=y
> @@ -1168,7 +1176,7 @@ CONFIG_XEN_BLKDEV_FRONTEND=y
>  CONFIG_XEN_BLKDEV_FRONTEND=y
>  CONFIG_XEN_NETDEV_FRONTEND=y
>  CONFIG_XEN_SCRUB_PAGES=y
> -CONFIG_XEN_DISABLE_SERIAL=y
> +# CONFIG_XEN_DISABLE_SERIAL is not set
>  CONFIG_XEN_SYSFS=y
>  # CONFIG_XEN_COMPAT_030002_AND_LATER is not set
>  CONFIG_XEN_COMPAT_LATEST_ONLY=y
> 
> _______________________________________________
> Xen-ppc-devel mailing list
> Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-ppc-devel
-- 
Hollis Blanchard
IBM Linux Technology Center


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

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