Commit graph

385 commits

Author SHA1 Message Date
reinoud
0232ac0cbd Also provide NVMM acceleration for qemu-system-i386 2021-03-19 13:25:36 +00:00
reinoud
72fe90c2e0 Fix curses, patch by leot@NetBSD.org 2021-03-19 13:24:15 +00:00
jperkin
ab2f7882c8 qemu: Limit MESSAGE to NetBSD. 2021-03-18 15:36:06 +00:00
reinoud
40c98fcdc2 Clarify some more 2021-03-18 15:27:55 +00:00
reinoud
5ac2ac9d7e Provide an alternative less intrusive way of setting the permissions for NVMM. 2021-03-18 15:19:49 +00:00
reinoud
0cb3ff87a7 Fix build on NetBSD machines that don't have NVMM capabilities. The logic
would select the nvmm library when it wasn't disabled that later was not
found.

While here, also fix a curses issue introduced in version 5.2.0nb2; it would
not find the appropriate library.
2021-03-14 11:16:45 +00:00
leot
7c724bb5f3 qemu: Readd support for curses(3) (do not force ncursesw)
PKGREVISION++
2021-03-06 21:50:34 +00:00
reinoud
0befa52d49 Re-add the NetBSD/amd64 Virtual Memory Monitor (NVMM) support to QEMU 5.2.0
thanks go to Ryo ONODERA <ryo@tetera.org> for his help with the build logic
2021-03-06 11:19:34 +00:00
wiz
0b79617f18 qemu: add missing build dependency on ninja
Fix some pkglint and an unportable test operator.
2021-02-23 09:28:33 +00:00
ryoon
d16af325a2 Update to 5.2.0
Changelog:
IMPORTANT NOTE: in this release we have switched our build system to internally use Meson. Building should be broadly unchanged for most users, but please see the [[#Build Information|Build Information]] section of the changelog for details and for '''the list of new [[#Build Dependencies |build dependencies]] you now need to install'''.

== System emulation ==

=== Incompatible changes ===

=== New deprecated options and features ===

Consult the [https://www.qemu.org/docs/master/system/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for the full list of historically deprecated features/options.

In particular, note that the Unicore32 and lm32 guest support have been deprecated and will be removed in a future version. They are now only built if explicitly enabled in --target-list.

=== 68k ===

=== Alpha ===

=== Arm ===

* ARMv8.2 FEAT_FP16 (half-precision floating point) is now implemented for AArch32 emulation (AArch64 already supported this)
* AArch64 BTI is now supported in linux-user emulation mode (it was already implemented for system emulation)
* The SMMUv3 model now supports SMMUv3.2 range invalidation
* The sbsa-ref board now has an embedded controller model for guest powerdown and reboot requests
* The sbsa-ref board now has an SBSA-compatible generic watchdog device
* The Raspberry Pi boards now emulate the CPRMAN clock manager device
* Support for KVM on 32-bit host CPUs (deprecated in 5.0) has now been removed. (32-bit KVM guests on 64-bit hosts remain supported.)
* Two new board models in the mps2 family: mps2-an386 (Cortex-M4 based) and mps2-an500 (Cortex-M7 based)
* New board models in the raspi family: raspi3ap (the Pi 3 model A+), raspi0 (the Pi Zero) and raspi1ap (the Pi A+)
* New Nuvoton iBMC board models: npcm750-evb, quanta-gsj
* The 'max' CPU now implements a 48-bit physical address size when using TCG emulation.
* The 'virt' board supports kvm-steal-time (enabled by default for virt-5.2 and on) so that a guest OS can account for time when its CPUs were not running due to the host not scheduling the corresponding vCPU threads.

=== AVR ===

=== HPPA ===
* Added power button emulation
* Boots NetBSD
* Boots old Linux CDs, e.g debian-0.5 and debian-0.6.1
* Artist framebuffer fixes when running dtwm on HP-UX
* Artist graphics allows screen resolution up to 2048 x 2048 pixels
* fw_cfg interface added

=== Microblaze ===

=== MIPS ===

=== Nios2 ===

=== OpenRISC ===

=== PowerPC ===

* The pseries machine now respects the nvdimm= machine option (previously NVDIMMs could be attached even with nvdimm=off)
* The pseries machine now does a better job of reflecting the user specified NUMA distances in the guest (PAPR limitations mean it's still a pretty poor approximation, though)
* We now fail more gracefully if attempting to run an HPT guest as a nested KVM guest (which isn't supported in the kernel for now)
* spapr_vscsi should now properly report that it does not support hotplug
* The pnv machine now allows firmware images up to 16MiB, instead of just 4 MiB (this matches the limit on physical FSP machines)

=== Renesas RX ===

=== Renesas SH ===

=== RISC-V ===

* Improvements to the Ibex (OpenTitan) PLIC
* OpenSBI v0.8 included by default
* Generic OpenSBI platform used when no -bios argument is supplied
* Support for a noMMU Linux kernel with the `-kernel` option
* A dummy L2 cache controller for the sifive_u is now included
* Support for the SiFive OTP device
* PMPCFG CSR setting bug fixed for RV64
* Improvements to the floating point helpers
* Experimental Hypervisor support updated to v0.6.1 and bug fixes
* Support for NUMA sockets on Virt and Spike Machines
* Support for the Microchip PolarFire SoC Icicle Kit
* Fix for crash seen when running 'poweroff' command on virt machine
* virt and sifive_u machines allow a custom dtb argument
* Support for migrating machines

=== s390 ===
* KVM: The diagnose 0x318 instruction is now supported.
* TCG: More instructions that were introduced with the z14 are now emulated.
* zPCI: vfio-pci devices now report real hardware features for functions, instead of emulated values (needs host kernel support.)
* virtiofs is now also supported on s390x via ccw

=== SPARC ===

* sun4m: fix panic when booting NetBSD with the TCX framebuffer
* sun4u: fix for sabre PCI IRQs being lost due to memory overflow

=== TileGX ===

=== Tricore ===

=== x86 ===
* A new KVM feature which improves the handling of asynchronous page faults is available with ''-cpu ...,kvm-async-pf-int''.  This requires Linux 5.8.

=== Xtensa ===

* DFPU coprocessor with single and double precision floating point opcodes is now supported
* NMI is now supported

=== Device emulation and assignment ===

==== ACPI ====

==== Audio ====

==== Block devices ====

==== Graphics ====

==== Input devices ====

==== IPMI ====

==== Network devices ====

==== NVDIMM ====

==== NVMe ====
* Add support for mandatory features of version 1.3 of the NVM Express specification
* Add support for the Abort, Asynchronous Event Request and Get Log Page commands
* Add support for Scatter Gather Lists (supported descriptors: Data Block, Bit Bucket, Segment and Last Segment)
* Allow the device to be configured with the "Admin Only" command set
* Support multiple namespaces through the new nvme-ns device
* The unallocated Intel PCI Vendor and Device ID has been replaced with a QEMU allocated "Red Hat" ID
* Support per-namespace SMART log

==== PCI/PCIe ====

==== SCSI ====

==== SD card ====

==== SMBIOS ====
* The OEM Strings data can now be loaded from a file

==== TPM ====

==== USB ====

==== VFIO ====

==== virtio ====

==== Xen ====

==== fw_cfg ====

==== 9pfs ====
* Significant [https://lists.gnu.org/archive/html/qemu-devel/2020-01/msg05539.html performance improvement of Treaddir] requests.
* A performance warning is now logged on host side if 'msize' is set to a very small value, which especially includes Linux 9P clients not having any user specified 'msize' parameter at all. Simply setting 'msize' (on client/guest side) to any value larger than 8192 will cause the warning to disappear. See [https://wiki.qemu.org/Documentation/9psetup#msize msize documentation] for details.

==== virtiofs ====
* virtiofsd xattrmap option to allow the host to see different xattr names to the guest
* virtiofsd alternate sandbox option for environments where pivot_root isn't available
* virtiofsd 'submount' mechanism (requiring newer guest kernel) allows different host mounts to be seen as separate submounts in the guest, avoiding inode clashes.

==== Semihosting ====

=== Audio ===

=== Character devices ===

* Inverted logic in QAPI handling the "tight" option for abstract UNIX sockets was fixed.
* The QAPI schema now only reports support for abstract UNIX sockets on platforms where it is available (Linux).

=== Crypto subsystem ===

==== experimental qmp interface ====

=== GUI ===
* Spice: add support for SIDE and EXTRA mouse buttons. Improve HiDPI, set physical dimensions of client monitors.
* Build spice and opengl as modules

=== GDBStub ===

=== Host support ===

=== Memory backends ===

=== Migration ===
* A new 'block-bitmap-mapping' migration parameter is added, allowing finer control of which bitmaps to migrate, even when node names differ between source and destination.
* Migration over 'vsock' is now allowed, for nested environments or hosts with hardware that looks like a vsock.
* A new 'calc-dirty-rate'/'query-dirty-rate' call gathers an approximation of the rate at which the guest is dirtying RAM and thus gives an idea about whether precopy migration is likely to proceed.
* The default migration bandwidth has been increased to 1Gbps;  users are still encouraged to tune it to their own hardware.
* TLS+multifd is now supported for higher bandwidth encrypted migration.
* Migration with dirty bitmaps has several bugs fixed.

=== Monitor ===

==== QMP ====

* Command block_resize no longer blocks the main loop.

==== HMP ====

* Command block_resize no longer blocks the main loop.

=== Network ===

=== Block device backends and tools ===

* qcow2 files now support extended L2 entries that allow subcluster-based allocation (enable with <code>extended_l2=on</code> when creating the image).
* Using qemu as an NBD client has fewer scenarios where network timeouts stall guest execution
* More explicit errors are reported when use of O_DIRECT fails
* The 'block-export-add' QMP command has been introduced to support qemu-storage-daemon, and replaces the now-deprecated 'nbd-server-add' command.
* The 'vhost-user-blk' export type has been added, allowing qemu-storage-daemon to act as a vhost-user-blk device backend.
* qemu-nbd now supports multiple '-B name' options for exposing multiple dirty bitmaps at once; it also supports a new '-A' option for exposing the new "qemu:allocation-depth" metadata context over NBD.

=== Tracing ===

* Add support of dtrace backend on macOS

=== Miscellaneous ===

* The roms/edk2 submodule and the bundled edk2 binaries have been updated to [https://bugs.launchpad.net/qemu/+bug/1852196 edk2-stable202008].

== User-mode emulation ==

* ppc64abi32-linux-user is deprecated and only built when explicitly enabled in--target-list
* tilegx-linux-user is deprecated and only built when explicitly enabled in--target-list
* better reporting when we can't mmap the guest_base we want on systems without MAP_FIXED_NOREPLACE

== TCG ==

== Guest agent ==
* New commands: <code>guest-get-devices</code>, <code>guest-get-disks</code> & <code>guest-ssh-{get,add,remove}-authorized-keys</code>
* Support <code>guest-get-fsinfo</code> for non-PCI virtio devices, too

== Build Information ==
* The build system is now partly based on Meson. However, building is still done with ''configure'' and ''make'' as in previous versions of QEMU.
* Binaries for emulators are placed in the root build directory, for example as ''qemu-system-ppc'' instead of ''ppc-softmmu/qemu-system-ppc''. Symbolic links from the old binary are preserved to simplify the transition.
* In-tree builds are not supported anymore. The build system will try to cater for ''./configure && make && make install'' by building QEMU in a directory named ''build'', but you are encouraged to switch to out-of-tree builds instead.
* ivshmem-client and ivshmem-server are not installed anymore.  They are merely examples, and not to be used in production.
* QEMU installations are now relocatable.  For example, if QEMU is configured with ''bindir=/usr/local/bin'' and ''datadir=/usr/local/share'', when QEMU is launched as ''/opt/local/qemu-5.2/bin/qemu-system-x86_64'' it will look automatically for data files in ''/opt/local/qemu-5.2/share''.  Note that directories configured outside the prefix (as is often the case for ''/etc'' and ''/var'') will not be relocated!  Previously this was done only under Windows and only for emulators.

=== Python ===

* Python 3.6 or newer is now required to build QEMU.

=== GIT submodules ===

=== Container Based Builds ===
* All Debian 9 based cross-compiler containers have been updated to Debian 10

=== Build Dependencies ===
* Ninja 1.7 or newer is now required to build QEMU:
  * '''$ apt-get install ninja-build'''  (Debian/Ubuntu and derivative distros)
  * '''$ dnf/yum install ninja-build'''  (RHEL/Fedora/CentOS and derivative distros)
  * '''$ brew install ninja''' (macOS with HomeBrew)
  * '''$ pkg install ninja''' (FreeBSD)

=== Windows ===
* qemu-nbd is now built on mingw, and works for simple cases even if it can't duplicate the full functionality available on Unix systems

=== Testing and CI ===
* a new script can wait on gitlab to finish with a pass/fail status (scripts/ci/gitlab-status)
2021-02-20 22:59:29 +00:00
reinoud
6377a70886 On request create a new target called mipssim-virtio that has the extension
leaving the original target in tact.
2021-02-17 17:16:00 +00:00
reinoud
28c7596f56 Add *local* patch for the Qemu MIPS target MIPSSIM adding VirtIO devices for
development purposes.
2021-02-15 22:15:12 +00:00
adam
1c53e6051e qemu: fix typo 2021-01-03 22:47:23 +00:00
roy
957ce88a33 qemu: x11 isn't an option
If not Darwin, depend on libxkbcommon if any of these options are set:
 * gtk3
 * opengl
 * sdl
2021-01-03 21:42:29 +00:00
spz
09dd8302da qemu: don't require x11 when x11 is disabled 2020-12-20 16:51:44 +00:00
maya
a05d786441 qemu: enable spice by default.
Proposed without objections on tech-pkg in
https://mail-index.netbsd.org/tech-pkg/2020/11/01/msg023995.html

PKGREVISION++
2020-12-15 16:50:08 +00:00
nia
f6dd9d2f87 Revbump packages with a runtime Python dep but no version prefix.
For the Python 3.8 default switch.
2020-12-04 20:44:57 +00:00
martin
2737d18363 Avoid an assertion when sparc %pc/%npc are set to invalid values (like
it happens in the NetBSD-current ATF test runs). Bump pkg revision.
2020-11-02 17:17:15 +00:00
gson
b1518de5bf qemu: fix regression causing failure to boot NetBSD/sparc
Fix the bug of https://bugs.launchpad.net/qemu/+bug/1892540/
by applying the patch submitted by Philippe Mathieu-Daude.
Bump PKGREVISION.
2020-10-25 08:21:35 +00:00
martin
223db659b8 PR 54310: fix out of bounds memory write, analyzed and fix provided
by Harold Gutch. Already reported upstream.
Bump pkg revision.
2020-10-10 16:29:21 +00:00
thorpej
ca8f200aa6 Fix several issues in qemu-system-alpha's system emulation and
PALcode.  qemu-system-alpha is now capable of running NetBSD/alpha.

Bump package revision to 6.
2020-10-04 20:39:25 +00:00
jakllsch
4e45fe1fcd fix SCSI disk block sizes outside range of 256 to 32768 in qemu 2020-09-27 21:29:57 +00:00
jakllsch
bbbacdff8b Add debug-info option to qemu; default it off
qemu defaults to building with -g, but it's usually just a waste of
time and space in a pkgsrc environment without INSTALL_UNSTRIPPED
enabled.
2020-09-27 21:27:27 +00:00
wiz
00da7815c0 *: bump PKGREVISION for perl-5.32. 2020-08-31 18:06:29 +00:00
leot
b13a568190 *: revbump for libsndfile 2020-08-18 17:57:24 +00:00
leot
0e49372c4e *: revbump after fontconfig bl3 changes (libuuid removal) 2020-08-17 20:17:15 +00:00
tnn
8c5509fee0 qemu: fix PLIST
From mforney via tech-pkg
2020-08-14 06:08:11 +00:00
wiz
c553542e51 qemu: restore PLIST.gtk prefixes 2020-08-13 10:41:32 +00:00
ryoon
1e511913d4 qemu: Update to 5.1.0
Changelog:
Highlights include:

    ARM: support for ARMv8.2 TTS2UXN architecture feature
    ARM: support for ARMv8.5 MemTag architecture feature
    ARM: new board support for sonorapass-bmc
    ARM: virt: support for memory hot-unplug
    ARM: support for nvdimm hotplug for ACPI guests
    AVR: new architecture support for AVR CPUs
    AVR: new board support for Arduino Duemilanove, Arduino Mega 2560, Arduino Mega, and Arduino UNO
    MIPS: support for Loongson 3A CPUs (R1 and R4)
    MIPS: performance improvements for FPU and MSA instruction emulation
    PowerPC: support for guest error recovery via FWNMI
    RISC-V: support for SiFive E34 and Ibex CPUs
    RISC-V: new board support for HiFive1 revB and OpenTitan
    RISC-V: Spike machine now supports more than 1 CPU
    s390: KVM support for protected virtualization (secure execution mode)
    x86: improvements to HVF acceleration support on macOS
    x86: reduced virtualization overhead for non-enlightened Windows guests via Windows ACPI Emulated Device Table
    block: support for 2MB logical/physical blocksizes for virtual storage devices
    crypto: support for passing secrets to QEMU via Linux keyring
    crypto: support for LUKS keyslot management via qemu-img
    NVMe: support for Persistent Memory Region from NVMe 1.4 spec
    qemu-img: additional features added for map/convert/measure commands, as well as support for zstd compression
    qemu-img: support for new 'bitmap' command for manipulating persistent bitmaps in qcow2 files
    virtio: TCG guests can now use vhost-user threads
    virtio: vhost-user now supports registering more than 8 RAM slots
    and lots more...
2020-08-12 18:31:27 +00:00
nia
ccf0d3002d qemu: Don't build bsd usermode unless <machine/trap.h> exists on NetBSD
(It doesn't on 9.0 aarch64, apparently)
2020-06-28 13:39:52 +00:00
nia
8a043cb9de qemu: Disable OpenGL when native X11 doesn't have EGL 2020-06-22 12:13:20 +00:00
nia
a6d6486ed0 qemu: support opengl
bump pkgrevision
2020-05-28 14:44:19 +00:00
skrll
219b2d35e9 Remove incorrect patch - the NetBSD/hppa kernel has been fixed. 2020-05-26 07:17:53 +00:00
leot
2628c2a95a qemu: Do not duplicate already existing configure nvmm test in pkgsrc Makefile
configure already had the logic to gracefully test for nvmm and if the
corresponding nvmm variable is set to an empty string do that.

No functional nor binary change intended except a CONFIGURE_ARGS difference.

Fixes PR pkg/55049.

Thanks Yasushi Oshima for reporting this problem, sharing an initial
patch and further testing the version committed now!
2020-05-23 15:46:12 +00:00
adam
d62c903eea revbump after updating security/nettle 2020-05-22 10:55:42 +00:00
leot
413aa8f39c qemu: Remove no longer used prefix subst class 2020-05-18 17:07:38 +00:00
skrll
33ef3ee35c Two fixes
- make qemu on aarch64 work (needs fixes in base OS)
- don't assert hppa lasi imr, but simply store the know interrupt bits

bump PKGREVISION
2020-05-10 11:33:23 +00:00
adam
7d4b705c63 revbump after boost update 2020-05-06 14:04:05 +00:00
rillig
f3e61b469b emulators/qemu: remove no-op file from SUBST_FILES 2020-05-03 19:36:33 +00:00
adam
429120bd66 qemu: updated to 5.0.0
5.0.0:
Incompatible changes
The bluetooth code has been removed without replacement. It was quite neglected over the years and likely not usable anymore. You can passthrough a dedicated USB bluetooth dongle to guests on most machines instead if you still need bluetooth in your guest.
The pc-0.12, pc-0.13, pc-0.14, pc-0.15 machines have been removed. Newer versions of the machine type should be used instead.
The "prep" ppc machine has been removed. The "40p" machine should be used now instead.
The "-virtfs_synth" option has been removed. You can use "-fsdev synth" together with "-device virtio-9p-..." instead.
The "-accel" and "-machine accel=" options are now incompatible with each other.
The deprecated "[hub_id name]" parameter tuple of 'hostfwd_add' / 'hostfwd_remove' has been removed. Use a "netdev_id" instead.

New deprecated options and features
The "-tb-size N" option has been deprecated. It is replaced by "-accel tcg,tb-size=N".
The virtio-blk SCSI passthrough feature (" -device virtio-blk,scsi=on") is deprecated. Use virtio-scsi instead.
The "r4k" mips machine has been deprecated. The "malta" machine should be used nowadays instead.
Support for using an AArch32 host system to run KVM guests has been deprecated (because the Linux kernel has dropped its support for this) and will be removed in a future version of QEMU. AArch32 guests on an AArch64 host are still supported.

Arm
Support for using an AArch32 host system to run KVM guests is now deprecated (because the Linux kernel has dropped its support for this) and will be removed in a future version of QEMU. AArch32 guests on an AArch64 host are still supported.
Emulation of the following architecture features is now implemented:
- ARMv8.1-VHE
- ARMv8.1-VMID16
- ARMv8.1-PAN
- ARMv8.1-PMU
- ARMv8.2-UAO
- ARMv8.2-DCPoP
- ARMv8.2-ATS1E1
- ARMv8.2-TTCNP
- ARMv8.3-RCPC
- ARMv8.3-CCIDX
- ARMv8.4-PMU
- ARMv8.4-RCPC
The Cortex-M7 CPU is now supported
New board: tacoma-bmc
New board: Netduino Plus 2
New board: Orangepi PC (orangepi-pc)
QEMU now correctly implements trapping of more EL1 system register accesses to EL2 (eg HCR_EL2 TID1, TID2 bits, HSTR_EL2)
The no-op system registers required for a "trivial Jazelle" implementation have been added
The DC CVAP and DC CVADP instructions are now supported
Support for blocking semiconsole SYS_READC
the i.MX RNGC device is now supported
the watchdog device is now implemented on the i.MX6 boards
The Cortex-R5 and -R5f CPUs now provide a PMU
The Exynos4210 SoC model now correctly handles DMA to/from the UARTs
The Aspeed AST2600 SoC model now includes the eMMC controller
Under KVM, we now by default stop and restart the guest generic timer counter when the VM is stopped and started so the guest OS doesn't see surprising time jumps. (This can be disabled with the kvm-no-adjvtime property.)
The Aspeed AST2400, AST2500, AST2600 SoCs now support the EHCI controller
The z2 and mainstone boards now permit booting with just a kernel image and no flash image file
The Allwinner SoC model now wires up the USB ports
The integratorcp board now wires up the audio codec controller
The versal board now implements the ADMA DMA controllers
TPM is now supported
The iMX25 now wires up the eSDHC controllers and the USB controllers
The iMX6 machines wire up the USB controllers
the gdbstub now supports SVE registers
virtio-iommu is now supported with machvirt (DT boot only)

HPPA
Artist graphics emulation added.
PS2 keyboard and mouse added to LASI chip.
Accept LDCW to addresses not aligned mod 16.

MIPS
Support for R4000 machine is announced to be deprecated, and will be removed from code base in QEMU 5.2.
Amended support for MemoryMapID CP0 register.
Amended support for WatchHi CP0 register.
Added support for GINVT instruction.

OpenRISC
Fixed a bug that prevented the DZF bit of the FPCSR being set.

PowerPC
pseries machine type
- No longer require a reconfiguration reboot for a guest selecting XIVE interrupt controller when ic-mode=dual
- Now consumes less host resources when running a KVM guest with XIVE (with a recent enough host kernel). This allows running more concurrent guests with KVM accelerated XIVE.
- New 'kernel-addr' property to control the load address for -kernel
- NVDIMMs with file backend now supported
- If a guest panics with the ibm,os-term RTAS call, the error message it supplies is now reported
- Added firmware assisted NMI (FWNMI) support
- SLOF updated to work with iommu_platform=on for virtio devices
- Better handling of devices hotplugged early in boot (before the ibm,client-architecture-support call)
powernv machine type
- Numerous improvements to the model
- Can now run KVM guests under a TCG emulated powernv machine
- Basic POWER10 support
Removed num-chips machine property, use -smp sockets=NN instead
Deprecated the compat= property on CPUs (it's been obsolete for a while with a pseries specific machine property)
Fixed a longstanding bug if using big-endian ABIv2 binaries with linux-user
Implemented new forms of the slbia instruction present in POWER9

RISC-V
The virt and sifive_u boards now have syscon device tree nodes, which allows the generic syscon drivers in Linux to control power/reboot.
The GDB stub now allows for D on rv32 and non-D on rv64.
The virt board now contains a Goldfish RTC.
Experimental support for version 0.5 of the draft hypervisor extension has been added.

s390
Adpater interrupt suppression is now available when running with KVM (previously disabled due to migration issues); support under tcg has already been available since 2.10
- enable by specifying the cpu feature "ais=on"
QEMU now warns when it fixes up odd memory sizes for compatibility on compat machines
- Only done on compat machines to avoid breaking incoming migrations. If you can, fix up the memory size on old machines or switch to a machine type >= 5.0, which supports 1M increments
- The automatic fixup may be removed in a future version.
2020-04-30 17:16:04 +00:00
tnn
cce3408655 qemu: enable iscsi initiator support 2020-03-13 13:57:04 +00:00
wiz
4e3b1b97c2 librsvg: update bl3.mk to remove libcroco in rust case
recursive bump for the dependency change
2020-03-10 22:08:37 +00:00
wiz
f669fda471 *: recursive bump for libffi 2020-03-08 16:47:24 +00:00
kamil
22c180987e qemu: Conditionalize NVMM for NetBSD
Build NVMM support whenever there is /usr/include/nvmm.h available.
2020-03-06 09:19:43 +00:00
kamil
70e0102182 qemu: Disable spice by default
There are bugs to solve first.

Requested by maxv@.
2020-02-07 08:39:19 +00:00
kamil
2c785084dd qemu: Fix qemu-system-i386 nvmm warning 2020-02-06 23:23:21 +00:00
kamil
fefedb8307 qemu: Add new option and enable it by default: spice
Spice-Space is a Simple Protocol for Independent Computing Environments.
2020-02-06 22:01:37 +00:00
kamil
1efe0a4c51 qemu: Update NVMM patchset to v4
Address build warnings.
2020-02-06 21:42:29 +00:00
kamil
f2d974431b qemu: Bump PKGREVISION 2020-02-06 16:46:43 +00:00
kamil
8adee2da96 nvmm: Merge NVMM support
NVMM v3 patchset pending upstream.

https://lists.gnu.org/archive/html/qemu-devel/2020-02/msg01405.html
2020-02-06 16:46:17 +00:00
jperkin
26c1bffc9f *: Recursive revision bump for openssl 1.1.1. 2020-01-18 21:48:19 +00:00
gutteridge
71458ee96b qemu: fix Linux build in most environments
Addresses PR pkg/54772, reported by and patch tested by Ottavio Caruso.
virtfs-proxy-helper is only built if two development libraries (for
libcap and libattr) are installed, which typically aren't included by
default in Linux distros. Make virtfs support a non-default option that
someone would enable when they expressly want it, and they have first
installed the necessary upstream header packages to support the
compilation of this option.
2020-01-13 02:50:25 +00:00
ryoon
eedd1e806f *: Recursive revbump from devel/boost-libs 2020-01-12 20:19:52 +00:00
adam
fcd2f92577 qemu: fix build on macOS 2020-01-10 20:27:03 +00:00
ryoon
1eee5780ff Include xkbcommon unconditionally and directly to reduce PLIST divergence
* Bump PKGREVISION.
2020-01-04 13:46:59 +00:00
adam
f588784d1a qemu: ...and the new patch 2019-12-15 18:35:49 +00:00
adam
4f22bc63cc qemu: updated to 4.2.0
4.2.0:

System emulation
----------------
Incompatible changes
On s390x, using KVM now explicitly requires a host kernel version of at least 3.15 (which includes the 'flic' KVM device). This had been broken since QEMU 2.10 already.
On s390x, migration of KVM guests with >8TB of memory from pre-4.2 QEMUs will no longer work. Migration of KVM guests with up to 8TB of memory continues to work, as will migration of >8TB guests from QEMU 4.2 on.
The "autoload" parameter of the "block-dirty-bitmap-add" QMP command has been removed (it's no longer needed).

New deprecated options and features
The "ide-drive" device is deprecated. Users should use 'ide-hd' or "ide-cd" as appropriate to get an IDE hard disk or CD-ROM as needed.
The "change" QMP command has been deprecated. Use "blockdev-change-medium" or "change-vnc-password" instead.
The "migrate_set_downtime", "migrate_set_speed" and "migrate-set-cache-size" QMP commands have been deprecated. Use "migrate-set-parameters" instead.
The "query-migrate-cache-size" QMP command has been deprecated. Use "query-migrate-parameters" instead.
The "scsi-disk" device is deprecated. Users should use 'scsi-hd' or "scsi-cd" as appropriate to get a SCSI hard disk or CD-ROM as needed.
Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

68k
Added new "next-cube" machine for emulating a classic NeXTcube (still incomplete, can only boot to the firmware prompt)
Added new "q800" machine for emulating Macintosh Quadra 800 (can only boot Linux, MacOS ROM is not yet supported)

Arm
Added Aspeed AST2600 SoC and evaluation board model support
QEMU's Arm semihosting implementation now supports v2.0 of the specification, including the "STDOUT_STDERR" and "EXIT_EXTENDED" extensions
We now correctly support more than 256 CPUs when using KVM
The virt board now supports memory hotplugging, when used with a UEFI guest BIOS and ACPI.
The raspberry PI models now implement the bcm2835 system timer device and a dummy thermal sensor.
Performance of the TCG emulation of ARM cores has been improved.
SVE is supported in KVM guests (requires SVE hardware and kernel support)

MIPS
Fixed bug involving emulation of ST.W instruction in system mode only (there was no bug in Linux user mode).

PowerPC
Behavior for unplug of multifunction PCI devices has been changed to match x86. Attempting to unplug any function will cause an unplug of the whole slot.
There are now separate machine types for POWER8 based and POWER9 based non-virtualized machines (powernv8 & powernv9).
Default RAM size for powernv machines has been increased to 1.75G which should allow more things to work with the default parameters.
RTAS (runtime firmware) code is now supplied by SLOF (boot time firmware) instead of by qemu itself. This won't affect users in most cases, but will affect users of -bios which bypasses SLOF, which includes kvm-unit-tests. You'll need a sufficiently recent version of kvm-unit-tests to handle this.
mffsce, mffscrn and mffscrni POWER9 instructions now supported in TCG
powernv machine now includes models for the Homer and OCC SRAM system devices
"info pic" HMP command now reports whether the irq chip is emulated in kernel or in qemu
pseries machine type no longer permits NUMA nodes with no CPU and no memory - this was already unlikely to work due to problems expressing this configuration to the guest
On pseries-4.2 and later machine types, "vsmt" is set to be equal to smp_threads by default (previously it was different in some circumstances for compatibility with old KVM versions)
New defaults mean that with the pseries machine type and host kernels prior to 4.13 you may get errors about VSMT mode. You can either update your host kernel or work around this by setting -machine vsmt=8.

RISC-V
The `-initrd` argument is now supported.
The debugger can now see all architectural state regardless of the currently executing privilege mode on each hart.
The sifive_u board now contains additional memory regions that more closely match the board.

s390
TCG now implements IEP (Instruction Execution Protection), a CPU feature introduced with the z14. Until the "qemu" CPU model is lifted to a z14, it can be enabled using the "max" CPU model ("-cpu max").

SPARC
The sun4u IOMMU now support the "invert endianness" bit

x86
VMX features can be enabled/disabled via the "-cpu" flag.
When nested virtualization is enabled with an option like "-cpu Haswell,+vmx", the set of VMX features will also be constrained to what was available on the corresponding CPU model.
New "microvm" machine type that has virtio-mmio instead of PCI, and no ACPI support (so no hotplug too). The new machine type is meant as a baseline for performance optimizations of QEMU, firmware and guests. While inspired by Firecracker it is not entirely compatible with it (for example it does not have Firecracker's userspace IP stack and MicroVM Metadata Service).
Support for AVX512 BFloat16 extensions.
New CPU models: Denverton (a server-class Atom-based SoC), Snowridge, Dhyana
New CPU features clzero and xsaveerptr
Latest version of all CPU models now have TSX (HLE and RTM) disabled by default
Support for new IA32_ARCH_CAPABILITIES flags: MDS_NO, TSX_NO, TSX_CTRL
macOS Hypervisor.framework support ("-accel hvf") is now considered stable

Xtensa
Add new "virt" machine.


Device emulation and assignment

ACPI
ARM machines can use the ACPI generic event device for the system powerdown event

Audio
Audio devices support an "audiodev" property that can be used to choose a specific backend to connect to the device.

Block devices
Unmap operations are now accounted and visible in the output of "query-blockstats"/"info blockstats"

Graphics
Support for more ati-vga registers

IPMI
UUID handling for the built-in IPMI BMC has changed. Before the UUID was set from the qemu UUID, if that was set. However, in a real system, the UUID of a BMC will be independent of the system UUID. So now the UUID must be explicitly set for a BMC if you want one. Otherwise the BMC will not have a UUID. To set the UUID of a BMC, use the new property guid=11223344-5566-7788-99aa-bbccddeeff00 for the ipmi-bmc-sim device.
New PCI interfaces for IPMI KCS and BT devices are available. The devices pci-ipmi-kcs and pci-ipmi-bt are used to choose these devices.

Network devices
Support for network failover for easier migration of VFIO devices.

VFIO
vfio-pci supports the "failover_pair_id" property for easier migration of VFIO devices.

virtio
virtio-mmio now supports the virtio standard compatible v2 personality (still defaulting to the legacy v1 personality for compatibility reasons)
Support for virtio 1.1 packed virtqueues.

9pfs
the "local" backend now has a new 'multidevs' option to deal with cross-device setups (ie. when the shared directory spans over multiple devices on the host)


Character devices
Any backend that supports connection as a socket client (NBD, chardev, network device, monitor...) can now request to use TCP keep-alive with the server.

Crypto subsystem
With new enough gcrypt or nettle libraries, QEMU can now use the library's own XTS cipher mode code. This provides a potentially huge performance boost for AES-XTS encryption, which benefits the LUKS disk encryption block driver I/O performance.

Monitor
Fix not to leave the monitor wedged when the client disconnects while the queue is full, and the event timing is unlucky.

QMP
query-machines now report the default CPU type for each machine

Migration
The 'validate-uuid' migration compatibility checks the UUID matches on migration, preventing accidental migration of the wrong VM to the wrong destination. (Yury Kotov)

Network
The user mode host network backend now allows to set a guest-visible DNS address which is not in the virtual network, unless restrict mode is enabled.

Block device backends and tools
Block drivers can now support BDRV_REQ_PREFETCH for more efficient handling of copy-on-read requests; the NBD driver has wired this up to NBD_CMD_CACHE.
The LUKS block driver supports falloc/full preallocation.
The NBD server now advertises NBD_FLAG_CAN_MULTI_CONN on shared readonly connections.
The NBD server and client support the new NBD_CMD_FLAG_FAST_ZERO as an optimization during the copying of sparse images.
The backup block job now creates a filter node, just like mirror and commit do. Clients that care about the structure of the block graph need to take this into account.
Several assertion failures relating to the use of an NBD server with iothreads have been fixed.
Creation of an NBD client now allows an optional 'reconnect-delay' parameter, which can be used to reconnect rather than permanently fail in the face of a transient server hiccup.
NBD client and server now permit export names up to 4k in length (rather than 256 bytes), while at the same time being more careful to avoid over-long strings in violation of the NBD protocol.

Miscellaneous
bugs in gdbstub handling of F and ! packets have been fixed
The arguments to -kernel and -initrd are now mmap-ed for some targets. This allows sharing memory when many VMs are loaded with the same arguments.
User-mode emulation

Xtensa
call0 ABI may be selected for the user emulation with command line option -xtensa-abi-call0 (or with QEMU_XTENSA_ABI_CALL0 environment variable).

TCG
---
tcg tests are now in $BUILDDIR/tests/tcg/$TARGET/ (rather than $BUILDDIR/$TARGET/tests/)
new TCG Plugins feature allows instrumentation experiments to be written

Build Information
-----------------
Python
The minimum supported version of Python is now 3.5.

Container Based Builds
The docker.py tooling now supports podman containers [1] as an alternative to docker
the docker.py now requires python3 to run
a number of the cross compiler containers have been updated to Buster

Build Dependencies
The minimum version of the glib library is now 2.48
2019-12-15 18:35:25 +00:00
jperkin
8795d1d225 qemu: Various SunOS fixes. 2019-12-11 16:44:22 +00:00
rillig
fd05268ce3 emulators: align variable assignments
pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
2019-11-03 19:24:31 +00:00
adam
6b2e8257c9 qemu: deal with static files generated by Sphinx 2019-10-24 18:22:00 +00:00
adam
29e3b4dbb3 Switch sphinx to versioned deps. 2019-10-21 21:45:39 +00:00
ryoon
edacf2bbcb Recursive revbump from boost-1.71.0 2019-08-22 12:22:48 +00:00
adam
284cd1c2f9 qemu: updated to 4.1.0
4.1.0:

New deprecated options and features

The "-virtfs_synth" option is now deprecated. Please use "-fsdev synth" and "-device virtio-9p-..." instead.
The "-numa node,mem" sub-option is now deprecated. Please use "-numa node,memdev" instead.
Default memory distribution between NUMA nodes is now deprecated. Please specify memory per NUMA node explicitly using "-numa node,memdev"
Fallback to normal RAM allocation if QEMU is not able to allocate from the "-mem-path" provided file/filesystem is now deprecated. Make sure that host has sufficient resources on the filesystem/file pointed be "-mem-path".

Arm

QEMU now supports emulating an FPU for Cortex-M CPUs, and the Cortex-M4 and Cortex-M33 now provide the FPU.
The Cortex-R5F now correctly provides an FPU with registers D0-D15 only, rather than incorrectly providing also D16-D31.
The build config files have been switched to the new Kconfig system, so that a QEMU with individual boards can be built more easily.
The ARMv8.5-RNG extension is supported, for cpu generated random numbers.
The Exynos4210 SoC model now supports the PL330 DMA controllers.
Some bugs in handling of GICv3 ICC_CTLR_EL3 and ICH_VMCR_EL2 register writes have been fixed.
The built-in bootloader now handles loading AArch64 kernel Image files which are larger than 128MB.
The GICv3 now correctly reports GICD_TYPER.SecurityExtn as 0 if GICD_CTLR.DS is 1.
New board model: swift-bmc
New board-model: sbsa-ref (an AArch64 system intended for development of the server firmware and kernel software stack)
The Aspeed SoC/boards now support the RTC device and the xdma device
The i.mx7 PCI controller emulation has been improved so it can boot current Linux krenels
The pl031 RTC device now correctly makes the guest RTC track advances in host RTC time between a VM state save and a later reload.

MIPS

Improved marking referenced memory pages as executable (it is now restricted to necessary cases only).
Fixed logic errors for certain cases of MFTR and MTTR instruction handling.
Fixed some corner cases of MSA FCLASS.<W|D> instruction handling.
Improved 'division by zero' cases in MSA ASE instructions DIV_<U|S>.<B|H|W|D> and MOD_<U|S>.<B|H|W|D> - they are now handled both in QEMU and on the reference hardware the same way.
Fixed emulation of a number of MSA ASE instructions on big endian hosts. Affected instructions are LD.<B|H|W|D>, ST.<B|H|W|D>, COPY_S.<B|H|W|D>, COPY_U.<B|H|W>, INSERT.<B|H|W|D>, ILVEV.<B|H|W|D>, ILVOD.<B|H|W|D>, ILVL.<B|H|W|D>, ILVR.<B|H|W|D>, PCKEV.<B|H|W|D>, and PCKOD.<B|H|W|D>.
Improved emulation performance of numerous MSA instructions, mostly integer and data permuting operations.
Nios2

PowerPC

NVIDIA V100 GPU/NVLink2 passthrough for spapr using VFIO PCI
The TCG implementation of the Power9 DARN instruction now produces random numbers, instead of indicating failure.
pseries machine now supports KVM acceleration (kernel_irqchip=on) of the XIVE interrupt controller
pseries now defaults to XIVE interrupt controller if using pseries-4.1 machine version, POWER9 cpu and a guest OS which supports it
pseries now supports hot-plug of PCI bridges and hot-plug and unplug of devices under PCI bridges
powernv now supports dumping the device tree with the "dumpdtb" machine option
A number of vector (Altivec and VSX) instructions have had their implementations optimized in TCG

RISC-V

Arbitrary bits in SIP can no longer be set.
A new "spike" machine has been defined, with the old machines being deprecated.
sfence.vma can no longer execute from userspace.
Single-stepping over branches and jumps now works.
A handful of illegal instructions (all compressed) are now handled correctly, as opposed to being treated as NOPs.
Support for version 1.11.0 of the privileged specification has been added.
SiFive's PRCI now supports reading and writing all the device registers.
The ISA of the target machine can be controlled from the command line.
QEMU provides a cpu-topology device tree node on targets that support device trees.
Load reservations are broken by both store conditional and scheduling.
The 32-bit syscall ABI has various bug fixes.
The PCI bus-range property is now set correctly.

s390

The bios now supports IPL (boot) from ECKD DASD assigned to the guest via vfio-ccw.
The bios now tolerates the presence of bootmap signature entries written by zipl.
All Vector Instructions introduced with the "Vector Facility" have been implemented for TCG.
The "Vector Facility" is now indicated in the "qemu" cpu model, which has been updated to a stripped-down z13.
More facilities and gen15 machines (official name not yet known) have been added to the cpu model.
This also includes the AP Queue Interruption Facility, which allows to use interrupts for vfio-ap devices, if supported by the host kernel.
vfio-ccw now supports forwarding HALT SUBCHANNEL and CLEAR SUBCHANNEL to the device.

SPARC

sun4m and sun4u fixes when running with -vga none (OpenBIOS)
sunhme fixes when running on a TAP network interface

Tricore

Add FTOIZ/UTOF/QSEED insns
Fix sync of hflags and swapped args of RRPW_INSERT

x86

New Hygon Dhyana CPU model
New Intel SnowRidge CPU model
The host-cache-info CPU option now affects the TOPOEXT CPUID leaf (0x8000001D)
The RDRAND extension is implemented for TCG.
md-clear and mds-no feature flags, for detection and mitigation of MDS vulnerabilities (CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2019-11091)
All x86 CPU models are now versioned
CPU die topology can now be configured using the -smp ...,dies=... option

Xtensa

Implement memory protection unit (MPU) option
Implement Exclusive Access option
2019-08-16 15:12:19 +00:00
wiz
84e123ddd2 Bump PKGREVISIONs for perl 5.30.0 2019-08-11 13:17:48 +00:00
wiz
1ac2210b6f *: recursive bump for gdk-pixbuf2-2.38.1 2019-07-21 22:23:57 +00:00
wiz
c30c5fbc0b *: recursive bump for nettle 3.5.1 2019-07-20 22:45:58 +00:00
thorpej
1159a9c73d Fix building on NetBSD/arm by extracting the FSR from siginfo_t::si_trap
rathar than an mcontext field that NetBSD/arm doesn't have.
2019-07-03 14:38:13 +00:00
ryoon
57d0806c39 Recursive revbump from boost-1.70.0 2019-07-01 04:07:44 +00:00
jperkin
fe92ee8cfd qemu: Build fix on systems without O_DIRECTORY. 2019-06-28 17:11:14 +00:00
gson
a2a8cdbdbe qemu: Linux PLIST fixes
bin/virtfs-proxy-helper and man/man1/virtfs-proxy-helper.1 were
missing from the PLIST when building on Linux.
2019-06-19 19:08:05 +00:00
kamil
24c26849dc qemu: Fix build for Linux
Tested by Ottavio Caruso.
2019-05-25 12:36:59 +00:00
wiz
6ff78eb167 qemu: add missing '='.
Yell a little less.
2019-05-24 09:08:38 +00:00
kamil
fd4cd35c90 qemu: Drop no longer used PLIST.Linux 2019-05-24 00:30:09 +00:00
kamil
b0dd119431 qemu: Sync PLIST with reality for Linux
Add new entries to linux-user.
Move PLIST.Linux into main PLIST.
Mark bridge-helper and pr-helper as Linux specific options.

No functional change for !Linux.
Linux packaging should now either work or be closer to it.
2019-05-24 00:28:52 +00:00
kamil
ba1ea13b57 qemu: Switch curses.c patches to the ones pending upstream
* fix compatibility with NetBSD curses(3)

https://patchwork.ozlabs.org/patch/1092056/

 * fix portability of iconv(3) usage

https://patchwork.ozlabs.org/patch/1092057/

Both work better than the existing one. Borders are printed now correctly.

Bump PKGREVISION
2019-04-27 18:00:46 +00:00
kamil
4853ee51a5 qemu: Fix unportable iconv(3) construct breaking on NetBSD
ui_curses.c contains now a new patch:

* Switch unportable iconv(3) UCS-2 <-> wchar_t conversions
  to a portable algorithm with an intermediate step with
  multibyte sequences

With this change qemu -curses works again.

Thanks to joerg@ for pointing out the proper algorithm.

Bump pkgrevision.
2019-04-25 23:54:46 +00:00
leot
a088f80432 qemu: install documentation and minor updates/fixes
- After the 4.0.0 update documentation was no longer installed.
  To generate documentation and man pages makeinfo, pod2man and
  py-sphinx are needed, add them as tool dependencies.
- Add a SUBST class to override hardcoded sphinx-build program name.
- Remove PYTHON_VERSIONS_INCOMPATIBLE: 2.7 and 3 are supported.
- hicolor icon themes are installed, include hicolor-icon-theme bl3
2019-04-25 15:29:02 +00:00
skrll
7d60f503bd Add two fixes accepted upstream to support NetBSD/hppa 2019-04-25 11:33:02 +00:00
maya
f34a8c24a3 PKGREVISION bump for anything using python without a PYPKGPREFIX.
This is a semi-manual PKGREVISION bump.
2019-04-25 07:32:34 +00:00
adam
0d500dd545 qemu: fix checksums of some patche files 2019-04-24 17:09:43 +00:00
ryoon
46baada16f Update to 4.0.0
Changelog:
Incompatible changes

    The "handle" option to -fsdev and -virtfs has been removed. The "local" or "proxy" options should be used instead.
    The "-virtioconsole" option has been removed. Use "-device virtconsole" instead.
    The "-no-frame" option has been removed. It was only usable with SDL1.2, and support for this library has been suspended now.
    The "-enable-hax" option has been removed. Use "-accel hax" instead.
    The "-clock" option has been removed. It was only a "dummy" option without meaning since QEMU 1.7, so there is no replacement.
    The legacy "ivshmem" device has been removed. Use "ivshmem-doorbell" or "ivshmem-plain" instead.
    The x86 machine types "pc-0.10" and "pc-0.11" have been removed. Use a newer machine type instead.
    The "irq" property of the "spapr-vscsi", "spapr-vlan" and "spapr-vty" devices has been removed with no replacement.
    The "memory-backend-memfd" backend object type will be reported as unavailable on hosts systems without memfd sealing support. On previous versions, "memory-backend-memfd" was reported as available, but didn't work properly without sealing support.
    HMP snapshot commands (such as "savevm", "loadvm" and "delvm") use only the snapshot tag, and not the ID any more, to identify snapshots. This removes ambiguity from the interface, but may require changing the HMP command in existing scripts.

New deprecated options and features

    cpu-add QMP/HMP command
    machine-types pc-0.12, pc-0.13, pc-0.14 and pc-0.15
    qemu-nbd --partition=N option
    The query-events QMP command has been superseded by the more powerful and accurate query-qmp-schema command.
    The acl option to the "-vnc" argument has been replaced by the tls-authz and sasl-authz options.
    The acl_show, acl_reset, acl_policy, acl_add, and acl_remove commands are deprecated with no replacement. Authorization for VNC should be performed using the pluggable QAuthZ objects.
    QEMU_AUDIO_ environment variables and "-audio-help" are now deprecated. Use "-audiodev" instead.

Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

Architercture specific summary:
Arm

    Implement the ARMv8.0-SB extension
    Implement the ARMv8.0-PredInv extension
    Implement the ARMv8.1-HPD extension
    Implement the ARMv8.1-LOR extension (as the trivial "no limited ordering regions provided" minimum)
    Implement the ARMv8.2-FHM extension
    Implement the ARMv8.2-AA32HPD extension
    Implement the ARMv8.3-PAuth extension
    Implement the ARMv8.3-JSConv extension
    Implement the ARMv8.4-CondM extension
    Implement the ARMv8.5-CondM extension
    Implement the ARMv8.5-FRINT extension
    And new boards

MIPS

    Added support for I7200 CPU (nanoMIPS32 ISA + DSP ASE; system mode only).
    Added support for I6500 CPU (MIPS64R6 ISA + MSA ASE + multicore features).
    Added support for QMP-based querying of the available CPU types.
    Added support for SAARI and SAAR configuration registers.
    Added support for MTTCG (multi-threaded TCG).
    Improved support for ITU (Interthread Communication Unit).
    Improved support for Fulong 2E machine.
    Improved end user documentation.
    Fixed build for MIPS n32 hosts.

RISC-V

    The virt board now supports PCI and USB.
    The FS field of mstatus now supports three states (dirty, clean, and off).
    The TSR, TW, and TVM fields of mstatus are now implemented.
    The misa CSR is now writable.
    The built-in gdbserver supports register lists via XML files.
    The sifive_u machine supports SMP.
    The SiFive UART supports TX interrupts.
    The sifive_u machine has the correct number of PLIC interrupts.


x86

    The HAX accelerator is now supported for POSIX hosts other than Darwin, including Linux and NetBSD.
    Machines pc-* now support configuring firmware with -machine pflash0=ID0,pflash1=ID1 in addition to -drive if=pflash,... This permits use of -blockdev.
    MPX is considered a failed experiment by Intel, and has thus been removed from all named CPU models. It is still accessible via "-cpu host".
    PVH Linux images can be booted with "-kernel".
2019-04-24 13:59:32 +00:00
jperkin
78680ebe99 qemu: Fix build on SunOS. 2019-02-13 14:08:42 +00:00
kamil
b9a5d7a1cf qemu: Add HAXM/NetBSD/amd64 support and fix NetBSD debug build
Bump PKGREVISION.
2019-02-13 05:16:12 +00:00
martin
125b0fbc0f Replace aarch64 FPU exception trap handling fix with newer version
from upstream.
2019-01-31 13:39:10 +00:00
martin
b1d587bee3 Apply upstream fix for FPCR register handling on aarch64, fixes bogus
test failures in our test runs.
2019-01-29 16:01:29 +00:00
gson
d66d7129b2 qemu: add some missing binaries to NOT_PAX_MPROTECT_SAFE.
Bump PKGREVISION.
2019-01-22 12:08:14 +00:00
adam
5b12b7b592 revbump for boost 1.69.0 2018-12-13 19:51:31 +00:00
pgoyette
357d42f32e qemu-system-ppcemb was removed by upstream (no longer in the PLIST) so
stop trying to disable PAX for the image!

OK leot@
2018-12-13 09:09:42 +00:00
adam
39900b426e qemu: updated to 3.1.0
3.1.0:
Incompatible changes
- The "qemu-system-ppcemb" target has been removed. "qemu-system-ppc" or "qemu-system-ppc64" should be used instead.
- The "tls", "x509", and "x509verify" options to "-vnc" have been removed. The "tls-creds" option should be used instead to point to a "tls-creds-x509" object created using "-object"
- The -drive options "cyls", "heads", "secs", "trans", "addr" and "serial" have been removed. The corresponding options of the "-device" parameter have to be used instead now.
- The "-balloon" option has been removed since it is replaced by "-device virtio-balloon" now.
- The "-nodefconfig" option has been removed. Use "-no-user-config" instead.
- The "-startdate", "-localtime" and "-rtc-td-hack" options have been removed. Use the corresponding parameters of "-rtc" instead.
- The "-tftp", "-bootp", "-redir" and "-smb" options have been removed. Use the corresponding parameters of "-nic" or "-netdev" instead.
- The "ssi-sd" device cannot be created anymore with "-device". This could be changed again in the future.
- x86 machines cannot be live-migrated if nested Intel virtualization is enabled. The next version of QEMU will be able to do live migration when nested virtualization is enabled, if supported by the kernel.

New deprecated options and features
- The '-machine enforce-config-section' parameter is replaced by the '-global migration.send-configuration' option.
- The 'name' parameter of the '-net' option is a synonym for the 'id' parameter, which should now be used instead.
- The 'hub_id name' parameter tuple of the 'hostfwd_add' and 'hostfwd_remove' HMP commands has been replaced by 'netdev_id'.
- The PowerPC target 'prep' machine type should be replaced by the '40p' machine type.
- Parsing of key,value pair filenames for the RBD block device
- Incorrect CPU topologies specified by -smp socket,core,thread options that are describing number of VCPUs not equal to 'maxcpus'
2018-12-12 16:26:58 +00:00
kleink
f1a683c990 Revbump after cairo 1.16.0 update. 2018-11-14 22:20:58 +00:00
ryoon
b86dfe6873 Recursive revbump from hardbuzz-2.1.1 2018-11-12 03:51:07 +00:00
skrll
9a3caf0ef7 Support the uboot kernel_noload image type as used by NetBSD/evbarm
GENERIC kernel.

Bump PKGREVISION
2018-11-05 07:27:59 +00:00
wiz
93b46879c7 Recursive bump for perl5-5.28.0 2018-08-22 09:43:40 +00:00
ryoon
2f935ecc72 Follow MASTER_SITES redirect 2018-08-18 00:13:59 +00:00
adam
9d06c0a472 revbump after boost-libs update 2018-08-16 18:54:26 +00:00
adam
6eded4b70b qemu: updated to 3.0.0
3.0.0:

Incompatible changes
Option "-no-kvm-pit-reinjection" has been removed. Use "-global kvm-pit.lost_tick_policy=discard" instead.
Option "-no-kvm-irqchip" has been removed. Use "-machine kernel_irqchip=off" instead.
The "vlan" parameter of the "-net" option has been removed. Use "-netdev" with IDs or the "hubport" netdev instead.
The deprecated -drive options "geometry", "addr" and "serial" have been removed. Use "-drive if=none" and pass the options to "-device" instead.
The "xlnx-ep108" machine has been replaced by the "xlnx-zcu102" machine.
The qemu-img "convert -s snapshot_id_or_name" argument has been removed. Use "convert -l snapshot_param" instead.
PPC support for explicitly allocated RMAs has been removed (kernel support removed in 2015).
The default for VFIO's "display" option has been changed from "auto" to "off", because "auto" requires an OpenGL-compatible configuration for vGPUs that require GL support.
The deprecated xlnx-ep108 machine was removed.
Some 32-bit guests on the "virt" machine may need "-machine highmem=off" if they are unable to support LPAE and are confused by the PCI ECAM now being above the 4GB mark in the address space

New deprecated options and features
The "arch" output member of the "query-cpus-fast" command is deprecated. Use the "target" output member instead.
Option "-virtioconsole" is deprecated, use "-device virtconsole" instead.
The non-functional "-clock" option will be removed soon.
The "pc-0.10" and "pc-0.11" machines are now deprecated. Use newer machine types instead.
Option "-enable-hax" is deprecated. Use "-accel hax" instead.
The "arch" memeber in the reply to query-cpus-fast is deprecated, use "target" instead.
The "file" driver for drives is no longer appropriate for character or host devices and will only accept regular files (S_IFREG). Use host_cdrom or host_device instead.
Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

Future incompatible changes
Three options are using different names on the command line and in configuration file. In particular:
The "acpi" configuration file section matches command-line option "acpitable";
The "boot-opts" configuration file section matches command-line option "boot";
The "smp-opts" configuration file section matches command-line option "smp".
-readconfig will standardize on the name for the command line option.
Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users.
For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning. The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
The read-only block drivers "bochs", "cloop" and "dmg" as well as "rbd" and "vvfat" in certain read-only configurations will no longer enable read-only mode automatically. It will be necessary to specify "read-only=on" explicitly on the command line and in QMP commands for the setup to keep working; the default "read-only=off" setting will result in an error.
On s390x, using KVM with a Linux host kernel version < 3.15 has been broken since QEMU version 2.10. This will not be fixed unless a need is communicated (otherwise the code will be removed in the near future, so that you need at least Linux kernel version 3.15 on the host to run KVM on System z)
2018-08-16 10:15:09 +00:00
adam
b99c4aa58f qemu: updated to 2.12.1
2.12.1:
Bug fix release.
2018-08-14 06:57:26 +00:00
adam
a31bce9748 extend PYTHON_VERSIONS_ for Python 3.7 2018-07-03 05:03:01 +00:00
adam
35aa3efc12 revbump for boost-libs update 2018-04-29 21:31:17 +00:00
adam
3292c61416 qemu: updated to 2.12.0
2.12.0:

Incompatible changes
The deprecated CLI options "-tdf", "-no-kvm-pit" and "-drive boot=on|off" have been removed (they only emitted a warning since QEMU 1.3.0).
The deprecated CLI option "-net channel" has been removed. You can use "-netdev user,guestfwd=..." instead.
The deprecated CLI option "-hdachs" has been removed. You can specify the disk geometry e.g. via -device ide-hd,cyls=c,heads=h,secs=s instead.
The deprecated way of configuring SCSI devices with "-drive if=scsi" on x86 has been removed. Use an appropriate SCSI controller together "-device scsi-hd" or "-device scsi-cd" and a corresponding "-blockdev" parameter instead.
The deprecated way of configuring a "host", "serial", "disk" or "net" USB device with "-usbdevice" has been removed. Use "-device usb-..." instead.
The deprecated HMP commands "usb_add" and "usb_del" have been removed. Use "device_add" and "device_del" as replacement instead.
The deprecated HMP commands "host_net_add" and "host_net_remove" have been removed. Use "netdev_add" and "netdev_remove" instead.
The deprecated way of dumping network traffic with "-net dump" has been removed. Use "-object filter-dump" instead.
The deprecated "spapr-pci-vfio-host-bridge" device has been removed (from qemu-system-ppc64). It is not needed for vfio since QEMU v2.6.0 anymore.
Deprecated options and features
qemu-system-ppcemb is deprecated. Use qemu-system-ppc instead.
The parameters "serial", "trans", "secs", "heads", "cyls" and "addr" of the "-drive" option are now deprecated. Use the corresponding options of "-device" instead.
The "-nodefconfig" option is now deprecated. Use "-no-user-config" instead.
The "-s390-squash-mcss" parameter for the s390-ccw-virtio machine is now deprecated. It has been made obsolete by allowing to put any device into any channel subsystem image (unrestricted cssids).
The parameter "handle" of the "-fsdev" and "-virtfs" options is now depecrated. Use "local" instead.
The qmp command "query-cpus" is now deprecated. Use the new "query-cpus-fast" qmp command instead, which does not interrupt all running vCPUs. (However, there is a known bug that in 2.12, the "query-cpus-fast" command reports bogus architecture information for all architectures except "x86" and "s390".)
While "-net" is not deprecated yet, you are encouraged to use the new option "-nic" instead of "-net", as it provides a simpler and better interface ("-nic user" replaces the old "-net nic -net user").
The "-no-frame" parameter is now deprecated and will be removed together with SDL 1.2 in a future release.
The "-balloon" parameter is deprecated, use "-device virtio-balloon" instead.
The "-rtc-td-hack", "-localtime" and "-startdate" parameters are deprecated. You can use the "-rtc" parameter instead.
The "handle" backend for 9pfs is deprecated.
Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

Future incompatible changes
Three options are using different names on the command line and in configuration file. In particular:
The "acpi" configuration file section matches command-line option "acpitable";
The "boot-opts" configuration file section matches command-line option "boot";
The "smp-opts" configuration file section matches command-line option "smp".
-readconfig will standardize on the name for the command line option.
Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users.
For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning. The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
The read-only block drivers "bochs", "cloop" and "dmg" as well as "rbd" and "vvfat" in certain read-only configurations will no longer enable read-only mode automatically. It will be necessary to specify "read-only=on" explicitly on the command line and in QMP commands for the setup to keep working; the default "read-only=off" setting will result in an error.
On s390x, using KVM with a Linux host kernel version < 3.15 has been broken since QEMU version 2.10. This will not be fixed unless a need is communicated (otherwise the code will be removed in the near future, so that you need at least Linux kernel version 3.15 on the host to run KVM on System z)
2018-04-25 07:56:05 +00:00