Sign in

gwj / at91sam9263 · Commits

GitLab

  • Go to dashboard
  • Project
  • Activity
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Snippets
  • Commits 8,232
  • Compare
  • Branches 2
  • Tags 0
  • at91sam9263
09 Jun, 2009
26 commits
  • virtio-net: MAC filter optimization ...
    2d9aba39
    The MAC filter table is received from the guest as two separate
    buffers, one with unicast entries, the other with multicast
    entries.  If we track the index dividing the two sets, we can
    avoid searching the part of the table with the wrong type of
    entries.
    
    We could store this index as part of the save image, but its
    trivially easy to discover it on load.
    
    Signed-off-by: Alex Williamson <alex.williamson@hp.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Alex Williamson authored
    2009-06-09 11:38:50 +0100  
    Browse Code »
  • virtio-net: Fix MAC filter overflow handling ...
    8fd2a2f1
    Overloading the promisc and allmulti flags for indicating filter
    table overflow makes it difficult to track the actual requested
    operating mode.  Split these out into separate flags.
    
    Signed-off-by: Alex Williamson <alex.williamson@hp.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Alex Williamson authored
    2009-06-09 11:38:50 +0100  
    Browse Code »
  • virtio-net: reorganize receive_filter() ...
    bbe2f399
    Reorganize receive_filter to better handle the split between
    unicast and multicast filtering.  This allows us to skip the
    broadcast check on unicast packets and leads to more opportunities
    for optimization.
    
    Signed-off-by: Alex Williamson <alex.williamson@hp.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Alex Williamson authored
    2009-06-09 11:38:50 +0100  
    Browse Code »
  • virtio-net: Use a byte to store RX mode flags ...
    f10c592e
    There's no need to save 4 bytes for promisc and allmulti.
    Use one byte each just to avoid the overhead of a bitmap.
    
    Signed-off-by: Alex Williamson <alex.williamson@hp.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Alex Williamson authored
    2009-06-09 11:38:50 +0100  
    Browse Code »
  • virtio-net: Add version_id 7 placeholder for vnet header support ...
    6c042c16
    Signed-off-by: Alex Williamson <alex.williamson@hp.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Alex Williamson authored
    2009-06-09 11:38:50 +0100  
    Browse Code »
  • virtio-net: implement rx packet queueing ...
    8aeff62d
    If we don't have room to receive a packet, we return zero
    from virtio_net_receive() and call qemu_flush_queued_packets()
    as soon as space becomes available.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:50 +0100  
    Browse Code »
  • net: make use of async packet sending API in tap client ...
    e19eb224
    If a packet is queued by qemu_send_packet(), remove I/O
    handler for the tap fd until we get notification that the
    packet has been sent.
    
    A not insignificant side effect of this is we can now
    drain the tap send queue in one go without fear of packets
    being dropped.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:50 +0100  
    Browse Code »
  • net: add qemu_send_packet_async() ...
    f3b6c7fc
    Add a qemu_send_packet() variant which will queue up the packet
    if it cannot be sent when all client queues are full. It later
    invokes the supplied callback when the packet has been sent.
    
    If qemu_send_packet_async() returns zero, the caller is expected
    to not send any more packets until the queued packet has been
    sent.
    
    Packets are queued iff a receive() handler returns zero (indicating
    queue full) and the caller has provided a sent notification callback
    (indicating it will stop and start its own queue).
    
    We need the packet sending API to support queueing because:
    
      - a sending client should process all available packets in one go
        (e.g. virtio-net emptying its tx ring)
    
      - a receiving client may not be able to handle the packet
        (e.g. -EAGAIN from write() to tapfd)
    
      - the sending client could detect this condition in advance
        (e.g. by select() for writable on tapfd)
    
      - that's too much overhead (e.g. a select() call per packet)
    
      - therefore the sending client must handle the condition by
        dropping the packet or queueing it
    
      - dropping packets is poor form; we should queue.
    
    However, we don't want queueing to be completely transparent. We
    want the sending client to stop sending packets as soon as a
    packet is queued. This allows the sending client to be throttled
    by the receiver.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:50 +0100  
    Browse Code »
  • net: split out packet queueing and flushing into separate functions ...
    e94667b9
    We'll be doing more packet queueing in later commits.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:50 +0100  
    Browse Code »
  • net: return status from qemu_deliver_packet() ...
    3e021d40
    Will allow qemu_send_packet() handle queue full condition.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:50 +0100  
    Browse Code »
  • net: add return value to packet receive handler ...
    4f1c942b
    This allows us to handle queue full conditions rather than dropping
    the packet on the floor.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:49 +0100  
    Browse Code »
  • net: pass VLANClientState* as first arg to receive handlers ...
    e3f5ec2b
    Give static type checking a chance to catch errors.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:49 +0100  
    Browse File »
  • net: re-name vc->fd_read() to vc->receive() ...
    cda9046b
    VLANClientState's fd_read() handler doesn't read from file
    descriptors, it adds a buffer to the client's receive queue.
    
    Re-name the handlers to make things a little less confusing.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:49 +0100  
    Browse Code »
  • net: add fd_readv() handler to qemu_new_vlan_client() args ...
    463af534
    This, apparently, is the style we prefer - all VLANClientState
    should be an argument to qemu_new_vlan_client().
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:49 +0100  
    Browse Code »
  • net: only read from tapfd when we can send ...
    3471b757
    Reduce the number of packets dropped under heavy network
    traffic by only reading a packet from the tapfd when a
    client can actually handle it.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:49 +0100  
    Browse Code »
  • net: vlan clients with no fd_can_read() can always receive ...
    2e1e0641
    If a vlan client has no fd_can_read(), that means it can
    always receive packets. The current code assumes it can *never*
    receive packets.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:49 +0100  
    Browse Code »
  • net: move the tap buffer into TAPState ...
    5b01e886
    KVM uses a 64k buffer for reading from tapfd (for GSO support)
    and allocates the buffer with TAPState rather than on the stack.
    
    Not allocating it on the stack probably makes sense for qemu
    anyway, so merge it in advance of GSO support.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:49 +0100  
    Browse Code »
  • net: factor tap_read_packet() out of tap_send() ...
    5a6d8815
    Move portability clutter out into its own function.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:49 +0100  
    Browse Code »
  • slirp: Reorder initialization ...
    b8e8af38
    This patch reorders the initialization of slirp itself as well as its
    associated features smb and redirection. So far the first reference to
    slirp triggered the initialization, independent of the actual -net user
    option which may carry additional parameters. Now we save any request to
    add a smb export or some redirections until the actual initialization of
    the stack. This also allows to move a few parameters that were passed
    via global variable into the argument list of net_slirp_init.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Jan Kiszka authored
    2009-06-09 11:38:49 +0100  
    Browse Dir »
  • net: Improve parameter error reporting ...
    10ae5a7a
    As host network devices can also be instantiated via the monitor, errors
    should then be reported to the related monitor instead of stderr. This
    requires larger refactoring, so this patch starts small with introducing
    a helper to catch both cases and convert net_client_init as well as
    net_slirp_redir.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Jan Kiszka authored
    2009-06-09 11:38:49 +0100  
    Browse File »
  • net: fix error reporting for some net parameter checks ...
    c8decae2
    A small bit of confusion between buffers is causing errors like:
    
      qemu: invalid parameter '10' in 'script=/etc/qemu-ifup,fd=10'
    
    instead of:
    
      qemu: invalid parameter 'script' in 'script=/etc/qemu-ifup,fd=10'
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:49 +0100  
    Browse Code »
  • net: Real fix for check_params users ...
    0aa7a205
    OK, last try: 8e4416af broke -net socket, ffad4116 tried to fix it
    but broke error reporting of invalid parameters. So this patch widely
    reverts ffad4116 again and intead fixes those callers of check_params
    that originally suffered from overwritten buffers by using separate
    ones.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Jan Kiszka authored
    2009-06-09 11:38:49 +0100  
    Browse Code »
  • Revert "Fix output of uninitialized strings" ...
    cda94b27
    This reverts commit 8cf07dcb.
    
    This is a sorry saga.
    
    This commit:
    
      8e4416af net: Add parameter checks for VLAN clients
    
    broken '-net socket' and this commit:
    
      ffad4116 net: Fix -net socket parameter checks
    
    fixed the problem but introduced another problem which
    this commit:
    
      8cf07dcb Fix output of uninitialized strings
    
    fixed that final problem, but causing us to lose some
    error reporting information in the process.
    
    Meanwhile Jan posted a patch to mostly re-do ffad4116
    in a way that fixes the original issue, but without
    losing the error reporting information. So, let's revert
    8cf07dcb and apply Jan's patch.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Mark McLoughlin authored
    2009-06-09 11:38:49 +0100  
    Browse File »
  • slirp: Avoid zombie processes after fork_exec ...
    7c3370d4
    Slirp uses fork_exec for spawning service processes, and QEMU uses this
    for running smbd. As SIGCHLD is not handled, these processes become
    zombies on termination. Fix this by installing a proper signal handler,
    but also make sure we disable the signal while waiting on forked network
    setup/shutdown scripts.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Jan Kiszka authored
    2009-06-09 11:38:49 +0100  
    Browse Code »
  • net: Fix and improved ordered packet delivery ...
    c27ff608
    Fix a race in qemu_send_packet when delivering deferred packets and
    add proper deferring also to qemu_sendv_packet.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Jan Kiszka authored
    2009-06-09 11:38:48 +0100  
    Browse Code »
  • net: Don't deliver to disabled interfaces in qemu_sendv_packet ...
    c8aa237c
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Jan Kiszka authored
    2009-06-09 11:38:48 +0100  
    Browse Code »

