summary refs log tree commit diff stats
path: root/gitlab/issues/target_riscv/host_missing/accel_missing/1343.toml
blob: 8687979ed155c319ed55155c8dbd9dc23b9cf2ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
id = 1343
title = "qemu-system-riscv64: It cannot initialize ramfb video adapter"
state = "closed"
created_at = "2022-11-28T12:54:15.566Z"
closed_at = "2025-03-25T20:03:29.030Z"
labels = ["kind::Feature Request", "target: riscv"]
url = "https://gitlab.com/qemu-project/qemu/-/issues/1343"
host-os = "Ubuntu 22.04.1"
host-arch = "x86_64"
qemu-version = "QEMU emulator version 6.2.0 (Debian 1:6.2+dfsg-2ubuntu6.5)"
guest-os = "Bare metal"
guest-arch = "riscv64"
description = """It looks like ramfb video adapter doesn't work in riscv64 architecture. But it works fine in aarch64 architecture."""
reproduce = """1. Launch the [attached kernel](/uploads/43282fa1bd6959472af4f99646b447b9/kernel) with command:
```
qemu-system-riscv64 -machine virt -kernel kernel -device ramfb -bios none -serial stdio
```
2. You will get the messages in console:
```
guest fw_cfg dma-interface enabled 
setup ramfb successfull
```
3. Video adapter will not initialize. QEMU window will continue display this message:
```
Guest has not initialized the display (yet).
```"""
additional = """There is a useful project for aarch64 architecture - https://github.com/luickk/qemu-ramfb-aarch64-driver. This is a Bare metal driver for ramfb adapter. It works fine. I adapted it for riscv64 architecture - https://github.com/CityAceE/qemu-ramfb-riscv64-driver. I've successfully went through all problems. Driver compiles now and launches. But unfortunately ramfb doesn't initialize. I parallel traced aarch64 and riscv64. They works equal until initialization. Aarch64 changes revolution just after qemu_cfg_write_entry call, but nothing happened after qemu_cfg_write_entry call in riscv64 emulation. I spent a lot of time trying to resolve this problem, but it looks like a problem in qemu-system-riscv64.

**UPDATE**

Tested with Windows builds of QEMU:

v 6.1 - The same situation as Ubuntu build 6.2.

v 7.1.92 - Stopped with message:
```
c:\\Program Files\\qemu\\qemu-system-riscv64.exe: -device ramfb: ramfb device requires fw_cfg with DMA
```

P.S. v 7.1.92 - qemu-system-aarch64.exe with [aarch64 kernel build](/uploads/0df1d440163913c25a1505032672e1c5/kernel) works fine.

**UPDATE2**

[QEMU emulator version 7.0.0 (v7.0.0-11902-g1d935f4a02-dirty)](https://qemu.weilnetz.de/w64/2022/qemu-w64-setup-20220419.exe) is the last Windows build which opens my riscv64 kernel without message about requirement of fw_cfg with DMA. Next build "QEMU emulator version 7.0.90 (v7.1.0-rc0-11915-g5f9b281b8a-dirty)" already has this issue."""