1. 11 Dec, 2009 4 commits
  2. 10 Dec, 2009 10 commits
    • Cyrill Gorcunov's avatar
      x86, perf events: Check if we have APIC enabled · 12558038
      Cyrill Gorcunov authored
      
      
      Ralf Hildebrandt reported this boot warning:
      
      | Running a vanilla 2.6.32 as Xen DomU, I'm getting:
      |
      | [    0.000999] CPU: Physical Processor ID: 0
      | [    0.000999] CPU: Processor Core ID: 1
      | [    0.000999] Performance Events: AMD PMU driver.
      | [    0.000999] ------------[ cut here ]------------
      | [    0.000999] WARNING: at arch/x86/kernel/apic/apic.c:249 native_apic_write_dummy
      
      So we need to check if APIC functionality is available, and
      not just in the P6 driver but elsewhere as well.
      Reported-by: default avatarRalf Hildebrandt <Ralf.Hildebrandt@charite.de>
      Signed-off-by: default avatarCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20091210165634.GF5086@lenovo>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      12558038
    • Xiao Guangrong's avatar
      perf_event: Fix variable initialization in other codepaths · 5e855db5
      Xiao Guangrong authored
      
      Signed-off-by: default avatarXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      LKML-Reference: <4B20BAA6.7010609@cn.fujitsu.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      5e855db5
    • Christoph Hellwig's avatar
      vfs: Implement proper O_SYNC semantics · 6b2f3d1f
      Christoph Hellwig authored
      
      
      While Linux provided an O_SYNC flag basically since day 1, it took until
      Linux 2.4.0-test12pre2 to actually get it implemented for filesystems,
      since that day we had generic_osync_around with only minor changes and the
      great "For now, when the user asks for O_SYNC, we'll actually give
      O_DSYNC" comment.  This patch intends to actually give us real O_SYNC
      semantics in addition to the O_DSYNC semantics.  After Jan's O_SYNC
      patches which are required before this patch it's actually surprisingly
      simple, we just need to figure out when to set the datasync flag to
      vfs_fsync_range and when not.
      
      This patch renames the existing O_SYNC flag to O_DSYNC while keeping it's
      numerical value to keep binary compatibility, and adds a new real O_SYNC
      flag.  To guarantee backwards compatiblity it is defined as expanding to
      both the O_DSYNC and the new additional binary flag (__O_SYNC) to make
      sure we are backwards-compatible when compiled against the new headers.
      
      This also means that all places that don't care about the differences can
      just check O_DSYNC and get the right behaviour for O_SYNC, too - only
      places that actuall care need to check __O_SYNC in addition.  Drivers and
      network filesystems have been updated in a fail safe way to always do the
      full sync magic if O_DSYNC is set.  The few places setting O_SYNC for
      lower layers are kept that way for now to stay failsafe.
      
      We enforce that O_DSYNC is set when __O_SYNC is set early in the open path
      to make sure we always get these sane options.
      
      Note that parisc really screwed up their headers as they already define a
      O_DSYNC that has always been a no-op.  We try to repair it by using it for
      the new O_DSYNC and redefinining O_SYNC to send both the traditional
      O_SYNC numerical value _and_ the O_DSYNC one.
      
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Grant Grundler <grundler@parisc-linux.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Andreas Dilger <adilger@sun.com>
      Acked-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      Acked-by: default avatarKyle McMartin <kyle@mcmartin.ca>
      Acked-by: default avatarUlrich Drepper <drepper@redhat.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      6b2f3d1f
    • Joerg Roedel's avatar
      x86/amd-iommu: Fix PCI hotplug with passthrough mode · 8638c491
      Joerg Roedel authored
      
      
      The device change notifier is initialized in the dma_ops
      initialization path. But this path is never executed for
      iommu=pt. Move the notifier initialization to IOMMU hardware
      init code to fix this.
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      8638c491
    • Joerg Roedel's avatar
      x86/amd-iommu: Fix passthrough mode · b7cc9554
      Joerg Roedel authored
      
      
      The data structure changes to use dev->archdata.iommu field
      broke the iommu=pt mode because in this case the
      dev->archdata.iommu was left uninitialized. This moves the
      inititalization of the devices into the main init function
      and fixes the problem.
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      b7cc9554
    • Joe Perches's avatar
      x86: mmio-mod.c: Use pr_fmt · 3a0340be
      Joe Perches authored
      
      
      - Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
       - Remove #define NAME
       - Remove NAME from pr_<level>
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      LKML-Reference: <009cb214c45ef932df0242856228f4739cc91408.1260383912.git.joe@perches.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      3a0340be
    • Joe Perches's avatar
      x86: kmmio.c: Add and use pr_fmt(fmt) · 1bd591a5
      Joe Perches authored
      
      
      - Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
       - Strip "kmmio: " from pr_<level>s
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      LKML-Reference: <7aa509f8a23933036d39f54bd51e9acc52068049.1260383912.git.joe@perches.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      1bd591a5
    • Joe Perches's avatar
      x86: i8254.c: Add pr_fmt(fmt) · a78d9626
      Joe Perches authored
      
      
      - Add pr_fmt(fmt) "pit: " fmt
       - Strip pit: prefixes from pr_debug
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      LKML-Reference: <bbd4de532f18bb7c11f64ba20d224c08291cb126.1260383912.git.joe@perches.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a78d9626
    • Joe Perches's avatar
      x86: setup_percpu.c: Use pr_<level> and add pr_fmt(fmt) · 40685236
      Joe Perches authored
      
      
      - Added #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
       - Stripped PERCPU: from a pr_warning
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      LKML-Reference: <7ead24eccbea8f2b11795abad3e2893a98e1e111.1260383912.git.joe@perches.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      40685236
    • Joe Perches's avatar
      x86: es7000_32.c: Use pr_<level> and add pr_fmt(fmt) · 5cd476ef
      Joe Perches authored
      
      
      - Added #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
       - Converted a few printk(KERN_INFO to pr_info(
       - Stripped "es7000_mipcfg" from pr_debug
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      LKML-Reference: <3b4375af246dec5941168858910210937c110af9.1260383912.git.joe@perches.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      5cd476ef
  3. 09 Dec, 2009 4 commits
    • Andy Isaacson's avatar
      x86: Print DMI_BOARD_NAME as well as DMI_PRODUCT_NAME from __show_regs() · a1884b8e
      Andy Isaacson authored
      
      
      Robert Hancock observes that DMI_BOARD_NAME is often more useful
      than DMI_PRODUCT_NAME, especially on standalone motherboards.
      So, print both.
      Signed-off-by: default avatarAndy Isaacson <adi@hexapodia.org>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Robert Hancock <hancockrwd@gmail.com>
      Cc: Richard Zidlicky <rz@linux-m68k.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      LKML-Reference: <20091208083021.GB27174@hexapodia.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a1884b8e
    • Andy Isaacson's avatar
      x86: Factor duplicated code out of __show_regs() into show_regs_common() · 814e2c84
      Andy Isaacson authored
      
      
      Unify x86_32 and x86_64 implementations of __show_regs() header,
      standardizing on the x86_64 format string in the process. Also,
      32-bit will now call print_modules.
      Signed-off-by: default avatarAndy Isaacson <adi@hexapodia.org>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Robert Hancock <hancockrwd@gmail.com>
      Cc: Richard Zidlicky <rz@linux-m68k.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      LKML-Reference: <20091208082942.GA27174@hexapodia.org>
      [ v2: resolved conflict ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      814e2c84
    • Frederic Weisbecker's avatar
      hw-breakpoints: Modify breakpoints without unregistering them · 44234adc
      Frederic Weisbecker authored
      
      
      Currently, when ptrace needs to modify a breakpoint, like disabling
      it, changing its address, type or len, it calls
      modify_user_hw_breakpoint(). This latter will perform the heavy and
      racy task of unregistering the old breakpoint and registering a new
      one.
      
      This is racy as someone else might steal the reserved breakpoint
      slot under us, which is undesired as the breakpoint is only
      supposed to be modified, sometimes in the middle of a debugging
      workflow. We don't want our slot to be stolen in the middle.
      
      So instead of unregistering/registering the breakpoint, just
      disable it while we modify its breakpoint fields and re-enable it
      after if necessary.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Prasad <prasad@linux.vnet.ibm.com>
      LKML-Reference: <1260347148-5519-1-git-send-regression-fweisbec@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      44234adc
    • Joe Perches's avatar
      arch/x86/kernel/microcode*: Use pr_fmt() and remove duplicated KERN_ERR prefix · f58e1f53
      Joe Perches authored
      
      
      - Use #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
      - Remove "microcode: " prefix from each pr_<level>
      - Fix duplicated KERN_ERR prefix
      - Coalesce pr_<level> format strings
      - Add a space after an exclamation point
      
      No other change in output.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Cc: Andy Whitcroft <apw@canonical.com>
      Cc: Andreas Herrmann <herrmann.der.user@googlemail.com>
      LKML-Reference: <1260340250.27677.191.camel@Joe-Laptop.home>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      f58e1f53
  4. 08 Dec, 2009 2 commits
  5. 07 Dec, 2009 3 commits
  6. 06 Dec, 2009 7 commits
    • Jean Delvare's avatar
      x86, perf probe: Fix warning in test_get_len() · be2bf0a2
      Jean Delvare authored
      
      
      Fix the following warning:
      
       arch/x86/tools/test_get_len.c: In function "main":
       arch/x86/tools/test_get_len.c:116: warning: unused variable "c"
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      be2bf0a2
    • Shaun Patterson's avatar
      x86: Fix typo in arch/x86/mm/kmmio.c · 8055039c
      Shaun Patterson authored
      
      Signed-off-by: default avatarShaun Patterson <shaunpatterson@gmail.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: pq@iki.fi
      LKML-Reference: <1260027694.10074.170.camel@linux-4lgc.site>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      8055039c
    • Frederic Weisbecker's avatar
      x86: Fixup wrong irq frame link in stacktraces · af2d8289
      Frederic Weisbecker authored
      
      
      When we enter in irq, two things can happen to preserve the link
      to the previous frame pointer:
      
      - If we were in an irq already, we don't switch to the irq stack
        as we are inside. We just need to save the previous frame
        pointer and to link the new one to the previous.
      
      - Otherwise we need another level of indirection. We enter the irq with
        the previous stack. We save the previous bp inside and make bp
        pointing to its saved address. Then we switch to the irq stack and
        push bp another time but to the new stack. This makes two levels to
        dereference instead of one.
      
      In the second case, the current stacktrace code omits the second level
      and loses the frame pointer accuracy. The stack that follows will then
      be considered as unreliable.
      
      Handling that makes the perf callchain happier.
      Before:
      
      43.94%  [k] _raw_read_lock
                  |
                  --- _read_lock
                     |
                     |--60.53%-- send_sigio
                     |          __kill_fasync
                     |          kill_fasync
                     |          evdev_pass_event
                     |          evdev_event
                     |          input_pass_event
                     |          input_handle_event
                     |          input_event
                     |          synaptics_process_byte
                     |          psmouse_handle_byte
                     |          psmouse_interrupt
                     |          serio_interrupt
                     |          i8042_interrupt
                     |          handle_IRQ_event
                     |          handle_edge_irq
                     |          handle_irq
                     |          __irqentry_text_start
                     |          ret_from_intr
                     |          |
                     |          |--30.43%-- __select
                     |          |
                     |          |--17.39%-- 0x454f15
                     |          |
                     |          |--13.04%-- __read
                     |          |
                     |          |--13.04%-- vread_hpet
                     |          |
                     |          |--13.04%-- _xcb_lock_io
                     |          |
                     |           --13.04%-- 0x7f630878ce8
      
      After:
      
          50.00%  [k] _raw_read_lock
                  |
                  --- _read_lock
                     |
                     |--98.97%-- send_sigio
                     |          __kill_fasync
                     |          kill_fasync
                     |          evdev_pass_event
                     |          evdev_event
                     |          input_pass_event
                     |          input_handle_event
                     |          input_event
                     |          |
                     |          |--96.88%-- synaptics_process_byte
                     |          |          psmouse_handle_byte
                     |          |          psmouse_interrupt
                     |          |          serio_interrupt
                     |          |          i8042_interrupt
                     |          |          handle_IRQ_event
                     |          |          handle_edge_irq
                     |          |          handle_irq
                     |          |          __irqentry_text_start
                     |          |          ret_from_intr
                     |          |          |
                     |          |          |--39.78%-- __const_udelay
                     |          |          |          |
                     |          |          |          |--91.89%-- ath5k_hw_register_timeout
                     |          |          |          |          ath5k_hw_noise_floor_calibration
                     |          |          |          |          ath5k_hw_reset
                     |          |          |          |          ath5k_reset
                     |          |          |          |          ath5k_config
                     |          |          |          |          ieee80211_hw_config
                     |          |          |          |          |
                     |          |          |          |          |--88.24%-- ieee80211_scan_work
                     |          |          |          |          |          worker_thread
                     |          |          |          |          |          kthread
                     |          |          |          |          |          child_rip
                     |          |          |          |          |
                     |          |          |          |           --11.76%-- ieee80211_scan_completed
                     |          |          |          |                     ieee80211_scan_work
                     |          |          |          |                     worker_thread
                     |          |          |          |                     kthread
                     |          |          |          |                     child_rip
                     |          |          |          |
                     |          |          |           --8.11%-- ath5k_hw_noise_floor_calibration
                     |          |          |                     ath5k_hw_reset
                     |          |          |                     ath5k_reset
                     |          |          |                     ath5k_config
      
      Note: This does not only affect perf events but also x86-64
      stacktraces. They were considered as unreliable once we quit
      the irq stack frame.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: "K. Prasad" <prasad@linux.vnet.ibm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      af2d8289
    • Frederic Weisbecker's avatar
      x86: Fixup wrong debug exception frame link in stacktraces · b625b3b3
      Frederic Weisbecker authored
      
      
      While dumping a stacktrace, the end of the exception stack won't link
      the frame pointer to the previous stack.
      
      The interrupted stack will then be considered as unreliable and ignored
      by perf, as the frame pointer is unreliable itself.
      
      This happens because we overwrite the frame pointer that links to the
      interrupted frame with the address of the exception stack. This is
      done in order to reserve space inside.
      But rbp has been chosen here only because it is not a scratch register,
      so that the address of the exception stack remains in rbp after calling
      do_debug(), we can then release the exception stack space without the
      need to retrieve its address again.
      
      But we can pick another non-scratch register to do that, so that we
      preserve the link to the interrupted stack frame in the stacktraces.
      
      Just randomly choose r12. Every registers are saved just before and
      restored just after calling do_debug(). And r12 is not used in the
      middle, which makes it a perfect candidate.
      
      Example: perf record -g -a -c 1 -f -e mem:$(tasklist_lock_addr):rw
      
      Before:
          44.18%  [k] _raw_read_lock
                  |
                  |
                  ---  |--6.31%-- waitid
                       |
                       |--4.26%-- writev
                       |
                       |--3.63%-- __select
                       |
                       |--3.15%-- __waitpid
                       |          |
                       |          |--28.57%-- 0x8b52e00000139f
                       |          |
                       |          |--28.57%-- 0x8b52e0000013c6
                       |          |
                       |          |--14.29%-- 0x7fde786dc000
                       |          |
                       |          |--14.29%-- 0x62696c2f7273752f
                       |          |
                       |           --14.29%-- 0x1ea9df800000000
                       |
                       |--3.00%-- __poll
      
      After:
      
          43.94%  [k] _raw_read_lock
                  |
                  --- _read_lock
                     |
                     |--60.53%-- send_sigio
                     |          __kill_fasync
                     |          kill_fasync
                     |          evdev_pass_event
                     |          evdev_event
                     |          input_pass_event
                     |          input_handle_event
                     |          input_event
                     |          synaptics_process_byte
                     |          psmouse_handle_byte
                     |          psmouse_interrupt
                     |          serio_interrupt
                     |          i8042_interrupt
                     |          handle_IRQ_event
                     |          handle_edge_irq
                     |          handle_irq
                     |          __irqentry_text_start
                     |          ret_from_intr
                     |          |
                     |          |--30.43%-- __select
                     |          |
                     |          |--17.39%-- 0x454f15
                     |          |
                     |          |--13.04%-- __read
                     |          |
                     |          |--13.04%-- vread_hpet
                     |          |
                     |          |--13.04%-- _xcb_lock_io
                     |          |
                     |           --13.04%-- 0x7f630878ce87
      
      Note: it does not only affect perf events but also other stacktraces in
      x86-64. They were considered as unreliable once we quit the debug
      stack frame.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: "K. Prasad" <prasad@linux.vnet.ibm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      b625b3b3
    • Frederic Weisbecker's avatar
      x86/perf: Exclude the debug stack from the callchains · 7f33f9c5
      Frederic Weisbecker authored
      
      
      Dumping the callchains from breakpoint events with perf gives strange
      results:
      
      3.75%             perf  [kernel]           [k] _raw_read_unlock
                             |
                             --- _raw_read_unlock
                                 perf_callchain
                                 perf_prepare_sample
                                 __perf_event_overflow
                                 perf_swevent_overflow
                                 perf_swevent_add
                                 perf_bp_event
                                 hw_breakpoint_exceptions_notify
                                 notifier_call_chain
                                 __atomic_notifier_call_chain
                                 atomic_notifier_call_chain
                                 notify_die
                                 do_debug
                                 debug
                                 munmap
      
      We are infected with all the debug stack. Like the nmi stack, the debug
      stack is undesired as it is part of the profiling path, not helpful for
      the user.
      
      Ignore it.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: "K. Prasad" <prasad@linux.vnet.ibm.com>
      7f33f9c5
    • Frederic Weisbecker's avatar
      hw-breakpoints: Use overflow handler instead of the event callback · b326e956
      Frederic Weisbecker authored
      
      
      struct perf_event::event callback was called when a breakpoint
      triggers. But this is a rather opaque callback, pretty
      tied-only to the breakpoint API and not really integrated into perf
      as it triggers even when we don't overflow.
      
      We prefer to use overflow_handler() as it fits into the perf events
      rules, being called only when we overflow.
      Reported-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: "K. Prasad" <prasad@linux.vnet.ibm.com>
      b326e956
    • Frederic Weisbecker's avatar
      hw-breakpoints: Drop callback and task parameters from modify helper · 2f0993e0
      Frederic Weisbecker authored
      
      
      Drop the callback and task parameters from modify_user_hw_breakpoint().
      For now we have no user that need to modify a breakpoint to the point
      of changing its handler or its task context.
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: "K. Prasad" <prasad@linux.vnet.ibm.com>
      2f0993e0
  7. 05 Dec, 2009 4 commits
    • David Daney's avatar
      x86: Convert BUG() to use unreachable() · a5fc5eba
      David Daney authored
      
      
      Use the new unreachable() macro instead of for(;;);.  When
      allyesconfig is built with a GCC-4.5 snapshot on i686 the size of the
      text segment is reduced by 3987 bytes (from 6827019 to 6823032).
      Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
      Acked-by: default avatar"H. Peter Anvin" <hpa@zytor.com>
      CC: Thomas Gleixner <tglx@linutronix.de>
      CC: Ingo Molnar <mingo@redhat.com>
      CC: x86@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a5fc5eba
    • Leann Ogasawara's avatar
      x86: ASUS P4S800 reboot=bios quirk · 4832ddda
      Leann Ogasawara authored
      Bug reporter noted their system with an ASUS P4S800 motherboard would
      hang when rebooting unless reboot=b was specified.  Their dmidecode
      didn't contain descriptive System Information for Manufacturer or
      Product Name, so I used their Base Board Information to create a
      reboot quirk patch.  The bug reporter confirmed this patch resolves
      the reboot hang.
      
      Handle 0x0001, DMI type 1, 25 bytes
      System Information
             Manufacturer: System Manufacturer
             Product Name: System Name
             Version: System Version
             Serial Number: SYS-1234567890
             UUID: E0BFCD8B-7948-D911-A953-E486B4EEB67F
             Wake-up Type: Power Switch
      
      Handle 0x0002, DMI type 2, 8 bytes
      Base Board Information
           Manufacturer: ASUSTeK Computer INC.
           Product Name: P4S800
           Version: REV 1.xx
           Serial Number: xxxxxxxxxxx
      
      BugLink: http://bugs.launchpad.net/bugs/366682
      
      
      
      ASUS P4S800 will hang when rebooting unless reboot=b is specified.
      Add a quirk to reboot through the bios.
      Signed-off-by: default avatarLeann Ogasawara <leann.ogasawara@canonical.com>
      LKML-Reference: <1259972107.4629.275.camel@emiko>
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: <stable@kernel.org>
      4832ddda
    • Chris Wright's avatar
      PCI: add pci_request_acs · 5d990b62
      Chris Wright authored
      Commit ae21ee65
      
       "PCI: acs p2p upsteram
      forwarding enabling" doesn't actually enable ACS.
      
      Add a function to pci core to allow an IOMMU to request that ACS
      be enabled.  The existing mechanism of using iommu_found() in the pci
      core to know when ACS should be enabled doesn't actually work due to
      initialization order;  iommu has only been detected not initialized.
      
      Have Intel and AMD IOMMUs request ACS, and Xen does as well during early
      init of dom0.
      
      Cc: Allen Kay <allen.m.kay@intel.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Joerg Roedel <joerg.roedel@amd.com>
      Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      5d990b62
    • Yinghai Lu's avatar
      x86/PCI: claim SR-IOV BARs in pcibios_allocate_resource · 575939cf
      Yinghai Lu authored
      
      
      This allows us to use the BIOS SR-IOV allocations rather than assigning
      our own later on.
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      575939cf
  8. 04 Dec, 2009 2 commits
  9. 03 Dec, 2009 4 commits