[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC v1 00/38] arm cleanup experiment for kvm-only build

From: Philippe Mathieu-Daudé
Subject: Re: [RFC v1 00/38] arm cleanup experiment for kvm-only build
Date: Mon, 22 Feb 2021 12:56:05 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0

On 2/22/21 9:43 AM, Claudio Fontana wrote:
> On 2/22/21 6:35 AM, Richard Henderson wrote:
>> On 2/21/21 1:24 AM, Claudio Fontana wrote:
>>>   target/arm: move psci.c into tcg/softmmu/
>> Terminology: the opposite of user-only is not "softmmu" but "system".
>> One glorious day in the far future user-only will, as an option, use softmmu.
>> It will fix all sorts of problems with alignment faults and host/guest 
>> virtual
>> address space mismatch.
>> r~
> Hi Richard,
> first thanks for all the useful pointers in the series.
> Regarding terminology, I think the mismatch is throughout the code right?
> So many of the existing "softmmu" files and directories should actually be 
> called "system",
> or "sysemu" to match include/sysemu right?

My understanding is there are currently 2 types of emulation:

- user mode (emulation of the kernel syscall API)

  -> Linux, BSD
  process is in unprivileged memory space, no access to I/O

- system mode (full machine emulated)

  - MMU implementation in software: softmmu

In that separation semihosting is borderline.

Also FYI I have a wip branch where I am prototyping a "supervisor
mode" emulation to run Cisco IOS images. These images run in
supervised mode with access to I/O space, but not access to protected
kernel space (where the firmware resides). Unlikely to hit upstream,
but fun experiment ;)

> To me these distinctions are a bit unclear.
> Maybe it would be good to have clear documentation about this in devel/ to 
> use as a reference and end-goal,
> and then we could do a pass of the whole code to fix the discrepancies in the 
> use of the terms?
> Thanks,
> Claudio

reply via email to

[Prev in Thread] Current Thread [Next in Thread]