qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] c23a53: target/loongarch: Add loongson binary


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] c23a53: target/loongarch: Add loongson binary translation ...
Date: Mon, 04 Nov 2024 09:37:46 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c23a53d89429d9181bc0423e2708851b02b9ff4a
      
https://github.com/qemu/qemu/commit/c23a53d89429d9181bc0423e2708851b02b9ff4a
  Author: Bibo Mao <maobibo@loongson.cn>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M target/loongarch/cpu.c
    M target/loongarch/cpu.h
    M target/loongarch/kvm/kvm.c
    M target/loongarch/loongarch-qmp-cmds.c

  Log Message:
  -----------
  target/loongarch: Add loongson binary translation feature

Loongson Binary Translation (LBT) is used to accelerate binary
translation, which contains 4 scratch registers (scr0 to scr3), x86/ARM
eflags (eflags) and x87 fpu stack pointer (ftop).

Now LBT feature is added in kvm mode, not supported in TCG mode since
it is not emulated. Feature variable lbt is added with OnOffAuto type,
If lbt feature is not supported with KVM host, it reports error if there
is lbt=on command line.

If there is no any command line about lbt parameter, it checks whether
KVM host supports lbt feature and set the corresponding value in cpucfg.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20240929070405.235200-2-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>


  Commit: a45df286013270868e6d6e94c287dff19339a4b4
      
https://github.com/qemu/qemu/commit/a45df286013270868e6d6e94c287dff19339a4b4
  Author: Bibo Mao <maobibo@loongson.cn>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M target/loongarch/cpu.h
    M target/loongarch/kvm/kvm.c
    M target/loongarch/machine.c

  Log Message:
  -----------
  target/loongarch: Implement lbt registers save/restore function

Six registers scr0 - scr3, eflags and ftop are added in percpu vmstate.
And two functions kvm_loongarch_get_lbt/kvm_loongarch_put_lbt are added
to save/restore lbt registers.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20240929070405.235200-3-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>


  Commit: 6edd2a9bec902bf8c4f7a7a819bf5a9a7ae0948b
      
https://github.com/qemu/qemu/commit/6edd2a9bec902bf8c4f7a7a819bf5a9a7ae0948b
  Author: Bibo Mao <maobibo@loongson.cn>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M target/loongarch/cpu.c
    M target/loongarch/cpu.h
    M target/loongarch/kvm/kvm.c
    M target/loongarch/loongarch-qmp-cmds.c

  Log Message:
  -----------
  target/loongarch/kvm: Implement LoongArch PMU extension

Implement PMU extension for LoongArch kvm mode. Use OnOffAuto type
variable pmu to check the PMU feature. If the PMU Feature is not supported
with KVM host, it reports error if there is pmu=on command line.

If there is no any command line about pmu parameter, it checks whether
KVM host supports the PMU Feature and set the corresponding value in cpucfg.

This patch is based on lbt patch located at
  https://lore.kernel.org/qemu-devel/20240904061859.86615-1-maobibo@loongson.cn

Co-developed-by: Song Gao <gaosong@loongson.cn>
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20240918082315.2345034-1-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>


  Commit: e8f8303195bc8f11a078613c66844cac98501276
      
https://github.com/qemu/qemu/commit/e8f8303195bc8f11a078613c66844cac98501276
  Author: Bibo Mao <maobibo@loongson.cn>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M scripts/update-linux-headers.sh

  Log Message:
  -----------
  linux-headers: Add unistd_64.h

since 6.11, unistd.h includes header file unistd_64.h directly on
some platforms, here add unistd_64.h on these platforms. Affected
platforms are ARM64, LoongArch64 and Riscv. Otherwise there will
be compiling error such as:

linux-headers/asm/unistd.h:3:10: fatal error: asm/unistd_64.h: No such file or 
directory
 #include <asm/unistd_64.h>

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Acked-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20241028023809.1554405-2-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>


  Commit: d394a09cc1f25d6945f05182946a043b8d06c499
      
https://github.com/qemu/qemu/commit/d394a09cc1f25d6945f05182946a043b8d06c499
  Author: Bibo Mao <maobibo@loongson.cn>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M scripts/update-linux-headers.sh

  Log Message:
  -----------
  linux-headers: loongarch: Add kvm_para.h

