1. 03 5月, 2007 8 次提交
  2. 08 3月, 2007 1 次提交
  3. 05 3月, 2007 1 次提交
    • Z
      [PATCH] vmi: paravirt drop udelay op · eda08b1b
      Zachary Amsden 提交于
      Not respecting udelay causes problems with any virtual hardware that is passed
      through to real hardware.  This can be noticed by any device that interacts
      with the real world in real time - like AP startup, which takes real time.  Or
      keyboard LEDs, which should blink in real-time.  Or floppy drives, but only
      when passed through to a real floppy controller on OSes which can't
      sufficiently buffer the floppy commands to emulate a zero latency floppy.  Or
      IDE drives, when connecting to a physical CDROM.
      
      This was mostly a hack to get the kernel to boot faster, but it introduced a
      number of misvirtualization bugs, and Alan and Pavel argued pretty strongly
      against it.  We were the only client, and now want to clean up this cruft.
      Signed-off-by: NZachary Amsden <zach@vmware.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      eda08b1b
  4. 17 2月, 2007 3 次提交
    • T
      [PATCH] clockevents: i386 drivers · e9e2cdb4
      Thomas Gleixner 提交于
      Add clockevent drivers for i386: lapic (local) and PIT/HPET (global).  Update
      the timer IRQ to call into the PIT/HPET driver's event handler and the
      lapic-timer IRQ to call into the lapic clockevent driver.  The assignement of
      timer functionality is delegated to the core framework code and replaces the
      compile and runtime evalution in do_timer_interrupt_hook()
      
      Use the clockevents broadcast support and implement the lapic_broadcast
      function for ACPI.
      
      No changes to existing functionality.
      
      [ kdump fix from Vivek Goyal <vgoyal@in.ibm.com> ]
      [ fixes based on review feedback from Arjan van de Ven <arjan@infradead.org> ]
      Cleanups-from: Adrian Bunk <bunk@stusta.de>
      Build-fixes-from: Andrew Morton <akpm@osdl.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e9e2cdb4
    • T
      [PATCH] i386, apic: clean up the APIC code · e05d723f
      Thomas Gleixner 提交于
      The apic code is quite unstructured and missing a lot of comments.
      
      - Restructure the code into helper functions, timer, setup/shutdown,
        interrupt and power management blocks.
      - Fixup comments.
      - Namespace fixups
      - Inline helpers for version and is_integrated
      - Combine the ack_bad_irq functions
      
      No functional changes.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Cc: Zachary Amsden <zach@vmware.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Rohit Seth <rohitseth@google.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e05d723f
    • I
      [PATCH] x86: rewrite SMP TSC sync code · 95492e46
      Ingo Molnar 提交于
      make the TSC synchronization code more robust, and unify it between x86_64 and
      i386.
      
      The biggest change is the removal of the 'fix up TSCs' code on x86_64 and
      i386, in some rare cases it was /causing/ time-warps on SMP systems.
      
      The new code only checks for TSC asynchronity - and if it can prove a
      time-warp (if it can observe the TSC going backwards when going from one CPU
      to another within a critical section), then the TSC clock-source is turned
      off.
      
      The TSC synchronization-checking code also got moved into a separate file.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      95492e46
  5. 13 2月, 2007 4 次提交
    • R
      [PATCH] i386: Rename cpu_gdt_descr and remove extern declaration from smpboot.c · 2a57ff1a
      Rusty Russell 提交于
      When I implemented the DECLARE_PER_CPU(var) macros, I was careful that
      people couldn't use "var" in a non-percpu context, by prepending
      percpu__.  I never considered that this would allow them to overload
      the same name for a per-cpu and a non-percpu variable.
      
      It is only one of many horrors in the i386 boot code, but let's rename
      the non-perpcu cpu_gdt_descr to early_gdt_descr (not boot_gdt_descr,
      that's something else...)
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      
      ===================================================================
      2a57ff1a
    • Z
      [PATCH] i386: vMI timer patches · bbab4f3b
      Zachary Amsden 提交于
      VMI timer code.  It works by taking over the local APIC clock when APIC is
      configured, which requires a couple hooks into the APIC code.  The backend
      timer code could be commonized into the timer infrastructure, but there are
      some pieces missing (stolen time, in particular), and the exact semantics of
      when to do accounting for NO_IDLE need to be shared between different
      hypervisors as well.  So for now, VMI timer is a separate module.
      
      [Adrian Bunk: cleanups]
      
      Subject: VMI timer patches
      Signed-off-by: NZachary Amsden <zach@vmware.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Chris Wright <chrisw@sous-sol.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      bbab4f3b
    • Z
      [PATCH] i386: vMI backend for paravirt-ops · 7ce0bcfd
      Zachary Amsden 提交于
      Fairly straightforward implementation of VMI backend for paravirt-ops.
      
      [Adrian Bunk: some cleanups]
      Signed-off-by: NZachary Amsden <zach@vmware.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Chris Wright <chrisw@sous-sol.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      7ce0bcfd
    • Z
      [PATCH] i386: SMP boot hook for paravirt · ae5da273
      Zachary Amsden 提交于
      Add VMI SMP boot hook.  We emulate a regular boot sequence and use the same
      APIC IPI initiation, we just poke magic values to load into the CPU state when
      the startup IPI is received, rather than having to jump through a real mode
      trampoline.
      
      This is all that was needed to get SMP to work.
      Signed-off-by: NZachary Amsden <zach@vmware.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Chris Wright <chrisw@sous-sol.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      ae5da273
  6. 23 1月, 2007 1 次提交
    • J
      [PATCH] x86: fix PDA variables to work during boot · 9ee79a3d
      James Bottomley 提交于
      The current PDA code, which went in in post 2.6.19 has a flaw in that it
      doesn't correctly cycle the GDT and %GS segment through the boot PDA,
      the CPU PDA and finally the per-cpu PDA.
      
      The bug generally doesn't show up if the boot CPU id is zero, but
      everything falls apart for a non zero boot CPU id.  The basically kills
      voyager which is perfectly capable of doing non zero CPU id boots, so
      voyager currently won't boot without this.
      
      The fix is to be careful and actually do the GDT setups correctly.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Andrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9ee79a3d
  7. 11 1月, 2007 1 次提交
    • V
      [PATCH] i386: cpu hotplug/smpboot misc MODPOST warning fixes · 4a5d107a
      Vivek Goyal 提交于
      o Misc smpboot/cpu hotplug path cleanups. I did those to supress the
        warnings generated by MODPOST. These warnings are visible only
        if CONFIG_RELOCATABLE=y.
      
      o CONFIG_RELOCATABLE compiles the kernel with --emit-relocs option. This
        option retains relocation information in vmlinux file and MODPOST
        is quick to spit out "Section mismatch" warnings.
      
      o This patch fixes some of those warnings. Many of the functions in
        smpboot case are __devinit type and they in turn accesses text/data which
        if of type __cpuinit. Now if CONFIG_HOTPLUG=y and CONFIG_HOTPLUG_CPU=n
        then we end up in cases where a function in .text segment is calling
        another function in .init.text segment and MODPOST emits warning.
      
      WARNING: vmlinux - Section mismatch: reference to .init.text:identify_cpu from .text between 'smp_store_cpu_info' (at offset 0xc011020d) and 'do_boot_cpu'
      WARNING: vmlinux - Section mismatch: reference to .init.text:init_gdt from .text between 'do_boot_cpu' (at offset 0xc01102ca) and '__cpu_up'
      WARNING: vmlinux - Section mismatch: reference to .init.text:print_cpu_info from .text between 'do_boot_cpu' (at offset 0xc01105d0) and '__cpu_up'
      
      o It also fixes the issues where CONFIG_HOTPLUG_CPU=y and start_secondary()
        is calling smp_callin() which in-turn calls synchronize_tsc_ap() which is
        of type __init. This should have meant broken CPU hotplug.
      
      WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'start_secondary' (at offset 0xc011603f) and 'initialize_secondary'
      WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'MP_processor_info' (at offset 0xc0116a4f) and 'mp_register_lapic'
      WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'MP_processor_info' (at offset 0xc0116a4f) and 'mp_register_lapic'
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      4a5d107a
  8. 06 1月, 2007 1 次提交
    • V
      [PATCH] i386: modpost smpboot code warning fix · 3771a450
      Vivek Goyal 提交于
      o Currently synchronize_tsc_ap() is of type __init. It is called by
        smp_callin() which is of type __cpuinit. So synchronize_tsc_ap()
        should be of type __cpuinit.
      
      o Modpost generates warnings for i386 if CONFIG_RELOCATABLE=y and
        CONFIG_HOTPLUG_CPU=y
      
      WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'start_secondary' (at offset 0xc01164dc) and 'initialize_secondary'
      WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'start_secondary' (at offset 0xc01164e8) and 'initialize_secondary'
      
      o tsc is of type __initdata. It should be of type __cpuinitdata.
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3771a450
  9. 14 12月, 2006 1 次提交
  10. 10 12月, 2006 1 次提交
  11. 09 12月, 2006 1 次提交
  12. 07 12月, 2006 4 次提交
  13. 22 11月, 2006 1 次提交
  14. 04 10月, 2006 1 次提交
  15. 02 10月, 2006 1 次提交
  16. 01 10月, 2006 1 次提交
  17. 30 9月, 2006 1 次提交
    • K
      [PATCH] convert i386 Summit subarch to use SRAT info for apicid_to_node calls · 3b08606d
      keith mannthey 提交于
      Convert the i386 summit subarch apicid_to_node to use node information
      provided by the SRAT.  It was discussed a little on LKML a few weeks ago
      and was seen as an acceptable fix.  The current way of obtaining the nodeid
      
       static inline int apicid_to_node(int logical_apicid)
       {
         return logical_apicid >> 5;
       }
      
      is just not correct for all summit systems/bios.  Assuming the apicid
      matches the Linux node number require a leap of faith that the bios mapped
      out the apicids a set way.  Modern summit HW (IBM x460) does not layout its
      bios in the manner for various reasons and is unable to boot i386 numa.
      
      The best way to get the correct apicid to node information is from the SRAT
      table during boot.  It lays out what apicid belongs to what node.  I use
      this information to create a table for use at run time.
      Signed-off-by: NKeith Mannthey <kmannth@us.ibm.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3b08606d
  18. 26 9月, 2006 4 次提交
    • D
      [PATCH] i386: don't taint UP K7's running SMP kernels. · 3ca113ea
      Dave Jones 提交于
      We have a test that looks for invalid pairings of certain athlon/durons
      that weren't designed for SMP, and taint accordingly (with 'S') if we find
      such a configuration.  However, this test shouldn't fire if there's only
      a single CPU present. It's perfectly valid for an SMP kernel to boot on UP
      hardware for example.
      
      AK: changed to num_possible_cpus()
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      3ca113ea
    • R
      [PATCH] i386: Replace i386 open-coded cmdline parsing with · 1a3f239d
      Rusty Russell 提交于
      This patch replaces the open-coded early commandline parsing
      throughout the i386 boot code with the generic mechanism (already used
      by ppc, powerpc, ia64 and s390).  The code was inconsistent with
      whether it deletes the option from the cmdline or not, meaning some of
      these will get passed through the environment into init.
      
      This transformation is mainly mechanical, but there are some notable
      parts:
      
      1) Grammar: s/linux never set's it up/linux never sets it up/
      
      2) Remove hacked-in earlyprintk= option scanning.  When someone
         actually implements CONFIG_EARLY_PRINTK, then they can use
         early_param().
      [AK: actually it is implemented, but I'm adding the early_param it in the next
      x86-64 patch]
      
      3) Move declaration of generic_apic_probe() from setup.c into asm/apic.h
      
      4) Various parameters now moved into their appropriate files (thanks Andi).
      
      5) All parse functions which examine arg need to check for NULL,
         except one where it has subtle humor value.
      
      AK: readded acpi_sci handling which was completely dropped
      AK: moved some more variables into acpi/boot.c
      
      Cc: len.brown@intel.com
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      1a3f239d
    • S
      [PATCH] i386/x86-64: Fix NMI watchdog suspend/resume · 4038f901
      Shaohua Li 提交于
      Making NMI suspend/resume work with SMP. We use CPU hotplug to offline
      APs in SMP suspend/resume. Only BSP executes sysdev's .suspend/.resume
      method. APs should follow CPU hotplug code path.
      
      And:
      
      +From: Don Zickus <dzickus@redhat.com>
      
      Makes the start/stop paths of nmi watchdog more robust to handle the
      suspend/resume cases more gracefully.
      
      AK: I merged the two patches together
      Signed-off-by: NShaohua Li <shaohua.li@intel.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Andi Kleen <ak@muc.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      4038f901
    • K
      [PATCH] i386: fix flat mode numa on a real numa system · bfa0e9a0
      keith mannthey 提交于
      If there is only 1 node in the system cpus should think they are apart of
      some other node.
      
      If cases where a real numa system boots the Flat numa option make sure the
      cpus don't claim to be apart on a non-existent node.
      Signed-off-by: NKeith Mannthey <kmannth@us.ibm.com>
      Cc: Andy Whitcroft <apw@shadowen.org>
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      bfa0e9a0
  19. 01 8月, 2006 1 次提交
  20. 01 7月, 2006 1 次提交
  21. 28 6月, 2006 2 次提交