<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/include/hw/riscv, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/include/hw/riscv?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/include/hw/riscv?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-10-14T04:29:50+00:00</updated>
<entry>
<title>hw/riscv: virt: Enable booting S-mode firmware from pflash</title>
<updated>2022-10-14T04:29:50+00:00</updated>
<author>
<name>Sunil V L</name>
</author>
<published>2022-10-04T09:23:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a5b0249dfef6d39d345ed7c9620a04bdb1c2ffb0'/>
<id>urn:sha1:a5b0249dfef6d39d345ed7c9620a04bdb1c2ffb0</id>
<content type='text'>
To boot S-mode firmware payload like EDK2 from persistent
flash storage, qemu needs to pass the flash address as the
next_addr in fw_dynamic_info to the opensbi.

When both -kernel and -pflash options are provided in command line,
the kernel (and initrd if -initrd) will be copied to fw_cfg table.
The S-mode FW will load the kernel/initrd from fw_cfg table.

If only pflash is given but not -kernel, then it is the job of
of the S-mode firmware to locate and load the kernel.

In either case, update the kernel_entry with the flash address
so that the opensbi can jump to the entry point of the S-mode
firmware.

Signed-off-by: Sunil V L &lt;sunilvl@ventanamicro.com&gt;
Reviewed-by: Andrew Jones &lt;ajones@ventanamicro.com&gt;
Reviewed-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Message-Id: &lt;20221004092351.18209-4-sunilvl@ventanamicro.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>hw/riscv/sifive_e: Fix inheritance of SiFiveEState</title>
<updated>2022-09-26T21:04:38+00:00</updated>
<author>
<name>Bernhard Beschow</name>
</author>
<published>2022-09-22T07:52:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9dfa6c2aec299fda9946c327e889087365a715b5'/>
<id>urn:sha1:9dfa6c2aec299fda9946c327e889087365a715b5</id>
<content type='text'>
SiFiveEState inherits from SysBusDevice while it's TypeInfo claims it to
inherit from TYPE_MACHINE. This is an inconsistency which can cause
undefined behavior such as memory corruption.

Change SiFiveEState to inherit from MachineState since it is registered
as a machine.

Fixes: 0869490b1c ("riscv: sifive_e: Manually define the machine")

Signed-off-by: Bernhard Beschow &lt;shentey@gmail.com&gt;
Reviewed-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Message-Id: &lt;20220922075232.33653-1-shentey@gmail.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>hw/riscv: opentitan: Expose the resetvec as a SoC property</title>
<updated>2022-09-26T21:04:38+00:00</updated>
<author>
<name>Alistair Francis</name>
</author>
<published>2022-09-14T10:11:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a06fded82e9edc471dbbe4321f856040b996b54c'/>
<id>urn:sha1:a06fded82e9edc471dbbe4321f856040b996b54c</id>
<content type='text'>
On the OpenTitan hardware the resetvec is fixed at the start of ROM. In
QEMU we don't run the ROM code and instead just jump to the next stage.
This means we need to be a little more flexible about what the resetvec
is.

This patch allows us to set the resetvec from the command line with
something like this:
    -global driver=riscv.lowrisc.ibex.soc,property=resetvec,value=0x20000400

This way as the next stage changes we can update the resetvec.

Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Message-Id: &lt;20220914101108.82571-4-alistair.francis@wdc.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>hw/riscv: virt: fix the plic's address cells</title>
<updated>2022-09-07T07:18:33+00:00</updated>
<author>
<name>Conor Dooley</name>
</author>
<published>2022-08-10T18:46:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=95e401d3785a9be9ac4edc7a5a7f9147d917e610'/>
<id>urn:sha1:95e401d3785a9be9ac4edc7a5a7f9147d917e610</id>
<content type='text'>
When optional AIA PLIC support was added the to the virt machine, the
address cells property was removed leading the issues with dt-validate
on a dump from the virt machine:
/stuff/qemu/qemu.dtb: plic@c000000: '#address-cells' is a required property
        From schema: /stuff/linux/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
Add back the property to suppress the warning.

Reported-by: Rob Herring &lt;robh@kernel.org&gt;
Reviewed-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Signed-off-by: Conor Dooley &lt;conor.dooley@microchip.com&gt;
Message-id: 20220810184612.157317-3-mail@conchuod.ie
Link: https://lore.kernel.org/linux-riscv/20220803170552.GA2250266-robh@kernel.org/
Fixes: e6faee6585 ("hw/riscv: virt: Add optional AIA APLIC support to virt machine")
Signed-off-by: Conor Dooley &lt;conor.dooley@microchip.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>hw/riscv: microchip_pfsoc: fix kernel panics due to missing peripherals</title>
<updated>2022-09-07T07:18:33+00:00</updated>
<author>
<name>Conor Dooley</name>
</author>
<published>2022-08-13T13:51:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=25da6e311336b431d8cf1eaa8fe8688b7ee710ed'/>
<id>urn:sha1:25da6e311336b431d8cf1eaa8fe8688b7ee710ed</id>
<content type='text'>
Booting using "Direct Kernel Boot" for PolarFire SoC &amp; skipping u-boot
entirely is probably not advisable, but it does at least show signs of
life. Recent Linux kernel versions make use of peripherals that are
missing definitions in QEMU and lead to kernel panics. These issues
almost certain rear their head for other methods of booting, but I was
unable to figure out a suitable HSS version that is recent enough to
support these peripherals &amp; works with QEMU.

With these peripherals added, booting a kernel with the following hangs
hangs waiting for the system controller's hwrng, but the kernel no
longer panics. With the Linux driver for hwrng disabled, it boots to
console.

