1. 11 10月, 2007 10 次提交
  2. 01 8月, 2007 1 次提交
    • A
      revert "x86, serial: convert legacy COM ports to platform devices" · 57d4810e
      Andrew Morton 提交于
      Revert 7e92b4fc.  It broke Sébastien Dugué's
      machine and Jeff said (persuasively)
      
        This seems like it will break decades-long-working stuff, in favor of
        breaking new ground in our favorite area, "trusting the BIOS."
      
        It's just not worth it for serial ports, IMO.  Serial ports are something
        that just shouldn't break at this late stage in the game.  My new Intel
        platform boxes don't even have serial ports, so I question the value of
        messing with serial port probing even more...  because...  just wait a year,
        and your box won't have a serial port either!  :)
      
        I certainly don't object to the use of platform devices (or isa_driver),
        but the probe change seems questionable.  That's sorta analagous to
        rewriting the floppy driver probe routine.  Sure you could do it...  but why
        risk all that damage and go through debugging all over again?
      
        It seems clear from this report that we cannot, should not, trust BIOS for
        something (a) so simple and (b) that has been working for over a decade.
      
      Much discussion ensued and we've decided to have another go at all of this.
      
      Cc: Sébastien Dugué <sebastien.dugue@bull.net>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Adam Belay <ambx1@neo.rr.com>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Jeff Garzik <jeff@garzik.org>
      Acked-by: NAlan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
      Cc: Sascha Sommer <saschasommer@freenet.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      57d4810e
  3. 22 7月, 2007 1 次提交
  4. 15 5月, 2007 1 次提交
  5. 09 5月, 2007 1 次提交
    • B
      x86, serial: convert legacy COM ports to platform devices · 7e92b4fc
      Bjorn Helgaas 提交于
      Make x86 COM ports into platform devices and don't probe for them
      if we have PNP.
      
      This prevents double discovery, where a device was found both by
      the legacy probe and by 8250_pnp, e.g.,
      
          serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
          00:02: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
      
      This also means IRDA devices without a UART PNP ID will no longer be
      claimed by the serial driver, which might require changes in IRDA
      drivers and administration.
      
      In addition to this patch, you may need to configure a setserial init
      script, e.g., /etc/init.d/setserial, so it doesn't poke legacy UART
      stuff back in.  On Debian, "dpkg-reconfigure setserial" with the "kernel"
      option does this.
      
      To force the old legacy probe behavior even when we have PNPBIOS or
      ACPI, load the new legacy_serial module (or build 8250 static) with
      the "legacy_serial.force" option.
      
      [akpm@linux-foundation.org: fix makefiles]
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Keith Owens <kaos@ocs.com.au>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Adam Belay <ambx1@neo.rr.com>
      Cc: Matthieu CASTET <castet.matthieu@free.fr>
      Cc: Jean Tourrilhes <jt@hpl.hp.com>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Cc: Ville Syrjala <syrjala@sci.fi>
      Cc: Russell King <rmk+serial@arm.linux.org.uk>
      Cc: Samuel Ortiz <samuel@sortiz.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7e92b4fc
  6. 03 5月, 2007 2 次提交
  7. 17 2月, 2007 2 次提交
    • 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
    • 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
  8. 13 2月, 2007 4 次提交
  9. 07 12月, 2006 3 次提交
    • R
      [PATCH] paravirt: Add startup infrastructure for paravirtualization · c9ccf30d
      Rusty Russell 提交于
      1) Each hypervisor writes a probe function to detect whether we are
         running under that hypervisor.  paravirt_probe() registers this
         function.
      
      2) If vmlinux is booted with ring != 0, we call all the probe
         functions (with registers except %esp intact) in link order: the
         winner will not return.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NChris Wright <chrisw@sous-sol.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Zachary Amsden <zach@vmware.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      c9ccf30d
    • R
      [PATCH] paravirt: header and stubs for paravirtualisation · d3561b7f
      Rusty Russell 提交于
      Create a paravirt.h header for all the critical operations which need to be
      replaced with hypervisor calls, and include that instead of defining native
      operations, when CONFIG_PARAVIRT.
      
      This patch does the dumbest possible replacement of paravirtualized
      instructions: calls through a "paravirt_ops" structure.  Currently these are
      function implementations of native hardware: hypervisors will override the ops
      structure with their own variants.
      
      All the pv-ops functions are declared "fastcall" so that a specific
      register-based ABI is used, to make inlining assember easier.
      
      And:
      
      +From: Andy Whitcroft <apw@shadowen.org>
      
      The paravirt ops introduce a 'weak' attribute onto memory_setup().
      Code ordering leads to the following warnings on x86:
      
          arch/i386/kernel/setup.c:651: warning: weak declaration of
                      `memory_setup' after first use results in unspecified behavior
      
      Move memory_setup() to avoid this.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NChris Wright <chrisw@sous-sol.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Zachary Amsden <zach@vmware.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      d3561b7f
    • B
      [PATCH] i386: i386 create e820.c to handle standard io/mem resources · 269c2d81
      bibo,mao 提交于
      This patch creates new file named e820.c to hanle standard io/mem
      resources, moving request_standard_resources function from setup.c
      to e820.c. Also this patch modifies Makfile to compile file e820.c.
      Signed-off-by: Nbibo,mao <bibo.mao@intel.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      
       Makefile |    2
       arch/i386/kernel/Makefile |    2
       arch/i386/kernel/e820.c   |  289 ++++++++++++++++++++++++++++++++++++++++++++++
       arch/i386/kernel/setup.c  |  276 -------------------------------------------
       3 files changed, 293 insertions(+), 274 deletions(-)
      269c2d81
  10. 26 9月, 2006 2 次提交
    • A
      [PATCH] i386: Do stacktracer conversion too · 2b14a78c
      Andi Kleen 提交于
      Following x86-64 patches. Reuses code from them in fact.
      
      Convert the standard backtracer to do all output using
      callbacks.   Use the x86-64 stack tracer implementation
      that uses these callbacks to implement the stacktrace interface.
      
      This allows to use the new dwarf2 unwinder for stacktrace
      and get better backtraces.
      
      Cc: mingo@elte.hu
      Signed-off-by: NAndi Kleen <ak@suse.de>
      2b14a78c
    • A
      [PATCH] i386: Redo semaphore and rwlock assembly helpers · ecaf45ee
      Andi Kleen 提交于
      - Move them to a pure assembly file. Previously they were in
      a C file that only consisted of inline assembly. Doing it in pure
      assembler is much nicer.
      - Add a frame.i include with FRAME/ENDFRAME macros to easily
      add frame pointers to assembly functions
      - Add dwarf2 annotation to them so that the new dwarf2 unwinder
      doesn't get stuck on them
      - Random cleanups
      
      Includes feedback from Jan Beulich and a UML build fix from Andrew
      Morton.
      
      Cc: jbeulich@novell.com
      Cc: jdike@addtoit.com
      Signed-off-by: NAndi Kleen <ak@suse.de>
      ecaf45ee
  11. 12 9月, 2006 1 次提交
  12. 01 8月, 2006 1 次提交
    • R
      [PATCH] vDSO hash-style fix · 0b0bf7a3
      Roland McGrath 提交于
      The latest toolchains can produce a new ELF section in DSOs and
      dynamically-linked executables.  The new section ".gnu.hash" replaces
      ".hash", and allows for more efficient runtime symbol lookups by the
      dynamic linker.  The new ld option --hash-style={sysv|gnu|both} controls
      whether to produce the old ".hash", the new ".gnu.hash", or both.  In some
      new systems such as Fedora Core 6, gcc by default passes --hash-style=gnu
      to the linker, so that a standard invocation of "gcc -shared" results in
      producing a DSO with only ".gnu.hash".  The new ".gnu.hash" sections need
      to be dealt with the same way as ".hash" sections in all respects; only the
      dynamic linker cares about their contents.  To work with older dynamic
      linkers (i.e.  preexisting releases of glibc), a binary must have the old
      ".hash" section.  The --hash-style=both option produces binaries that a new
      dynamic linker can use more efficiently, but an old dynamic linker can
      still handle.
      
      The new section runs afoul of the custom linker scripts used to build vDSO
      images for the kernel.  On ia64, the failure mode for this is a boot-time
      panic because the vDSO's PT_IA_64_UNWIND segment winds up ill-formed.
      
      This patch addresses the problem in two ways.
      
      First, it mentions ".gnu.hash" in all the linker scripts alongside ".hash".
       This produces correct vDSO images with --hash-style=sysv (or old tools),
      with --hash-style=gnu, or with --hash-style=both.
      
      Second, it passes the --hash-style=sysv option when building the vDSO
      images, so that ".gnu.hash" is not actually produced.  This is the most
      conservative choice for compatibility with any old userland.  There is some
      concern that some ancient glibc builds (though not any known old production
      system) might choke on --hash-style=both binaries.  The optimizations
      provided by the new style of hash section do not really matter for a DSO
      with a tiny number of symbols, as the vDSO has.  If someone wants to use
      =gnu or =both for their vDSO builds and worry less about that
      compatibility, just change the option and the linker script changes will
      make any choice work fine.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0b0bf7a3
  13. 04 7月, 2006 1 次提交
  14. 01 7月, 2006 1 次提交
    • A
      [PATCH] audit syscall classes · b915543b
      Al Viro 提交于
      Allow to tie upper bits of syscall bitmap in audit rules to kernel-defined
      sets of syscalls.  Infrastructure, a couple of classes (with 32bit counterparts
      for biarch targets) and actual tie-in on i386, amd64 and ia64.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      b915543b
  15. 27 6月, 2006 5 次提交
  16. 15 4月, 2006 1 次提交
  17. 23 3月, 2006 1 次提交
    • G
      [PATCH] x86: SMP alternatives · 9a0b5817
      Gerd Hoffmann 提交于
      Implement SMP alternatives, i.e.  switching at runtime between different
      code versions for UP and SMP.  The code can patch both SMP->UP and UP->SMP.
      The UP->SMP case is useful for CPU hotplug.
      
      With CONFIG_CPU_HOTPLUG enabled the code switches to UP at boot time and
      when the number of CPUs goes down to 1, and switches to SMP when the number
      of CPUs goes up to 2.
      
      Without CONFIG_CPU_HOTPLUG or on non-SMP-capable systems the code is
      patched once at boot time (if needed) and the tables are released
      afterwards.
      
      The changes in detail:
      
        * The current alternatives bits are moved to a separate file,
          the SMP alternatives code is added there.
      
        * The patch adds some new elf sections to the kernel:
          .smp_altinstructions
      	like .altinstructions, also contains a list
      	of alt_instr structs.
          .smp_altinstr_replacement
      	like .altinstr_replacement, but also has some space to
      	save original instruction before replaving it.
          .smp_locks
      	list of pointers to lock prefixes which can be nop'ed
      	out on UP.
          The first two are used to replace more complex instruction
          sequences such as spinlocks and semaphores.  It would be possible
          to deal with the lock prefixes with that as well, but by handling
          them as special case the table sizes become much smaller.
      
       * The sections are page-aligned and padded up to page size, so they
         can be free if they are not needed.
      
       * Splitted the code to release init pages to a separate function and
         use it to release the elf sections if they are unused.
      Signed-off-by: NGerd Hoffmann <kraxel@suse.de>
      Signed-off-by: NChuck Ebbert <76306.1226@compuserve.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9a0b5817
  18. 09 3月, 2006 1 次提交
    • A
      [PATCH] i386: port ATI timer fix from x86_64 to i386 II · f9262c12
      Andi Kleen 提交于
      ATI chipsets tend to generate double timer interrupts for the local APIC
      timer when both the 8254 and the IO-APIC timer pins are enabled.  This is
      because they route it to both and the result is anded together and the CPU
      ends up processing it twice.
      
      This patch changes check_timer to disable the 8254 routing for interrupt 0.
      
      I think it would be safe on all chipsets actually (i tested it on a couple
      and it worked everywhere) and Windows seems to do it in a similar way, but
      to be conservative this patch only enables this mode on ATI (and adds
      options to enable/disable too)
      
      Ported over from a similar x86-64 change.
      
      I reused the ACPI earlyquirk infrastructure for the ATI bridge check, but
      tweaked it a bit to work even without ACPI.
      
      Inspired by a patch from Chuck Ebbert, but redone.
      
      Cc: Chuck Ebbert <76306.1226@compuserve.com>
      Cc: "Brown, Len" <len.brown@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f9262c12
  19. 25 2月, 2006 1 次提交
    • Z
      [PATCH] Fix topology.c location · 9c869eda
      Zachary Amsden 提交于
      When compiling a non-default subarch, topology.c is missing from the kernel
      build.  This causes builds with CONFIG_HOTPLUG_CPU to fail.  In addition,
      on Intel processors with cpuid level > 4, it causes intel_cacheinfo.c to
      reference uninitialized data that should have been set up by the initcall
      in topology.c which calls register_cpu.  This causes a kernel panic on boot
      on newer Intel processors.  Moving topology.c to arch/i386/kernel fixes
      both of these problems.
      
      Thanks to Dan Hecht for finding and fixing this problem.
      Signed-off-by: NZachary Amsden <zach@vmware.com>
      Signed-off-by: NDan Hecht <dhect@vmware.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9c869eda