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

Re: [Xen-ia64-devel] [Patch] Issue about interrupt for PV-on-HVM on IPF

To: Alex Williamson <alex.williamson@xxxxxx>
Subject: Re: [Xen-ia64-devel] [Patch] Issue about interrupt for PV-on-HVM on IPF
From: Doi.Tsunehisa@xxxxxxxxxxxxxx
Date: Mon, 20 Nov 2006 11:17:10 +0900
Cc: xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Sun, 19 Nov 2006 18:17:17 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: Your message of Mon, 20 Nov 2006 10:37:28 +0900. <200611200137.kAK1bSF02521@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <455C2DEB.9010504@xxxxxxxxxxxxxx><1163985915.9305.10.camel@lappy><200611200137.kAK1bSF02521@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi Alex,

I (Doi.Tsunehisa) said:
> You (alex.williamson) said:
>>> +static int get_callback_irq(struct pci_dev *pdev)
>>> +{
>>> +#ifdef __ia64__
>>> +   int irq;
>>> +   for (irq = 0; irq < 16; irq++) {
>>> +           if (isa_irq_to_vector_map[irq] == pdev->irq)
>>> +                   return irq;
>> 
>>    This should probably be isa_irq_to_vector(irq).  Will the HVM PCI
>> device always use an ISA IRQ?  Thanks,
> 
>   In my investigation, it always uses its value.

  In qemu-dm code, it uses only PIC as interrupt controller, I think.
Other interrupt controller is masked as follow:

[tools/ioemu/hw/pc.c]
   627  /* PC hardware initialisation */
   628  static void pc_init1(uint64_t ram_size, ....
   .....
   650      /* init CPUs */
   651      for(i = 0; i < smp_cpus; i++) {
   652          env = cpu_init();
   653  #ifndef CONFIG_DM
   654          if (i != 0)
   655              env->hflags |= HF_HALTED_MASK;
   656          if (smp_cpus > 1) {
   657              /* XXX: enable it in all cases */
   658              env->cpuid_features |= CPUID_APIC;
   659          }
   660  #endif /* !CONFIG_DM */
   661          register_savevm("cpu", i, 3, cpu_save, cpu_load, env);
   662          qemu_register_reset(main_cpu_reset, env);
   663  #ifndef CONFIG_DM
   664          if (pci_enabled) {
   665              apic_init(env);
   666          }
   667  #endif /* !CONFIG_DM */
   668      }
   .....
   818  #ifndef CONFIG_DM
   819      if (pci_enabled) {
   820          ioapic = ioapic_init();
   821      }
   822  #endif /* !CONFIG_DM */
   823      isa_pic = pic_init(pic_irq_request, first_cpu);
   824  #ifndef CONFIG_DM
   825      pit = pit_init(0x40, 0);
   826      pcspk_init(pit);
   827  #endif /* !CONFIG_DM */
   828  #ifndef CONFIG_DM
   829      if (pci_enabled) {
   830          pic_set_alt_irq_func(isa_pic, ioapic_set_irq, ioapic);
   831      }
   832  #endif /* !CONFIG_DM */
   833
   834      if (pci_enabled)
   835          pci_xen_platform_init(pci_bus);

Thanks,
- Tsunehisa Doi

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