1. 24 10月, 2007 17 次提交
  2. 23 10月, 2007 23 次提交
    • G
      m68knommu: local module/elf definitions · f186c9ad
      Greg Ungerer 提交于
      Up to now m68knommu has been using the asm-m68k/module.h instead of
      defining its own. There are recent changes there that we don't need
      (fixups specifically). We don't need much support here so it makes
      sense to have an m68knommu specific one now.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f186c9ad
    • M
      m68knommu: define __clear_user macro · fa2eae93
      Matt Waddel 提交于
      Define __clear_user macro, consistent with other architectures.
      fs/signalfd.c won't compile without it.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fa2eae93
    • J
      fvr32: fixup dma-mapping for new sg layout · 83fcaf70
      Jens Axboe 提交于
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      83fcaf70
    • J
      sh/sh64: fixup dma-mapping for new sg layout · 71df50a4
      Jens Axboe 提交于
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      71df50a4
    • J
      m68knommu: remove sg_address() · 75d35c93
      Jens Axboe 提交于
      I would have replaced it with sg_virt(), but it doesn't appear to be
      used at all.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      75d35c93
    • J
      d09d276e
    • J
      blackfin: remove sg_address() · 26da1078
      Jens Axboe 提交于
      I would have replaced it with sg_virt(), but it doesn't appear to be
      used at all.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      26da1078
    • J
      arm: sg fallout · dee9ba82
      Jens Axboe 提交于
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      dee9ba82
    • H
      [AVR32] Implement at32_add_device_cf() · eaf5f925
      Haavard Skinnemoen 提交于
      Implement at32_add_device_cf() which will add a platform_device for
      the at32_cf driver (not merged yet). Separate out most of the
      at32_add_device_ide() code and use it to implement
      at32_add_device_cf() as well.
      
      This changes the API in the following ways:
        * The board code must initialize data->cs to the chipselect ID to
          use before calling any of these functions.
        * The board code must use GPIO_PIN_NONE to indicate unused CF pins.
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      eaf5f925
    • H
      [AVR32] Implement more at32_add_device_foo() functions · 2042c1c4
      Haavard Skinnemoen 提交于
      Implement functions for adding platform devices for TWI, MCI, AC97C
      and ABDAC. They may need to be modified to cope with platform data,
      etc. when the corresponding drivers are ready to be merged, but such
      changes are much less likely to conflict than adding support for a
      whole new type of device.
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      2042c1c4
    • K
      [AVR32] Platform code for pata_at32 · 48021bd9
      Kristoffer Nyborg Gregertsen 提交于
      This patch adds platform code for PATA devices on the AP7000.
      
      [hskinnemoen@atmel.com: board code left out for now since stk1000
      	doesn't support IDE out of the box]
      Signed-off-by: NKristoffer Nyborg Gregertsen <kngregertsen@norway.atmel.com>
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      48021bd9
    • F
      parisc: fix sg_page() fallout · b61e8f48
      FUJITA Tomonori 提交于
      arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_map_sg':
      arch/parisc/kernel/pci-dma.c:487: error: 'struct scatterlist' has no member named 'page'
      arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_unmap_sg':
      arch/parisc/kernel/pci-dma.c:508: error: 'struct scatterlist' has no member named 'page'
      arch/parisc/kernel/pci-dma.c:508: error: 'struct scatterlist' has no member named 'page'
      arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_sync_sg_for_cpu':
      arch/parisc/kernel/pci-dma.c:535: error: 'struct scatterlist' has no member named 'page'
      arch/parisc/kernel/pci-dma.c:535: error: 'struct scatterlist' has no member named 'page'
      arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_sync_sg_for_device':
      arch/parisc/kernel/pci-dma.c:545: error: 'struct scatterlist' has no member named 'page'
      arch/parisc/kernel/pci-dma.c:545: error: 'struct scatterlist' has no member named 'page'
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      b61e8f48
    • O
      powerpc: Fix fallout from sg_page() changes · 5edadbd0
      Olof Johansson 提交于
      Fix fallout from 18dabf47:
      
      In file included from include/linux/dma-mapping.h:52,
                       from drivers/base/dma-mapping.c:10:
      include/asm/dma-mapping.h: In function 'dma_map_sg':
      include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page'
      include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page'
      include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page'
      include/asm/dma-mapping.h:289: error: 'struct scatterlist' has no member named 'page'
      include/asm/dma-mapping.h:290: error: 'struct scatterlist' has no member named 'page'
      include/asm/dma-mapping.h: In function 'dma_sync_sg_for_cpu':
      include/asm/dma-mapping.h:331: error: 'struct scatterlist' has no member named 'page'
      
      drivers/scsi/ps3rom.c: In function 'fetch_to_dev_buffer':
      drivers/scsi/ps3rom.c:150: error: 'struct scatterlist' has no member named 'page'
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      5edadbd0
    • J
      [ALSA] version 1.0.15 · 9efbf95f
      Jaroslav Kysela 提交于
      Signed-off-by: NJaroslav Kysela <perex@perex.cz>
      9efbf95f
    • R
      Lguest support for Virtio · 19f1537b
      Rusty Russell 提交于
      This makes lguest able to use the virtio devices.
      
      We change the device descriptor page from a simple array to a variable
      length "type, config_len, status, config data..." format, and
      implement virtio_config_ops to read from that config data.
      
      We use the virtio ring implementation for an efficient Guest <-> Host
      virtqueue mechanism, and the new LHCALL_NOTIFY hypercall to kick the
      host when it changes.
      
      We also use LHCALL_NOTIFY on kernel addresses for very very early
      console output.  We could have another hypercall, but this hack works
      quite well.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      19f1537b
    • R
      Remove old lguest I/O infrrasructure. · 15045275
      Rusty Russell 提交于
      This patch gets rid of the old lguest host I/O infrastructure and
      replaces it with a single hypercall "LHCALL_NOTIFY" which takes an
      address.
      
      The main change is the removal of io.c: that mainly did inter-guest
      I/O, which virtio doesn't yet support.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      15045275
    • R
      Remove old lguest bus and drivers. · 0ca49ca9
      Rusty Russell 提交于
      This gets rid of the lguest bus, drivers and DMA mechanism, to make
      way for a generic virtio mechanism.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      0ca49ca9
    • R
      Virtio helper routines for a descriptor ringbuffer implementation · 0a8a69dd
      Rusty Russell 提交于
      These helper routines supply most of the virtqueue_ops for hypervisors
      which want to use a ring for virtio.  Unlike the previous lguest
      implementation:
      
      1) The rings are variable sized (2^n-1 elements).
      2) They have an unfortunate limit of 65535 bytes per sg element.
      3) The page numbers are always 64 bit (PAE anyone?)
      4) They no longer place used[] on a separate page, just a separate
         cacheline.
      5) We do a modulo on a variable.  We could be tricky if we cared.
      6) Interrupts and notifies are suppressed using flags within the rings.
      
      Users need only get the ring pages and provide a notify hook (KVM
      wants the guest to allocate the rings, lguest does it sanely).
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Dor Laor <dor.laor@qumranet.com>
      0a8a69dd
    • R
      Virtio console driver · 31610434
      Rusty Russell 提交于
      This is an hvc-based virtio console driver.  It's suboptimal becuase
      hvc expects to have raw access to interrupts and virtio doesn't assume
      that, so it currently polls.
      
      There are two solutions: expose hvc's "kick" interface, or wean off hvc.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      31610434
    • R
      Block driver using virtio. · e467cde2
      Rusty Russell 提交于
      The block driver uses scatter-gather lists with sg[0] being the
      request information (struct virtio_blk_outhdr) with the type, sector
      and inbuf id.  The next N sg entries are the bio itself, then the last
      sg is the status byte.  Whether the N entries are in or out depends on
      whether it's a read or a write.
      
      We accept the normal (SCSI) ioctls: they get handed through to the other
      side which can then handle it or reply that it's unsupported.  It's
      not clear that this actually works in general, since I don't know
      if blk_pc_request() requests have an accurate rq_data_dir().
      
      Although we try to reply -ENOTTY on unsupported commands, ioctl(fd,
      CDROMEJECT) returns success to userspace.  This needs a separate
      patch.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      e467cde2
    • R
      Net driver using virtio · 296f96fc
      Rusty Russell 提交于
      The network driver uses two virtqueues: one for input packets and one
      for output packets.  This has nice locking properties (ie. we don't do
      any for recv vs send).
      
      TODO:
      	1) Big packets.
      	2) Multi-client devices (maybe separate driver?).
      	3) Resolve freeing of old xmit skbs (Christian Borntraeger)
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: netdev@vger.kernel.org
      296f96fc
    • R
      Virtio interface · ec3d41c4
      Rusty Russell 提交于
      This attempts to implement a "virtual I/O" layer which should allow
      common drivers to be efficiently used across most virtual I/O
      mechanisms.  It will no-doubt need further enhancement.
      
      The virtio drivers add buffers to virtio queues; as the buffers are consumed
      the driver "interrupt" callbacks are invoked.
      
      There is also a generic implementation of config space which drivers can query
      to get setup information from the host.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Dor Laor <dor.laor@qumranet.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      ec3d41c4
    • R
      Boot with virtual == physical to get closer to native Linux. · 47436aa4
      Rusty Russell 提交于
      1) This allows us to get alot closer to booting bzImages.
      
      2) It means we don't have to know page_offset.
      
      3) The Guest needs to modify the boot pagetables to create the
         PAGE_OFFSET mapping before jumping to C code.
      
      4) guest_pa() walks the page tables rather than using page_offset.
      
      5) We don't use page_offset to figure out whether to emulate: it was
         always kinda quesationable, and won't work for instructions done
         before remapping (bzImage unpacking in particular).
      
      6) We still want the kernel address for tlb flushing: have the initial
         hypercall give us that, too.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      47436aa4