Skip to content
Snippets Groups Projects
  1. Jan 04, 2021
    • Huacai Chen's avatar
      hw/mips: Add Loongson-3 machine support · c76b409f
      Huacai Chen authored
      Add Loongson-3 based machine support, it use liointc as the interrupt
      controler and use GPEX as the pci controller. Currently it can work with
      both TCG and KVM.
      
      As the machine model is not based on any exiting physical hardware, the
      name of the machine is "loongson3-virt". It may be superseded in future
      by a real machine model. If this happens, then a regular deprecation
      procedure shall occur for "loongson3-virt" machine.
      
      We now already have a full functional Linux kernel (based on Linux-5.4.x
      LTS) here:
      
      https://github.com/chenhuacai/linux
      
      Of course the upstream kernel is also usable (the kvm host side and
      guest side have both been upstream in Linux-5.9):
      
      https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
      
      
      
      How to use QEMU/Loongson-3?
      1, Download kernel source from the above URL;
      2, Build a kernel with arch/mips/configs/loongson3_defconfig;
      3, Boot a Loongson-3A4000 host with this kernel (for KVM mode);
      4, Build QEMU-master with this patchset;
      5, modprobe kvm (only necessary for KVM mode);
      6, Use QEMU with TCG:
             qemu-system-mips64el -M loongson3-virt,accel=tcg -cpu Loongson-3A1000 -kernel <path_to_kernel> -append ...
         Use QEMU with KVM:
             qemu-system-mips64el -M loongson3-virt,accel=kvm -cpu Loongson-3A4000 -kernel <path_to_kernel> -append ...
      
         The "-cpu" parameter is optional here and QEMU will use the correct type for TCG/KVM automatically.
      
      Co-developed-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@kernel.org>
      Signed-off-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
      Message-Id: <20201221110538.3186646-5-chenhuacai@kernel.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      [PMD: Set TYPE_LOONGSON_MACHINE instance_size in TypeInfo,
            select FW_CFG_MIPS in Kconfig]
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      c76b409f
  2. Nov 03, 2020
  3. Oct 20, 2020
  4. Oct 06, 2020
  5. Oct 03, 2020
  6. Sep 14, 2020
  7. Sep 09, 2020
  8. Jul 11, 2020
  9. Jun 22, 2020
  10. Jun 09, 2020
  11. Jun 03, 2020
  12. May 26, 2020
  13. May 14, 2020
  14. Mar 19, 2020
  15. Mar 12, 2020
  16. Mar 05, 2020
  17. Feb 20, 2020
    • Shivaprasad G Bhat's avatar
      spapr: Add NVDIMM device support · ee3a71e3
      Shivaprasad G Bhat authored
      
      Add support for NVDIMM devices for sPAPR. Piggyback on existing nvdimm
      device interface in QEMU to support virtual NVDIMM devices for Power.
      Create the required DT entries for the device (some entries have
      dummy values right now).
      
      The patch creates the required DT node and sends a hotplug
      interrupt to the guest. Guest is expected to undertake the normal
      DR resource add path in response and start issuing PAPR SCM hcalls.
      
      The device support is verified based on the machine version unlike x86.
      
      This is how it can be used ..
      Ex :
      For coldplug, the device to be added in qemu command line as shown below
      -object memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm0,share=yes,size=1073872896
      -device nvdimm,label-size=128k,uuid=75a3cdd7-6a2f-4791-8d15-fe0a920e8e9e,memdev=memnvdimm0,id=nvdimm0,slot=0
      
      For hotplug, the device to be added from monitor as below
      object_add memory-backend-file,id=memnvdimm0,prealloc=yes,mem-path=/tmp/nvdimm0,share=yes,size=1073872896
      device_add nvdimm,label-size=128k,uuid=75a3cdd7-6a2f-4791-8d15-fe0a920e8e9e,memdev=memnvdimm0,id=nvdimm0,slot=0
      
      Signed-off-by: default avatarShivaprasad G Bhat <sbhat@linux.ibm.com>
      Signed-off-by: default avatarBharata B Rao <bharata@linux.ibm.com>
                     [Early implementation]
      Message-Id: <158131058078.2897.12767731856697459923.stgit@lep8c.aus.stglabs.ibm.com>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      ee3a71e3
  18. Jan 17, 2020
  19. Jan 07, 2020
  20. Oct 28, 2019
  21. Oct 22, 2019
  22. Oct 19, 2019
    • Max Filippov's avatar
      hw/xtensa: add virt machine · d9e8553b
      Max Filippov authored
      
      virt machine is a sim machine with generic PCI host controller.
      Make common parts of sim machine initialization reusable.
      Add PCI controller at 0xf0000000 with PIO space at its base address,
      ECAM space at base address + 1M and MMIO space at base address + 64M.
      Connect IRQ lines to consecutive CPU external IRQ pins starting from 0.
      Instantiate network interfaces on virt machine.
      
      Xtensa linux kernel configuration virt_defconfig can successfully boot
      on this machine.
      
      Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
      d9e8553b
  23. Sep 20, 2019
  24. Sep 16, 2019
    • Cole Robinson's avatar
      hw/i386: Move CONFIG_ACPI_PCI to CONFIG_PC · 709ebb90
      Cole Robinson authored
      
      CONFIG_ACPI_PCI is a hard requirement of acpi-build.c, which is built
      unconditionally for x86 target. Putting it in default-configs/ suggests
      that it can be easily disabled, which isn't true.
      
      Relocate the symbol with the other acpi-build.c requirements, under
      'config PC'. This is similar to what is done for the arm 'virt' machine
      type and CONFIG_ACPI_PCI
      
      Signed-off-by: default avatarCole Robinson <crobinso@redhat.com>
      Message-Id: <e73e6edff68fd30d69c6a1d02c9ef9192f773c63.1568049871.git.crobinso@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      709ebb90
  25. Sep 07, 2019
  26. Jul 02, 2019
  27. Jul 01, 2019
    • Hongbo Zhang's avatar
      hw/arm: Add arm SBSA reference machine, skeleton part · 64580903
      Hongbo Zhang authored
      
      For AArch64, the existing "virt" machine is primarily meant to
      run on KVM and execute virtualization workloads, but we need an
      environment as faithful as possible to physical hardware, for supporting
      firmware and OS development for physical Aarch64 machines.
      
      This patch introduces new machine type 'sbsa-ref' with main features:
       - Based on 'virt' machine type.
       - A new memory map.
       - CPU type cortex-a57.
       - EL2 and EL3 are enabled.
       - GIC version 3.
       - System bus AHCI controller.
       - System bus EHCI controller.
       - CDROM and hard disc on AHCI bus.
       - E1000E ethernet card on PCIE bus.
       - VGA display adaptor on PCIE bus.
       - No virtio devices.
       - No fw_cfg device.
       - No ACPI table supplied.
       - Only minimal device tree nodes.
      
      Arm Trusted Firmware and UEFI porting to this are done accordingly,
      and the firmware should supply ACPI tables to the guest OS.  The
      minimal device tree nodes supplied by QEMU for this platform are only
      to pass the dynamic info reflecting command line input to firmware,
      not for loading the guest OS.
      
      To make the review easier, this task is split into two patches, the
      fundamental skeleton part and the peripheral devices part; this patch is
      the first part.
      
      Signed-off-by: default avatarHongbo Zhang <hongbo.zhang@linaro.org>
      Message-id: 1561890034-15921-2-git-send-email-hongbo.zhang@linaro.org
      [PMM: commit message tweaks; moved some bits between patch 1 and 2
       to ensure patch 1 builds cleanly; removed unneeded lines from
       Kconfig stanza; only provide board for qemu-system-aarch64, not
       qemu-system-arm; added MAINTAINERS entry]
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      64580903
  28. May 29, 2019
  29. May 28, 2019
  30. May 13, 2019
Loading