KVM LBT supports on LoongArch depends on the linux-header file
kvm_para.h, add header file kvm_para.h here.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Acked-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20241028023809.1554405-3-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>


  Commit: 0d2eeef77a33315187df8519491a900bde4a3d83
      
https://github.com/qemu/qemu/commit/0d2eeef77a33315187df8519491a900bde4a3d83
  Author: Bibo Mao <maobibo@loongson.cn>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M include/standard-headers/drm/drm_fourcc.h
    M include/standard-headers/linux/const.h
    M include/standard-headers/linux/ethtool.h
    M include/standard-headers/linux/fuse.h
    M include/standard-headers/linux/input-event-codes.h
    M include/standard-headers/linux/pci_regs.h
    M include/standard-headers/linux/virtio_balloon.h
    M include/standard-headers/linux/virtio_gpu.h
    M linux-headers/asm-arm64/mman.h
    M linux-headers/asm-arm64/unistd.h
    A linux-headers/asm-arm64/unistd_64.h
    M linux-headers/asm-generic/unistd.h
    M linux-headers/asm-loongarch/kvm.h
    A linux-headers/asm-loongarch/kvm_para.h
    M linux-headers/asm-loongarch/unistd.h
    A linux-headers/asm-loongarch/unistd_64.h
    M linux-headers/asm-riscv/kvm.h
    M linux-headers/asm-riscv/unistd.h
    A linux-headers/asm-riscv/unistd_32.h
    A linux-headers/asm-riscv/unistd_64.h
    M linux-headers/asm-x86/kvm.h
    M linux-headers/asm-x86/unistd_64.h
    M linux-headers/asm-x86/unistd_x32.h
    M linux-headers/linux/bits.h
    M linux-headers/linux/const.h
    M linux-headers/linux/iommufd.h
    M linux-headers/linux/kvm.h
    M linux-headers/linux/mman.h
    M linux-headers/linux/psp-sev.h

  Log Message:
  -----------
  linux-headers: Update to Linux v6.12-rc5

update linux-headers to v6.12-rc5. Pass to compile on aarch64, arm,
loongarch64, x86_64, i386, riscv64,riscv32 softmmu and linux-user.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Acked-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20241028023809.1554405-4-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>


  Commit: 6495c577bd7edf53bd89e9f26c1f6263fcf7e71a
      
https://github.com/qemu/qemu/commit/6495c577bd7edf53bd89e9f26c1f6263fcf7e71a
  Author: Song Gao <gaosong@loongson.cn>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M hw/loongarch/boot.c

  Log Message:
  -----------
  hw/loongarch/boot: Use warn_report when no kernel filename

When we run “qemu-system-loongarch64 -qmp stdio -vnc none -S”,
we get an error message “Need kernel filename” and then we can't use qmp cmd to 
query some information.
So, we just throw a warning and then the cpus starts running from address 
VIRT_FLASH0_BASE.

Signed-off-by: Song Gao <gaosong@loongson.cn>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20241030012359.4040817-1-gaosong@loongson.cn>


  Commit: 47b54e15bbe78722c62dfafc3e04deded820c05e
      
https://github.com/qemu/qemu/commit/47b54e15bbe78722c62dfafc3e04deded820c05e
  Author: Bibo Mao <maobibo@loongson.cn>
  Date:   2024-11-02 (Sat, 02 Nov 2024)

  Changed paths:
    M target/loongarch/cpu.h
    M target/loongarch/kvm/kvm.c
    M target/loongarch/machine.c

  Log Message:
  -----------
  target/loongarch: Add steal time support on migration

With pv steal time supported, VM machine needs get physical address
of each vcpu and notify new host during migration. Here two
functions kvm_get_stealtime/kvm_set_stealtime, and guest steal time
physical address is only updated on KVM_PUT_FULL_STATE stage.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20240930064040.753929-1-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>


  Commit: c9d77526bddba0803a1fa982fb59ec98057150f9
      
https://github.com/qemu/qemu/commit/c9d77526bddba0803a1fa982fb59ec98057150f9
  Author: Helge Deller <deller@gmx.de>
  Date:   2024-11-03 (Sun, 03 Nov 2024)

  Changed paths:
    M pc-bios/hppa-firmware.img
    M pc-bios/hppa-firmware64.img
    M roms/seabios-hppa

  Log Message:
  -----------
  target/hppa: Update SeaBIOS-hppa to version 17

