]>
www.infradead.org Git - users/hch/dma-mapping.git/log 
Steven Noonan [Mon, 8 Sep 2008 23:19:09 +0000  (16:19 -0700)] 
 
x86: fix HPET compiler error when not using CONFIG_PCI_MSISigned-off-by: Steven Noonan <steven@uplinklabs.net> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Venki Pallipadi [Mon, 8 Sep 2008 17:18:40 +0000  (10:18 -0700)] 
 
x86: using HPET in MSI mode and setting up per CPU HPET timers, fix
On Sat, Sep 06, 2008 at 06:03:53AM -0700, Ingo Molnar wrote:
>
> it crashes two testsystems, the fault on a NULL pointer in hpet init,
> with:
>
> initcall print_all_ICs+0x0/0x520 returned 0 after 26 msecs
> calling  hpet_late_init+0x0/0x1c0
> BUG: unable to handle kernel NULL pointer dereference at 
000000000000008c 
> IP: [<
ffffffff80d228be >] hpet_late_init+0xfe/0x1c0
> PGD 0
> Oops: 0000 [1] SMP
> CPU 0
> Modules linked in:
> Pid: 1, comm: swapper Not tainted 2.6.27-rc5 #29725
> RIP: 0010:[<
ffffffff80d228be >]  [<
ffffffff80d228be >] hpet_late_init+0xfe/0x1c0
> RSP: 0018:
ffff88003fa07dd0   EFLAGS: 
00010246 
> RAX: 
0000000000000000  RBX: 
0000000000000003  RCX: 
0000000000000000 
> RDX: 
ffffc20000000160  RSI: 
0000000000000000  RDI: 
0000000000000003 
> RBP: 
ffff88003fa07e90  R08: 
0000000000000000  R09: 
ffff88003fa07dd0 
> R10: 
0000000000000001  R11: 
0000000000000000  R12: 
ffff88003fa07dd0 
> R13: 
0000000000000002  R14: 
ffffc20000000000  R15: 
000000006f57e511 
> FS:  
0000000000000000 (0000) GS:
ffffffff80cf6a80 (0000) knlGS:
0000000000000000 
> CS:  0010 DS: 0018 ES: 0018 CR0: 
000000008005003b 
> CR2: 
000000000000008c  CR3: 
0000000000201000  CR4: 
00000000000006e0 
> DR0: 
0000000000000000  DR1: 
0000000000000000  DR2: 
0000000000000000 
> DR3: 
0000000000000000  DR6: 
00000000ffff0ff0  DR7: 
0000000000000400 
> Process swapper (pid: 1, threadinfo 
ffff88003fa06000 , task 
ffff88003fa08000 )
> Stack:  
00000000fed00000  ffffc20000000000  0000000100000003  0000000800000002 
>  
0000000000000000  0000000000000000  0000000000000000  0000000000000000 
>  
0000000000000000  0000000000000000  0000000000000000  0000000000000000 
> Call Trace:
>  [<
ffffffff80d227c0 >] ? hpet_late_init+0x0/0x1c0
>  [<
ffffffff80209045 >] do_one_initcall+0x45/0x190
>  [<
ffffffff80296f39 >] ? register_irq_proc+0x19/0xe0
>  [<
ffffffff80d0d140 >] ? early_idt_handler+0x0/0x73
>  [<
ffffffff80d0dabc >] kernel_init+0x14c/0x1b0
>  [<
ffffffff80942ac1 >] ? trace_hardirqs_on_thunk+0x3a/0x3f
>  [<
ffffffff8020dbd9 >] child_rip+0xa/0x11
>  [<
ffffffff8020ceee >] ? restore_args+0x0/0x30
>  [<
ffffffff80d0d970 >] ? kernel_init+0x0/0x1b0
>  [<
ffffffff8020dbcf >] ? child_rip+0x0/0x11
> Code: 20 48 83 c1 01 48 39 f1 75 e3 44 89 e8 4c 8b 05 29 29 22 00 31 f6 48 8d 78 01 66 66 90 89 f0 48 8d 04 80 48 c1 e0 05 4a 8d 0c 00 <f6> 81 8c 00 00 00 08 74 26 8b 81 80 00 00 00 8b 91 88 00 00 00
> RIP  [<
ffffffff80d228be >] hpet_late_init+0xfe/0x1c0
>  RSP <
ffff88003fa07dd0 >
> CR2: 
000000000000008c 
> Kernel panic - not syncing: Fatal exception
There was one code path, with CONFIG_PCI_MSI disabled, where we were accessing
hpet_devs without initialization. That resulted in the above crash. The change
below adds a check for hpet_devs.
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> 
Signed-off-by: Shaohua Li <shaohua.li@intel.com> 
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Mon, 8 Sep 2008 15:38:06 +0000  (19:38 +0400)] 
 