08 Jun, 2009
3 commits
  • qdev: c99 initilaizers for bus_type_names ...
    98ba2632
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Gerd Hoffmann authored
    2009-06-08 20:36:54 +0300  
    Browse Code »
  • xen nic: use XC_PAGE_SIZE instead of PAGE_SIZE. ...
    682aea0e
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Gerd Hoffmann authored
    2009-06-08 20:02:04 +0300  
    Browse Code »
  • xen nic: use qemu_malloc ...
    7105b056
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Gerd Hoffmann authored
    2009-06-08 20:01:23 +0300  
    Browse Code »

07 Jun, 2009
3 commits
  • kvm: Improve upgrade notes when facing unsupported kernels ...
    168ccc11
    Users complained that it is not obvious what to do when kvm refuses to
    build or run due to an unsupported host kernel, so let's improve the
    hints.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Jan Kiszka authored
    2009-06-07 16:40:22 +0300  
    Browse File »
  • Fix generation of CONFIG_KVM ...
    4ca1a9c6
    When configuring for several targets, some with KVM and some without, CONFIG_KVM was accidentally disabled for some of the targets.
    
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    Blue Swirl authored
    2009-06-07 13:29:26 +0000  
    Browse Code »
  • Use hxtool for qemu-img command list ...
    153859be
    Use hxtool to generate the 'command syntax' section of qemu-img's help
    message, and the corresponding section of the texinfo documentation.
    
    This has the side-effect of adding 'check' to this list of commands in
    the texinfo documentation.
    
    Signed-off-by: Stuart Brady <stuart.brady@gmail.com>
    Stuart Brady authored
    2009-06-07 09:59:47 +0300  
    Browse Code »