This is SeaBIOS for the hppa architecture v17.
If comes with some important firmware and SCSI fixes and
prepares for futher development to support 64-bit HP-UX
and MPE/UX in the future.

New PDC functions & general enhancements:
- Add PDC_MODEL_GET_INSTALL_KERNEL firmware call
- Add PDC_PAT_EVENT firmware call
- Support ENTRY_IO_BOOTOUT
- Prefer memory-access over io-access of GSP serial port
- Disable LMMIO_DIRECT0 range during modification
- Small optimizations in IODC call

Fixes:
- esp-scsi: indicate acceptance of MESSAGE IN phase data
- Avoid crash when booting without SCSI controller
- Remove exec flag from hppa-firmware.img
- Fix LMMIO detection for PCI cards on Astro/Elroy
- Avoid trashing MPE IPL bootloader stack
- HP-UX 11 64-bit saves number of RAM pages in PAGE0 at 0x33c
- Fix return value of PDC_CACHE/PDC_CACHE_RET_SPID for space id hashing
- Allow PDC functions to act when called in narrow mode
- pcidevice: Use portaddr_t for io port addresses

Cleanups:
- Change default make target to "parisc"
- Clean the "out-64" directory on "make clean"

Signed-off-by: Helge Deller <deller@gmx.de>


  Commit: ee057a9f2976e1fb2f58e07e86b410f38bf04ac6
      
https://github.com/qemu/qemu/commit/ee057a9f2976e1fb2f58e07e86b410f38bf04ac6
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-11-04 (Mon, 04 Nov 2024)

  Changed paths:
    M hw/loongarch/boot.c
    M include/standard-headers/drm/drm_fourcc.h
    M include/standard-headers/linux/const.h
    M include/standard-headers/linux/ethtool.h
    M include/standard-headers/linux/fuse.h
    M include/standard-headers/linux/input-event-codes.h
    M include/standard-headers/linux/pci_regs.h
    M include/standard-headers/linux/virtio_balloon.h
    M include/standard-headers/linux/virtio_gpu.h
    M linux-headers/asm-arm64/mman.h
    M linux-headers/asm-arm64/unistd.h
    A linux-headers/asm-arm64/unistd_64.h
    M linux-headers/asm-generic/unistd.h
    M linux-headers/asm-loongarch/kvm.h
    A linux-headers/asm-loongarch/kvm_para.h
    M linux-headers/asm-loongarch/unistd.h
    A linux-headers/asm-loongarch/unistd_64.h
    M linux-headers/asm-riscv/kvm.h
    M linux-headers/asm-riscv/unistd.h
    A linux-headers/asm-riscv/unistd_32.h
    A linux-headers/asm-riscv/unistd_64.h
    M linux-headers/asm-x86/kvm.h
    M linux-headers/asm-x86/unistd_64.h
    M linux-headers/asm-x86/unistd_x32.h
    M linux-headers/linux/bits.h
    M linux-headers/linux/const.h
    M linux-headers/linux/iommufd.h
    M linux-headers/linux/kvm.h
    M linux-headers/linux/mman.h
    M linux-headers/linux/psp-sev.h
    M scripts/update-linux-headers.sh
    M target/loongarch/cpu.c
    M target/loongarch/cpu.h
    M target/loongarch/kvm/kvm.c
    M target/loongarch/loongarch-qmp-cmds.c
    M target/loongarch/machine.c

  Log Message:
  -----------
  Merge tag 'pull-loongarch-20241102' of https://gitlab.com/gaosong/qemu into 
staging

pull-loongarch-20241102