qemu-system-riscv64 -M microchip-icicle-kit \
	-m 2G -smp 5 \
	-kernel $(vmlinux_bin) \
	-dtb  $(dtb)\
	-initrd $(initramfs) \
	-display none -serial null \
	-serial stdio

More peripherals are added than strictly required to fix the panics in
the hopes of avoiding a replication of this problem in the future.
Some of the peripherals which are in the device tree for recent kernels
are implemented in the FPGA fabric. The eMMC/SD mux, which exists as
an unimplemented device is replaced by a wider entry. This updated
entry covers both the mux &amp; the remainder of the FPGA fabric connected
to the MSS using Fabric Interrconnect (FIC) 3.

Link: https://github.com/polarfire-soc/icicle-kit-reference-design#fabric-memory-map
Link: https://ww1.microchip.com/downloads/aemDocuments/documents/FPGA/ProductDocuments/SupportingCollateral/V1_4_Register_Map.zip
Signed-off-by: Conor Dooley &lt;conor.dooley@microchip.com&gt;
Reviewed-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Message-Id: &lt;20220813135127.2971754-1-mail@conchuod.ie&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>hw/riscv: opentitan: bump opentitan version</title>
<updated>2022-09-07T07:18:33+00:00</updated>
<author>
<name>Wilfred Mallawa</name>
</author>
<published>2022-08-12T00:52:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=bf8803c64d756128e4537e22fe86e3717a5274f1'/>
<id>urn:sha1:bf8803c64d756128e4537e22fe86e3717a5274f1</id>
<content type='text'>
The following patch updates opentitan to match the new configuration,
as per, lowRISC/opentitan@217a0168ba118503c166a9587819e3811eeb0c0c

Note: with this patch we now skip the usage of the opentitan
`boot_rom`. The Opentitan boot rom contains hw verification
for devies which we are currently not supporting in qemu. As of now,
the `boot_rom` has no major significance, however, would be good to
support in the future.

Tested by running utests from the latest tock [1]
(that supports this version of OT).

[1] https://github.com/tock/tock/pull/3056

Signed-off-by: Wilfred Mallawa &lt;wilfred.mallawa@wdc.com&gt;
Reviewed-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Message-Id: &lt;20220812005229.358850-1-wilfred.mallawa@opensource.wdc.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>hw/riscv: remove 'fdt' param from riscv_setup_rom_reset_vec()</title>
<updated>2022-09-07T07:18:33+00:00</updated>
<author>
<name>Daniel Henrique Barboza</name>
</author>
<published>2022-07-28T18:19:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=6934f15b225c9324eafa064d3520a698ed09f9df'/>
<id>urn:sha1:6934f15b225c9324eafa064d3520a698ed09f9df</id>
<content type='text'>
The 'fdt' param is not being used in riscv_setup_rom_reset_vec().
Simplify the API by removing it. While we're at it, remove the redundant
'return' statement at the end of function.

Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;
Cc: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Cc: Bin Meng &lt;bin.meng@windriver.com&gt;
Cc: Vijai Kumar K &lt;vijai@behindbytes.com&gt;
Signed-off-by: Daniel Henrique Barboza &lt;danielhb413@gmail.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Reviewed-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Message-Id: &lt;20220728181926.2123771-1-danielhb413@gmail.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>Clean up header guards that don't match their file name</title>
<updated>2022-05-11T14:49:06+00:00</updated>
<author>
<name>Markus Armbruster</name>
</author>
<published>2022-05-06T13:49:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=52581c718c5cd55595ca032a56f1e194c5716456'/>
<id>urn:sha1:52581c718c5cd55595ca032a56f1e194c5716456</id>
<content type='text'>
Header guard symbols should match their file name to make guard
collisions less likely.

Cleaned up with scripts/clean-header-guards.pl, followed by some
renaming of new guard symbols picked by the script to better ones.

Signed-off-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Message-Id: &lt;20220506134911.2856099-2-armbru@redhat.com&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
[Change to generated file ebpf/rss.bpf.skeleton.h backed out]
</content>
</entry>
<entry>
<title>hw/riscv: virt: Create a platform bus</title>
<updated>2022-04-29T00:48:31+00:00</updated>
<author>
<name>Alistair Francis</name>
</author>
<published>2022-04-27T23:41:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1832b7cb3f6450c2c98e5181c7688b8e753fe7fd'/>
<id>urn:sha1:1832b7cb3f6450c2c98e5181c7688b8e753fe7fd</id>
<content type='text'>
Create a platform bus to allow dynamic devices to be connected. This is
based on the ARM implementation.

Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Reviewed-by: Edgar E. Iglesias &lt;edgar.iglesias@amd.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Message-Id: &lt;20220427234146.1130752-4-alistair.francis@opensource.wdc.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
<entry>
<title>hw/riscv: virt: Add a machine done notifier</title>
<updated>2022-04-29T00:48:12+00:00</updated>
<author>
<name>Alistair Francis</name>
</author>
<published>2022-04-27T23:41:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1c20d3ff6004b600336c52cbef9f134fad3ccd94'/>
<id>urn:sha1:1c20d3ff6004b600336c52cbef9f134fad3ccd94</id>
<content type='text'>
Move the binary and device tree loading code to the machine done
notifier. This allows us to prepare for editing the device tree as part
of the notifier.

This is based on similar code in the ARM virt machine.

Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
Reviewed-by: Edgar E. Iglesias &lt;edgar.iglesias@amd.com&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Message-Id: &lt;20220427234146.1130752-2-alistair.francis@opensource.wdc.com&gt;
Signed-off-by: Alistair Francis &lt;alistair.francis@wdc.com&gt;
</content>
</entry>
</feed>
