head	1.2;
access;
symbols
	pkgsrc-2020Q4:1.1.0.10
	pkgsrc-2020Q4-base:1.1
	pkgsrc-2020Q3:1.1.0.8
	pkgsrc-2020Q3-base:1.1
	pkgsrc-2020Q2:1.1.0.6
	pkgsrc-2020Q2-base:1.1
	pkgsrc-2020Q1:1.1.0.2
	pkgsrc-2020Q1-base:1.1
	pkgsrc-2019Q4:1.1.0.4
	pkgsrc-2019Q4-base:1.1;
locks; strict;
comment	@# @;


1.2
date	2021.02.20.22.59.29;	author ryoon;	state dead;
branches;
next	1.1;
commitid	pvG3PIr8gVPOfvIC;

1.1
date	2019.12.11.16.44.22;	author jperkin;	state Exp;
branches;
next	;
commitid	548lZKvhA3z1ejOB;


desc
@@


1.2
log
@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)
@
text
@$NetBSD: patch-capstone_Makefile,v 1.1 2019/12/11 16:44:22 jperkin Exp $

Support greps that do not support -m.

--- capstone/Makefile.orig	2019-08-15 19:04:33.000000000 +0000
+++ capstone/Makefile
@@@@ -254,8 +254,8 @@@@ PKGCFGDIR ?= $(LIBDATADIR)/pkgconfig
 API_MAJOR=$(shell echo `grep -e CS_API_MAJOR include/capstone.h | grep -v = | awk '{print $$3}'` | awk '{print $$1}')
 VERSION_EXT =
 
-IS_APPLE := $(shell $(CC) -dM -E - < /dev/null | grep -cm 1 -e __apple_build_version__ -e __APPLE_CC__)
-ifeq ($(IS_APPLE),1)
+IS_APPLE := $(shell $(CC) -dM -E - < /dev/null | grep -c -e __apple_build_version__ -e __APPLE_CC__)
+ifneq ($(IS_APPLE),0)
 # on MacOS, compile in Universal format by default
 MACOS_UNIVERSAL ?= yes
 ifeq ($(MACOS_UNIVERSAL),yes)
@


1.1
log
@qemu: Various SunOS fixes.
@
text
@d1 1
a1 1
$NetBSD$
@

