<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/target/arm/hvf, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/target/arm/hvf?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/target/arm/hvf?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-06-08T18:38:47+00:00</updated>
<entry>
<title>Fix 'writeable' typos</title>
<updated>2022-06-08T18:38:47+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2022-06-08T18:38:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9323e79f10e5f5d8fffc3b307776173ca11faeae'/>
<id>urn:sha1:9323e79f10e5f5d8fffc3b307776173ca11faeae</id>
<content type='text'>
We have about 30 instances of the typo/variant spelling 'writeable',
and over 500 of the more common 'writable'.  Standardize on the
latter.

Change produced with:

  sed -i -e 's/\([Ww][Rr][Ii][Tt]\)[Ee]\([Aa][Bb][Ll][Ee]\)/\1\2/g' $(git grep -il writeable)

and then hand-undoing the instance in linux-headers/linux/kvm.h.

Most of these changes are in comments or documentation; the
exceptions are:
 * a local variable in accel/hvf/hvf-accel-ops.c
 * a local variable in accel/kvm/kvm-all.c
 * the PMCR_WRITABLE_MASK macro in target/arm/internals.h
 * the EPT_VIOLATION_GPA_WRITABLE macro in target/i386/hvf/vmcs.h
   (which is never used anywhere)
 * the AR_TYPE_WRITABLE_MASK macro in target/i386/hvf/vmx.h
   (which is never used anywhere)

Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Reviewed-by: Stefan Weil &lt;sw@weilnetz.de&gt;
Message-id: 20220505095015.2714666-1-peter.maydell@linaro.org
</content>
</entry>
<entry>
<title>target/arm/hvf: Include missing "cpregs.h"</title>
<updated>2022-05-30T09:35:54+00:00</updated>
<author>
<name>Philippe Mathieu-Daudé</name>
</author>
<published>2022-05-25T16:19:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=b5fb359cb5b9bf5d85932b869a707550a4e18ad1'/>
<id>urn:sha1:b5fb359cb5b9bf5d85932b869a707550a4e18ad1</id>
<content type='text'>
Fix when building HVF on macOS Aarch64:

  target/arm/hvf/hvf.c:586:15: error: unknown type name 'ARMCPRegInfo'; did you mean 'ARMCPUInfo'?
          const ARMCPRegInfo *ri;
                ^~~~~~~~~~~~
                ARMCPUInfo
  target/arm/cpu-qom.h:38:3: note: 'ARMCPUInfo' declared here
  } ARMCPUInfo;
    ^
  target/arm/hvf/hvf.c:589:14: error: implicit declaration of function 'get_arm_cp_reginfo' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
          ri = get_arm_cp_reginfo(arm_cpu-&gt;cp_regs, key);
               ^
  target/arm/hvf/hvf.c:589:12: warning: incompatible integer to pointer conversion assigning to 'const ARMCPUInfo *' (aka 'const struct ARMCPUInfo *') from 'int' [-Wint-conversion]
          ri = get_arm_cp_reginfo(arm_cpu-&gt;cp_regs, key);
             ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  target/arm/hvf/hvf.c:591:26: error: no member named 'type' in 'struct ARMCPUInfo'
              assert(!(ri-&gt;type &amp; ARM_CP_NO_RAW));
                       ~~  ^
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
      (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
                          ^
  target/arm/hvf/hvf.c:591:33: error: use of undeclared identifier 'ARM_CP_NO_RAW'
              assert(!(ri-&gt;type &amp; ARM_CP_NO_RAW));
                                  ^
  1 warning and 4 errors generated.

Fixes: cf7c6d1004 ("target/arm: Split out cpregs.h")
Reported-by: Duncan Bayne &lt;duncan@bayne.id.au&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-id: 20220525161926.34233-1-philmd@fungible.com
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1029
Signed-off-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/arm: Avoid bare abort() or assert(0)</title>
<updated>2022-05-05T08:35:51+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-05-01T05:49:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=d385a60571487d9409f247d07aac94d1ee40f9fe'/>
<id>urn:sha1:d385a60571487d9409f247d07aac94d1ee40f9fe</id>
<content type='text'>
Standardize on g_assert_not_reached() for "should not happen".
Retain abort() when preceeded by fprintf or error_report.

Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-id: 20220501055028.646596-7-richard.henderson@linaro.org
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/arm: Change CPUArchState.aarch64 to bool</title>
<updated>2022-04-22T13:44:54+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-04-17T17:43:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=532215524068611e3714e8704e2ab36d7da9ebba'/>
<id>urn:sha1:532215524068611e3714e8704e2ab36d7da9ebba</id>
<content type='text'>
Bool is a more appropriate type for this value.
Adjust the assignments to use true/false.

Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Reviewed-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
<entry>
<title>Remove qemu-common.h include from most units</title>
<updated>2022-04-06T12:31:55+00:00</updated>
<author>
<name>Marc-André Lureau</name>
</author>
<published>2022-03-23T15:57:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0f9668e0c197ab6de95f61a906703a1d127c11f8'/>
<id>urn:sha1:0f9668e0c197ab6de95f61a906703a1d127c11f8</id>
<content type='text'>
Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Message-Id: &lt;20220323155743.1585078-33-marcandre.lureau@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>target/arm: Support PSCI 1.1 and SMCCC 1.0</title>
<updated>2022-03-02T19:27:36+00:00</updated>
<author>
<name>Akihiko Odaki</name>
</author>
<published>2022-02-13T03:57:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0dc71c701cd68c0c0508360944367faebc394196'/>
<id>urn:sha1:0dc71c701cd68c0c0508360944367faebc394196</id>
<content type='text'>
Support the latest PSCI on TCG and HVF. A 64-bit function called from
AArch32 now returns NOT_SUPPORTED, which is necessary to adhere to SMC
Calling Convention 1.0. It is still not compliant with SMCCC 1.3 since
they do not implement mandatory functions.

Signed-off-by: Akihiko Odaki &lt;akihiko.odaki@gmail.com&gt;
Message-id: 20220213035753.34577-1-akihiko.odaki@gmail.com
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
[PMM: update MISMATCH_CHECK checks on PSCI_VERSION macros to match]
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
<entry>
<title>hvf: arm: Handle unknown ID registers as RES0</title>
<updated>2022-02-21T13:30:19+00:00</updated>
<author>
<name>Alexander Graf</name>
</author>
<published>2022-02-09T12:41:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=7f6c295cdfeaa229c360cac9a36e4e595aa902ae'/>
<id>urn:sha1:7f6c295cdfeaa229c360cac9a36e4e595aa902ae</id>
<content type='text'>
Recent Linux versions added support to read ID_AA64ISAR2_EL1. On M1,
those reads trap into QEMU which handles them as faults.

However, AArch64 ID registers should always read as RES0. Let's
handle them accordingly.

This fixes booting Linux 5.17 guests.

Cc: qemu-stable@nongnu.org
Reported-by: Ivan Babrou &lt;ivan@cloudflare.com&gt;
Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;
Message-id: 20220209124135.69183-2-agraf@csgraf.de
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
<entry>
<title>hvf: arm: Use macros for sysreg shift/masking</title>
<updated>2022-02-21T13:30:19+00:00</updated>
<author>
<name>Alexander Graf</name>
</author>
<published>2022-02-09T12:41:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=ad99f64f1cfff7c5e7af0e697523d9b7e45423b6'/>
<id>urn:sha1:ad99f64f1cfff7c5e7af0e697523d9b7e45423b6</id>
<content type='text'>
We are parsing the syndrome field for sysregs in multiple places across
the hvf code, but repeat shift/mask operations with hard coded constants
every time. This is an error prone approach and makes it harder to reason
about the correctness of these operations.

Let's introduce macros that allow us to unify the constants used as well
as create new helpers to extract fields from the sysreg value.

Suggested-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;
Reviewed-by: Cameron Esfahani &lt;dirty@apple.com &lt;mailto:dirty@apple.com&gt;&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Message-id: 20220209124135.69183-1-agraf@csgraf.de
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
<entry>
<title>hvf: arm: Ignore cache operations on MMIO</title>
<updated>2021-11-02T18:18:33+00:00</updated>
<author>
<name>Alexander Graf</name>
</author>
<published>2021-10-26T07:12:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5fd6a3e23669444026f84f466a7ed402c203a84e'/>
<id>urn:sha1:5fd6a3e23669444026f84f466a7ed402c203a84e</id>
<content type='text'>
Apple's Hypervisor.Framework forwards cache operations as MMIO traps
into user space. For MMIO however, these have no meaning: There is no
cache attached to them.

So let's just treat cache data exits as nops.

This fixes OpenBSD booting as guest.

Reported-by: AJ Barris &lt;AwlsomeAlex@github.com&gt;
Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Reviewed-by: Mark Kettenis &lt;kettenis@openbsd.org&gt;
Reference: https://github.com/utmapp/UTM/issues/3197
Message-Id: &lt;20211026071241.74889-1-agraf@csgraf.de&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>hvf: arm: Add rudimentary PMC support</title>
<updated>2021-09-21T15:28:27+00:00</updated>
<author>
<name>Alexander Graf</name>
</author>
<published>2021-09-16T15:54:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=dd43ac07ef6bf2dbdfd2179f7fff95aa442c0ba1'/>
<id>urn:sha1:dd43ac07ef6bf2dbdfd2179f7fff95aa442c0ba1</id>
<content type='text'>
We can expose cycle counters on the PMU easily. To be as compatible as
possible, let's do so, but make sure we don't expose any other architectural
counters that we can not model yet.

This allows OSs to work that require PMU support.

Signed-off-by: Alexander Graf &lt;agraf@csgraf.de&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-id: 20210916155404.86958-10-agraf@csgraf.de
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
</content>
</entry>
</feed>
