<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/target/openrisc, 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/openrisc?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/target/openrisc?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-10-31T21:31:41+00:00</updated>
<entry>
<title>accel/tcg: Remove will_exit argument from cpu_restore_state</title>
<updated>2022-10-31T21:31:41+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-10-24T13:09:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3d419a4dd227f174447e0b3978028a1cd52ccc5e'/>
<id>urn:sha1:3d419a4dd227f174447e0b3978028a1cd52ccc5e</id>
<content type='text'>
The value passed is always true, and if the target's
synchronize_from_tb hook is non-trivial, not exiting
may be erroneous.

Reviewed-by: Claudio Fontana &lt;cfontana@suse.de&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/openrisc: Use cpu_unwind_state_data for mfspr</title>
<updated>2022-10-31T21:31:41+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-10-24T12:55:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=cc30dc441b44ad15f4adfb13d9a68cba6fa39a23'/>
<id>urn:sha1:cc30dc441b44ad15f4adfb13d9a68cba6fa39a23</id>
<content type='text'>
Since we do not plan to exit, use cpu_unwind_state_data
and extract exactly the data requested.

This is a bug fix, in that we no longer clobber dflag.

Consider:

        l.j       L2         // branch
        l.mfspr   r1, ppc    // delay

L1:     boom
L2:     l.lwa     r3, (r4)

Here, dflag would be set by cpu_restore_state (because that is the current
state of the cpu), but but not cleared by tb_stop on exiting the TB
(because DisasContext has recorded the current value as zero).

The next TB begins at L2 with dflag incorrectly set.  If the load has a
tlb miss, then the exception will be delivered as per a delay slot:
with DSX set in the status register and PC decremented (delay slots
restart by re-executing the branch). This will cause the return from
interrupt to go to L1, and boom!

Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/openrisc: Always exit after mtspr npc</title>
<updated>2022-10-31T21:31:41+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-10-24T12:54:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5813c5c74a755fd0c1b10be38c6fdf5c54c468e4'/>
<id>urn:sha1:5813c5c74a755fd0c1b10be38c6fdf5c54c468e4</id>
<content type='text'>
We have called cpu_restore_state asserting will_exit.
Do not go back on that promise.  This affects icount.

Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/openrisc: Convert to tcg_ops restore_state_to_opc</title>
<updated>2022-10-26T01:11:28+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-10-24T10:40:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3eb2c184bf900e17c1f8f0a09fba26e7c954cca0'/>
<id>urn:sha1:3eb2c184bf900e17c1f8f0a09fba26e7c954cca0</id>
<content type='text'>
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>accel/tcg: Introduce tb_pc and log_pc</title>
<updated>2022-10-04T19:13:12+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-08-15T20:16:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=fbf59aad178d98afe193fa872a2d880266a75269'/>
<id>urn:sha1:fbf59aad178d98afe193fa872a2d880266a75269</id>
<content type='text'>
The availability of tb-&gt;pc will shortly be conditional.
Introduce accessor functions to minimize ifdefs.

Pass around a known pc to places like tcg_gen_code,
where the caller must already have the value.

Reviewed-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>hw/core: Add CPUClass.get_pc</title>
<updated>2022-10-04T19:13:12+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-09-30T17:31:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=e4fdf9df5b1c2aa427de796bea973520027ddd15'/>
<id>urn:sha1:e4fdf9df5b1c2aa427de796bea973520027ddd15</id>
<content type='text'>
Populate this new method for all targets.  Always match
the result that would be given by cpu_get_tb_cpu_state,
as we will want these values to correspond in the logs.

