<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/hw/intc/trace-events, branch master</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/hw/intc/trace-events?h=master</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/hw/intc/trace-events?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-11-04T09:07:37+00:00</updated>
<entry>
<title>hw/intc: Convert the memops to with_attrs in LoongArch extioi</title>
<updated>2022-11-04T09:07:37+00:00</updated>
<author>
<name>Xiaojuan Yang</name>
</author>
<published>2022-10-21T01:53:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3fc8f74b51858353356968b3d04a5cccdc547caa'/>
<id>urn:sha1:3fc8f74b51858353356968b3d04a5cccdc547caa</id>
<content type='text'>
Converting the MemoryRegionOps read/write handlers to
with_attrs in LoongArch extioi emulation.

Signed-off-by: Xiaojuan Yang &lt;yangxiaojuan@loongson.cn&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20221021015307.2570844-2-yangxiaojuan@loongson.cn&gt;
Signed-off-by: Song Gao &lt;gaosong@loongson.cn&gt;
</content>
</entry>
<entry>
<title>hw/intc: Add LoongArch extioi interrupt controller(EIOINTC)</title>
<updated>2022-06-06T18:12:30+00:00</updated>
<author>
<name>Xiaojuan Yang</name>
</author>
<published>2022-06-06T12:43:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=cbff2db1e92f8759db0f0716a41a3e11b18f2eee'/>
<id>urn:sha1:cbff2db1e92f8759db0f0716a41a3e11b18f2eee</id>
<content type='text'>
This patch realize the EIOINTC interrupt controller.

Signed-off-by: Xiaojuan Yang &lt;yangxiaojuan@loongson.cn&gt;
Signed-off-by: Song Gao &lt;gaosong@loongson.cn&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220606124333.2060567-35-yangxiaojuan@loongson.cn&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>hw/intc: Add LoongArch ls7a msi interrupt controller support(PCH-MSI)</title>
<updated>2022-06-06T18:12:28+00:00</updated>
<author>
<name>Xiaojuan Yang</name>
</author>
<published>2022-06-06T12:43:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=249ad85a4b4ba6e949bba3c5b9932c389e07249c'/>
<id>urn:sha1:249ad85a4b4ba6e949bba3c5b9932c389e07249c</id>
<content type='text'>
This patch realize PCH-MSI interrupt controller.

Signed-off-by: Xiaojuan Yang &lt;yangxiaojuan@loongson.cn&gt;
Signed-off-by: Song Gao &lt;gaosong@loongson.cn&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220606124333.2060567-34-yangxiaojuan@loongson.cn&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>hw/intc: Add LoongArch ls7a interrupt controller support(PCH-PIC)</title>
<updated>2022-06-06T18:11:55+00:00</updated>
<author>
<name>Xiaojuan Yang</name>
</author>
<published>2022-06-06T12:43:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=0f4fcf1845fe188901d4ff4cc807bd78690dddd0'/>
<id>urn:sha1:0f4fcf1845fe188901d4ff4cc807bd78690dddd0</id>
<content type='text'>
This patch realize the PCH-PIC interrupt controller.

Signed-off-by: Xiaojuan Yang &lt;yangxiaojuan@loongson.cn&gt;
Signed-off-by: Song Gao &lt;gaosong@loongson.cn&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220606124333.2060567-33-yangxiaojuan@loongson.cn&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>hw/loongarch: Add LoongArch ipi interrupt support(IPI)</title>
<updated>2022-06-06T18:10:46+00:00</updated>
<author>
<name>Xiaojuan Yang</name>
</author>
<published>2022-06-06T12:43:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=f6783e34380955e9ec0656c7b9fb8936b9733a6a'/>
<id>urn:sha1:f6783e34380955e9ec0656c7b9fb8936b9733a6a</id>
<content type='text'>
This patch realize the IPI interrupt controller.