x86: io-apic - do not use KERN_DEBUG marker too muchReported-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Mon, 8 Sep 2008 00:58:57 +0000  (17:58 -0700)] 
 
x86: lapic address print out like io apic addrSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sat, 6 Sep 2008 17:26:50 +0000  (10:26 -0700)] 
 
dyn_array: remove one panicSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Sat, 6 Sep 2008 10:15:33 +0000  (14:15 +0400)] 
 
x86: io-apic - code style cleaning for setup_IO_APIC_irqsSigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
venkatesh.pallipadi@intel.com [Sat, 6 Sep 2008 01:02:18 +0000  (18:02 -0700)] 
 
x86: HPET_MSI Initialise per-cpu HPET timersSigned-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Ingo Molnar [Sat, 6 Sep 2008 12:19:17 +0000  (14:19 +0200)] 
 
x86: HPET_MSI Basic HPET_MSI setup code, cleanupsSigned-off-by: Ingo Molnar <mingo@elte.hu> 
venkatesh.pallipadi@intel.com [Sat, 6 Sep 2008 01:02:17 +0000  (18:02 -0700)] 
 
x86: HPET_MSI Basic HPET_MSI setup codeSigned-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
venkatesh.pallipadi@intel.com [Sat, 6 Sep 2008 01:02:16 +0000  (18:02 -0700)] 
 
x86: HPET_MSI Refactor code in preparation for HPET_MSISigned-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
venkatesh.pallipadi@intel.com [Sat, 6 Sep 2008 01:02:15 +0000  (18:02 -0700)] 
 
x86: HPET_MSI change IRQ affinity in process context when it is disabledSigned-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Fri, 5 Sep 2008 17:03:37 +0000  (10:03 -0700)] 
 
irq: error missed ifndef CONFIG_HAVE_SPARSE_IRQ, v2Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Dean Nelson [Fri, 5 Sep 2008 14:10:40 +0000  (09:10 -0500)] 
 
irq: set_irq_chip() has redundant call to irq_to_desc()Signed-off-by: Dean Nelson <dcn@sgi.com> Cc: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Dean Nelson [Fri, 5 Sep 2008 14:07:20 +0000  (09:07 -0500)] 
 
irq: error missed ifndef CONFIG_HAVE_SPARSE_IRQSigned-off-by: Dean Nelson <dcn@sgi.com> Cc: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Thu, 4 Sep 2008 18:37:50 +0000  (22:37 +0400)] 
 
x86: io-apic - declare irq_cfg_lock for SPARSE_IRQ onlySigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Thu, 4 Sep 2008 18:37:49 +0000  (22:37 +0400)] 
 
x86: io-apic - use ARRAY_SIZE macroSigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Thu, 4 Sep 2008 18:57:13 +0000  (20:57 +0200)] 
 
dyn_array: fix typoSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Thu, 4 Sep 2008 18:57:11 +0000  (20:57 +0200)] 
 
