Re: [PATCH v2 00/20] prepare for porting OP-TEE communication support

Sascha Hauer
2023-11-23T14:52:40Z

On Wed, Nov 22, 2023 at 06:29:31PM +0100, Ahmad Fatoum wrote:
> So far, barebox support for OP-TEE was restricted to loading it either
> early in PBL or via bootm and to not step over it when allocating
> memory. This was guarded behind CONFIG_HAVE_OPTEE.
>
> To prepare porting the Linux driver behind CONFIG_OPTEE, which
> brings actual bidirectional communication with OP-TEE to barebox,
> let's import some of the headers and APIs used by the v6.6 Linux
> driver.
>
> v1 -> v2:
> See individual change log in every patch.
>
> Ahmad Fatoum (20):
> include: provide linux/errno.h
> include: add linux/refcount.h
> bitops: split off linux/bits.h
> include: import <linux/instruction_pointer.h>
> asm-generic: split off typeconfused readl and friends
> asm-generic: migrate relaxed helpers into asm-generic/io.h
> include: add linux/io.h with strict prototypes
> include: import Linux word-at-a-time.h
> string: implement strscpy
> of: add CONFIG_OF for Linux compatibility
> include: asm-generic/atomic.h: define atomic_cmpxchg
> kbuild: build barebox for -std=gnu11
> include: linux/idr.h: implement more Linux API
> test: self: add simple IDR test
> include: implement dev_warn_once and friends
> include: add blocking notifier aliases
> include: add Linux ktime API
> of: constify string pointed to by struct of_device_id::compatible
> of: define of_devices_ensure_probed_by_compatible
> include: add linux/device.h wrapper around driver.h

Applied, thanks

Sascha

>
> Makefile | 4 +-
> arch/arm/include/asm/word-at-a-time.h | 59 +++++
> arch/kvx/include/asm/word-at-a-time.h | 2 +
> arch/mips/include/asm/word-at-a-time.h | 2 +
> arch/openrisc/include/asm/word-at-a-time.h | 2 +
> arch/powerpc/include/asm/word-at-a-time.h | 156 +++++++++++
> arch/powerpc/lib/misc.S | 2 +-
> arch/powerpc/lib/ppcstring.S | 2 +-
> arch/riscv/include/asm/word-at-a-time.h | 48 ++++
> arch/sandbox/include/asm/word-at-a-time.h | 2 +
> arch/x86/include/asm/word-at-a-time.h | 73 ++++++
> common/optee.c | 2 +-
> drivers/firmware/Kconfig | 1 +
> drivers/firmware/arm_scmi/driver.c | 4 +-
> drivers/of/Kconfig | 4 +
> include/asm-generic/atomic.h | 2 +
> include/asm-generic/cmpxchg-local.h | 64 +++++
> include/asm-generic/cmpxchg.h | 26 ++
> include/asm-generic/errno.h | 11 -
> include/asm-generic/io-typeconfused.h | 75 ++++++
> include/asm-generic/io.h | 284 +++++++++++++++++----
> include/asm-generic/word-at-a-time.h | 121 +++++++++
> include/bbu.h | 2 +-
> include/errno.h | 2 +-
> include/io.h | 34 ---
> include/linux/atomic.h | 63 +++++
> include/linux/bitops.h | 21 +-
> include/linux/bits.h | 30 +++
> include/linux/device.h | 66 +++++
> include/linux/err.h | 2 +-
> include/linux/errno.h | 36 +++
> include/linux/idr.h | 61 ++---
> include/linux/instruction_pointer.h | 11 +
> include/linux/io.h | 9 +
> include/linux/kernel.h | 11 +-
> include/linux/kref.h | 90 +++++++
> include/linux/ktime.h | 212 +++++++++++++++
> include/linux/notifier.h | 16 ++
> include/linux/printk.h | 29 ++-
> include/linux/pstore.h | 2 +-
> include/linux/refcount.h | 271 ++++++++++++++++++++
> include/linux/string.h | 3 +
> include/mach/at91/iomux.h | 2 +-
> include/notifier.h | 3 +
> include/of.h | 12 +-
> include/tee/optee.h | 2 +-
> lib/Kconfig | 3 +
> lib/Makefile | 2 +
> lib/idr.c | 100 ++++++++
> lib/reed_solomon/reed_solomon.c | 2 +-
> lib/refcount.c | 34 +++
> lib/string.c | 71 ++++++
> test/self/Kconfig | 5 +
> test/self/Makefile | 1 +
> test/self/idr.c | 119 +++++++++
> 55 files changed, 2103 insertions(+), 170 deletions(-)
> create mode 100644 arch/arm/include/asm/word-at-a-time.h
> create mode 100644 arch/kvx/include/asm/word-at-a-time.h
> create mode 100644 arch/mips/include/asm/word-at-a-time.h
> create mode 100644 arch/openrisc/include/asm/word-at-a-time.h
> create mode 100644 arch/powerpc/include/asm/word-at-a-time.h
> create mode 100644 arch/riscv/include/asm/word-at-a-time.h
> create mode 100644 arch/sandbox/include/asm/word-at-a-time.h
> create mode 100644 arch/x86/include/asm/word-at-a-time.h
> create mode 100644 include/asm-generic/cmpxchg-local.h
> create mode 100644 include/asm-generic/cmpxchg.h
> create mode 100644 include/asm-generic/io-typeconfused.h
> create mode 100644 include/asm-generic/word-at-a-time.h
> create mode 100644 include/linux/bits.h
> create mode 100644 include/linux/device.h
> create mode 100644 include/linux/errno.h
> create mode 100644 include/linux/instruction_pointer.h
> create mode 100644 include/linux/io.h
> create mode 100644 include/linux/kref.h
> create mode 100644 include/linux/ktime.h
> create mode 100644 include/linux/notifier.h
> create mode 100644 include/linux/refcount.h
> create mode 100644 lib/idr.c
> create mode 100644 lib/refcount.c
> create mode 100644 test/self/idr.c
>
> --
> 2.39.2
>
>
>

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |