From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH] Fixing ioapic write order in io_apic_write_remap_rte Date: Mon, 09 Aug 2010 09:26:09 +0100 Message-ID: <4C5FD7C1020000780000EC7F@vpn.id2.novell.com> References: <1A42CE6F5F474C41B63392A5F80372B22903A75C@shsmsx501.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <1A42CE6F5F474C41B63392A5F80372B22903A75C@shsmsx501.ccr.corp.intel.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Weidong Han Cc: Xen-devel , Yunhong Jiang , Allen M Kay , Keir Fraser List-Id: xen-devel@lists.xenproject.org >>> On 09.08.10 at 05:18, "Han, Weidong" wrote: > At the end of io_apic_write_remap_rte, it writes new entry (remapped=20 > interrupt) to ioapic. But it writes low 32 bits before high 32 bits, = it=20 > unmasks interrupt before writing high 32 bits if 'mask' bit in low 32 = bits is=20 > cleared. Thus it may result in issues. This patch fixes this issue by = writing=20 > high 32 bits before low 32 bits.=20 While I fully agree with this change, isn't there another problem in the error handling path in that the mask bit would not get cleared again if the write is to the upper half of the RTE? Jan