Kay, Allen M
2008-Nov-08 07:23 UTC
[Xen-devel] [PATCH][VTD] fix interrupt remapping to handle SMI RTE''s with uninitialized reserved fields
Some BIOS does not zero out reserve fields in IOAPIC RTE''s. clear_IO_APIC() zeroes out all RTE''s except for RTE with MSI delivery type. This is a problem when the host OS converts SMI delivery type to some other type but leaving the reserved field uninitialized. This can cause interrupt remapping table out of bound error if "format" field is 1 and the uninitialized "index" field has a value that that is larger than the maximum index of interrupt remapping table. Signed-off-by: Allen Kay <allen.m.kay@intel.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Isaku Yamahata
2008-Nov-13 03:29 UTC
Re: [Xen-devel] [PATCH][VTD] fix interrupt remapping to handle SMI RTE''s with uninitialized reserved fields
On Fri, Nov 07, 2008 at 11:23:51PM -0800, Kay, Allen M wrote:> Some BIOS does not zero out reserve fields in IOAPIC RTE''s. clear_IO_APIC() zeroes out all RTE''s except for RTE with MSI delivery type. This is a problem when the host OS converts SMI delivery type to some other type but leaving the reserved field uninitialized. This can cause interrupt remapping table out of bound error if "format" field is 1 and the uninitialized "index" field has a value that that is larger than the maximum index of interrupt remapping table. > > Signed-off-by: Allen Kay <allen.m.kay@intel.com>Hi, this patch causes a compilation error on ia64 as follows. And dest_SMI seems x86 specific. Could you take care of it? ia64-linux-gnu-gcc -O2 -fomit-frame-pointer -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-value -Wdeclaration-after-statement -DNDEBUG -nostdinc -fno-builtin -fno-common -mconstant-gp -O2 -fomit-frame-pointer -D__KERNEL__ -iwithprefix include -I/mnt/eos-fs/home/yamahata/xen-ia64-build/2008/11/13-04_15_02/ia64_staging/xen-unstable.hg-default/xen/include -I/xen-unstable.hg-default/xen/include/asm-ia64 -I/xen-unstable.hg-default/xen/include/asm-ia64/linux -I/xen-unstable.hg-default/xen/include/asm-ia64/linux-xen -I/xen-unstable.hg-default/xen/include/asm-ia64/linux-null -I/xen-unstable.hg-default/xen/arch/ia64/linux -I/xen-unstable.hg-default/xen/arch/ia64/linux-xen -DIA64 -DXEN -DLINUX_2_6 -ffixed-r13 -mfixed-range=f2-f5,f12-f127,b2-b5 -g -DCONFIG_XEN_IA64_EXPOSE_P2M -DCONFIG_XEN_IA64_PERVCPU_VHPT -DCONFIG_XEN_IA64_TLB_TRACK -DCONFIG_XEN_IA64_TLBFLUSH_CLOCK -DVHPT_ENABLED=1 -g -D__XEN__ -c intremap.c -o intremap.o intremap.c: In function io_apic_read_remap_rt: intremap.c:210: error: dest_SMI undeclared (first use in this function) intremap.c:210: error: (Each undeclared identifier is reported only once intremap.c:210: error: for each function it appears in.) intremap.c: In function io_apic_write_remap_rte: intremap.c:256: error: dest_SMI undeclared (first use in this function) -- yamahata _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Kay, Allen M
2008-Nov-13 19:07 UTC
RE: [Xen-devel] [PATCH][VTD] fix interrupt remapping to handle SMI RTE''s with uninitialized reserved fields
This patch should fix IA-64 build break reported by Isaku - by adding "#defined(__i386__) || defined(__x86_64__)" around SMI references in intremap.c. Signed-off-by: Allen Kay <allen.m.kay@intel.com>>-----Original Message----- >From: Isaku Yamahata [mailto:yamahata@valinux.co.jp] >Sent: Wednesday, November 12, 2008 7:30 PM >To: Kay, Allen M >Cc: xen-devel@lists.xensource.com; Han, Weidong; Cui, Dexuan >Subject: Re: [Xen-devel] [PATCH][VTD] fix interrupt remapping >to handle SMI RTE''s with uninitialized reserved fields > >On Fri, Nov 07, 2008 at 11:23:51PM -0800, Kay, Allen M wrote: >> Some BIOS does not zero out reserve fields in IOAPIC RTE''s. >clear_IO_APIC() zeroes out all RTE''s except for RTE with MSI >delivery type. This is a problem when the host OS converts >SMI delivery type to some other type but leaving the reserved >field uninitialized. This can cause interrupt remapping table >out of bound error if "format" field is 1 and the >uninitialized "index" field has a value that that is larger >than the maximum index of interrupt remapping table. >> >> Signed-off-by: Allen Kay <allen.m.kay@intel.com> > >Hi, this patch causes a compilation error on ia64 as follows. >And dest_SMI seems x86 specific. > >Could you take care of it? > >ia64-linux-gnu-gcc -O2 -fomit-frame-pointer >-fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes >-Wno-unused-value -Wdeclaration-after-statement -DNDEBUG >-nostdinc -fno-builtin -fno-common -mconstant-gp -O2 >-fomit-frame-pointer -D__KERNEL__ -iwithprefix include >-I/mnt/eos-fs/home/yamahata/xen-ia64-build/2008/11/13-04_15_02/ >ia64_staging/xen-unstable.hg-default/xen/include >-I/xen-unstable.hg-default/xen/include/asm-ia64 >-I/xen-unstable.hg-default/xen/include/asm-ia64/linux >-I/xen-unstable.hg-default/xen/include/asm-ia64/linux-xen >-I/xen-unstable.hg-default/xen/include/asm-ia64/linux-null >-I/xen-unstable.hg-default/xen/arch/ia64/linux >-I/xen-unstable.hg-default/xen/arch/ia64/linux-xen -DIA64 >-DXEN -DLINUX_2_6 -ffixed-r13 >-mfixed-range=f2-f5,f12-f127,b2-b5 -g >-DCONFIG_XEN_IA64_EXPOSE_P2M -DCONFIG_XEN_IA64_PERVCPU_VHPT >-DCONFIG_XEN_IA64_TLB_TRACK -DCONFIG_XEN_IA64_TLBFLUSH_CLOCK >-DVHPT_ENABLED=1 -g -D__XEN__ -c intremap.c -o intremap.o >intremap.c: In function io_apic_read_remap_rt: >intremap.c:210: error: dest_SMI undeclared (first use in this function) >intremap.c:210: error: (Each undeclared identifier is reported >only once >intremap.c:210: error: for each function it appears in.) >intremap.c: In function io_apic_write_remap_rte: >intremap.c:256: error: dest_SMI undeclared (first use in this function) >-- >yamahata >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel