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

Sascha Hauer sha at pengutronix.de
Thu Nov 23 06:50:52 PST 2023


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 |



More information about the barebox mailing list