1. 19 8月, 2008 11 次提交
  2. 18 8月, 2008 1 次提交
  3. 17 8月, 2008 6 次提交
  4. 16 8月, 2008 2 次提交
  5. 15 8月, 2008 4 次提交
  6. 24 7月, 2008 2 次提交
  7. 21 7月, 2008 1 次提交
  8. 20 7月, 2008 1 次提交
    • S
      x86: APIC: Remove apic_write_around(); use alternatives, merge fix · f586bf7d
      Suresh Siddha 提交于
      On Fri, Jul 18, 2008 at 02:03:48PM -0700, Ingo Molnar wrote:
      >
      > * Yinghai Lu <yhlu.kernel@gmail.com> wrote:
      >
      > > > git merge tip/x86/x2apic
      > > CONFLICT (content): Merge conflict in arch/x86/kernel/Makefile
      > > CONFLICT (content): Merge conflict in arch/x86/kernel/paravirt.c
      > > CONFLICT (content): Merge conflict in arch/x86/kernel/smpboot.c
      > > CONFLICT (content): Merge conflict in arch/x86/kernel/vmi_32.c
      > > CONFLICT (content): Merge conflict in arch/x86/xen/enlighten.c
      > > CONFLICT (content): Merge conflict in include/asm-x86/apic.h
      > > CONFLICT (content): Merge conflict in include/asm-x86/paravirt.h
      >
      > that's due to the changes in tip/x86/apic and in tip/x86/uv.
      >
      > ok, i've just merged x86/apic into x86/x2apic and x86/uv as well, and
      > pushed out the result.
      >
      > Note: it's a first raw merge and completely untested. It will now merge
      > cleanly into tip/master. There are probably a few details missing.
      
      Ingo, thanks for doing this. While I was testing my merge changes, you posted
      yours... anyhow we need this piece, which is missing from your merge.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: Yinghai Lu <yhlu.kernel@gmail.com>
      Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Zachary Amsden <zach@vmware.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f586bf7d
  9. 18 7月, 2008 2 次提交
  10. 12 7月, 2008 7 次提交
    • Y
      x86: make read_apic_id return final apicid · 4c9961d5
      Yinghai Lu 提交于
      also remove GET_APIC_ID when read_apic_id is used.
      
      need to apply after
      	[PATCH] x86: mach_apicdef.h need to include before smp.h
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      4c9961d5
    • S
      x64, x2apic/intr-remap: add x2apic support, including enabling interrupt-remapping · 6e1cb38a
      Suresh Siddha 提交于
      x2apic support.  Interrupt-remapping must be enabled before enabling x2apic,
      this is needed to ensure that IO interrupts continue to work properly after the
      cpu mode is changed to x2apic(which uses 32bit extended physical/cluster
      apic id).
      
      On systems where apicid's are > 255, BIOS can handover the control to OS in
      x2apic mode. Or if the OS handover was in legacy xapic mode, check
      if it is capable of x2apic mode. And if we succeed in enabling
      Interrupt-remapping, then we can enable x2apic mode in the CPU.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: akpm@linux-foundation.org
      Cc: arjan@linux.intel.com
      Cc: andi@firstfloor.org
      Cc: ebiederm@xmission.com
      Cc: jbarnes@virtuousgeek.org
      Cc: steiner@sgi.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      6e1cb38a
    • S
      x64, x2apic/intr-remap: IO-APIC support for interrupt-remapping · 89027d35
      Suresh Siddha 提交于
      IO-APIC support in the presence of interrupt-remapping infrastructure.
      
      IO-APIC RTE will be programmed with interrupt-remapping table entry(IRTE)
      index and the IRTE will contain information about the vector, cpu destination,
      trigger mode etc, which traditionally was present in the IO-APIC RTE.
      
      Introduce a new irq_chip for cleaner irq migration (in the process
      context as opposed to the current irq migration in the context of an interrupt.
      interrupt-remapping infrastructure will help us achieve this cleanly).
      
      For edge triggered, irq migration is a simple atomic update(of vector
      and cpu destination) of IRTE and flush the hardware cache.
      
      For level triggered, we need to modify the io-apic RTE aswell with the update
      vector information, along with modifying IRTE with vector and cpu destination.
      So irq migration for level triggered is little  bit more complex compared to
      edge triggered migration. But the good news is, we use the same algorithm
      for level triggered migration as we have today, only difference being,
      we now initiate the irq migration from process context instead of the
      interrupt context.
      
      In future, when we do a directed EOI (combined with cpu EOI broadcast
      suppression) to the IO-APIC, level triggered irq migration will also be
      as simple as edge triggered migration and we can do the irq migration
      with a simple atomic update to IO-APIC RTE.
      
      TBD: some tests/changes needed in the presence of fixup_irqs() for
      level triggered irq migration.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: akpm@linux-foundation.org
      Cc: arjan@linux.intel.com
      Cc: andi@firstfloor.org
      Cc: ebiederm@xmission.com
      Cc: jbarnes@virtuousgeek.org
      Cc: steiner@sgi.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      89027d35
    • S
      x64, x2apic/intr-remap: x2apic ops for x2apic mode support · 13c88fb5
      Suresh Siddha 提交于
      x2apic ops for x2apic mode support. This uses MSR interface and differs
      slightly from the xapic register layout.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: akpm@linux-foundation.org
      Cc: arjan@linux.intel.com
      Cc: andi@firstfloor.org
      Cc: ebiederm@xmission.com
      Cc: jbarnes@virtuousgeek.org
      Cc: steiner@sgi.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      13c88fb5
    • S
      x64, x2apic/intr-remap: basic apic ops support · 1b374e4d
      Suresh Siddha 提交于
      Introduce basic apic operations which handle the apic programming. This
      will be used later to introduce another specific operations for x2apic.
      
      For the perfomance critial accesses like IPI's, EOI etc, we use the
      native operations as they are already referenced by different
      indirections like genapic, irq_chip etc.
      
      64bit Paravirt ops can also define their apic operations accordingly.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: akpm@linux-foundation.org
      Cc: arjan@linux.intel.com
      Cc: andi@firstfloor.org
      Cc: ebiederm@xmission.com
      Cc: jbarnes@virtuousgeek.org
      Cc: steiner@sgi.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      1b374e4d
    • S
      x64, x2apic/intr-remap: Interrupt-remapping and x2apic support, fix · 2d7a66d0
      Suresh Siddha 提交于
      Yinghai Lu wrote:
      
      > Setting APIC routing to physical flat
      > Kernel panic - not syncing: Boot APIC ID in local APIC unexpected (0 vs 4)
      > Pid: 1, comm: swapper Not tainted 2.6.26-rc9-tip-01763-g74f94b1-dirty #320
      >
      > Call Trace:
      >  [<ffffffff80a21505>] ? set_cpu_sibling_map+0x38c/0x3bd
      >  [<ffffffff80245215>] ? read_xapic_id+0x25/0x3e
      >  [<ffffffff80e5a2c3>] ? verify_local_APIC+0x139/0x1b9
      >  [<ffffffff80245215>] ? read_xapic_id+0x25/0x3e
      >  [<ffffffff80e589af>] ? native_smp_prepare_cpus+0x224/0x2e9
      >  [<ffffffff80e4881a>] ? kernel_init+0x64/0x341
      >  [<ffffffff8022a439>] ? child_rip+0xa/0x11
      >  [<ffffffff80e487b6>] ? kernel_init+0x0/0x341
      >  [<ffffffff8022a42f>] ? child_rip+0x0/0x11
      >
      >
      > guess read_apic_id changing cuase some problem...
      
      genapic's read_apic_id() returns the actual apic id extracted from
      the APIC_ID register. And in some cases like UV, read_apic_id()
      returns completely different values from APIC ID register.
      
      Use the native apic register read, rather than genapic read_apic_id()
      in verify_local_APIC()
      
      And also, lapic_suspend() should also use native apic register read.
      Reported-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: "akpm@linux-foundation.org" <akpm@linux-foundation.org>
      Cc: "arjan@linux.intel.com" <arjan@linux.intel.com>
      Cc: "andi@firstfloor.org" <andi@firstfloor.org>
      Cc: "ebiederm@xmission.com" <ebiederm@xmission.com>
      Cc: "jbarnes@virtuousgeek.org" <jbarnes@virtuousgeek.org>
      Cc: "steiner@sgi.com" <steiner@sgi.com>
      Cc: "jeremy@goop.org" <jeremy@goop.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      2d7a66d0
    • S
      x64, x2apic/intr-remap: introduce read_apic_id() to genapic routines · 0c81c746
      Suresh Siddha 提交于
      Move the read_apic_id()  to genapic routines.
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: akpm@linux-foundation.org
      Cc: arjan@linux.intel.com
      Cc: andi@firstfloor.org
      Cc: ebiederm@xmission.com
      Cc: jbarnes@virtuousgeek.org
      Cc: steiner@sgi.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      0c81c746
  11. 08 7月, 2008 3 次提交