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-changelog

[Xen-changelog] Basic update to new ns16550 driver (not all working yet)

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Basic update to new ns16550 driver (not all working yet)
From: BitKeeper Bot <riel@xxxxxxxxxxx>
Date: Fri, 03 Jun 2005 16:39:51 +0000
Delivery-date: Sat, 04 Jun 2005 16:00:58 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: Xen Development List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
ChangeSet 1.1666, 2005/06/03 10:39:51-06:00, djm@xxxxxxxxxxxxxxx

        Basic update to new ns16550 driver (not all working yet)
        
        Signed-off by: Dan Magenheimer <dan.magenheimer@xxxxxx>
        Signed-off-by Kevin Tian <Kevin.tian@xxxxxxxxx>



 arch/ia64/Makefile                   |    2 
 arch/ia64/hpsimserial.c              |   23 ++++++++
 arch/ia64/patch/linux-2.6.11/setup.c |   33 ++++++-----
 arch/ia64/xensetup.c                 |   98 +++++++++++++++++------------------
 include/asm-ia64/init.h              |    2 
 5 files changed, 92 insertions(+), 66 deletions(-)


diff -Nru a/xen/arch/ia64/Makefile b/xen/arch/ia64/Makefile
--- a/xen/arch/ia64/Makefile    2005-06-04 12:01:46 -04:00
+++ b/xen/arch/ia64/Makefile    2005-06-04 12:01:46 -04:00
@@ -4,7 +4,7 @@
 
 OBJS = xensetup.o setup.o time.o irq.o ia64_ksyms.o process.o smp.o \
        xenmisc.o pdb-stub.o acpi.o hypercall.o \
-       machvec.o dom0_ops.o domain.o \
+       machvec.o dom0_ops.o domain.o hpsimserial.o \
        idle0_task.o pal.o hpsim.o efi.o efi_stub.o ivt.o mm_contig.o \
        xenmem.o sal.o cmdline.o mm_init.o tlb.o smpboot.o \
        extable.o linuxextable.o xenirq.o xentime.o \
diff -Nru a/xen/arch/ia64/hpsimserial.c b/xen/arch/ia64/hpsimserial.c
--- /dev/null   Wed Dec 31 16:00:00 196900
+++ b/xen/arch/ia64/hpsimserial.c       2005-06-04 12:01:46 -04:00
@@ -0,0 +1,23 @@
+/*
+ * HP Ski simulator serial I/O
+ *
+ * Copyright (C) 2004 Hewlett-Packard Co
+ *     Dan Magenheimer <dan.magenheimer@xxxxxx>
+ */
+
+#include <linux/config.h>
+#include <xen/sched.h>
+#include <xen/serial.h>
+#include <asm/hpsim_ssc.h>
+
+static void hp_ski_putc(struct serial_port *port, char c)
+{
+       ia64_ssc(c,0,0,0,SSC_PUTCHAR);
+}
+
+static struct uart_driver hp_ski = { .putc = hp_ski_putc };
+
+void hpsim_serial_init(void)
+{
+       serial_register_uart(0, &hp_ski, 0);
+}
diff -Nru a/xen/arch/ia64/patch/linux-2.6.11/setup.c 
b/xen/arch/ia64/patch/linux-2.6.11/setup.c
--- a/xen/arch/ia64/patch/linux-2.6.11/setup.c  2005-06-04 12:01:46 -04:00
+++ b/xen/arch/ia64/patch/linux-2.6.11/setup.c  2005-06-04 12:01:46 -04:00
@@ -1,5 +1,5 @@
---- 
/home/adsharma/disk2/xen-ia64/xeno-unstable-rebase.bk/xen/../../linux-2.6.11/arch/ia64/kernel/setup.c
      2005-03-01 23:37:49.000000000 -0800
-+++ 
/home/adsharma/disk2/xen-ia64/xeno-unstable-rebase.bk/xen/arch/ia64/setup.c     
   2005-05-18 12:40:50.000000000 -0700