x86: print out if acpi want physical flat of allSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
H. Peter Anvin [Thu, 4 Sep 2008 16:56:10 +0000  (09:56 -0700)] 
 
dyn_array: don't break compiling for !CONFIG_SMPSigned-off-by: H. Peter Anvin <hpa@zytor.com> 
Suresh Siddha [Wed, 3 Sep 2008 23:58:35 +0000  (16:58 -0700)] 
 
dmar: fix dmar_parse_dev() devices_cnt error condition checkSigned-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Acked-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Suresh Siddha [Wed, 3 Sep 2008 23:58:34 +0000  (16:58 -0700)] 
 
dmar: use list_for_each_entry_safe() in dmar_dev_scope_init()Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Acked-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 3 Sep 2008 23:58:33 +0000  (16:58 -0700)] 
 
dmar: initialize the return value in dmar_parse_dev()Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 3 Sep 2008 23:58:32 +0000  (16:58 -0700)] 
 
dmar: fix using early fixmap mapping for DMAR table parsingSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 3 Sep 2008 23:58:31 +0000  (16:58 -0700)] 
 
x2apic: fix reserved APIC register accesses in print_local_APIC()Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Cc: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Ingo Molnar [Thu, 28 Aug 2008 06:56:33 +0000  (08:56 +0200)] 
 
sparseirq: export nr_irqs on m68k/sparc/s390Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Mon, 25 Aug 2008 17:27:26 +0000  (21:27 +0400)] 
 
x86: apic - unify smp_spurious/error_interrupt declarationSigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Mon, 25 Aug 2008 19:41:19 +0000  (12:41 -0700)] 
 
sparseirq: move kstat_irqs from kstat to irq_desc - fixSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Mon, 25 Aug 2008 05:41:26 +0000  (22:41 -0700)] 
 
x86: let 64 bit to use 32 bit calibrate_apic_clockSigned-of-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:56 +0000  (02:01  -0700)] 
 
x86: rename apic_32.c and apic_64.c to apic.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:55 +0000  (02:01  -0700)] 
 
x86: apic copy apic_64.c to apic_32.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:54 +0000  (02:01  -0700)] 
 
x86: apic copy calibrate_APIC_clock to each other in apic_32/64.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:53 +0000  (02:01  -0700)] 
 
x86: apic unify smp_spurious/error_interruptSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:52 +0000  (02:01  -0700)] 
 
x86: merge header files in apic_xx.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:51 +0000  (02:01  -0700)] 
 
x86: copy detect_init_APIC to the otherSigned-off-by: Yinghai Lu <yhlu.kernel@mgail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:50 +0000  (02:01  -0700)] 
 
x86: merge APIC_init_uniprocessorSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:49 +0000  (02:01  -0700)] 
 
x86: make apic_32/64.c more likeSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:48 +0000  (02:01  -0700)] 
 
x86: add hard_smp_prossor_id with MACRO in io_apic_xx.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:47 +0000  (02:01  -0700)] 
 
x86: use HAVE_X2APIC in apic_64.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Sun, 24 Aug 2008 09:01:46 +0000  (02:01  -0700)] 
 
x86: apic_xx.c order variablesSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Sun, 24 Aug 2008 09:01:45 +0000  (02:01  -0700)] 
 
x86: apic - unify smp_apic_timer_interruptSigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Sun, 24 Aug 2008 09:01:44 +0000  (02:01  -0700)] 
 
x86: apic_32.c should use __cpuinit sectionSigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Sun, 24 Aug 2008 09:01:43 +0000  (02:01  -0700)] 
 
x86: apic - unify setup_local_APICSigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Sun, 24 Aug 2008 09:01:42 +0000  (02:01  -0700)] 
 
x86: apic_64.c - add sanity check for spurious vector definitionSigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Sun, 24 Aug 2008 09:01:41 +0000  (02:01  -0700)] 
 