06 Jun, 2009
8 commits
  • doc: Update information on supported network adapters. ...
    3a2eeac0
    * There are no ISA PCI network adapters.
    * MIPS Malta is supported with any PCI network card.
    
    Signed-off-by: Stefan Weil <weil@mail.berlios.de>
    Stefan Weil authored
    2009-06-06 19:22:44 +0300  
    Browse Code »
  • xen: net backend doesn't need linux headers. ...
    6379840f
    Drop them to make qemu build on OpenSolaris.
    
    Cc: Andreas Färber <andreas.faerber@web.de>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Gerd Hoffmann authored
    2009-06-06 18:48:50 +0300  
    Browse Code »
  • Document changes in qemu-img interface ...
    eff44266
    Update the documentation to reflect the introduction of format specific options
    with -o. Don't advertise -e or -6 any more, they exist only for compatibility
    reasons and can be replaced by the corresponding -o options.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Kevin Wolf authored
    2009-06-06 18:39:02 +0300  
    Browse File »
  • qemu-img: Print available options with -o ? ...
    db08adf5
    This patch adds a small help text to each of the options in the block drivers
    which can be displayed by using qemu-img create -f fmt -o ?
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Kevin Wolf authored
    2009-06-06 18:38:57 +0300  
    Browse Code »
  • Fix spelling in comment. ...
    f425c278
    Signed-off-by: Stefan Weil <weil@mail.berlios.de>
    Stefan Weil authored
    2009-06-06 18:17:14 +0300  
    Browse File »
  • Use hxtool to generate monitor documentation and C structures ...
    2313086a
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
    Blue Swirl authored
    2009-06-06 08:22:04 +0000  
    Browse File »
  • Use correct type for SPARC cpu_cc_op ...
    25517f99
    Signed-off-by: Paul Brook <paul@codesourcery.com>
    Paul Brook authored
    2009-06-06 02:54:03 +0100  
    Browse Dir »
  • Fix typo ...
    db241f40
    Signed-off-by: Paul Brook <paul@codesourcery.com>
    Paul Brook authored
    2009-06-06 02:49:43 +0100  
    Browse Code »