+--- ../../linux-2.6.11/arch/ia64/kernel/setup.c        2005-03-02 
00:37:49.000000000 -0700
++++ arch/ia64/setup.c  2005-06-03 10:14:24.000000000 -0600
 @@ -51,6 +51,10 @@
  #include <asm/smp.h>
  #include <asm/system.h>
@@ -11,7 +11,7 @@
  
  #if defined(CONFIG_SMP) && (IA64_CPU_SIZE > PAGE_SIZE)
  # error "struct cpuinfo_ia64 too big!"
-@@ -127,7 +130,16 @@
+@@ -127,7 +131,16 @@
                range_end   = min(end, rsvd_region[i].start);
  
                if (range_start < range_end)
@@ -28,7 +28,7 @@
  
                /* nothing more available in this segment */
                if (range_end == end) return 0;
-@@ -185,7 +197,12 @@
+@@ -185,7 +198,12 @@
        n++;
  
        rsvd_region[n].start = (unsigned long) ia64_imva((void *)KERNEL_START);
@@ -41,7 +41,7 @@
        n++;
  
  #ifdef CONFIG_BLK_DEV_INITRD
-@@ -299,7 +316,11 @@
+@@ -299,17 +317,25 @@
  }
  
  void __init
@@ -53,22 +53,33 @@
  {
        unw_init();
  
-@@ -308,8 +329,14 @@
+       ia64_patch_vtop((u64) __start___vtop_patchlist, (u64) 
__end___vtop_patchlist);
+ 
        *cmdline_p = __va(ia64_boot_param->command_line);
++#ifdef XEN
++      efi_init();
++#else
        strlcpy(saved_command_line, *cmdline_p, COMMAND_LINE_SIZE);
  
-+#ifdef XEN
-+      cmdline_parse(*cmdline_p);
-+#undef CONFIG_ACPI_BOOT
-+#endif
        efi_init();
-+#ifndef XEN
        io_port_init();
 +#endif
  
  #ifdef CONFIG_IA64_GENERIC
        {
-@@ -351,8 +378,18 @@
+@@ -336,6 +362,11 @@
+       }
+ #endif
+ 
++#ifdef XEN
++      early_cmdline_parse(cmdline_p);
++      cmdline_parse(*cmdline_p);
++#undef CONFIG_ACPI_BOOT
++#endif
+       if (early_console_setup(*cmdline_p) == 0)
+               mark_bsp_online();
+ 
+@@ -351,8 +382,18 @@
  # endif
  #endif /* CONFIG_APCI_BOOT */
  
@@ -87,7 +98,7 @@
        /* process SAL system table: */
        ia64_sal_init(efi.sal_systab);
  
-@@ -360,6 +397,10 @@
+@@ -360,6 +401,10 @@
        cpu_physical_id(0) = hard_smp_processor_id();
  #endif
  
@@ -98,7 +109,7 @@
        cpu_init();     /* initialize the bootstrap CPU */
  
  #ifdef CONFIG_ACPI_BOOT
-@@ -492,12 +533,14 @@
+@@ -492,12 +537,14 @@
  {
  }
  
@@ -113,7 +124,7 @@
  
  void
  identify_cpu (struct cpuinfo_ia64 *c)
-@@ -551,6 +594,12 @@
+@@ -551,6 +598,12 @@
        }
        c->unimpl_va_mask = ~((7L<<61) | ((1L << (impl_va_msb + 1)) - 1));
        c->unimpl_pa_mask = ~((1L<<63) | ((1L << phys_addr_size) - 1));
@@ -126,7 +137,7 @@
  }
  
  void
-@@ -659,7 +708,11 @@
+@@ -659,7 +712,11 @@
                                        | IA64_DCR_DA | IA64_DCR_DD | 
IA64_DCR_LC));
        atomic_inc(&init_mm.mm_count);
        current->active_mm = &init_mm;
diff -Nru a/xen/arch/ia64/xensetup.c b/xen/arch/ia64/xensetup.c
--- a/xen/arch/ia64/xensetup.c  2005-06-04 12:01:46 -04:00
+++ b/xen/arch/ia64/xensetup.c  2005-06-04 12:01:46 -04:00
@@ -19,6 +19,7 @@
 #include <asm/meminit.h>
 #include <asm/page.h>
 #include <asm/setup.h>