x86: apic - unify setup_apicpmtimerSigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Sun, 24 Aug 2008 09:01:40 +0000  (02:01  -0700)] 
 
x86: apic - introduce get_physical_broadcast for 64bitSigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Cyrill Gorcunov [Sun, 24 Aug 2008 09:01:39 +0000  (02:01  -0700)] 
 
x86: apic_64.c - setup_APIC_timer has to be __cpuinit functionSigned-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Alok Kataria [Thu, 21 Aug 2008 18:26:43 +0000  (11:26 -0700)] 
 
x86: VMI, initialize IRQ vectorSigned-off-by: Alok N Kataria <akataria@vmware.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Thu, 21 Aug 2008 20:10:09 +0000  (13:10 -0700)] 
 
x86: fix probe_nr_irqs for xenSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Acked-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Acked-by: Alex Nixon <alex.nixon@citrix.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Thu, 21 Aug 2008 19:56:32 +0000  (12:56 -0700)] 
 
x86: fix 32-bit ioapic lockup with sparseirqsSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Thu, 21 Aug 2008 03:46:25 +0000  (20:46 -0700)] 
 
x86: sparse_irq needs spin_lock in allocationsSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Suresh Siddha [Thu, 21 Aug 2008 00:22:51 +0000  (17:22 -0700)] 
 
sparseirq: fix intr-remap with dyn_array/nr_irqs changes]Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Ingo Molnar [Mon, 18 Aug 2008 11:04:26 +0000  (13:04 +0200)] 
 
warning: fix arch x86 kernel io_apic cSigned-off-by: Ingo Molnar <mingo@elte.hu> 
Alex Nixon [Tue, 19 Aug 2008 05:17:08 +0000  (22:17 -0700)] 
 
