ia64/xen-unstable

changeset 14136:bfd4fad0f052

Remap PCI-ISA IRQ 6 to IRQ 7. Disable LPT1 by default and remove its
definition from the ACPI DSDT. This avoids conflict with FDC on IRQ6
(it is a bit more likely that someone will want to connect a floppy
image to a guest than it is that anyone will ever care about
parallel-port functionality).
Signed-off-by: Keir Fraser <keir@xensource.com>
author kfraser@localhost.localdomain
date Mon Feb 26 11:53:35 2007 +0000 (2007-02-26)
parents 047748faa4aa
children 720afbf74001
files tools/firmware/hvmloader/acpi/dsdt.asl tools/firmware/hvmloader/acpi/dsdt.c tools/firmware/hvmloader/config.h tools/firmware/rombios/rombios.c tools/ioemu/vl.c
line diff
     1.1 --- a/tools/firmware/hvmloader/acpi/dsdt.asl	Mon Feb 26 11:21:03 2007 +0000
     1.2 +++ b/tools/firmware/hvmloader/acpi/dsdt.asl	Mon Feb 26 11:53:35 2007 +0000
     1.3 @@ -123,7 +123,7 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, 
     1.4              }
     1.5  
     1.6              Name(BUFA, ResourceTemplate() {
     1.7 -                IRQ(Level, ActiveLow, Shared) { 5, 6, 10, 11 }
     1.8 +                IRQ(Level, ActiveLow, Shared) { 5, 7, 10, 11 }
     1.9              })
    1.10  
    1.11              Name(BUFB, Buffer() {
    1.12 @@ -643,22 +643,6 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, 
    1.13                          IRQNoFlags () {4}
    1.14                      })
    1.15                  }
    1.16 -
    1.17 -                Device (LTP1)
    1.18 -                {
    1.19 -                    Name (_HID, EisaId ("PNP0400"))
    1.20 -                    Name (_UID, 0x02)
    1.21 -                    Method (_STA, 0, NotSerialized)
    1.22 -                    {
    1.23 -                        Return (0x0F)
    1.24 -                    }
    1.25 -
    1.26 -                    Name (_CRS, ResourceTemplate()
    1.27 -                    {
    1.28 -                        IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
    1.29 -                        IRQNoFlags () {7}
    1.30 -                    })
    1.31 -                } 
    1.32              }
    1.33          }
    1.34      }
     2.1 --- a/tools/firmware/hvmloader/acpi/dsdt.c	Mon Feb 26 11:21:03 2007 +0000
     2.2 +++ b/tools/firmware/hvmloader/acpi/dsdt.c	Mon Feb 26 11:53:35 2007 +0000
     2.3 @@ -5,15 +5,15 @@
     2.4   * Copyright (C) 2000 - 2006 Intel Corporation
     2.5   * Supports ACPI Specification Revision 3.0a
     2.6   * 
     2.7 - * Compilation of "dsdt.asl" - Fri Feb 16 15:14:37 2007
     2.8 + * Compilation of "dsdt.asl" - Mon Feb 26 11:09:49 2007
     2.9   * 
    2.10   * C source code output
    2.11   *
    2.12   */
    2.13  unsigned char AmlCode[] =
    2.14  {
    2.15 -    0x44,0x53,0x44,0x54,0x9F,0x0D,0x00,0x00,  /* 00000000    "DSDT...." */
    2.16 -    0x02,0xEE,0x58,0x65,0x6E,0x00,0x00,0x00,  /* 00000008    "..Xen..." */
    2.17 +    0x44,0x53,0x44,0x54,0x67,0x0D,0x00,0x00,  /* 00000000    "DSDTg..." */
    2.18 +    0x02,0xE0,0x58,0x65,0x6E,0x00,0x00,0x00,  /* 00000008    "..Xen..." */
    2.19      0x48,0x56,0x4D,0x00,0x00,0x00,0x00,0x00,  /* 00000010    "HVM....." */
    2.20      0x00,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C,  /* 00000018    "....INTL" */
    2.21      0x07,0x07,0x06,0x20,0x08,0x50,0x4D,0x42,  /* 00000020    "... .PMB" */
    2.22 @@ -27,7 +27,7 @@ unsigned char AmlCode[] =
    2.23      0x04,0x0A,0x07,0x0A,0x07,0x00,0x00,0x08,  /* 00000060    "........" */
    2.24      0x50,0x49,0x43,0x44,0x00,0x14,0x0C,0x5F,  /* 00000068    "PICD..._" */
    2.25      0x50,0x49,0x43,0x01,0x70,0x68,0x50,0x49,  /* 00000070    "PIC.phPI" */
    2.26 -    0x43,0x44,0x10,0x44,0xD2,0x5F,0x53,0x42,  /* 00000078    "CD.D._SB" */
    2.27 +    0x43,0x44,0x10,0x4C,0xCE,0x5F,0x53,0x42,  /* 00000078    "CD.L._SB" */
    2.28      0x5F,0x5B,0x82,0x49,0x04,0x4D,0x45,0x4D,  /* 00000080    "_[.I.MEM" */
    2.29      0x30,0x08,0x5F,0x48,0x49,0x44,0x0C,0x41,  /* 00000088    "0._HID.A" */
    2.30      0xD0,0x0C,0x02,0x08,0x5F,0x43,0x52,0x53,  /* 00000090    "...._CRS" */
    2.31 @@ -37,7 +37,7 @@ unsigned char AmlCode[] =
    2.32      0x00,0x00,0xFF,0xFF,0x09,0x00,0x00,0x00,  /* 000000B0    "........" */
    2.33      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000B8    "........" */
    2.34      0x00,0x00,0x00,0x00,0x0A,0x00,0x00,0x00,  /* 000000C0    "........" */
    2.35 -    0x00,0x00,0x79,0x00,0x5B,0x82,0x41,0xCD,  /* 000000C8    "..y.[.A." */
    2.36 +    0x00,0x00,0x79,0x00,0x5B,0x82,0x49,0xC9,  /* 000000C8    "..y.[.I." */
    2.37      0x50,0x43,0x49,0x30,0x08,0x5F,0x48,0x49,  /* 000000D0    "PCI0._HI" */
    2.38      0x44,0x0C,0x41,0xD0,0x0A,0x03,0x08,0x5F,  /* 000000D8    "D.A...._" */
    2.39      0x55,0x49,0x44,0x00,0x08,0x5F,0x41,0x44,  /* 000000E0    "UID.._AD" */
    2.40 @@ -59,7 +59,7 @@ unsigned char AmlCode[] =
    2.41      0x00,0xF0,0xFF,0xFF,0xFF,0xF4,0x00,0x00,  /* 00000160    "........" */
    2.42      0x00,0x00,0x00,0x00,0x00,0x05,0x79,0x00,  /* 00000168    "......y." */
    2.43      0xA4,0x50,0x52,0x54,0x30,0x08,0x42,0x55,  /* 00000170    ".PRT0.BU" */
    2.44 -    0x46,0x41,0x11,0x09,0x0A,0x06,0x23,0x60,  /* 00000178    "FA....#`" */
    2.45 +    0x46,0x41,0x11,0x09,0x0A,0x06,0x23,0xA0,  /* 00000178    "FA....#." */
    2.46      0x0C,0x18,0x79,0x00,0x08,0x42,0x55,0x46,  /* 00000180    "..y..BUF" */
    2.47      0x42,0x11,0x09,0x0A,0x06,0x23,0x00,0x00,  /* 00000188    "B....#.." */
    2.48      0x18,0x79,0x00,0x8B,0x42,0x55,0x46,0x42,  /* 00000190    ".y..BUFB" */
    2.49 @@ -348,7 +348,7 @@ unsigned char AmlCode[] =
    2.50      0x0C,0x04,0x0C,0xFF,0xFF,0x0F,0x00,0x0A,  /* 00000A68    "........" */
    2.51      0x02,0x00,0x0A,0x2F,0x12,0x0C,0x04,0x0C,  /* 00000A70    ".../...." */
    2.52      0xFF,0xFF,0x0F,0x00,0x0A,0x03,0x00,0x0A,  /* 00000A78    "........" */
    2.53 -    0x10,0x5B,0x82,0x4C,0x31,0x49,0x53,0x41,  /* 00000A80    ".[.L1ISA" */
    2.54 +    0x10,0x5B,0x82,0x44,0x2E,0x49,0x53,0x41,  /* 00000A80    ".[.D.ISA" */
    2.55      0x5F,0x08,0x5F,0x41,0x44,0x52,0x0C,0x00,  /* 00000A88    "_._ADR.." */
    2.56      0x00,0x01,0x00,0x5B,0x80,0x50,0x49,0x52,  /* 00000A90    "...[.PIR" */
    2.57      0x51,0x02,0x0A,0x60,0x0A,0x04,0x10,0x2E,  /* 00000A98    "Q..`...." */
    2.58 @@ -440,13 +440,6 @@ unsigned char AmlCode[] =
    2.59      0x09,0x5F,0x53,0x54,0x41,0x00,0xA4,0x0A,  /* 00000D48    "._STA..." */
    2.60      0x0F,0x08,0x5F,0x43,0x52,0x53,0x11,0x10,  /* 00000D50    ".._CRS.." */
    2.61      0x0A,0x0D,0x47,0x01,0xF8,0x03,0xF8,0x03,  /* 00000D58    "..G....." */
    2.62 -    0x01,0x08,0x22,0x10,0x00,0x79,0x00,0x5B,  /* 00000D60    ".."..y.[" */
    2.63 -    0x82,0x36,0x4C,0x54,0x50,0x31,0x08,0x5F,  /* 00000D68    ".6LTP1._" */
    2.64 -    0x48,0x49,0x44,0x0C,0x41,0xD0,0x04,0x00,  /* 00000D70    "HID.A..." */
    2.65 -    0x08,0x5F,0x55,0x49,0x44,0x0A,0x02,0x14,  /* 00000D78    "._UID..." */
    2.66 -    0x09,0x5F,0x53,0x54,0x41,0x00,0xA4,0x0A,  /* 00000D80    "._STA..." */
    2.67 -    0x0F,0x08,0x5F,0x43,0x52,0x53,0x11,0x10,  /* 00000D88    ".._CRS.." */
    2.68 -    0x0A,0x0D,0x47,0x01,0x78,0x03,0x78,0x03,  /* 00000D90    "..G.x.x." */
    2.69 -    0x08,0x08,0x22,0x80,0x00,0x79,0x00,
    2.70 +    0x01,0x08,0x22,0x10,0x00,0x79,0x00,
    2.71  };
    2.72  int DsdtLen=sizeof(AmlCode);
     3.1 --- a/tools/firmware/hvmloader/config.h	Mon Feb 26 11:21:03 2007 +0000
     3.2 +++ b/tools/firmware/hvmloader/config.h	Mon Feb 26 11:53:35 2007 +0000
     3.3 @@ -9,7 +9,7 @@
     3.4  #define LAPIC_ID(vcpu_id)   ((vcpu_id) * 2)
     3.5  
     3.6  #define PCI_ISA_DEVFN       0x08    /* dev 1, fn 0 */
     3.7 -#define PCI_ISA_IRQ_MASK    0x0c60U /* ISA IRQs 5,6,10,11 are PCI connected */
     3.8 +#define PCI_ISA_IRQ_MASK    0x0ca0U /* ISA IRQs 5,7,10,11 are PCI connected */
     3.9  
    3.10  #define ROMBIOS_SEG            0xF000
    3.11  #define ROMBIOS_BEGIN          0x000F0000
     4.1 --- a/tools/firmware/rombios/rombios.c	Mon Feb 26 11:21:03 2007 +0000
     4.2 +++ b/tools/firmware/rombios/rombios.c	Mon Feb 26 11:53:35 2007 +0000
     4.3 @@ -9214,218 +9214,80 @@ pci_routing_table_structure:
     4.4    db 0 ;; pci bus number
     4.5    db 0x08 ;; pci device number (bit 7-3)
     4.6    db 0x61 ;; link value INTA#: pointer into PCI2ISA config space
     4.7 -  dw 0x0c60 ;; IRQ bitmap INTA# 
     4.8 +  dw 0x0ca0 ;; IRQ bitmap INTA# 
     4.9    db 0x62 ;; link value INTB#
    4.10 -  dw 0x0c60 ;; IRQ bitmap INTB# 
    4.11 +  dw 0x0ca0 ;; IRQ bitmap INTB# 
    4.12    db 0x63 ;; link value INTC#
    4.13 -  dw 0x0c60 ;; IRQ bitmap INTC# 
    4.14 +  dw 0x0ca0 ;; IRQ bitmap INTC# 
    4.15    db 0x60 ;; link value INTD#
    4.16 -  dw 0x0c60 ;; IRQ bitmap INTD#
    4.17 +  dw 0x0ca0 ;; IRQ bitmap INTD#
    4.18    db 0 ;; physical slot (0 = embedded)
    4.19    db 0 ;; reserved
    4.20    ;; second slot entry: 1st PCI slot
    4.21    db 0 ;; pci bus number
    4.22    db 0x10 ;; pci device number (bit 7-3)
    4.23    db 0x62 ;; link value INTA#
    4.24 -  dw 0x0c60 ;; IRQ bitmap INTA# 
    4.25 +  dw 0x0ca0 ;; IRQ bitmap INTA# 
    4.26    db 0x63 ;; link value INTB#
    4.27 -  dw 0x0c60 ;; IRQ bitmap INTB# 
    4.28 +  dw 0x0ca0 ;; IRQ bitmap INTB# 
    4.29    db 0x60 ;; link value INTC#
    4.30 -  dw 0x0c60 ;; IRQ bitmap INTC# 
    4.31 +  dw 0x0ca0 ;; IRQ bitmap INTC# 
    4.32    db 0x61 ;; link value INTD#
    4.33 -  dw 0x0c60 ;; IRQ bitmap INTD#
    4.34 +  dw 0x0ca0 ;; IRQ bitmap INTD#
    4.35    db 1 ;; physical slot (0 = embedded)
    4.36    db 0 ;; reserved
    4.37    ;; third slot entry: 2nd PCI slot
    4.38    db 0 ;; pci bus number
    4.39    db 0x18 ;; pci device number (bit 7-3)
    4.40    db 0x63 ;; link value INTA#
    4.41 -  dw 0x0c60 ;; IRQ bitmap INTA# 
    4.42 +  dw 0x0ca0 ;; IRQ bitmap INTA# 
    4.43    db 0x60 ;; link value INTB#
    4.44 -  dw 0x0c60 ;; IRQ bitmap INTB# 
    4.45 +  dw 0x0ca0 ;; IRQ bitmap INTB# 
    4.46    db 0x61 ;; link value INTC#
    4.47 -  dw 0x0c60 ;; IRQ bitmap INTC# 
    4.48 +  dw 0x0ca0 ;; IRQ bitmap INTC# 
    4.49    db 0x62 ;; link value INTD#
    4.50 -  dw 0x0c60 ;; IRQ bitmap INTD#
    4.51 +  dw 0x0ca0 ;; IRQ bitmap INTD#
    4.52    db 2 ;; physical slot (0 = embedded)
    4.53    db 0 ;; reserved
    4.54    ;; 4th slot entry: 3rd PCI slot
    4.55    db 0 ;; pci bus number
    4.56    db 0x20 ;; pci device number (bit 7-3)
    4.57    db 0x60 ;; link value INTA#
    4.58 -  dw 0x0c60 ;; IRQ bitmap INTA# 
    4.59 +  dw 0x0ca0 ;; IRQ bitmap INTA# 
    4.60    db 0x61 ;; link value INTB#
    4.61 -  dw 0x0c60 ;; IRQ bitmap INTB# 
    4.62 +  dw 0x0ca0 ;; IRQ bitmap INTB# 
    4.63    db 0x62 ;; link value INTC#
    4.64 -  dw 0x0c60 ;; IRQ bitmap INTC# 
    4.65 +  dw 0x0ca0 ;; IRQ bitmap INTC# 
    4.66    db 0x63 ;; link value INTD#
    4.67 -  dw 0x0c60 ;; IRQ bitmap INTD#
    4.68 +  dw 0x0ca0 ;; IRQ bitmap INTD#
    4.69    db 3 ;; physical slot (0 = embedded)
    4.70    db 0 ;; reserved
    4.71    ;; 5th slot entry: 4rd PCI slot
    4.72    db 0 ;; pci bus number
    4.73    db 0x28 ;; pci device number (bit 7-3)
    4.74    db 0x61 ;; link value INTA#
    4.75 -  dw 0x0c60 ;; IRQ bitmap INTA# 
    4.76 +  dw 0x0ca0 ;; IRQ bitmap INTA# 
    4.77    db 0x62 ;; link value INTB#
    4.78 -  dw 0x0c60 ;; IRQ bitmap INTB# 
    4.79 +  dw 0x0ca0 ;; IRQ bitmap INTB# 
    4.80    db 0x63 ;; link value INTC#
    4.81 -  dw 0x0c60 ;; IRQ bitmap INTC# 
    4.82 +  dw 0x0ca0 ;; IRQ bitmap INTC# 
    4.83    db 0x60 ;; link value INTD#
    4.84 -  dw 0x0c60 ;; IRQ bitmap INTD#
    4.85 +  dw 0x0ca0 ;; IRQ bitmap INTD#
    4.86    db 4 ;; physical slot (0 = embedded)
    4.87    db 0 ;; reserved
    4.88    ;; 6th slot entry: 5rd PCI slot
    4.89    db 0 ;; pci bus number
    4.90    db 0x30 ;; pci device number (bit 7-3)
    4.91    db 0x62 ;; link value INTA#
    4.92 -  dw 0x0c60 ;; IRQ bitmap INTA# 
    4.93 +  dw 0x0ca0 ;; IRQ bitmap INTA# 
    4.94    db 0x63 ;; link value INTB#
    4.95 -  dw 0x0c60 ;; IRQ bitmap INTB# 
    4.96 +  dw 0x0ca0 ;; IRQ bitmap INTB# 
    4.97    db 0x60 ;; link value INTC#
    4.98 -  dw 0x0c60 ;; IRQ bitmap INTC# 
    4.99 +  dw 0x0ca0 ;; IRQ bitmap INTC# 
   4.100    db 0x61 ;; link value INTD#
   4.101 -  dw 0x0c60 ;; IRQ bitmap INTD#
   4.102 +  dw 0x0ca0 ;; IRQ bitmap INTD#
   4.103    db 5 ;; physical slot (0 = embedded)
   4.104    db 0 ;; reserved
   4.105 -
   4.106 -pci_irq_list:
   4.107 -  db 11, 10, 9, 5;
   4.108 -
   4.109 -pcibios_init_sel_reg:
   4.110 -  push eax
   4.111 -  mov eax, #0x800000
   4.112 -  mov ax,  bx
   4.113 -  shl eax, #8
   4.114 -  and dl,  #0xfc
   4.115 -  or  al,  dl
   4.116 -  mov dx,  #0x0cf8
   4.117 -  out dx,  eax
   4.118 -  pop eax
   4.119 -  ret
   4.120 -  
   4.121 -pcibios_init_set_elcr:
   4.122 -  push ax
   4.123 -  push cx
   4.124 -  mov  dx, #0x04d0
   4.125 -  test al, #0x08
   4.126 -  jz   is_master_pic
   4.127 -  inc  dx
   4.128 -  and  al, #0x07
   4.129 -is_master_pic:
   4.130 -  mov  cl, al
   4.131 -  mov  bl, #0x01
   4.132 -  shl  bl, cl
   4.133 -  in   al, dx
   4.134 -  or   al, bl
   4.135 -  out  dx, al
   4.136 -  pop  cx
   4.137 -  pop  ax
   4.138 -  ret
   4.139 -
   4.140 -pcibios_init:
   4.141 -  push ds
   4.142 -  push bp
   4.143 -  mov  ax, #0xf000
   4.144 -  mov  ds, ax
   4.145 -  mov  dx, #0x04d0 ;; reset ELCR1 + ELCR2
   4.146 -  mov  al, #0x00
   4.147 -  out  dx, al
   4.148 -  inc  dx
   4.149 -  out  dx, al
   4.150 -  mov  si, #pci_routing_table_structure
   4.151 -  mov  bh, [si+8]
   4.152 -  mov  bl, [si+9]
   4.153 -  mov  dl, #0x00
   4.154 -  call pcibios_init_sel_reg
   4.155 -  mov  dx, #0x0cfc
   4.156 -  in   eax, dx
   4.157 -  cmp  eax, [si+12] ;; check irq router
   4.158 -  jne  pci_init_end
   4.159 -  mov  dl, [si+34]
   4.160 -  call pcibios_init_sel_reg
   4.161 -  push bx ;; save irq router bus + devfunc
   4.162 -  mov  dx, #0x0cfc
   4.163 -  mov  ax, #0x8080
   4.164 -  out  dx, ax ;; reset PIRQ route control
   4.165 -  inc  dx
   4.166 -  inc  dx
   4.167 -  out  dx, ax
   4.168 -  mov  ax, [si+6]
   4.169 -  sub  ax, #0x20
   4.170 -  shr  ax, #4
   4.171 -  mov  cx, ax
   4.172 -  add  si, #0x20 ;; set pointer to 1st entry
   4.173 -  mov  bp, sp
   4.174 -  mov  ax, #pci_irq_list
   4.175 -  push ax
   4.176 -  xor  ax, ax
   4.177 -  push ax
   4.178 -pci_init_loop1:
   4.179 -  mov  bh, [si]
   4.180 -  mov  bl, [si+1]
   4.181 -pci_init_loop2:
   4.182 -  mov  dl, #0x00
   4.183 -  call pcibios_init_sel_reg
   4.184 -  mov  dx, #0x0cfc
   4.185 -  in   ax, dx
   4.186 -  cmp  ax, #0xffff
   4.187 -  jnz  pci_test_int_pin
   4.188 -  test bl, #0x07
   4.189 -  jz   next_pir_entry
   4.190 -  jmp  next_pci_func
   4.191 -pci_test_int_pin:
   4.192 -  mov  dl, #0x3c
   4.193 -  call pcibios_init_sel_reg
   4.194 -  mov  dx, #0x0cfd
   4.195 -  in   al, dx
   4.196 -  and  al, #0x07
   4.197 -  jz   next_pci_func
   4.198 -  dec  al ;; determine pirq reg
   4.199 -  mov  dl, #0x03
   4.200 -  mul  al, dl
   4.201 -  add  al, #0x02
   4.202 -  xor  ah, ah
   4.203 -  mov  bx, ax
   4.204 -  mov  al, [si+bx]
   4.205 -  mov  dl, al
   4.206 -  mov  bx, [bp]
   4.207 -  call pcibios_init_sel_reg
   4.208 -  mov  dx, #0x0cfc
   4.209 -  and  al, #0x03
   4.210 -  add  dl, al
   4.211 -  in   al, dx
   4.212 -  cmp  al, #0x80
   4.213 -  jb   pirq_found
   4.214 -  mov  bx, [bp-2] ;; pci irq list pointer
   4.215 -  mov  al, [bx]
   4.216 -  out  dx, al
   4.217 -  inc  bx
   4.218 -  mov  [bp-2], bx
   4.219 -  call pcibios_init_set_elcr
   4.220 -pirq_found:
   4.221 -  mov  bh, [si]
   4.222 -  mov  bl, [si+1]
   4.223 -  add  bl, [bp-3] ;; pci function number
   4.224 -  mov  dl, #0x3c
   4.225 -  call pcibios_init_sel_reg
   4.226 -  mov  dx, #0x0cfc
   4.227 -  out  dx, al
   4.228 -next_pci_func:
   4.229 -  inc  byte ptr[bp-3]
   4.230 -  inc  bl
   4.231 -  test bl, #0x07
   4.232 -  jnz  pci_init_loop2
   4.233 -next_pir_entry:
   4.234 -  add  si, #0x10
   4.235 -  mov  byte ptr[bp-3], #0x00
   4.236 -  loop pci_init_loop1
   4.237 -  mov  sp, bp
   4.238 -  pop  bx
   4.239 -pci_init_end:
   4.240 -  pop  bp
   4.241 -  pop  ds
   4.242 -  ret
   4.243  #endif // BX_PCIBIOS
   4.244  
   4.245  ; parallel port detection: base address in DX, index in BX, timeout in CL
     5.1 --- a/tools/ioemu/vl.c	Mon Feb 26 11:21:03 2007 +0000
     5.2 +++ b/tools/ioemu/vl.c	Mon Feb 26 11:53:35 2007 +0000
     5.3 @@ -6044,9 +6044,14 @@ int main(int argc, char **argv)
     5.4      for(i = 1; i < MAX_SERIAL_PORTS; i++)
     5.5          serial_devices[i][0] = '\0';
     5.6      serial_device_index = 0;
     5.7 -    
     5.8 +
     5.9 +#ifndef CONFIG_DM
    5.10      pstrcpy(parallel_devices[0], sizeof(parallel_devices[0]), "vc");
    5.11      for(i = 1; i < MAX_PARALLEL_PORTS; i++)
    5.12 +#else
    5.13 +    /* Xen steals IRQ7 for PCI. Disable LPT1 by default. */
    5.14 +    for(i = 0; i < MAX_PARALLEL_PORTS; i++)
    5.15 +#endif
    5.16          parallel_devices[i][0] = '\0';
    5.17      parallel_device_index = 0;
    5.18