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