xen: Fix bug `do_IRQ: cannot handle IRQ -1 vector 0x6 cpu 1'
Following commit 
9c3f2468d8339866d9ef6a25aae31a8909c6be0d , do_IRQ()
looks up the IRQ number in the per-cpu variable vector_irq.
This commit makes Xen initialise an identity vector_irq map for both X86_32 and X86_64.
Signed-off-by: Alex Nixon <alex.nixon@citrix.com> 
Acked-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> 
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:54 +0000  (20:50 -0700)] 
 
dyn_array: split dyn_array functions from init/main.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Alex Nixon [Wed, 20 Aug 2008 03:50:53 +0000  (20:50 -0700)] 
 
xen: fix memory access violation bug when CONFIG_HAVE_SPARSE_IRQ is enabledSigned-off-by: Alex Nixon <alex.nixon@citrix.com> Acked-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:52 +0000  (20:50 -0700)] 
 
x86: probe nr_irqs even only mptable is usedSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:51 +0000  (20:50 -0700)] 
 
x86: make HAVE_SPARSE_IRQ support selectableSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:50 +0000  (20:50 -0700)] 
 
x86: print local APIC of APs one by oneSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:49 +0000  (20:50 -0700)] 
 
x86: remove first_free_entry/pin_map_sizeSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:48 +0000  (20:50 -0700)] 
 
x86: unify ack_apic_edgeSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:47 +0000  (20:50 -0700)] 
 
x86: unify mask_IO_APIC_irqSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:46 +0000  (20:50 -0700)] 
 
x86: irq: interrupt array size should be NR_VECTORSSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:45 +0000  (20:50 -0700)] 
 
pci: change msi-x vector to 32bitSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:43 +0000  (20:50 -0700)] 
 
io_apic: make 32 bit have io_apic resource in /proc/iomemSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:42 +0000  (20:50 -0700)] 
 
rename io_apic_64.c and io_apic_32.c to io_apic.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Ingo Molnar [Wed, 20 Aug 2008 07:07:45 +0000  (09:07 +0200)] 
 
x86: make io_apic_32.c the same as io_apic_64.cSigned-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:41 +0000  (20:50 -0700)] 
 
x86: make io_apic_64.c and io_apic_32.c the sameSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:40 +0000  (20:50 -0700)] 
 
x86: remove ioapic_forceSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:39 +0000  (20:50 -0700)] 
 
x86: make 64 handle sis_apic_bug like the 32 bitSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:38 +0000  (20:50 -0700)] 
 
x86: make headers files the same in io_apic_xx.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Ingo Molnar [Wed, 20 Aug 2008 03:50:37 +0000  (20:50 -0700)] 
 
sparseirq: fix lockdep
-tip testing found this lockdep splat:
[    0.000000] Initializing CPU#0
[    0.000000] found new irq_desc for irq 0
[    0.000000] INFO: trying to register non-static key.
[    0.000000] the code is fine but needs lockdep annotation.
[    0.000000] turning off the locking correctness validator.
[    0.000000] Pid: 0, comm: swapper Not tainted 
2.6.27-rc3-tip-00191-g98ccb89 -dirty #1
[    0.000000]  [<
c0153c22 >] register_lock_class+0x3d2/0x400
[    0.000000]  [<
c0104d87 >] ? mcount_call+0x5/0xa
[    0.000000]  [<
c0154f3a >] __lock_acquire+0x22a/0x5d0
[    0.000000]  [<
c0104d87 >] ? mcount_call+0x5/0xa
[    0.000000]  [<
c0155351 >] lock_acquire+0x71/0xa0
[    0.000000]  [<
c016d61f >] ? set_irq_chip+0x3f/0x90
[    0.000000]  [<
c070f148 >] _spin_lock_irqsave+0x58/0x90
[    0.000000]  [<
c016d61f >] ? set_irq_chip+0x3f/0x90
[    0.000000]  [<
c016d61f >] set_irq_chip+0x3f/0x90
[    0.000000]  [<
c016d7e0 >] ? handle_level_irq+0x0/0xe0
[    0.000000]  [<
c016da1a >] set_irq_chip_and_handler_name+0x1a/0x40
[    0.000000]  [<
c0a396c1 >] init_ISA_irqs+0x51/0xa0
[    0.000000]  [<
c0a4a365 >] pre_intr_init_hook+0x25/0x30
[    0.000000]  [<
c0a39723 >] native_init_IRQ+0x13/0x370
[    0.000000]  [<
c015569c >] ? lock_release+0xcc/0x1d0
[    0.000000]  [<
c0104d87 >] ? mcount_call+0x5/0xa
[    0.000000]  [<
c070dc22 >] ? __mutex_unlock_slowpath+0x92/0x110
[    0.000000]  [<
c070dcad >] ? mutex_unlock+0xd/0x10
[    0.000000]  [<
c0135f62 >] ? cpu_maps_update_done+0x12/0x20
[    0.000000]  [<
c06c6743 >] ? register_cpu_notifier+0x23/0x30
[    0.000000]  [<
c011e8ae >] init_IRQ+0xe/0x10
[    0.000000]  [<
c0a357a5 >] start_kernel+0x1c5/0x340
[    0.000000]  [<
c0a35280 >] ? unknown_bootoption+0x0/0x210
[    0.000000]  [<
c0a3506b >] i386_start_kernel+0x6b/0x80
[    0.000000]  =======================
[    0.000000] found new irq_desc for irq 1
[    0.000000] found new irq_desc for irq 2
[    0.000000] found new irq_desc for irq 3
this:
 static void init_one_irq_desc(struct irq_desc *desc)
 {
         memcpy(desc, &irq_desc_init, sizeof(struct irq_desc));
 #ifdef CONFIG_TRACE_IRQFLAGS
         lockdep_set_class(&desc->lock, &irq_desc_lock_class);
 #endif
 }
should be unconditional.
Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:36 +0000  (20:50 -0700)] 
 
x86: order variables in io_apic_xx.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:35 +0000  (20:50 -0700)] 
 
x86: ordering functions in io_apic_64.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:34 +0000  (20:50 -0700)] 
 
x86: ordering functions in io_apic_32.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:33 +0000  (20:50 -0700)] 
 
x86, io-apic: remove union about dest for log/phySigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:32 +0000  (20:50 -0700)] 
 
x86: add debug info for 32bit sparse_irqSigned-off-by: Yinghai Lu  <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:28 +0000  (20:50 -0700)] 
 
x86: make 32bit support per_cpu vectorSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:27 +0000  (20:50 -0700)] 
 
x86: make 32 bit to use sparse_irqSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:26 +0000  (20:50 -0700)] 
 
x86: make 32bit to use irq_2_pin in irq_cfgSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:25 +0000  (20:50 -0700)] 
 
x86: make 32bit use irq_cfg_alloc, etcSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:24 +0000  (20:50 -0700)] 
 
x86: add irq_cfg for 32bitSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:23 +0000  (20:50 -0700)] 
 
x86: remove irqbalance in kernel for 32 bitSigned-off-by: Yinghai Lu <yhlu.kernel@gmai.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:22 +0000  (20:50 -0700)] 
 
x86: use 28 bits irq NR for pci msi/msix and htSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:21 +0000  (20:50 -0700)] 
 
x86: put irq_2_iommu pointer into irq_descSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:20 +0000  (20:50 -0700)] 
 
x86_64: make /proc/interrupts work with dyn irq_descSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:19 +0000  (20:50 -0700)] 
 
x86_64: separate irq_cfgx from irq_cfgx_freeSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:18 +0000  (20:50 -0700)] 
 
irq: separate sparse_irqs from sparse_irqs_freeSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:17 +0000  (20:50 -0700)] 
 
x86_64: rename irq_desc/irq_desc_allocSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:16 +0000  (20:50 -0700)] 
 
x86: check with without_new in show_interruptsSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:15 +0000  (20:50 -0700)] 
 
generic: add irq_desc in function in parameterSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:14 +0000  (20:50 -0700)] 
 
irq: remove >= nr_irqs checking with config_have_sparse_irqSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:13 +0000  (20:50 -0700)] 
 
x86, ioapic: replace loop with nr_irqs with for_each_irq_icfgSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:12 +0000  (20:50 -0700)] 
 
irq, fs/proc: replace loop with nr_irqs for proc/statSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:11 +0000  (20:50 -0700)] 
 
irq: replace loop with nr_irqs with for_each_irq_descSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:10 +0000  (20:50 -0700)] 
 
irq: add irq_desc_without_newSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:09 +0000  (20:50 -0700)] 
 
x86: move kstat_irqs from kstat to irq_descSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:08 +0000  (20:50 -0700)] 
 
x86: put timer_rand_state pointer into irq_descSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:07 +0000  (20:50 -0700)] 
 
x86: put irq_2_pin pointer into irq_cfgSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Yinghai Lu [Wed, 20 Aug 2008 03:50:06 +0000  (20:50 -0700)] 
 
x86: add irq_cfg in io_apic_64.cSigned-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> 
Ingo Molnar [Wed, 20 Aug 2008 03:50:29 +0000  (20:50 -0700)] 
 
irq: sparse irqs, fix IRQ auto-probe crash
fix:
[   10.631533] calling  yenta_socket_init+0x0/0x20
[   10.631533] Yenta: CardBus bridge found at 0000:15:00.0 [17aa:2012]
[   10.631533] Yenta: Using INTVAL to route CSC interrupts to PCI
[   10.631533] Yenta: Routing CardBus interrupts to PCI
[   10.631533] Yenta TI: socket 0000:15:00.0, mfunc 0x01d01002, devctl 0x64
[   10.731599] BUG: unable to handle kernel NULL pointer dereference at 
00000040 
[   10.731838] IP: [<
c0c95b5f >] _spin_lock_irq+0xf/0x20
[   10.732221] *pde = 
00000000 
[   10.732741] Oops: 0002 [#1] SMP
[   10.733453]
[   10.734253] Pid: 1, comm: swapper Tainted: G        W (
2.6.27-rc3-tip-00173-gd7eaa4f -dirty #1)
[   10.735188] EIP: 0060:[<
c0c95b5f >] EFLAGS: 
00010002  CPU: 0
[   10.735523] EIP is at _spin_lock_irq+0xf/0x20
[   10.735523] EAX: 
00000040  EBX: 
00000000  ECX: 
f6e04c90  EDX: 
00000100 
[   10.735523] ESI: 
000000df  EDI: 
f6e04c90  EBP: 
f7867df0  ESP: 
f7867df0 
[   10.735523]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[   10.735523] Process swapper (pid: 1, ti=
f7867000  task=
f7870000  task.ti=
f7867000 )
[   10.735523] Stack: 
f7867e04  c0155fbd  00000000  00000000  f6e04c90  f7867e5c  c0c6e319  c0f6a074 
[   10.735523]        
f6e04c90  000017aa  00002012  c112b648  f791f240  c112b5e0  f7867e44  c010440b 
[   10.735523]        
f791f240  f791f29c  c112b8ec  f791f240  00000000  f7867e5c  c048f893  03c0b648 
[   10.735523] Call Trace:
[   10.735523]  [<
c0155fbd >] ? probe_irq_on+0x3d/0x140
[   10.735523]  [<
c0c6e319 >] ? yenta_probe+0x529/0x640
[   10.735523]  [<
c010440b >] ? mcount_call+0x5/0xa
[   10.735523]  [<
c048f893 >] ? pci_match_device+0xa3/0xb0
[   10.735523]  [<
c048fc1e >] ? pci_device_probe+0x5e/0x80
[   10.735523]  [<
c0515423 >] ? driver_probe_device+0x83/0x180
[   10.735523]  [<
c0515594 >] ? __driver_attach+0x74/0x80
[   10.735523]  [<
c0514b69 >] ? bus_for_each_dev+0x49/0x70
[   10.735523]  [<
c051528e >] ? driver_attach+0x1e/0x20
[   10.735523]  [<
c0515520 >] ? __driver_attach+0x0/0x80
[   10.735523]  [<
c05150d3 >] ? bus_add_driver+0x1a3/0x220
[   10.735523]  [<
c048fb60 >] ? pci_device_remove+0x0/0x40
[   10.735523]  [<
c05157f4 >] ? driver_register+0x54/0x130
[   10.735523]  [<
c048fe2f >] ? __pci_register_driver+0x4f/0x90
[   10.735523]  [<
c11e9419 >] ? yenta_socket_init+0x19/0x20
[   10.735523]  [<
c0101125 >] ? do_one_initcall+0x35/0x160
[   10.735523]  [<
c11e9400 >] ? yenta_socket_init+0x0/0x20
[   10.735523]  [<
c01391a6 >] ? __queue_work+0x36/0x50
[   10.735523]  [<
c013922d >] ? queue_work_on+0x3d/0x50
[   10.735523]  [<
c11a2758 >] ? kernel_init+0x148/0x210
[   10.735523]  [<
c11a2610 >] ? kernel_init+0x0/0x210
[   10.735523]  [<
c01043f3 >] ? kernel_thread_helper+0x7/0x10
[   10.735523]  =======================
[   10.735523] Code: 10 38 f2 74 06 f3 90 8a 10 eb f6 5d 89 c8 c3 8d b6 00 00 00 00 8d bc 27 00 00 00 00 55 89 e5 e8 a4 e8 46 ff fa ba 00 01 00 00 90 <66> 0f c1 10 38 f2 74 06 f3 90 8a 10 eb f6 5d c3 90 55 89 e5 53
as auto-probing wants to iterate over existing irqs.
Signed-off-by: Ingo Molnar <mingo@elte.hu>