<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/hw/intc, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/hw/intc?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/hw/intc?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-11-21T11:45:13+00:00</updated>
<entry>
<title>hw/intc: add implementation of GICD_IIDR to Arm GIC</title>
<updated>2022-11-21T11:45:13+00:00</updated>
<author>
<name>Alex Bennée</name>
</author>
<published>2022-11-21T11:45:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3d5af538a4fa8456a7e54b8115afe3d6358c1ce5'/>
<id>urn:sha1:3d5af538a4fa8456a7e54b8115afe3d6358c1ce5</id>
<content type='text'>
a66a24585f (hw/intc/arm_gic: Implement read of GICC_IIDR) implemented
this for the CPU interface register. The fact we don't implement it
shows up when running Xen with -d guest_error which is definitely
wrong because the guest is perfectly entitled to read it.

Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
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>hw/intc: clean-up access to GIC multi-byte registers</title>
<updated>2022-11-21T11:45:13+00:00</updated>
<author>
<name>Alex Bennée</name>
</author>
<published>2022-11-21T11:45:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=69e7e60d011846f066af97589660eef52898519a'/>
<id>urn:sha1:69e7e60d011846f066af97589660eef52898519a</id>
<content type='text'>
gic_dist_readb was returning a word value which just happened to work
as a result of the way we OR the data together. Lets fix it so only
the explicit byte is returned for each part of GICD_TYPER. I've
changed the return type to uint8_t although the overflow is only
detected with an explicit -Wconversion.

Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@linaro.org&gt;
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>hw/intc/arm_gicv3: fix prio masking on pmr write</title>
<updated>2022-11-14T15:10:58+00:00</updated>
<author>
<name>Jens Wiklander</name>
</author>
<published>2022-11-14T15:10:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=d9721f19cd05a382f4f5a7093c80d1c4a8a1aa82'/>
<id>urn:sha1:d9721f19cd05a382f4f5a7093c80d1c4a8a1aa82</id>
<content type='text'>
With commit 39f29e599355 ("hw/intc/arm_gicv3: Use correct number of
priority bits for the CPU") the number of priority bits was changed from
the maximum value 8 to typically 5. As a consequence a few of the lowest
bits in ICC_PMR_EL1 becomes RAZ/WI. However prior to this patch one of
these bits was still used since the supplied priority value is masked
before it's eventually right shifted with one bit. So the bit is not
lost as one might expect when the register is read again.

The Linux kernel depends on lowest valid bit to be reset to zero, see
commit 33625282adaa ("irqchip/gic-v3: Probe for SCR_EL3 being clear
before resetting AP0Rn") for details.

So fix this by masking the priority value after it may have been right
shifted by one bit.

Cc: qemu-stable@nongnu.org
Fixes: 39f29e599355 ("hw/intc/arm_gicv3: Use correct number of priority bits for the CPU")
Signed-off-by: Jens Wiklander &lt;jens.wiklander@linaro.org&gt;
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>hw/intc: Fix LoongArch extioi coreisr accessing</title>
<updated>2022-11-04T09:07:40+00:00</updated>
<author>
<name>Xiaojuan Yang</name>
</author>
<published>2022-10-21T01:53:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a649fffcc9589a88464474e9105798eb62023352'/>
<id>urn:sha1:a649fffcc9589a88464474e9105798eb62023352</id>
<content type='text'>
1. When cpu read or write extioi COREISR reg, it should access
the reg belonged to itself, so the cpu index of 's-&gt;coreisr'
is current cpu number. Using MemTxAttrs' requester_id to get
the cpu index.
2. it need not to mask 0x1f when calculate the coreisr array index.

Signed-off-by: Xiaojuan Yang &lt;yangxiaojuan@loongson.cn&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20221021015307.2570844-3-yangxiaojuan@loongson.cn&gt;
Signed-off-by: Song Gao &lt;gaosong@loongson.cn&gt;
</content>
</entry>
<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/ppc/mac.h: Rename to include/hw/nvram/mac_nvram.h</title>
<updated>2022-10-31T18:48:23+00:00</updated>
<author>
<name>BALATON Zoltan</name>
</author>
<published>2022-10-28T11:56:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=443f07b73d139e6944bc6af472b6e9df790b6e38'/>
<id>urn:sha1:443f07b73d139e6944bc6af472b6e9df790b6e38</id>
<content type='text'>
All that is left in mac.h now belongs to the nvram emulation so rename
it accordingly and only include it where it is really used.

Signed-off-by: BALATON Zoltan &lt;balaton@eik.bme.hu&gt;
Reviewed-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
Message-Id: &lt;b82449369f718c0e207fe8c332fab550fa0230c0.1666957578.git.balaton@eik.bme.hu&gt;
Signed-off-by: Mark Cave-Ayland &lt;mark.cave-ayland@ilande.co.uk&gt;
</content>
</entry>
<entry>
<title>hw/intc: Fix LoongArch ipi device emulation</title>
<updated>2022-10-17T02:28:35+00:00</updated>
<author>
<name>Xiaojuan Yang</name>
</author>
<published>2022-09-30T09:51:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=5ef4a4af8b41fb175374726f379a2aea79929023'/>
<id>urn:sha1:5ef4a4af8b41fb175374726f379a2aea79929023</id>
<content type='text'>
In ipi_send function, it should not to set irq before
writing data to dest cpu iocsr space, as the irq will
trigger after data writing.
When call this function 'address_space_stl()', it will
trigger loongarch_ipi_writel(), the addr arg is 0x1008
('CORE_SET_OFF'), and qemu_irq_raise will be called in
this case.

Signed-off-by: Xiaojuan Yang &lt;yangxiaojuan@loongson.cn&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20220930095139.867115-3-yangxiaojuan@loongson.cn&gt;
Signed-off-by: Song Gao &lt;gaosong@loongson.cn&gt;
</content>
</entry>
<entry>
<title>hw/intc: sifive_plic: change interrupt priority register to WARL field</title>
<updated>2022-10-14T04:29:50+00:00</updated>
<author>
<name>Jim Shu</name>
</author>
<published>2022-10-03T04:14:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1aae4a12dab4bf1adc249c2ac6178d15e4b5a77d'/>
<id>urn:sha1:1aae4a12dab4bf1adc249c2ac6178d15e4b5a77d</id>
<content type='text'>
PLIC spec [1] requires interrupt source priority registers are WARL
field and the number of supported priority is power-of-2 to simplify SW
discovery.

Existing QEMU RISC-V machine (e.g. shakti_c) don't strictly follow PLIC
spec, whose number of supported priority is not power-of-2. Just change
each bit of interrupt priority register to WARL field when the number of
supported priority is power-of-2.

[1] https://github.com/riscv/riscv-plic-spec/blob/master/riscv-plic.adoc#interrupt-priorities

Signed-off-by: Jim Shu &lt;jim.shu@sifive.com&gt;
Reviewed-by: Clément Chigot &lt;chigot@adacore.com&gt;
Acked-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Message-Id: &lt;20221003041440.2320-3-jim.shu@sifive.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>hw/intc: sifive_plic: fix hard-coded max priority level</title>
<updated>2022-10-14T04:29:50+00:00</updated>
<author>
<name>Jim Shu</name>
</author>
<published>2022-10-03T04:14:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=55144a1fd0d1f37b49ea051291decbbe427b7714'/>
<id>urn:sha1:55144a1fd0d1f37b49ea051291decbbe427b7714</id>
<content type='text'>
The maximum priority level is hard-coded when writing to interrupt
priority register. However, when writing to priority threshold register,
the maximum priority level is from num_priorities Property which is
configured by platform.

Also change interrupt priority register to use num_priorities Property
in maximum priority level.

Signed-off-by: Emmanuel Blot &lt;emmanuel.blot@sifive.com&gt;
Signed-off-by: Jim Shu &lt;jim.shu@sifive.com&gt;
Reviewed-by: Frank Chang &lt;frank.chang@sifive.com&gt;
Acked-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Message-Id: &lt;20221003041440.2320-2-jim.shu@sifive.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>hw/intc/xics: Avoid dynamic stack allocation</title>
<updated>2022-09-22T15:38:28+00:00</updated>
<author>
<name>Philippe Mathieu-Daudé</name>
</author>
<published>2022-08-19T15:39:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=7650c8fe520c67c3b36f6962c4ad990f56ad40b8'/>
<id>urn:sha1:7650c8fe520c67c3b36f6962c4ad990f56ad40b8</id>
<content type='text'>
Use autofree heap allocation instead of variable-length
array on the stack.

Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Acked-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Reviewed-by: Greg Kurz &lt;groug@kaod.org&gt;
Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Message-id: 20220819153931.3147384-8-peter.maydell@linaro.org
</content>
</entry>
</feed>