# -----BEGIN PGP SIGNATURE-----
#
# iLMEAAEKAB0WIQS4/x2g0v3LLaCcbCxAov/yOSY+3wUCZyXbXgAKCRBAov/yOSY+
# 37a9BADZ7vI2idWNXdH+mLNDZNSOxfdKp6ggNgKS3S48Hi2zR72MEhwvR9dGlHDL
# 98agrbV7/jI9Z+0dLAxvlyl1MvXfnn2sXYgUuZp6IAaQzFBa11HBAK7UFh3sTA4A
# gD4oPwl8AdJiFvDN6vNjS+dO0ls+j/YMaoLkAKLv15dlWtg4Rw==
# =EZnr
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat 02 Nov 2024 07:57:18 GMT
# gpg:                using RSA key B8FF1DA0D2FDCB2DA09C6C2C40A2FFF239263EDF
# gpg: Good signature from "Song Gao <m17746591750@163.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: B8FF 1DA0 D2FD CB2D A09C  6C2C 40A2 FFF2 3926 3EDF

* tag 'pull-loongarch-20241102' of https://gitlab.com/gaosong/qemu:
  target/loongarch: Add steal time support on migration
  hw/loongarch/boot: Use warn_report when no kernel filename
  linux-headers: Update to Linux v6.12-rc5
  linux-headers: loongarch: Add kvm_para.h
  linux-headers: Add unistd_64.h
  target/loongarch/kvm: Implement LoongArch PMU extension
  target/loongarch: Implement lbt registers save/restore function
  target/loongarch: Add loongson binary translation feature

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: daaf51001a13da007d7dde72e1ed3b06bc490791
      
https://github.com/qemu/qemu/commit/daaf51001a13da007d7dde72e1ed3b06bc490791
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-11-04 (Mon, 04 Nov 2024)

  Changed paths:
    M pc-bios/hppa-firmware.img
    M pc-bios/hppa-firmware64.img
    M roms/seabios-hppa

  Log Message:
  -----------
  Merge tag 'seabios-hppa-v17-pull-request' of 
https://github.com/hdeller/qemu-hppa into staging

SeaBIOS-hppa v17 pull request

Please pull a single commit, which updates SeaBIOS-hppa
to version 17.

If comes with some important firmware and SCSI fixes and
prepares for futher development to support 64-bit HP-UX
and MPE/UX in the future.

New PDC functions & general enhancements:
- Add PDC_MODEL_GET_INSTALL_KERNEL firmware call
- Add PDC_PAT_EVENT firmware call
- Support ENTRY_IO_BOOTOUT
- Prefer memory-access over io-access of GSP serial port
- Disable LMMIO_DIRECT0 range during modification
- Small optimizations in IODC call

Fixes:
- esp-scsi: indicate acceptance of MESSAGE IN phase data
- Avoid crash when booting without SCSI controller
- Remove exec flag from hppa-firmware.img
- Fix LMMIO detection for PCI cards on Astro/Elroy
- Avoid trashing MPE IPL bootloader stack
- HP-UX 11 64-bit saves number of RAM pages in PAGE0 at 0x33c
- Fix return value of PDC_CACHE/PDC_CACHE_RET_SPID for space id hashing
- Allow PDC functions to act when called in narrow mode
- pcidevice: Use portaddr_t for io port addresses

Cleanups:
- Change default make target to "parisc"
- Clean the "out-64" directory on "make clean"

# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYKAB0WIQS86RI+GtKfB8BJu973ErUQojoPXwUCZyfV0AAKCRD3ErUQojoP
# X63XAP9sxLngebfWXdb9YI4+3N2xBpT772tQha3QYdejF0QvrAEAwpB8g8MFHHz3
# QKZfvPERw2nBhjtpf+Dl9iexoKh8YQI=
# =MjU+
# -----END PGP SIGNATURE-----
# gpg: Signature made Sun 03 Nov 2024 19:58:08 GMT
# gpg:                using EDDSA key BCE9123E1AD29F07C049BBDEF712B510A23A0F5F
# gpg: Good signature from "Helge Deller <deller@gmx.de>" [unknown]
# gpg:                 aka "Helge Deller <deller@kernel.org>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 4544 8228 2CD9 10DB EF3D  25F8 3E5F 3D04 A7A2 4603
#      Subkey fingerprint: BCE9 123E 1AD2 9F07 C049  BBDE F712 B510 A23A 0F5F

* tag 'seabios-hppa-v17-pull-request' of https://github.com/hdeller/qemu-hppa:
  target/hppa: Update SeaBIOS-hppa to version 17

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/cbad45511840...daaf51001a13

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

[Prev in Thread] Current Thread [Next in Thread]