+#include <xen/string.h>
 
 unsigned long xenheap_phys_end;
 
@@ -35,39 +36,18 @@
 int find_max_pfn (unsigned long, unsigned long, void *);
 void start_of_day(void);
 
-/* opt_console: comma-separated list of console outputs. */
-#ifdef IA64
-unsigned char opt_console[30] = "com1";
-#else
-unsigned char opt_console[30] = "com1,vga";
-#endif
-/* opt_conswitch: a character pair controlling console switching. */
-/* Char 1: CTRL+<char1> is used to switch console input between Xen and DOM0 */
-/* Char 2: If this character is 'x', then do not auto-switch to DOM0 when it */
-/*         boots. Any other value, or omitting the char, enables auto-switch */
-unsigned char opt_conswitch[5] = "a"; /* NB. '`' would disable switching. */
-/* opt_com[12]: Config serial port with a string <baud>,DPS,<io-base>,<irq>. */
-unsigned char opt_com1[30] = "", opt_com2[30] = "";
-/* opt_dom0_mem: Kilobytes of memory allocated to domain 0. */
-unsigned int opt_dom0_mem = 16000;
 /* opt_noht: If true, Hyperthreading is ignored. */
-int opt_noht=0;
+int opt_noht = 0;
+boolean_param("noht", opt_noht);
+
 /* opt_nosmp: If true, secondary processors are ignored. */
-int opt_nosmp=0;
-/* opt_noreboot: If true, machine will need manual reset on error. */
-int opt_noreboot=0;
-/* opt_watchdog: If true, run a watchdog NMI on each processor. */
-int opt_watchdog=0;
-/* opt_pdb: Name of serial port for Xen pervasive debugger (and enable pdb) */
-unsigned char opt_pdb[10] = "none";
-/* opt_tbuf_size: trace buffer size (in pages) */
-unsigned int opt_tbuf_size = 10;
-/* opt_sched: scheduler - default to Borrowed Virtual Time */
-char opt_sched[10] = "bvt";
-/* opt_leveltrigger, opt_edgetrigger: Force an IO-APIC-routed IRQ to be */
-/*                                    level- or edge-triggered.         */
-/* Example: 'leveltrigger=4,5,6,20 edgetrigger=21'. */
-char opt_leveltrigger[30] = "", opt_edgetrigger[30] = "";
+static int opt_nosmp = 0;
+boolean_param("nosmp", opt_nosmp);
+
+/* maxcpus: maximum number of CPUs to activate. */
+static unsigned int max_cpus = NR_CPUS;
+integer_param("maxcpus", max_cpus); 
+
 /*
  * opt_xenheap_megabytes: Size of Xen heap in megabytes, including:
  *     xen image
@@ -80,23 +60,6 @@
  */
 unsigned int opt_xenheap_megabytes = XENHEAP_DEFAULT_MB;
 unsigned long xenheap_size = XENHEAP_DEFAULT_SIZE;
-/*
- * opt_nmi: one of 'ignore', 'dom0', or 'fatal'.
- *  fatal:  Xen prints diagnostic message and then hangs.
- *  dom0:   The NMI is virtualised to DOM0.
- *  ignore: The NMI error is cleared and ignored.
- */
-#ifdef NDEBUG
-char opt_nmi[10] = "dom0";
-#else
-char opt_nmi[10] = "fatal";
-#endif
-/*
- * Comma-separated list of hexadecimal page numbers containing bad bytes.
- * e.g. 'badpage=0x3f45,0x8a321'.
- */
-char opt_badpage[100] = "";
-
 extern long running_on_sim;
 unsigned long xen_pstart;
 
@@ -133,6 +96,42 @@
         (*call)();
 }
 
+/*
+ * IPF loader only supports one commaind line currently, for
+ * both xen and guest kernel. This function provides pre-parse
+ * to mixed command line, to split it into two parts.
+ *
+ * User should split the parameters by "--", with strings after
+ * spliter for guest kernel. Missing "--" means whole line belongs

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Basic update to new ns16550 driver (not all working yet), BitKeeper Bot <=