Signed-off-by: Xiaojuan Yang &lt;yangxiaojuan@loongson.cn&gt;
Signed-off-by: Song Gao &lt;gaosong@loongson.cn&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220606124333.2060567-32-yangxiaojuan@loongson.cn&gt;
Signed-off-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
</content>
</entry>
<entry>
<title>hw/intc/arm_gicv3_cpuif: Support vLPIs</title>
<updated>2022-04-22T13:44:52+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2022-04-08T14:15:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=c3f21b065a41c14b6a18a38e417379ac75b9fc0e'/>
<id>urn:sha1:c3f21b065a41c14b6a18a38e417379ac75b9fc0e</id>
<content type='text'>
The CPU interface changes to support vLPIs are fairly minor:
in the parts of the code that currently look at the list registers
to determine the highest priority pending virtual interrupt, we
must also look at the highest priority pending vLPI. To do this
we change hppvi_index() to check the vLPI and return a special-case
value if that is the right virtual interrupt to take. The callsites
(which handle HPPIR and IAR registers and the "raise vIRQ and vFIQ
lines" code) then have to handle this special-case value.

This commit includes two interfaces with the as-yet-unwritten
redistributor code:
 * the new GICv3CPUState::hppvlpi will be set by the redistributor
   (in the same way as the existing hpplpi does for physical LPIs)
 * when the CPU interface acknowledges a vLPI it needs to set it
   to non-pending; the new gicv3_redist_vlpi_pending() function
   (which matches the existing gicv3_redist_lpi_pending() used
   for physical LPIs) is a stub that will be filled in later

Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-id: 20220408141550.1271295-26-peter.maydell@linaro.org
</content>
</entry>
<entry>
<title>hw/intc/arm_gicv3_cpuif: Split "update vIRQ/vFIQ" from gicv3_cpuif_virt_update()</title>
<updated>2022-04-22T13:44:52+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2022-04-08T14:15:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=10337638bbaffa03f280a83ed23940aedc2de9ce'/>
<id>urn:sha1:10337638bbaffa03f280a83ed23940aedc2de9ce</id>
<content type='text'>
The function gicv3_cpuif_virt_update() currently sets all of vIRQ,
vFIQ and the maintenance interrupt.  This implies that it has to be
used quite carefully -- as the comment notes, setting the maintenance
interrupt will typically cause the GIC code to be re-entered
recursively.  For handling vLPIs, we need the redistributor to be
able to tell the cpuif to update the vIRQ and vFIQ lines when the
highest priority pending vLPI changes.  Since that change can't cause
the maintenance interrupt state to change, we can pull the "update
vIRQ/vFIQ" parts of gicv3_cpuif_virt_update() out into a separate
function, which the redistributor can then call without having to
worry about the reentrancy issue.

Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-id: 20220408141550.1271295-25-peter.maydell@linaro.org
</content>
</entry>
<entry>
<title>hw/intc/arm_gicv3_its: Implement VINVALL</title>
<updated>2022-04-22T13:44:52+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2022-04-08T14:15:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=c6dd2f9950cb59f7a02d57dcefef4d982efc6c7e'/>
<id>urn:sha1:c6dd2f9950cb59f7a02d57dcefef4d982efc6c7e</id>
<content type='text'>
The VINVALL command should cause any cached information in the
ITS or redistributor for the specified vCPU to be dropped or
otherwise made consistent with the in-memory LPI configuration
tables.

Here we implement the command and table parsing, leaving the
redistributor part as a stub for the moment, as usual.

Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-id: 20220408141550.1271295-22-peter.maydell@linaro.org
</content>
</entry>
<entry>
<title>hw/intc/arm_gicv3_its: Implement VMOVI</title>
<updated>2022-04-22T13:44:52+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2022-04-08T14:15:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3c64a42c0b3e3ca92ef1b9a9243bcee8b9a87c59'/>
<id>urn:sha1:3c64a42c0b3e3ca92ef1b9a9243bcee8b9a87c59</id>
<content type='text'>
Implement the GICv4 VMOVI command, which moves the pending state
of a virtual interrupt from one redistributor to another. As with
MOVI, we handle the "parse and validate command arguments and
table lookups" part in the ITS source file, and pass the final
results to a function in the redistributor which will do the
actual operation. As with the "make a VLPI pending" change,
for the moment we leave that redistributor function as a stub,
to be implemented in a later commit.

Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-id: 20220408141550.1271295-21-peter.maydell@linaro.org
</content>
</entry>
<entry>
<title>hw/intc/arm_gicv3_its: Implement INV command properly</title>
<updated>2022-04-22T13:44:52+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2022-04-08T14:15:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a686e85d2b4a3b95d97d01dfa3fd4607f1216cf0'/>
<id>urn:sha1:a686e85d2b4a3b95d97d01dfa3fd4607f1216cf0</id>
<content type='text'>
We were previously implementing INV (like INVALL) to just blow away
cached highest-priority-pending-LPI information on all connected
redistributors.  For GICv4.0, this isn't going to be sufficient,
because the LPI we are invalidating cached information for might be
either physical or virtual, and the required action is different for
those two cases.  So we need to do the full process of looking up the
ITE from the devid and eventid.  This also means we can do the error
checks that the spec lists for this command.

Split out INV handling into a process_inv() function like our other
command-processing functions.  For the moment, stick to handling only
physical LPIs; we will add the vLPI parts later.

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