Skip to content
Snippets Groups Projects
  1. Nov 15, 2016
  2. Oct 27, 2016
    • Benjamin Herrenschmidt's avatar
      ppc/pnv: add skeleton PowerNV platform · 9e933f4a
      Benjamin Herrenschmidt authored
      
      The goal is to emulate a PowerNV system at the level of the skiboot
      firmware, which loads the OS and provides some runtime services. Power
      Systems have a lower firmware (HostBoot) that does low level system
      initialization, like DRAM training. This is beyond the scope of what
      qemu will address in a PowerNV guest.
      
      No devices yet, not even an interrupt controller. Just to get started,
      some RAM to load the skiboot firmware, the kernel and initrd. The
      device tree is fully created in the machine reset op.
      
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      [clg: - updated for qemu-2.7
            - replaced fprintf by error_report
            - used a common definition of _FDT macro
            - removed VMStateDescription as migration is not yet supported
            - added IBM Copyright statements
            - reworked kernel_filename handling
            - merged PnvSystem and sPowerNVMachineState
            - removed PHANDLE_XICP
            - added ppc_create_page_sizes_prop helper
            - removed nmi support
            - removed kvm support
            - updated powernv machine to version 2.8
            - removed chips and cpus, They will be provided in another patches
            - added a machine reset routine to initialize the device tree (also)
            - french has a squelette and english a skeleton.
            - improved commit log.
            - reworked prototypes parameters
            - added a check on the ram size (thanks to Michael Ellerman)
            - fixed chip-id cell
            - changed MAX_CPUS to 2048
            - simplified memory node creation to one node only
            - removed machine version
            - rewrote the device tree creation with the fdt "rw" routines
            - s/sPowerNVMachineState/PnvMachineState/
            - etc.]
      Signed-off-by: default avatarCédric Le Goater <clg@kaod.org>
      Reviewed-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      9e933f4a
  3. Oct 21, 2016
    • Riku Voipio's avatar
      linux-user: disable unicore32 linux-user build · 5e2b40f7
      Riku Voipio authored
      
      In order to cleanup linux-user, we need support for most relatively
      modern syscalls. unicore32 lacks support for syscalls like
      epoll_pwait, preventing cleaning up the CONFIG_EPOLL mess.
      
      This patch can be reverted when unicore32 starts either supporting
      the syscalls as defined in mainline kernel, or the oldabi interface
      gains support for syscalls supported since at kernel 2.6.19 / glibc 2.6
      
      Cc: MPRC <zhangheng@mprc.pku.edu.cn>
      Cc: Xuetao Guan <gxt@mprc.pku.edu.cn>
      Signed-off-by: default avatarRiku Voipio <riku.voipio@linaro.org>
      5e2b40f7
  4. Oct 04, 2016
  5. Sep 13, 2016
  6. Jul 04, 2016
  7. Jul 01, 2016
  8. Jun 14, 2016
  9. Jun 02, 2016
    • Dmitry Fleytman's avatar
      net: Introduce e1000e device emulation · 6f3fbe4e
      Dmitry Fleytman authored
      This patch introduces emulation for the Intel 82574 adapter, AKA e1000e.
      
      This implementation is derived from the e1000 emulation code, and
      utilizes the TX/RX packet abstractions that were initially developed for
      the vmxnet3 device. Although some parts of the introduced code may be
      shared with e1000, the differences are substantial enough so that the
      only shared resources for the two devices are the definitions in
      hw/net/e1000_regs.h.
      
      Similarly to vmxnet3, the new device uses virtio headers for task
      offloads (for backends that support virtio extensions). Usage of
      virtio headers may be forcibly disabled via a boolean device property
      "vnet" (which is enabled by default). In such case task offloads
      will be performed in software, in the same way it is done on
      backends that do not support virtio headers.
      
      The device code is split into two parts:
      
        1. hw/net/e1000e.c: QEMU-specific code for a network device;
        2. hw/net/e1000e_core.[hc]: Device emulation according to the spec.
      
      The new device name is e1000e.
      
      Intel specifications for the 82574 controller are available at:
      http://www.intel.com/content/dam/doc/datasheet/82574l-gbe-controller-datasheet.pdf
      
      
      
      Throughput measurement results (iperf2):
      
                      Fedora 22 guest, TCP, RX
          4 ++------------------------------------------+
            |                                           |
            |                           X   X   X   X   X
        3.5 ++          X   X   X   X                   |
            |       X                                   |
            |                                           |
          3 ++                                          |
      G     |   X                                       |
      b     |                                           |
      / 2.5 ++                                          |
      s     |                                           |
            |                                           |
          2 ++                                          |
            |                                           |
            |                                           |
        1.5 X+                                          |
            |                                           |
            +   +   +   +   +   +   +   +   +   +   +   +
          1 ++--+---+---+---+---+---+---+---+---+---+---+
           32  64  128 256 512  1   2   4   8  16  32  64
            B   B   B   B   B   KB  KB  KB  KB KB  KB  KB
                             Buffer size
      
                     Fedora 22 guest, TCP, TX
        18 ++-------------------------------------------+
           |                        X                   |
        16 ++                           X   X   X   X   X
           |                   X                        |
        14 ++                                           |
           |                                            |
        12 ++                                           |
      G    |               X                            |
      b 10 ++                                           |
      /    |                                            |
      s  8 ++                                           |
           |                                            |
         6 ++          X                                |
           |                                            |
         4 ++                                           |
           |       X                                    |
         2 ++  X                                        |
           X   +   +   +   +   +    +   +   +   +   +   +
         0 ++--+---+---+---+---+----+---+---+---+---+---+
          32  64  128 256 512  1    2   4   8  16  32  64
           B   B   B   B   B   KB   KB  KB  KB KB  KB  KB
                             Buffer size
      
                      Fedora 22 guest, UDP, RX
          3 ++------------------------------------------+
            |                                           X
            |                                           |
        2.5 ++                                          |
            |                                           |
            |                                           |
          2 ++                                 X        |
      G     |                                           |
      b     |                                           |
      / 1.5 ++                                          |
      s     |                         X                 |
            |                                           |
          1 ++                                          |
            |                                           |
            |                 X                         |
        0.5 ++                                          |
            |        X                                  |
            X        +        +       +        +        +
          0 ++-------+--------+-------+--------+--------+
           32       64       128     256      512       1
            B        B         B       B        B      KB
                             Datagram size
      
                      Fedora 22 guest, UDP, TX
          1 ++------------------------------------------+
            |                                           X
        0.9 ++                                          |
            |                                           |
        0.8 ++                                          |
        0.7 ++                                          |
            |                                           |
      G 0.6 ++                                          |
      b     |                                           |
      / 0.5 ++                                          |
      s     |                                  X        |
        0.4 ++                                          |
            |                                           |
        0.3 ++                                          |
        0.2 ++                        X                 |
            |                                           |
        0.1 ++                X                         |
            X        X        +       +        +        +
          0 ++-------+--------+-------+--------+--------+
           32       64       128     256      512       1
            B        B         B       B        B      KB
                             Datagram size
      
                    Windows 2012R2 guest, TCP, RX
        3.2 ++------------------------------------------+
            |                                   X       |
          3 ++                                          |
            |                                           |
        2.8 ++                                          |
            |                                           |
        2.6 ++                              X           |
      G     |   X                   X   X           X   X
      b 2.4 ++      X       X                           |
      /     |                                           |
      s 2.2 ++                                          |
            |                                           |
          2 ++                                          |
            |           X       X                       |
        1.8 ++                                          |
            |                                           |
        1.6 X+                                          |
            +   +   +   +   +   +   +   +   +   +   +   +
        1.4 ++--+---+---+---+---+---+---+---+---+---+---+
           32  64  128 256 512  1   2   4   8  16  32  64
            B   B   B   B   B   KB  KB  KB  KB KB  KB  KB
                             Buffer size
      
                   Windows 2012R2 guest, TCP, TX
        14 ++-------------------------------------------+
           |                                            |
           |                                        X   X
        12 ++                                           |
           |                                            |
        10 ++                                           |
           |                                            |
      G    |                                            |
      b  8 ++                                           |
      /    |                                    X       |
      s  6 ++                                           |
           |                                            |
           |                                            |
         4 ++                               X           |
           |                                            |
         2 ++                                           |
           |           X   X            X               |
           +   X   X   +   +   X    X   +   +   +   +   +
         0 X+--+---+---+---+---+----+---+---+---+---+---+
          32  64  128 256 512  1    2   4   8  16  32  64
           B   B   B   B   B   KB   KB  KB  KB KB  KB  KB
                             Buffer size
      
                    Windows 2012R2 guest, UDP, RX
        1.6 ++------------------------------------------X
            |                                           |
        1.4 ++                                          |
            |                                           |
        1.2 ++                                          |
            |                                  X        |
            |                                           |
      G   1 ++                                          |
      b     |                                           |
      / 0.8 ++                                          |
      s     |                                           |
        0.6 ++                        X                 |
            |                                           |
        0.4 ++                                          |
            |                 X                         |
            |                                           |
        0.2 ++       X                                  |
            X        +        +       +        +        +
          0 ++-------+--------+-------+--------+--------+
           32       64       128     256      512       1
            B        B         B       B        B      KB
                             Datagram size
      
                    Windows 2012R2 guest, UDP, TX
        0.6 ++------------------------------------------+
            |                                           X
            |                                           |
        0.5 ++                                          |
            |                                           |
            |                                           |
        0.4 ++                                          |
      G     |                                           |
      b     |                                           |
      / 0.3 ++                                 X        |
      s     |                                           |
            |                                           |
        0.2 ++                                          |
            |                                           |
            |                         X                 |
        0.1 ++                                          |
            |                 X                         |
            X        X        +       +        +        +
          0 ++-------+--------+-------+--------+--------+
           32       64       128     256      512       1
            B        B         B       B        B      KB
                             Datagram size
      
      Signed-off-by: default avatarDmitry Fleytman <dmitry.fleytman@ravellosystems.com>
      Signed-off-by: default avatarLeonid Bloch <leonid.bloch@ravellosystems.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      6f3fbe4e
  10. May 12, 2016
  11. Mar 30, 2016
    • Shannon Zhao's avatar
      hw/gpio: Add the emulation of gpio_key · e5a8152c
      Shannon Zhao authored
      
      This will be used by ARM virt machine as a power button.
      
      Signed-off-by: default avatarShannon Zhao <shannon.zhao@linaro.org>
      Message-id: 1458221140-15232-2-git-send-email-zhaoshenglong@huawei.com
      [PMM: Use hyphen rather than underscore in type names;
       add a comment briefly describing what the device does]
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      e5a8152c
    • Leon Alrae's avatar
      hw/mips: implement ITC Configuration Tags and Storage Cells · 34fa7e83
      Leon Alrae authored
      
      Implement ITC as a single object consisting of two memory regions:
      
      1) tag_io: ITC Configuration Tags (i.e. ITCAddressMap{0,1} registers) which
      are accessible by the CPU via CACHE instruction. Also adding
      MemoryRegion *itc_tag to the CPUMIPSState so that CACHE instruction will
      dispatch reads/writes directly.
      
      2) storage_io: memory-mapped ITC Storage whose address space is configurable
      (i.e. enabled/remapped/resized) by writing to ITCAddressMap{0,1} registers.
      
      ITC Storage contains FIFO and Semaphore cells. Read-only FIFO bit in the
      ITC cell tag indicates the type of the cell. If the ITC Storage contains
      both types of cells then FIFOs are located before Semaphores.
      
      Since issuing thread can get blocked on the access to a cell (in E/F
      Synchronized and P/V Synchronized Views) each cell has a bitmap to track
      which threads are currently blocked.
      
      Signed-off-by: default avatarLeon Alrae <leon.alrae@imgtec.com>
      34fa7e83
    • Leon Alrae's avatar
      hw/mips: implement generic MIPS Coherent Processing System container · 8e7e8a5b
      Leon Alrae authored
      
      Implement generic MIPS Coherent Processing System (CPS) which in this
      commit just creates VPs, but it will serve as a container also for
      other components like Global Configuration Registers and Cluster Power
      Controller.
      
      Signed-off-by: default avatarLeon Alrae <leon.alrae@imgtec.com>
      8e7e8a5b
  12. Mar 23, 2016
  13. Mar 21, 2016
  14. Mar 16, 2016
  15. Feb 09, 2016
    • Paolo Bonzini's avatar
      hw: Add support for LSI SAS1068 (mptsas) device · e351b826
      Paolo Bonzini authored
      
      This adds the SAS1068 device, a SAS disk controller used in VMware that
      is oldish but widely supported and has decent performance.  Unlike
      megasas, it presents itself as a SAS controller and not as a RAID
      controller.  The device corresponds to the mptsas kernel driver in
      Linux.
      
      A few small things in the device setup are based on Don Slutz's old
      patch, but the device emulation was written from scratch based on Don's
      SeaBIOS patch and on the FreeBSD and Linux drivers.  It is 2400 lines
      shorter than Don's patch (and roughly the same size as MegaSAS---also
      because it doesn't support the similar SPI controller), implements SCSI
      task management functions (with asynchronous cancellation), supports
      big-endian hosts, has complete support for migration and follows the
      QEMU coding standards much more closely.
      
      To write the driver, I first split Don's patch in two parts, with
      the configuration bits in one file and the rest in a separate file.
      I first left mptconfig.c in place and rewrote the rest, then deleted
      mptconfig.c as well.  The configuration pages are still based mostly on
      VirtualBox's, though not exactly the same.  However, the implementation
      is completely different.  The contents of the pages themselves should
      not be copyrightable.
      
      Signed-off-by: default avatarDon Slutz <Don@CloudSwitch.com>
      Message-Id: <1347382813-5662-1-git-send-email-Don@CloudSwitch.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      e351b826
  16. Feb 03, 2016
  17. Dec 22, 2015
  18. Dec 17, 2015
  19. Nov 24, 2015
  20. Oct 24, 2015
  21. Oct 20, 2015
  22. Oct 02, 2015
  23. Sep 23, 2015
  24. Sep 15, 2015
  25. Sep 11, 2015
  26. Sep 07, 2015
Loading