<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/linux-user/hppa, 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/hppa?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/linux-user/hppa?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-11-02T16:14:02+00:00</updated>
<entry>
<title>linux-user/hppa: Detect glibc ABORT_INSTRUCTION and EXCP_BREAK handler</title>
<updated>2022-11-02T16:14:02+00:00</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2022-10-27T06:58:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=dcd86148e23509fb2cedeb5ac38c20763b71141f'/>
<id>urn:sha1:dcd86148e23509fb2cedeb5ac38c20763b71141f</id>
<content type='text'>
The glibc on the hppa platform uses the "iitlbp %r0,(%sr0, %r0)"
assembler instruction as ABORT_INSTRUCTION.
If this (in userspace context) illegal assembler statement is found,
dump the registers and report the failure to userspace the same way as
the Linux kernel on physical hardware.

For other illegal instructions report TARGET_ILL_ILLOPC instead of
TARGET_ILL_ILLOPN as si_code.

Additionally add the missing EXCP_BREAK exception handler which occurs
when the "break x,y" assembler instruction is executed and report
EXCP_ASSIST traps.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;

Message-Id: &lt;Y1osHVsylkuZNUnY@p100&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<entry>
<title>linux-user/hppa: Fix setup_sigcontext()</title>
<updated>2022-09-27T11:19:05+00:00</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2022-09-24T11:45:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=2319a53758efd0a2a1b45d94d3a3b721730cbc00'/>
<id>urn:sha1:2319a53758efd0a2a1b45d94d3a3b721730cbc00</id>
<content type='text'>
We don't emulate a preemptive kernel on this level, and the hppa architecture
doesn't allow context switches on the gateway page. So we always have to return
to sc_iaoq[] and not to gr[31].
This fixes the remaining random segfaults which still occured.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Message-Id: &lt;20220924114501.21767-8-deller@gmx.de&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<entry>
<title>linux-user/hppa: Increase guest stack size to 80MB for hppa target</title>
<updated>2022-09-27T07:33:56+00:00</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2022-09-24T11:44:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0a3346b5938530178e20abea5219e80130cf0204'/>
<id>urn:sha1:0a3346b5938530178e20abea5219e80130cf0204</id>
<content type='text'>
The hppa target requires a much bigger stack than many other targets,
and the Linux kernel allocates 80 MB by default for it.

This patch increases the guest stack for hppa to 80MB, and prevents
that this default stack size gets reduced by a lower stack limit on the
host.

Since the stack grows upwards on hppa, the stack_limit value marks the
upper boundary of the stack. Fix the output of /proc/self/maps (in the
guest) to show the [stack] marker on the correct memory area.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Message-Id: &lt;20220924114501.21767-6-deller@gmx.de&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<entry>
<title>linux-user/hppa: Add signal trampoline for hppa target</title>
<updated>2022-09-27T07:33:19+00:00</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2022-09-24T11:44:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=47393189ce9e23b560865e361f4ab8fb93a904d0'/>
<id>urn:sha1:47393189ce9e23b560865e361f4ab8fb93a904d0</id>
<content type='text'>
In Linux kernel v5.18 the vDSO for signal trampoline was added.
This code mimiks the bare minimum of this vDSO and thus avoids that the
parisc emulation needs executable stacks.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Message-Id: &lt;20220924114501.21767-4-deller@gmx.de&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<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/hppa: Use EXCP_DUMP() to show enhanced debug info</title>
<updated>2022-09-27T07:29:33+00:00</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2022-09-18T19:45:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=12640b4fe96fe23dc344b03378dda1eea5b7a191'/>
<id>urn:sha1:12640b4fe96fe23dc344b03378dda1eea5b7a191</id>
<content type='text'>
Enhance the hppa linux-user cpu_loop() to show more debugging info
on hard errors.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Reviewed-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
Message-Id: &lt;20220918194555.83535-6-deller@gmx.de&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<entry>
<title>linux-user/hppa: Fix segfaults on page zero</title>
<updated>2022-07-25T08:42:11+00:00</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2022-07-18T16:40:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=bd4b7fd6ba98e2d660356f1f52edcec5c51b0991'/>
<id>urn:sha1:bd4b7fd6ba98e2d660356f1f52edcec5c51b0991</id>
<content type='text'>
This program:

    int main(void) { asm("bv %r0(%r0)"); return 0; }

produces on real hppa hardware the expected segfault:

    SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x3} ---
    killed by SIGSEGV +++
    Segmentation fault

But when run on linux-user you get instead internal qemu errors:

ERROR: linux-user/hppa/cpu_loop.c:172:cpu_loop: code should not be reached
Bail out! ERROR: linux-user/hppa/cpu_loop.c:172:cpu_loop: code should not be reached
ERROR: accel/tcg/cpu-exec.c:933:cpu_exec: assertion failed: (cpu == current_cpu)
Bail out! ERROR: accel/tcg/cpu-exec.c:933:cpu_exec: assertion failed: (cpu == current_cpu)

Fix it by adding the missing case for the EXCP_IMP trap in
cpu_loop() and raise a segfault.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-Id: &lt;YtWNC56seiV6VenA@p100&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<entry>
<title>linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h</title>
<updated>2022-02-01T07:01:38+00:00</updated>
<author>
<name>Serge Belyshev</name>
</author>
<published>2022-01-29T19:46:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=b13e49bc86961c6725b2ebddd53898fe1366f6dc'/>
<id>urn:sha1:b13e49bc86961c6725b2ebddd53898fe1366f6dc</id>
<content type='text'>
Signed-off-by: Serge Belyshev &lt;belyshev@depni.sinp.msu.ru&gt;
Message-Id: &lt;87ee4ql3yk.fsf_-_@depni.sinp.msu.ru&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<entry>
<title>linux-user/hppa: Set FPE_CONDTRAP for COND</title>
<updated>2022-01-11T17:40:43+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-01-07T21:32:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0edf34c93ed0cd35be3bb6c67f3044b10dcd29f3'/>
<id>urn:sha1:0edf34c93ed0cd35be3bb6c67f3044b10dcd29f3</id>
<content type='text'>
This si_code was changed in 75abf64287cab, for linux 4.17.

Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220107213243.212806-9-richard.henderson@linaro.org&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
<entry>
<title>linux-user/hppa: Use the proper si_code for PRIV_OPR, PRIV_REG, OVERFLOW</title>
<updated>2022-01-11T17:40:43+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-01-07T21:32:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=7337adeac0900a944ba789ad24b11c6a00099897'/>
<id>urn:sha1:7337adeac0900a944ba789ad24b11c6a00099897</id>
<content type='text'>
These si_codes have been properly set by the kernel since the beginning.

Reviewed-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220107213243.212806-7-richard.henderson@linaro.org&gt;
Signed-off-by: Laurent Vivier &lt;laurent@vivier.eu&gt;
</content>
</entry>
</feed>
