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