ia64/xen-unstable

changeset 6565:f41f8d753b7a

merge?
author cl349@firebug.cl.cam.ac.uk
date Wed Aug 31 09:32:52 2005 +0000 (2005-08-31)
parents 7115d6c6c792 7032428bc820
children 6d4c0bfc3c1c
files linux-2.6-xen-sparse/arch/xen/i386/kernel/acpi/boot.c tools/console/daemon/io.c tools/libxc/xc_load_aout9.c
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/acpi/boot.c	Wed Aug 31 08:43:31 2005 +0000
     1.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/acpi/boot.c	Wed Aug 31 09:32:52 2005 +0000
     1.3 @@ -469,6 +469,18 @@ unsigned int acpi_register_gsi(u32 gsi, 
     1.4  	unsigned int irq;
     1.5  	unsigned int plat_gsi = gsi;
     1.6  
     1.7 +#ifdef CONFIG_PCI
     1.8 +	/*
     1.9 +	 * Make sure all (legacy) PCI IRQs are set as level-triggered.
    1.10 +	 */
    1.11 +	if (acpi_irq_model == ACPI_IRQ_MODEL_PIC) {
    1.12 +		extern void eisa_set_level_irq(unsigned int irq);
    1.13 +
    1.14 +		if (edge_level == ACPI_LEVEL_SENSITIVE)
    1.15 +				eisa_set_level_irq(gsi);
    1.16 +	}
    1.17 +#endif
    1.18 +
    1.19  #ifdef CONFIG_X86_IO_APIC
    1.20  	if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC) {
    1.21  		plat_gsi = mp_register_gsi(gsi, edge_level, active_high_low);
     3.1 --- a/tools/libxc/xc_load_aout9.c	Wed Aug 31 08:43:31 2005 +0000
     3.2 +++ b/tools/libxc/xc_load_aout9.c	Wed Aug 31 09:32:52 2005 +0000
     3.3 @@ -15,6 +15,8 @@
     3.4  
     3.5  #define round_pgup(_p)    (((_p)+(PAGE_SIZE-1))&PAGE_MASK)
     3.6  #define round_pgdown(_p)  ((_p)&PAGE_MASK)
     3.7 +#define KZERO             0x80000000
     3.8 +#define KOFFSET(_p)       ((_p)&~KZERO)
     3.9  
    3.10  static int parseaout9image(char *, unsigned long, struct domain_setup_info *);
    3.11  static int loadaout9image(char *, unsigned long, int, u32, unsigned long *, struct domain_setup_info *);
    3.12 @@ -63,7 +65,7 @@ parseaout9image(
    3.13      txtsz = round_pgup(ehdr.text);
    3.14      end = start + txtsz + ehdr.data + ehdr.bss;
    3.15  
    3.16 -    dsi->v_start	= start;
    3.17 +    dsi->v_start	= KZERO;
    3.18      dsi->v_kernstart	= start;
    3.19      dsi->v_kernend	= end;
    3.20      dsi->v_kernentry	= ehdr.entry;
    3.21 @@ -83,19 +85,19 @@ loadaout9image(
    3.22      struct domain_setup_info *dsi)
    3.23  {
    3.24      struct Exec ehdr;
    3.25 -    unsigned long txtsz;
    3.26 +    unsigned long start, txtsz;
    3.27  
    3.28      if (!get_header(image, image_size, &ehdr)) {
    3.29          ERROR("Kernel image does not have a a.out9 header.");
    3.30          return -EINVAL;
    3.31      }
    3.32  
    3.33 +    start = round_pgdown(ehdr.entry);
    3.34      txtsz = round_pgup(ehdr.text);
    3.35      copyout(xch, dom, parray, 
    3.36 -            0, image, sizeof ehdr + ehdr.text);
    3.37 +            start, image, sizeof ehdr + ehdr.text);
    3.38      copyout(xch, dom, parray, 
    3.39 -            txtsz, image + sizeof ehdr + ehdr.text, ehdr.data);
    3.40 -    /* XXX zeroing of BSS needed? */
    3.41 +            start+txtsz, image + sizeof ehdr + ehdr.text, ehdr.data);
    3.42  
    3.43      /* XXX load symbols */
    3.44  
    3.45 @@ -110,13 +112,14 @@ static void
    3.46  copyout(
    3.47      int xch, u32 dom,
    3.48      unsigned long *parray,
    3.49 -    unsigned long off,
    3.50 +    unsigned long addr,
    3.51      void *buf,
    3.52      int sz)
    3.53  {
    3.54 -    unsigned long pgoff, chunksz;
    3.55 +    unsigned long pgoff, chunksz, off;
    3.56      void *pg;
    3.57  
    3.58 +    off = KOFFSET(addr);
    3.59      while (sz > 0) {
    3.60          pgoff = off & (PAGE_SIZE-1);
    3.61          chunksz = sz;