1. 27 Sep, 2006 16 commits
  2. 26 Sep, 2006 24 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 · b2782408
      Linus Torvalds authored
      * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (225 commits)
        [PATCH] Don't set calgary iommu as default y
        [PATCH] i386/x86-64: New Intel feature flags
        [PATCH] x86: Add a cumulative thermal throttle event counter.
        [PATCH] i386: Make the jiffies compares use the 64bit safe macros.
        [PATCH] x86: Refactor thermal throttle processing
        [PATCH] Add 64bit jiffies compares (for use with get_jiffies_64)
        [PATCH] Fix unwinder warning in traps.c
        [PATCH] x86: Allow disabling early pci scans with pci=noearly or disallowing conf1
        [PATCH] x86: Move direct PCI scanning functions out of line
        [PATCH] i386/x86-64: Make all early PCI scans dependent on CONFIG_PCI
        [PATCH] Don't leak NT bit into next task
        [PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder
        [PATCH] Fix some broken white space in ia32_signal.c
        [PATCH] Initialize argument registers for 32bit signal handlers.
        [PATCH] Remove all traces of signal number conversion
        [PATCH] Don't synchronize time reading on single core AMD systems
        [PATCH] Remove outdated comment in x86-64 mmconfig code
        [PATCH] Use string instructions for Core2 copy/clear
        [PATCH] x86: - restore i8259A eoi status on resume
        [PATCH] i386: Split multi-line printk in oops output.
        ...
      b2782408
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 · dd77a4ee
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (47 commits)
        Driver core: Don't call put methods while holding a spinlock
        Driver core: Remove unneeded routines from driver core
        Driver core: Fix potential deadlock in driver core
        PCI: enable driver multi-threaded probe
        Driver Core: add ability for drivers to do a threaded probe
        sysfs: add proper sysfs_init() prototype
        drivers/base: check errors
        drivers/base: Platform notify needs to occur before drivers attach to the device
        v4l-dev2: handle __must_check
        add CONFIG_ENABLE_MUST_CHECK
        add __must_check to device management code
        Driver core: fixed add_bind_files() definition
        Driver core: fix comments in drivers/base/power/resume.c
        sysfs_remove_bin_file: no return value, dump_stack on error
        kobject: must_check fixes
        Driver core: add ability for devices to create and remove bin files
        Class: add support for class interfaces for devices
        Driver core: create devices/virtual/ tree
        Driver core: add device_rename function
        Driver core: add ability for classes to handle devices properly
        ...
      dd77a4ee
    • Heiko Carstens's avatar
      [PATCH] s390: fix cmm kernel thread handling · e8216dee
      Heiko Carstens authored
      Convert cmm's usage of kernel_thread to kthread_run.  Also create the
      cmmthread at module load time, so it is possible to check if creation of
      the thread fails.
      
      In addition the cmmthread now gets terminated when the module gets unloaded
      instead of leaving a stale kernel thread.  Also check the return values of
      other registration functions at module load and handle their return values
      appropriately.
      
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e8216dee
    • Jeff Dike's avatar
      [PATCH] Make UML use ptrace-abi.h · e8df8c33
      Jeff Dike authored
      Include the host architecture's ptrace-abi.h instead of ptrace.h.
      
      There was some cpp mangling of names around the ptrace.h include to avoid
      symbol clashes between UML and the host architecture.  Most of these can go
      away.  The exception is struct pt_regs, which is convenient to have in
      userspace, but must be renamed in order that UML can define its own.
      
      ptrace-x86_64.h needed to have some now-obsolete cpp cruft and a declaration
      removed.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e8df8c33
    • Jeff Dike's avatar
      [PATCH] Split i386 and x86_64 ptrace.h · 70e0eb8e
      Jeff Dike authored
      The use of SEGMENT_RPL_MASK in the i386 ptrace.h introduced by
      x86-allow-a-kernel-to-not-be-in-ring-0.patch broke the UML build, as UML
      includes the underlying architecture's ptrace.h, but has no easy access to the
      x86 segment definitions.
      
      Rather than kludging around this, as in the past, this patch splits the
      userspace-usable parts, which are the bits that UML needs, of ptrace.h into
      ptrace-abi.h, which is included back into ptrace.h.  Thus, there is no net
      effect on i386.
      
      As a side-effect, this creates a ptrace header which is close to being usable
      in /usr/include.
      
      x86_64 is also treated in this way for consistency.  There was some trailing
      whitespace there, which is cleaned up.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      70e0eb8e
    • Alan Cox's avatar
      [PATCH] UML: tty locking · b1fc0b1f
      Alan Cox authored
      Ensure current->signal->tty doesn't get freed during log_exec().
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Acked-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      b1fc0b1f
    • Jeff Dike's avatar
      [PATCH] uml: stack usage reduction · 75e29b18
      Jeff Dike authored
      The KSTK_* macros used an inordinate amount of stack.  In order to overcome
      an impedance mismatch between their interface, which just returns a single
      register value, and the interface of get_thread_regs, which took a full
      pt_regs, the implementation created an on-stack pt_regs, filled it in, and
      returned one field.  do_task_stat calls KSTK_* twice, resulting in two
      local pt_regs, blowing out the stack.
      
      This patch changes the interface (and name) of get_thread_regs to just
      return a single register from a jmp_buf.
      
      The include of archsetjmp.h" in registers.h to get the definition of
      jmp_buf exposed a bogus include of <setjmp.h> in start_up.c.  <setjmp.h>
      shouldn't be used anywhere any more since UML uses the klibc
      setjmp/longjmp.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      75e29b18
    • Paolo 'Blaisorblade' Giarrusso's avatar
      [PATCH] uml: clean our set_ether_mac · bf61f50d
      Paolo 'Blaisorblade' Giarrusso authored
      Clean set_ether_mac usage.  Maybe could also be removed, but surely it can't
      be a global function taking a void* argument.
      Signed-off-by: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Acked-by: default avatarJeff Dike <jdike@addtoit.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      bf61f50d
    • Jeff Dike's avatar
      [PATCH] uml: Remove unused variable · 602cc241
      Jeff Dike authored
      timer_irq_inited was useless, so it is removed.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      602cc241
    • Jeff Dike's avatar
      [PATCH] uml: timer cleanups · 537ae946
      Jeff Dike authored
      set_interval returns an error instead of panicing if setitimer fails.  Some of
      its callers now check the return.
      
      enable_timer is largely tt-mode-specific, so it is marked as such, and the
      only skas-mode caller is made to call set-interval instead.
      
      user_time_init was a no-value-added wrapper around set_interval, so it is
      gone.
      
      Since set_interval is now called from kernel code, callers no longer pass
      ITIMER_* to it.  Instead, they pass a flag which is converted into ITIMER_REAL
      or ITIMER_VIRTUAL.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      537ae946
    • Jeff Dike's avatar
      [PATCH] uml: Move signal handlers to arch code · 4b84c69b
      Jeff Dike authored
      Have most signals go through an arch-provided handler which recovers the
      sigcontext and then calls a generic handler.  This replaces the
      ARCH_GET_SIGCONTEXT macro, which was somewhat fragile.  On x86_64, recovering
      %rdx (which holds the sigcontext pointer) must be the first thing that
      happens.  sig_handler duly invokes that first, but there is no guarantee that
      I can see that instructions won't be reordered such that %rdx is used before
      that.  Having the arch provide the handler seems much more robust.
      
      Some signals in some parts of UML require their own handlers - these places
      don't call set_handler any more.  They call sigaction or signal themselves.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      4b84c69b
    • Jeff Dike's avatar
      [PATCH] uml: SIGIO cleanups · 19bdf040
      Jeff Dike authored
      - Various cleanups in the sigio code.
      
      - Removed explicit zero-initializations of a few structures.
      
      - Improved some error messages.
      
      - An API change - there was an asymmetry between reactivate_fd calling
        maybe_sigio_broken, which goes through all the machinery of figuring out if
        a file descriptor supports SIGIO and applying the workaround to it if not,
        and deactivate_fd, which just turns off the descriptor.
      
        This is changed so that only activate_fd calls maybe_sigio_broken, when
        the descriptor is first seen.  reactivate_fd now calls add_sigio_fd, which
        is symmetric with ignore_sigio_fd.
      
        This removes a recursion which makes a critical section look more critical
        than it really was, obsoleting a big comment to that effect.  This requires
        keeping track of all descriptors which are getting the SIGIO treatment, not
        just the ones being polled at any given moment, so that reactivate_fd,
        through add_sigio_fd, doesn't try to tell the SIGIO thread about descriptors
        it doesn't care about.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      19bdf040
    • Jeff Dike's avatar
      [PATCH] uml: Improve SIGBUS diagnostics · 6edf428e
      Jeff Dike authored
      UML can get a SIGBUS anywhere if the tmpfs mount being used for its memory
      runs out of space.  This patch adds a printk before the panic to provide a
      clue as to what likely went wrong.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6edf428e
    • Jeff Dike's avatar
      [PATCH] uml: Fix handling of failed execs of helpers · 6b7aaad9
      Jeff Dike authored
      There were some bugs in handling failures to exec helper programs.  errno was
      passed back from the child with the wrong sign.  It was also ignored.  In the
      case where it mattered, the errno from the (successful) read in the parent was
      used instead.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6b7aaad9
    • Jeff Dike's avatar
      [PATCH] uml: Whitespace fixes · 5e1f65a6
      Jeff Dike authored
      arch/um/kernel/tlb.c had some pretty serious whitespace problems.  I also
      fixed some returns.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      5e1f65a6
    • Jeff Dike's avatar
      [PATCH] uml: Fix stack alignment · 8f80e946
      Jeff Dike authored
      Stack randomization needs to be conditional on the personality allowing it.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      8f80e946
    • Jeff Dike's avatar
      [PATCH] uml: Use ARRAY_SIZE more assiduously · 91b165c0
      Jeff Dike authored
      There were a bunch of missed ARRAY_SIZE opportunities.
      
      Also, some formatting fixes in the affected areas of code.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      91b165c0
    • Jeff Dike's avatar
      [PATCH] uml: Use klibc setjmp/longjmp · 13c06be3
      Jeff Dike authored
      This patch adds an implementation of setjmp and longjmp to UML, allowing
      access to the inside of a jmpbuf without needing the access macros formerly
      provided by libc.
      
      The implementation is stolen from klibc.  I copy the relevant files into
      arch/um.  I have another patch which avoids the copying, but requires klibc be
      in the tree.
      
      setjmp and longjmp users required some tweaking.  Includes of <setjmp.h> were
      removed and includes of the UML longjmp.h were added where necessary.  There
      are also replacements of siglongjmp with UML_LONGJMP which I somehow missed
      earlier.
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      13c06be3
    • Rafael J. Wysocki's avatar
      [PATCH] PM: Add pm_trace switch · c5c6ba4e
      Rafael J. Wysocki authored
      Add the pm_trace attribute in /sys/power which has to be explicitly set to
      one to really enable the "PM tracing" code compiled in when CONFIG_PM_TRACE
      is set (which modifies the machine's CMOS clock in unpredictable ways).
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c5c6ba4e
    • Rafael J. Wysocki's avatar
      [PATCH] i386: Detect clock skew during suspend · 7d145aa3
      Rafael J. Wysocki authored
      Detect the situations in which the time after a resume from disk would be
      earlier than the time before the suspend and prevent them from happening on
      i386.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarJohn Stultz <johnstul@us.ibm.com>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7d145aa3
    • Rafael J. Wysocki's avatar
      [PATCH] suspend: make it possible to disable serial console suspend · e1da95ae
      Rafael J. Wysocki authored
      Hack uart_suspend_port() and uart_resume_port() so that serial console
      ports are not suspended if CONFIG_DISABLE_CONSOLE_SUSPEND is set.
      
      This makes it possible to debug the suspend and resume routines of all
      device drivers as well as the lowest-level swsusp code with the help of the
      serial console.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e1da95ae
    • Rafael J. Wysocki's avatar
      [PATCH] PM: make it possible to disable console suspending · c8eb8b40
      Rafael J. Wysocki authored
      Change suspend_console() so that it waits for all consoles to flush the
      remaining messages and make it possible to switch the console suspending off
      with the help of a Kconfig option.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Cc: Stefan Seyfried <seife@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c8eb8b40
    • Rafael J. Wysocki's avatar
      [PATCH] swsusp: Use memory bitmaps during resume · 940864dd
      Rafael J. Wysocki authored
      Make swsusp use memory bitmaps to store its internal information during the
      resume phase of the suspend-resume cycle.
      
      If the pfns of saveable pages are saved during the suspend phase instead of
      the kernel virtual addresses of these pages, we can use them during the resume
      phase directly to set the corresponding bits in a memory bitmap.  Then, this
      bitmap is used to mark the page frames corresponding to the pages that were
      saveable before the suspend (aka "unsafe" page frames).
      
      Next, we allocate as many page frames as needed to store the entire suspend
      image and make sure that there will be some extra free "safe" page frames for
      the list of PBEs constructed later.  Subsequently, the image is loaded and, if
      possible, the data loaded from it are written into their "original" page
      frames (ie.  the ones they had occupied before the suspend).
      
      The image data that cannot be written into their "original" page frames are
      loaded into "safe" page frames and their "original" kernel virtual addresses,
      as well as the addresses of the "safe" pages containing their copies, are
      stored in a list of PBEs.  Finally, the list of PBEs is used to copy the
      remaining image data into their "original" page frames (this is done
      atomically, by the architecture-dependent parts of swsusp).
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      940864dd
    • Rafael J. Wysocki's avatar
      [PATCH] swsusp: Introduce memory bitmaps · b788db79
      Rafael J. Wysocki authored
      Introduce the memory bitmap data structure and make swsusp use in the suspend
      phase.
      
      The current swsusp's internal data structure is not very efficient from the
      memory usage point of view, so it seems reasonable to replace it with a data
      structure that will require less memory, such as a pair of bitmaps.
      
      The idea is to use bitmaps that may be allocated as sets of individual pages,
      so that we can avoid making allocations of order greater than 0.  For this
      reason the memory bitmap structure consists of several linked lists of objects
      that contain pointers to memory pages with the actual bitmap data.  Still, for
      a typical system all of these lists fit in a single page, so it's reasonable
      to introduce an additional mechanism allowing us to allocate all of them
      efficiently without sacrificing the generality of the design.  This is done
      with the help of the chain_allocator structure and associated functions.
      
      We need to use two memory bitmaps during the suspend phase of the
      suspend-resume cycle.  One of them is necessary for marking the saveable
      pages, and the second is used to mark the pages in which to store the copies
      of them (aka image pages).
      
      First, the bitmaps are created and we allocate as many image pages as needed
      (the corresponding bits in the second bitmap are set as soon as the pages are
      allocated).  Second, the bits corresponding to the saveable pages are set in
      the first bitmap and the saveable pages are copied to the image pages.
      Finally, the first bitmap is used to save the kernel virtual addresses of the
      saveable pages and the second one is used to save the contents of the image
      pages.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      b788db79