<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/linux-user/nios2, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/linux-user/nios2?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/linux-user/nios2?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-09-27T07:30:09+00:00</updated>
<entry>
<title>linux-user: Provide MADV_* definitions</title>
<updated>2022-09-27T07:30:09+00:00</updated>
<author>
<name>Ilya Leoshkevich</name>
</author>
<published>2022-09-06T00:08:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9f22020b91ae235be2b27c47d11e842872ec5e85'/>
<id>urn:sha1:9f22020b91ae235be2b27c47d11e842872ec5e85</id>
<content type='text'>
Provide MADV_* definitions using target_mman.h header, similar to what
kernel does. Most architectures use the same values, with the exception
of alpha and hppa.

Signed-off-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220906000839.1672934-2-iii@linux.ibm.com&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<entry>
<title>linux-user/nios2: Handle various SIGILL exceptions</title>
<updated>2022-04-26T15:17:05+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-04-21T15:17:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3747727aad1841bd07b7c9588b6d9b32182b1121'/>
<id>urn:sha1:3747727aad1841bd07b7c9588b6d9b32182b1121</id>
<content type='text'>
We missed out on a couple of exception types that may
legitimately be raised by a userland program.

Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220421151735.31996-59-richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/nios2: Advance pc when raising exceptions</title>
<updated>2022-04-26T15:17:05+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-04-21T15:17:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=e84f1768449330a5b4c62a8aaa68f102ba6ec573'/>
<id>urn:sha1:e84f1768449330a5b4c62a8aaa68f102ba6ec573</id>
<content type='text'>
The exception return address for nios2 is the instruction
after the one that was executing at the time of the exception.

We have so far implemented this by advancing the pc during the
process of raising the exception.  It is perhaps a little less
confusing to do this advance in the translator (and helpers)
when raising the exception in the first place, so that we may
more closely match kernel sources.

Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-Id: &lt;20220421151735.31996-58-richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/nios2: Implement Misaligned destination exception</title>
<updated>2022-04-26T15:17:05+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-04-21T15:17:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=410c6aaa3b44d5bdd1af7c1a465be7d5df2dfbf0'/>
<id>urn:sha1:410c6aaa3b44d5bdd1af7c1a465be7d5df2dfbf0</id>
<content type='text'>
Indirect branches, plus eret and bret optionally raise
an exception when branching to a misaligned address.
The exception is required when an mmu is enabled, but
enable it always because the fallback behaviour is not
documented (though presumably it discards low bits).

For the purposes of the linux-user cpu loop, if EXCP_UNALIGN
(misaligned data) were to arrive, it would be treated the
same as EXCP_UNALIGND (misaligned destination).  See the
!defined(CONFIG_NIOS2_ALIGNMENT_TRAP) block in kernel/traps.c.

Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220421151735.31996-53-richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/nios2: Support division error exception</title>
<updated>2022-04-26T15:16:41+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-04-21T15:17:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=345b7a8757e89a8f70a1fa09c6d51310650ef8be'/>
<id>urn:sha1:345b7a8757e89a8f70a1fa09c6d51310650ef8be</id>
<content type='text'>
Division may (optionally) raise a division exception.
Since the linux kernel has been prepared for this for
some time, enable it by default.

Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220421151735.31996-42-richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>linux-user/nios2: Only initialize SP and PC in target_cpu_copy_regs</title>
<updated>2022-04-26T15:16:41+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-04-21T15:16:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=dd4c6ee227202481d93b5329c5bd5d44ecb5c033'/>
<id>urn:sha1:dd4c6ee227202481d93b5329c5bd5d44ecb5c033</id>
<content type='text'>
Drop the set of estatus in init_thread; it was clearly intended
to be setting the value of CR_STATUS for the application, but we
never actually performed that copy.  However, the proper value is
set in nios2_cpu_reset so we don't need to do anything here.

We only initialize SP and EA in init_thread, there's no value in
copying other uninitialized data into ENV.

Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220421151735.31996-21-richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/nios2: Split PC out of env-&gt;regs[]</title>
<updated>2022-04-26T15:16:41+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-04-21T15:16:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=17a406eec574e6e97fa7d5c70047026502a358cb'/>
<id>urn:sha1:17a406eec574e6e97fa7d5c70047026502a358cb</id>
<content type='text'>
It is cleaner to have a separate name for this variable.

Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220421151735.31996-17-richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>linux-user/nios2: Use force_sig_fault for EXCP_DEBUG</title>
<updated>2022-04-26T15:16:40+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-04-21T15:16:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3a0a43ec3c9c4c26f5a1a948e78311468e2930d6'/>
<id>urn:sha1:3a0a43ec3c9c4c26f5a1a948e78311468e2930d6</id>
<content type='text'>
Use the simpler signal interface, which forces us to supply
the missing PC value to si_addr.

Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-Id: &lt;20220421151735.31996-13-richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/nios2: Remove nios2_cpu_record_sigsegv</title>
<updated>2022-04-26T15:16:40+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-04-21T15:16:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=fb4de9d2357bc42048a3ed3fcd15d8036e4c94a7'/>
<id>urn:sha1:fb4de9d2357bc42048a3ed3fcd15d8036e4c94a7</id>
<content type='text'>
Since f5ef0e518d0, we have a real page mapped for kuser,
which means the special casing for SIGSEGV can go away.

Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-Id: &lt;20220421151735.31996-11-richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>linux-user/nios2: Use QEMU_ESIGRETURN from do_rt_sigreturn</title>
<updated>2022-04-26T15:16:40+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-04-21T15:16:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1b5fb4d252c4403cbb893be6e38a26a119d054ef'/>
<id>urn:sha1:1b5fb4d252c4403cbb893be6e38a26a119d054ef</id>
<content type='text'>
Drop the kernel-specific "pr2" code structure and use
the qemu-specific error return value.

Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220421151735.31996-8-richard.henderson@linaro.org&gt;
</content>
</entry>
</feed>