Reviewed-by: Taylor Simpson &lt;tsimpson@quicinc.com&gt;
Reviewed-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Reviewed-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt; (target/sparc)
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
---
Cc: Eduardo Habkost &lt;eduardo@habkost.net&gt; (supporter:Machine core)
Cc: Marcel Apfelbaum &lt;marcel.apfelbaum@gmail.com&gt; (supporter:Machine core)
Cc: "Philippe Mathieu-Daudé" &lt;f4bug@amsat.org&gt; (reviewer:Machine core)
Cc: Yanan Wang &lt;wangyanan55@huawei.com&gt; (reviewer:Machine core)
Cc: Michael Rolnik &lt;mrolnik@gmail.com&gt; (maintainer:AVR TCG CPUs)
Cc: "Edgar E. Iglesias" &lt;edgar.iglesias@gmail.com&gt; (maintainer:CRIS TCG CPUs)
Cc: Taylor Simpson &lt;tsimpson@quicinc.com&gt; (supporter:Hexagon TCG CPUs)
Cc: Song Gao &lt;gaosong@loongson.cn&gt; (maintainer:LoongArch TCG CPUs)
Cc: Xiaojuan Yang &lt;yangxiaojuan@loongson.cn&gt; (maintainer:LoongArch TCG CPUs)
Cc: Laurent Vivier &lt;laurent@vivier.eu&gt; (maintainer:M68K TCG CPUs)
Cc: Jiaxun Yang &lt;jiaxun.yang@flygoat.com&gt; (reviewer:MIPS TCG CPUs)
Cc: Aleksandar Rikalo &lt;aleksandar.rikalo@syrmia.com&gt; (reviewer:MIPS TCG CPUs)
Cc: Chris Wulff &lt;crwulff@gmail.com&gt; (maintainer:NiosII TCG CPUs)
Cc: Marek Vasut &lt;marex@denx.de&gt; (maintainer:NiosII TCG CPUs)
Cc: Stafford Horne &lt;shorne@gmail.com&gt; (odd fixer:OpenRISC TCG CPUs)
Cc: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt; (reviewer:RENESAS RX CPUs)
Cc: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt; (maintainer:SPARC TCG CPUs)
Cc: Bastian Koppelmann &lt;kbastian@mail.uni-paderborn.de&gt; (maintainer:TriCore TCG CPUs)
Cc: Max Filippov &lt;jcmvbkbc@gmail.com&gt; (maintainer:Xtensa TCG CPUs)
Cc: qemu-arm@nongnu.org (open list:ARM TCG CPUs)
Cc: qemu-ppc@nongnu.org (open list:PowerPC TCG CPUs)
Cc: qemu-riscv@nongnu.org (open list:RISC-V TCG CPUs)
Cc: qemu-s390x@nongnu.org (open list:S390 TCG CPUs)
</content>
</entry>
<entry>
<title>accel/tcg: Add pc and host_pc params to gen_intermediate_code</title>
<updated>2022-09-06T07:04:26+00:00</updated>
<author>
<name>Richard Henderson</name>
</author>
<published>2022-08-11T20:48:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=306c872103b4d0986c9f671eb7538b0b70bf69b5'/>
<id>urn:sha1:306c872103b4d0986c9f671eb7538b0b70bf69b5</id>
<content type='text'>
Pass these along to translator_loop -- pc may be used instead
of tb-&gt;pc, and host_pc is currently unused.  Adjust all targets
at one time.

Acked-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Acked-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
Tested-by: Ilya Leoshkevich &lt;iii@linux.ibm.com&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>target/openrisc: Interrupt handling fixes</title>
<updated>2022-09-04T06:02:57+00:00</updated>
<author>
<name>Stafford Horne</name>
</author>
<published>2022-06-23T20:44:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=66564c31e4e012c65c84d403c2dc14c0a754047f'/>
<id>urn:sha1:66564c31e4e012c65c84d403c2dc14c0a754047f</id>
<content type='text'>
When running SMP systems we sometimes were seeing lockups where
IPI interrupts were being raised by never handled.

This looks to be caused by 2 issues in the openrisc interrupt handling
logic.

 1. After clearing an interrupt the openrisc_cpu_set_irq handler will
    always clear PICSR.  This is not correct as masked interrupts
    should still be visible in PICSR.
 2. After setting PICMR (mask register) and exposed interrupts should
    cause an interrupt to be raised.  This was not being done so add it.

This patch fixes both issues.

Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
</content>
</entry>
<entry>
<title>target/openrisc: Enable MTTCG</title>
<updated>2022-09-04T06:02:57+00:00</updated>
<author>
<name>Stafford Horne</name>
</author>
<published>2022-06-14T23:43:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=6a0fc96ad2b16a264ead6b696bdb91a963450dbb'/>
<id>urn:sha1:6a0fc96ad2b16a264ead6b696bdb91a963450dbb</id>
<content type='text'>
This patch enables multithread TCG for OpenRISC.  Since the or1k shared
syncrhonized timer can be updated from each vCPU via helpers we use a
mutex to synchronize updates.

Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
</content>
</entry>
<entry>
<title>target/openrisc: Add interrupted CPU to log</title>
<updated>2022-09-04T06:02:57+00:00</updated>
<author>
<name>Stafford Horne</name>
</author>
<published>2022-06-14T23:42:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=bbe6855ef80f61c6b00da22aa0cd550d79d8e381'/>
<id>urn:sha1:bbe6855ef80f61c6b00da22aa0cd550d79d8e381</id>
<content type='text'>
When we are tracing it's helpful to know which CPU's are getting
interrupted, add that detail to the log line.

Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Signed-off-by: Stafford Horne &lt;shorne@gmail.com&gt;
</content>
</entry>
</feed>
