From: Laurent Vivier <laurent@vivier.eu>
To: "Jason Thorpe" <thorpej@me.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
"David 'Digit' Turner" <digit@android.com>
Subject: Re: Goldfish TTY enhancement
Date: Fri, 12 Jan 2024 15:26:10 +0100 [thread overview]
Message-ID: <50e2ebf1-da14-4724-96e3-2c01c12a73a3@vivier.eu> (raw)
In-Reply-To: <286AB63F-6453-42FF-9CF4-5C75C22C6559@me.com>
Hi Jason,
Le 11/01/2024 à 19:58, Jason Thorpe a écrit :
>
>> On Jan 10, 2024, at 8:01 AM, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>>
>> IIUC Goldfish virtual HW is maintained externally by Google
>> https://android.googlesource.com/platform/external/qemu/+/master/docs/GOLDFISH-VIRTUAL-HARDWARE.TXT
>>
>> I suppose the spec needs to be updated before the change can be
>> accepted in mainstream QEMU, but since I'm not sure I Cc'ed Alex,
>> David and Laurent.
>
> Hey Philippe,
>
> I have seen that document didn’t realize that it was the source of truth for the Goldfish devices in Qemu, as Qemu already has Goldfish devices that deviate in behavior from that document. In particular:
>
> 1. There is no distinction between “rtc” and “timer” in Qemu.
>
> 2. The Goldfish “pic” device does not behave as that document describes. In particular, the “NUMBER” register is described in that document as returning the lowest pending interrupt index or 0 for none (i.e. a number in the range 0..32). But Qemu returns a bitmask of pending interrupts when that register is read. And despite the name “DISABLE_ALL” that document claims that writing to it merely clears the pending interrupts without disabling them (which would be quite the trick with level-triggered interrupt sources) whereas in Qemu, it does both clear and disable.
>
> (I am not, in any way, advocating for a behavior change in Qemu, BTW… I just thought that referenced docuemnt was no longer relevant.)
In fact the source of truth is the kernel. The idea of using Goldfish in the virt m68k machine is to
only have to code the QEMU part and to use the kernel part as-is. And the kernel part has diverged
from the documentation...
Thanks,
Laurent
prev parent reply other threads:[~2024-01-12 14:27 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-10 15:24 Goldfish TTY enhancement Jason Thorpe
2024-01-10 16:01 ` Philippe Mathieu-Daudé
2024-01-11 18:58 ` Jason Thorpe
2024-01-12 14:26 ` Laurent Vivier [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50e2ebf1-da14-4724-96e3-2c01c12a73a3@vivier.eu \
--to=laurent@vivier.eu \
--cc=alex.bennee@linaro.org \
--cc=digit@android.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=thorpej@me.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).