1. 29 6月, 2005 2 次提交
  2. 28 6月, 2005 17 次提交
    • J
    • D
      [PATCH] pcmcia: mod_devicetable.h fix for different sizes in kernel- and userspace · aecab27a
      Dominik Brodowski 提交于
      The size of pointers may differ between (userspace) modpost and (kernelspace)
      modules -- so fix mod_devicetable.h to reflect this possibility.
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      aecab27a
    • D
      [PATCH] pcmcia: match "anonymous" cards · f602ff7e
      Dominik Brodowski 提交于
      If a card doesn't provide _any_ information about itself, assume it is a
      so-called "anonymous" card.  pcmciamtd will bind to it if it is configured to
      do so.
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f602ff7e
    • D
      [PATCH] pcmcia: match for fake CIS · ea7b3882
      Dominik Brodowski 提交于
      Add another match flag for devices needing a CIS override.  The driver will
      only probe/attach if the CIS has been replaced before.
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ea7b3882
    • D
      [PATCH] pcmcia: device and driver matching · 1ad275e3
      Dominik Brodowski 提交于
      The actual matching of pcmcia drivers and pcmcia devices.  The original
      version of this was written by David Woodhouse.
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      1ad275e3
    • A
      [PATCH] ide: it8212 backport for Bartlomiej IDE · da9091ee
      Alan Cox 提交于
      This lets you throw out the iteraid stuff that has ended up back in due
      to stupid goings on in the IDE world. Its the same heavily tested code
      shipped in Fedora/Red Hat products but without the other dependancies on
      the Bartlomiej IDE layer.
      
      Pre-requisite: the ide-disk patch I sent to handle pure LBA devices.
      
      Obviously you lose things like hot unplug with the Bartlomiej IDE layer
      at the moment but that won't matter to most users.
      
      The patch does the following
      - Add IT8211/12 to pci_ids.h
      - Add Makefile/Kconfig entry
      - Add it8212 driver
      
      No core IDE code is touched by this diff
      
      Embedded system testing and the ability to force raid mode off by David
      Howells
      
      Made possible by the ite reference code, documentation and also several
      clarifications and pieces of assistance provided by ITE themselves
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Acked-by: NBartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      da9091ee
    • R
      [PATCH] Return probe redesign: architecture independent changes · 802eae7c
      Rusty Lynch 提交于
      The following is the second version of the function return probe patches
      I sent out earlier this week.  Changes since my last submission include:
      
      * Fix in ppc64 code removing an unneeded call to re-enable preemption
      * Fix a build problem in ia64 when kprobes was turned off
      * Added another BUG_ON check to each of the architecture trampoline
        handlers
      
      My initial patch description ==>
      
       From my experiences with adding return probes to x86_64 and ia64, and the
      feedback on LKML to those patches, I think we can simplify the design
      for return probes.
      
      The following patch tweaks the original design such that:
      
      * Instead of storing the stack address in the return probe instance, the
        task pointer is stored.  This gives us all we need in order to:
          - find the correct return probe instance when we enter the trampoline
            (even if we are recursing)
          - find all left-over return probe instances when the task is going away
      
        This has the side effect of simplifying the implementation since more
        work can be done in kernel/kprobes.c since architecture specific knowledge
        of the stack layout is no longer required.  Specifically, we no longer have:
      	- arch_get_kprobe_task()
      	- arch_kprobe_flush_task()
      	- get_rp_inst_tsk()
      	- get_rp_inst()
      	- trampoline_post_handler() <see next bullet>
      
      * Instead of splitting the return probe handling and cleanup logic across
        the pre and post trampoline handlers, all the work is pushed into the
        pre function (trampoline_probe_handler), and then we skip single stepping
        the original function.  In this case the original instruction to be single
        stepped was just a NOP, and we can do without the extra interruption.
      
      The new flow of events to having a return probe handler execute when a target
      function exits is:
      
      * At system initialization time, a kprobe is inserted at the beginning of
        kretprobe_trampoline.  kernel/kprobes.c use to handle this on it's own,
        but ia64 needed to do this a little differently (i.e. a function pointer
        is really a pointer to a structure containing the instruction pointer and
        a global pointer), so I added the notion of arch_init(), so that
        kernel/kprobes.c:init_kprobes() now allows architecture specific
        initialization by calling arch_init() before exiting.  Each architecture
        now registers a kprobe on it's own trampoline function.
      
      * register_kretprobe() will insert a kprobe at the beginning of the targeted
        function with the kprobe pre_handler set to arch_prepare_kretprobe
        (still no change)
      
      * When the target function is entered, the kprobe is fired, calling
        arch_prepare_kretprobe (still no change)
      
      * In arch_prepare_kretprobe() we try to get a free instance and if one is
        available then we fill out the instance with a pointer to the return probe,
        the original return address, and a pointer to the task structure (instead
        of the stack address.)  Just like before we change the return address
        to the trampoline function and mark the instance as used.
      
        If multiple return probes are registered for a given target function,
        then arch_prepare_kretprobe() will get called multiple times for the same
        task (since our kprobe implementation is able to handle multiple kprobes
        at the same address.)  Past the first call to arch_prepare_kretprobe,
        we end up with the original address stored in the return probe instance
        pointing to our trampoline function. (This is a significant difference
        from the original arch_prepare_kretprobe design.)
      
      * Target function executes like normal and then returns to kretprobe_trampoline.
      
      * kprobe inserted on the first instruction of kretprobe_trampoline is fired
        and calls trampoline_probe_handler() (no change here)
      
      * trampoline_probe_handler() consumes each of the instances associated with
        the current task by calling the registered handler function and marking
        the instance as unused until an instance is found that has a return address
        different then the trampoline function.
      
        (change similar to my previous ia64 RFC)
      
      * If the task is killed with some left-over return probe instances (meaning
        that a target function was entered, but never returned), then we just
        free any instances associated with the task.  (Not much different other
        then we can handle this without calling architecture specific functions.)
      
        There is a known problem that this patch does not yet solve where
        registering a return probe flush_old_exec or flush_thread will put us
        in a bad state.  Most likely the best way to handle this is to not allow
        registering return probes on these two functions.
      
        (Significant change)
      
      This patch series applies to the 2.6.12-rc6-mm1 kernel, and provides:
        * kernel/kprobes.c changes
        * i386 patch of existing return probes implementation
        * x86_64 patch of existing return probe implementation
        * ia64 implementation
        * ppc64 implementation (provided by Ananth)
      
      This patch implements the architecture independant changes for a reworking
      of the kprobes based function return probes design. Changes include:
      
        * Removing functions for querying a return probe instance off a stack address
        * Removing the stack_addr field from the kretprobe_instance definition,
          and adding a task pointer
        * Adding architecture specific initialization via arch_init()
        * Removing extern definitions for the architecture trampoline functions
          (this isn't needed anymore since the architecture handles the
           initialization of the kprobe in the return probe trampoline function.)
      Signed-off-by: NRusty Lynch <rusty.lynch@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      802eae7c
    • A
      [PATCH] kprobes: fix single-step out of line - take2 · 9ec4b1f3
      Ananth N Mavinakayanahalli 提交于
      Now that PPC64 has no-execute support, here is a second try to fix the
      single step out of line during kprobe execution.  Kprobes on x86_64 already
      solved this problem by allocating an executable page and using it as the
      scratch area for stepping out of line.  Reuse that.
      Signed-off-by: NAnanth N Mavinakayanahalli <ananth@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9ec4b1f3
    • M
      [PATCH] cciss: pci domain info pass 2 · cd6fb584
      Mike Miller 提交于
      This is pass 2 of my patch to add pci domain info to an existing ioctl.  This
      time I insert the domain between dev_fn and board_id as Willy suggested and
      change the var to unsigned short to ease Christoph's concerns.  Although I
      thought unsigned int was the correct var type for this.  I also thought it
      didn't matter where I inserted it in the structure.
      Signed-off-by: NMike Miller <mike.miller@hp.com>
      Acked-by: NJeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      cd6fb584
    • M
      [PATCH] cciss: pci id fix · 3de0a70b
      Mike Miller 提交于
      This patch fixes a PCI ID I got wrong before.  It also adds support for
      another new SAS controller due out this summer.  I didn't have a marketing
      name prior to my last submission.  Also modifies the copyright date range.
      Signed-off-by: NMike Miller <mike.miller@hp.com>
      Acked-by: NJeff Garzik <jgarzik@pobox.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3de0a70b
    • A
      [PATCH] seccomp: tsc disable · ffaa8bd6
      Andrea Arcangeli 提交于
      I believe at least for seccomp it's worth to turn off the tsc, not just for
      HT but for the L2 cache too.  So it's up to you, either you turn it off
      completely (which isn't very nice IMHO) or I recommend to apply this below
      patch.
      
      This has been tested successfully on x86-64 against current cogito
      repository (i686 compiles so I didn't bother testing ;).  People selling
      the cpu through cpushare may appreciate this bit for a peace of mind.
      
      There's no way to get any timing info anymore with this applied
      (gettimeofday is forbidden of course).  The seccomp environment is
      completely deterministic so it can't be allowed to get timing info, it has
      to be deterministic so in the future I can enable a computing mode that
      does a parallel computing for each task with server side transparent
      checkpointing and verification that the output is the same from all the 2/3
      seller computers for each task, without the buyer even noticing (for now
      the verification is left to the buyer client side and there's no
      checkpointing, since that would require more kernel changes to track the
      dirty bits but it'll be easy to extend once the basic mode is finished).
      
      Eliminating a cold-cache read of the cr4 global variable will save one
      cacheline during the tlb flush while making the code per-cpu-safe at the
      same time.  Thanks to Mikael Pettersson for noticing the tlb flush wasn't
      per-cpu-safe.
      
      The global tlb flush can run from irq (IPI calling do_flush_tlb_all) but
      it'll be transparent to the switch_to code since the IPI won't make any
      change to the cr4 contents from the point of view of the interrupted code
      and since it's now all per-cpu stuff, it will not race.  So no need to
      disable irqs in switch_to slow path.
      Signed-off-by: NAndrea Arcangeli <andrea@cpushare.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ffaa8bd6
    • B
      [PATCH] ppc32: Remove CONFIG_PMAC_PBOOK · 8c870933
      Benjamin Herrenschmidt 提交于
      This patch removes CONFIG_PMAC_PBOOK (PowerBook support).  This is now
      split into CONFIG_PMAC_MEDIABAY for the actual hotswap bay that some
      powerbooks have, CONFIG_PM for power management related code, and just left
      out of any CONFIG_* option for some generally useful stuff that can be used
      on non-laptops as well.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      8c870933
    • D
      [PATCH] USB: wireless usb <linux/usb_ch9.h> declarations · 5da0106f
      David Brownell 提交于
      This provides declarations for new requests, descriptors, and bitfields as
      defined in the Wireless USB 1.0 spec.  Device support will involve a new
      "Wire Adapter" device class, connecting a USB Host to a cluster of wireless
      USB devices.  There will be two adapter types:
      
        * Host Wireless Adapter (HWA):  the downstream link is wireless, which
          connects a wireless USB host to wireless USB devices (not unlike like
          a hub) including to the second type of adapter.
      
        * Device Wireless Adapter (DWA): the upstream link is wireless, for
          connecting existing USB devices through wired links into the cluser.
      
      All wireless USB devices will need persistent (and secure!) key storage, and
      it's probable that Linux -- or device firmware -- will need to be involved
      with that to bootstrap the initial secure key exchange.
      
      Some user interface is required in that initial key exchange, and since the
      most "hands-off" one is a wired USB link, I suspect wireless operation will
      usually not be the only mode for wireless USB devices.  (Plus, devices can
      recharge batteries using wired USB...)  All other key exchange protocols need
      error prone user interactions, like copying and/or verifying keys.
      
      It'll likely be a while before we have commercial Wireless USB hardware,
      much less Linux implementations that know how to use it.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5da0106f
    • D
      [PATCH] USB: gadget driver updates (SETUP api change) · 1bbc1696
      David Brownell 提交于
      This updates most of the gadget framework to expect SETUP packets use
      USB byteorder (matching the annotation in <linux/usb_ch9.h> and usage
      in the host side stack):
      
        - definition in <linux/usb_gadget.h>
        - gadget drivers:  Ethernet/RNDIS, serial/ACM, file_storage, gadgetfs.
        - dummy_hcd
      
      It also includes some other similar changes as suggested by "sparse",
      which was used to detect byteorder bugs.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1bbc1696
    • O
      [PATCH] USB: Add isp116x-hcd USB host controller driver · 4808a1c0
      Olav Kongas 提交于
      This patch provides an "isp116x-hcd" driver for Philips'
      ISP1160/ISP1161 USB host controllers.
      
      The driver:
       - is relatively small, meant for use on embedded platforms.
       - runs usbtests 1-14 without problems for days.
       - has been in use by 6-7 different people on ARM and PPC platforms,
         running a range of devices including USB hubs.
       - supports suspend/resume of both the platform device and the root hub;
         supports remote wakeup of the root hub (but NOT the platform device)
         by USB devices.
       - does NOT support ISO transfers (nobody has asked for them).
       - is PIO-only.
      Signed-off-by: NOlav Kongas <ok@artecdesign.ee>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4808a1c0
    • J
      [PATCH] CFQ io scheduler updates · 3b18152c
      Jens Axboe 提交于
      - Adjust slice values
      
      - Instead of one async queue, one is defined per priority level. This
        prevents kernel threads (such as reiserfs/x and others) that run at
        higher io priority from conflicting with others. Previously, it was a
        coin toss what io prio the async queue got, it was defined by who
        first set up the queue.
      
      - Let a time slice only begin, when the previous slice is completely
        done. Previously we could be somewhat unfair to a new sync slice, if
        the previous slice was async and had several ios queued. This might
        need a little tweaking if throughput suffers a little due to this,
        allowing perhaps an overlap of a single request or so.
      
      - Optimize the calling of kblockd_schedule_work() by doing it only when
        it is strictly necessary (no requests in driver and work left to do).
      
      - Correct sync vs async logic. A 'normal' process can be purely async as
        well, and a flusher can be purely sync as well. Sync or async is now a
        property of the class defined and requests pending. Previously writers
        could be considered sync, when they were really async.
      
      - Get rid of the bit fields in cfqq and crq, use flags instead.
      
      - Various other cleanups and fixes
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3b18152c
    • J
      [PATCH] Update cfq io scheduler to time sliced design · 22e2c507
      Jens Axboe 提交于
      This updates the CFQ io scheduler to the new time sliced design (cfq
      v3).  It provides full process fairness, while giving excellent
      aggregate system throughput even for many competing processes.  It
      supports io priorities, either inherited from the cpu nice value or set
      directly with the ioprio_get/set syscalls.  The latter closely mimic
      set/getpriority.
      
      This import is based on my latest from -mm.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      22e2c507
  3. 27 6月, 2005 4 次提交
    • R
      [PATCH] Serial: Split 8250 port table · ec9f47cd
      Russell King 提交于
      Add separate files for the different 8250 ISA-based serial boards.
      
      Looking across all the various architectures, it seems reasonable that
      we can key the availability of the configuration options for these
      beasts to the bus-related symbols (iow, CONFIG_ISA).  We also standardise
      the base baud/uart clock rate for these boards - I'm sure that isn't
      architecture specific, but is solely dependent on the crystal fitted
      on the board (which should be the same no matter what type of machine
      its fitted into.)
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ec9f47cd
    • M
      [PATCH] forcedeth: Add support for new device id · f49d16ef
      Manfred Spraul 提交于
      This is a multi-part message in MIME format.
      f49d16ef
    • D
      [ATALK]: Include asm/byteorder.h in linux/atalk.h · 32e9e25e
      David S. Miller 提交于
      We're using __be16 in userland visible types, so we
      have to include asm/byteorder.h so that works.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      32e9e25e
    • J
      bonding: xor/802.3ad improved slave hash · 169a3e66
      Jay Vosburgh 提交于
      Add support for alternate slave selection algorithms to bonding
      balance-xor and 802.3ad modes.  Default mode (what we have now: xor of
      MAC addresses) is "layer2", new choice is "layer3+4", using IP and port
      information for hashing to select peer.
      
      Originally submitted by Jason Gabler for balance-xor mode;
      modified by Jay Vosburgh to additionally support 802.3ad mode.  Jason's
      original comment is as follows:
      
      The attached patch to the Linux Etherchannel Bonding driver modifies the
      driver's "balance-xor" mode as follows:
      
            - alternate hashing policy support for mode 2
              * Added kernel parameter "xmit_policy" to allow the specification
                of different hashing policies for mode 2.  The original mode 2
                policy is the default, now found in xmit_hash_policy_layer2().
              * Added xmit_hash_policy_layer34()
      
      This patch was inspired by hashing policies implemented by Cisco,
      Foundry and IBM, which are explained in
      Foundry documentation found at:
      http://www.foundrynet.com/services/documentation/sribcg/Trunking.html#112750Signed-off-by: NJason Gabler <jygabler@lbl.gov>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      169a3e66
  4. 26 6月, 2005 17 次提交