[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [PATCH][VT] Clear the pending interrupt on shared page when PIC initialized


  • To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
  • From: "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>
  • Date: Mon, 12 Sep 2005 19:11:15 +0800
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Mon, 12 Sep 2005 11:09:04 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcW3hKxSNiwTVDV6TgCNH19G1ta3IwABG+bA
  • Thread-topic: [Xen-devel] [PATCH][VT] Clear the pending interrupt on shared page when PIC initialized

Keir Fraser wrote:
> On 12 Sep 2005, at 11:10, Jiang, Yunhong wrote:
> 
>> When PIC is initialized and the irq base changed, the pending
>> interrupt on shared page should be cleared.
> 
> For the i8259 device-model change -- ought we to be hooking off the
> cpu_interrupt/cpu_reset_interrupt functions rather than adding new
> hooks?
> 
> Also, are the patches to the PIT code directly related to the PIC
> patch or should they be split out with a separate explanation?
> 
>   -- Keir

This patch works for following scenerio:
1) The BIOS set the irq base to 0x20, and then interrupt is injected
through shared page.
2) The OS disable interurpt , and reset the PIC with ICW1~ICW4. In this
process, it changes the irq base for PIC from 0x20 to 0x30 through ICW2.

On original code, when OS enable interrupt again after step 2, the
interrupts that was kept on shared page and has no chance to be injected
will be injected into guest. However, at this time, the guest has change
the irq base. So maybe 0x20 will be injected into guest, which cause
wrong vectoring on guest.

The patch on PIC and  PIT works together for this purpose, since the PIT
interrupt is injected on HV directly.


Thanks
Yunhong Jiang

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.