[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/7] semihosting: Allow optional use of semihosting from user
From: |
Alex Bennée |
Subject: |
Re: [PATCH 1/7] semihosting: Allow optional use of semihosting from userspace |
Date: |
Tue, 16 Aug 2022 09:50:57 +0100 |
User-agent: |
mu4e 1.8.9; emacs 28.1.91 |
Peter Maydell <peter.maydell@linaro.org> writes:
> Currently our semihosting implementations generally prohibit use of
> semihosting calls in system emulation from the guest userspace. This
> is a very long standing behaviour justified originally "to provide
> some semblance of security" (since code with access to the
> semihosting ABI can do things like read and write arbitrary files on
> the host system). However, it is sometimes useful to be able to run
> trusted guest code which performs semihosting calls from guest
> userspace, notably for test code. Add a command line suboption to
> the existing semihosting-config option group so that you can
> explicitly opt in to semihosting from guest userspace with
> -semihosting-config userspace=on
>
> (There is no equivalent option for the user-mode emulator, because
> there by definition all code runs in userspace and has access to
> semihosting already.)
>
> This commit adds the infrastructure for the command line option and
> adds a bool 'is_user' parameter to the function
> semihosting_userspace_enabled() that target code can use to check
> whether it should be permitting the semihosting call for userspace.
> It mechanically makes all the callsites pass 'false', so they
> continue checking "is semihosting enabled in general". Subsequent
> commits will make each target that implements semihosting honour the
> userspace=on option by passing the correct value and removing
> whatever "don't do this for userspace" checking they were doing by
> hand.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Alex Bennée <alex.bennee@linaro.org>
--
Alex Bennée
- [PATCH 0/7] Allow semihosting from user mode, Peter Maydell, 2022/08/15
- [PATCH 1/7] semihosting: Allow optional use of semihosting from userspace, Peter Maydell, 2022/08/15
- [PATCH 3/7] target/m68k: Honour -semihosting-config userspace=on, Peter Maydell, 2022/08/15
- [PATCH 4/7] target/mips: Honour -semihosting-config userspace=on, Peter Maydell, 2022/08/15
- [PATCH 2/7] target/arm: Honour -semihosting-config userspace=on, Peter Maydell, 2022/08/15
- [PATCH 5/7] target/nios2: Honour -semihosting-config userspace=on, Peter Maydell, 2022/08/15
- [PATCH 6/7] target/xtensa: Honour -semihosting-config userspace=on, Peter Maydell, 2022/08/15