1. 06 2月, 2008 27 次提交
  2. 05 2月, 2008 2 次提交
  3. 04 2月, 2008 11 次提交
    • G
      [ARM] 4660/3: at91: allow selecting UART for early kernel messages · fa3218d8
      Guennadi Liakhovetski 提交于
      Currently early kernel messages, i.e., those from uncompression, go to the
      debugging UART. And if it is enabled in the platform configuration, but
      not initialized by the bootloader, the machine hangs, waiting for UART
      status change. Besides, having those messages on another UART - typically
      the console UART - may be preferrable. This patch allows selecting the
      UART in kernel configuration.
      Signed-off-by: NGuennadi Liakhovetski <lg@denx.de>
      Acked-by: NAndrew Victor <linux@maxim.org.za>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      fa3218d8
    • R
      virtio: balloon driver · 6b35e407
      Rusty Russell 提交于
      After discussions with Anthony Liguori, it seems that the virtio
      balloon can be made even simpler.  Here's my attempt.
      
      The device configuration tells the driver how much memory it should
      take from the guest (ie. balloon size).  The guest feeds the page
      numbers it has taken via one virtqueue.
      
      A second virtqueue feeds the page numbers the driver wants back: if
      the device has the VIRTIO_BALLOON_F_MUST_TELL_HOST bit, then this
      queue is compulsory, otherwise it's advisory (and the guest can simply
      fault the pages back in).
      
      This driver can be enhanced later to deflate the balloon via a
      shrinker, oom callback or we could even go for a complete set of
      in-guest regulators.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      6b35e407
    • A
      virtio: Use PCI revision field to indicate virtio PCI ABI version · 55a7c066
      Anthony Liguori 提交于
      As Avi pointed out, as we continue to massage the virtio PCI ABI, we can make
      things a little more friendly to users by utilizing the PCI revision field to
      indicate which version of the ABI we're using.  This is a hard ABI version
      and incrementing it will cause the guest driver to break.
      
      This is the necessary changes to virtio_pci to support this.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      55a7c066
    • A
      virtio: PCI device · 3343660d
      Anthony Liguori 提交于
      This is a PCI device that implements a transport for virtio.  It allows virtio
      devices to be used by QEMU based VMMs like KVM or Xen.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      3343660d
    • R
      virtio: reset function · 6e5aa7ef
      Rusty Russell 提交于
      A reset function solves three problems:
      
      1) It allows us to renegotiate features, eg. if we want to upgrade a
         guest driver without rebooting the guest.
      
      2) It gives us a clean way of shutting down virtqueues: after a reset,
         we know that the buffers won't be used by the host, and
      
      3) It helps the guest recover from messed-up drivers.
      
      So we remove the ->shutdown hook, and the only way we now remove
      feature bits is via reset.
      
      We leave it to the driver to do the reset before it deletes queues:
      the balloon driver, for example, needs to chat to the host in its
      remove function.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      6e5aa7ef
    • R
      virtio: Tweak virtio_net defines · 34a48579
      Rusty Russell 提交于
      1) Turn GSO on virtio net into an all-or-nothing (keep checksumming
         separate).  Having multiple bits is a pain: if you can't support something
         you should handle it in software, which is still a performance win.
      
      2) Make VIRTIO_NET_HDR_GSO_ECN a flag in the header, so it can apply to
         IPv6 or v4.
      
      3) Rename VIRTIO_NET_F_NO_CSUM to VIRTIO_NET_F_CSUM (ie. means we do
         checksumming).
      
      4) Add csum and gso params to virtio_net to allow more testing.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      34a48579
    • R
      virtio: Net header needs hdr_len · 50c8ea80
      Rusty Russell 提交于
      It's far easier to deal with packets if we don't have to parse the
      packet to figure out the header length to know how much to pull into
      the skb data.  Add the field to the virtio_net_hdr struct (and fix the
      spaces that somehow crept in there).
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      50c8ea80
    • R
      virtio: remove unused id field from struct virtio_blk_outhdr · 24a5ae5d
      Rusty Russell 提交于
      This field has been unused since an older version of virtio.  Remove
      it now before we freeze the ABI.
      
      Signed-off-by: Rusty Russell <rusty@rustcorp.com.au.
      24a5ae5d
    • R
      virtio: clarify NO_NOTIFY flag usage · 426e3e0a
      Rusty Russell 提交于
      The other side (host) can set the NO_NOTIFY flag as an optimization,
      to say "no need to kick me when you add things".  Make it clear that
      this is advisory only; especially that we should always notify when
      the ring is full.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      426e3e0a
    • A
      virtio: Fix vring_init/vring_size to take unsigned long · 3309daaa
      Anthony Liguori 提交于
      Using unsigned int resulted in silent truncation of the upper 32-bit
      on x86_64 resulting in an OOPS since the ring was being initialized
      wrong.
      
      Please reconsider my previous patch to just use PAGE_ALIGN().  Open
      coding this sort of stuff, no matter how simple it seems, is just
      asking for this sort of trouble.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      3309daaa
    • R
      virtio: configuration change callback · f957d1f0
      Rusty Russell 提交于
      Various drivers want to know when their configuration information
      changes: the balloon driver is the immediate user, but the network
      driver may one day have a "carrier" status as well.
      
      This introduces that callback (lguest doesn't use it yet).
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      f957d1f0