[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Basic update to new ns16550 driver (not all working yet)
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |