public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
* [PATCH, RFC 0/8] add xtensa port
@ 2023-05-11  6:03 Alexey Lapshin
  2023-05-11  6:05 ` [PATCH, RFC 1/8] newlib: add system headers from include/$(sys_dir)/*/*.h Alexey Lapshin
                   ` (9 more replies)
  0 siblings, 10 replies; 47+ messages in thread
From: Alexey Lapshin @ 2023-05-11  6:03 UTC (permalink / raw)
  To: newlib; +Cc: Alexey Gerenkov, jcmvbkbc, Ivan Grokhotkov

Here is a reworked commit from Max Filippov:
https://github.com/espressif/newlib-esp32/commit/3fc2b645bb708421962e68366aa8efbdce93d7e3

Max, I dropped some documentation changes, please review and tell if
you are ok with this.
And I dropped all changes for libm from your original commit because
they aren't used. Except disabling __ieee754_sqrtf implementation from
being compiled into libm (because it exists in libgcc). But I just gave
this function __attribute__((weak))

Also, added libgloss implementation for xtensa (for chips
esp32/esp32s3)

Please consider to apply.

Alexey Lapshin (6):
  newlib: add system headers from include/$(sys_dir)/*/*.h
  libc: sys: add xtensa port
  libm: add xtensa port
  libc: add xtensa port
  libm: add attribute weak for __ieee754_sqrtf
  libgloss: libnosys: add xtensa port
  libgloss: add xtensa port

Jeroen Domburg (1):
  libc: fix xtensa PSRAM cache bug

 libgloss/configure                            |    5 +
 libgloss/configure.in                         |    3 +
 libgloss/libnosys/configure                   |    2 +
 libgloss/libnosys/configure.in                |    2 +
 libgloss/xtensa/Makefile                      |  321 ++
 libgloss/xtensa/Makefile.in                   |  317 ++
 libgloss/xtensa/app.elf.ld                    |  190 +
 libgloss/xtensa/board.elf.specs               |    5 +
 libgloss/xtensa/boards/esp32/board.c          |   20 +
 .../xtensa/boards/esp32/include/soc/cpu.h     |   11 +
 .../xtensa/boards/esp32/include/soc/uart.h    |   19 +
 libgloss/xtensa/boards/esp32/memory.elf.ld    |   26 +
 libgloss/xtensa/boards/esp32s3/board.c        |   20 +
 .../xtensa/boards/esp32s3/include/soc/cpu.h   |   11 +
 .../xtensa/boards/esp32s3/include/soc/uart.h  |   19 +
 libgloss/xtensa/boards/esp32s3/memory.elf.ld  |   26 +
 libgloss/xtensa/configure                     | 3753 +++++++++++++
 libgloss/xtensa/configure.in                  |   45 +
 libgloss/xtensa/crt0.S                        |   31 +
 libgloss/xtensa/crt1-boards.S                 |  226 +
 libgloss/xtensa/crt1-sim.S                    |  204 +
 libgloss/xtensa/default.specs                 |    2 +
 libgloss/xtensa/include/register_access.h     |    7 +
 libgloss/xtensa/include/syscalls.h            |   59 +
 libgloss/xtensa/include/xtensa/corebits.h     |  186 +
 libgloss/xtensa/main.c                        |   10 +
 libgloss/xtensa/nano.specs                    |   18 +
 libgloss/xtensa/sim-call.S                    |    8 +
 libgloss/xtensa/sim-vectors.S                 |  163 +
 libgloss/xtensa/sim.elf.specs                 |    5 +
 libgloss/xtensa/sleep.S                       |   64 +
 libgloss/xtensa/sys.openocd.specs             |    8 +
 libgloss/xtensa/sys.qemu.specs                |    8 +
 libgloss/xtensa/syscalls.c                    |  226 +
 libgloss/xtensa/window-vectors.S              |  252 +
 newlib/Makefile.am                            |   21 +
 newlib/Makefile.in                            |   21 +
 newlib/configure.host                         |   11 +
 newlib/libc/include/machine/ieeefp.h          |    4 +
 newlib/libc/include/machine/setjmp.h          |   29 +
 newlib/libc/machine/configure                 |    3 +
 newlib/libc/machine/xtensa/Makefile.am        |   21 +
 newlib/libc/machine/xtensa/Makefile.in        |  456 ++
 newlib/libc/machine/xtensa/aclocal.m4         |  992 ++++
 newlib/libc/machine/xtensa/configure          | 4994 +++++++++++++++++
 newlib/libc/machine/xtensa/configure.in       |   14 +
 newlib/libc/machine/xtensa/memcpy.S           |  343 ++
 newlib/libc/machine/xtensa/memset.S           |  193 +
 newlib/libc/machine/xtensa/setjmp.S           |  260 +
 newlib/libc/machine/xtensa/strcmp.S           |  778 +++
 newlib/libc/machine/xtensa/strcpy.S           |  274 +
 newlib/libc/machine/xtensa/strlen.S           |  115 +
 newlib/libc/machine/xtensa/strncpy.S          |  274 +
 newlib/libc/machine/xtensa/xtensa-asm.h       |   72 +
 newlib/libc/machine/xtensa/xtensa.tex         |   72 +
 newlib/libc/sys/configure                     |    3 +
 newlib/libc/sys/xtensa/Makefile.am            |   14 +
 newlib/libc/sys/xtensa/Makefile.in            |  388 ++
 newlib/libc/sys/xtensa/_atexit.c              |   53 +
 newlib/libc/sys/xtensa/aclocal.m4             |  880 +++
 newlib/libc/sys/xtensa/clibrary_init.c        |   42 +
 newlib/libc/sys/xtensa/configure              | 4623 +++++++++++++++
 newlib/libc/sys/xtensa/configure.in           |   14 +
 newlib/libc/sys/xtensa/creat.c                |    9 +
 newlib/libc/sys/xtensa/crt0.c                 |   16 +
 newlib/libc/sys/xtensa/include/fenv.h         |   88 +
 newlib/libc/sys/xtensa/include/unistd.h       |   13 +
 .../xtensa/include/xtensa/config/core-isa.h   |  655 +++
 newlib/libc/sys/xtensa/isatty.c               |   18 +
 newlib/libc/sys/xtensa/sys/file.h             |   33 +
 newlib/libm/machine/configure                 |    3 +
 newlib/libm/machine/xtensa/Makefile.am        |   21 +
 newlib/libm/machine/xtensa/Makefile.in        |  467 ++
 newlib/libm/machine/xtensa/aclocal.m4         |  880 +++
 newlib/libm/machine/xtensa/configure          | 4623 +++++++++++++++
 newlib/libm/machine/xtensa/configure.in       |   14 +
 newlib/libm/machine/xtensa/feclearexcept.c    |   49 +
 newlib/libm/machine/xtensa/fegetenv.c         |   56 +
 newlib/libm/machine/xtensa/fegetexcept.c      |   67 +
 newlib/libm/machine/xtensa/fegetexceptflag.c  |   64 +
 newlib/libm/machine/xtensa/fegetround.c       |   50 +
 newlib/libm/machine/xtensa/feholdexcept.c     |   55 +
 newlib/libm/machine/xtensa/feraiseexcept.c    |   50 +
 newlib/libm/machine/xtensa/fetestexcept.c     |   41 +
 newlib/libm/machine/xtensa/feupdateenv.c      |   45 +
 newlib/libm/math/ef_sqrt.c                    |    1 +
 87 files changed, 28556 insertions(+), 2 deletions(-)
 create mode 100644 libgloss/xtensa/Makefile
 create mode 100644 libgloss/xtensa/Makefile.in
 create mode 100644 libgloss/xtensa/app.elf.ld
 create mode 100644 libgloss/xtensa/board.elf.specs
 create mode 100644 libgloss/xtensa/boards/esp32/board.c
 create mode 100644 libgloss/xtensa/boards/esp32/include/soc/cpu.h
 create mode 100644 libgloss/xtensa/boards/esp32/include/soc/uart.h
 create mode 100644 libgloss/xtensa/boards/esp32/memory.elf.ld
 create mode 100644 libgloss/xtensa/boards/esp32s3/board.c
 create mode 100644 libgloss/xtensa/boards/esp32s3/include/soc/cpu.h
 create mode 100644 libgloss/xtensa/boards/esp32s3/include/soc/uart.h
 create mode 100644 libgloss/xtensa/boards/esp32s3/memory.elf.ld
 create mode 100755 libgloss/xtensa/configure
 create mode 100644 libgloss/xtensa/configure.in
 create mode 100644 libgloss/xtensa/crt0.S
 create mode 100644 libgloss/xtensa/crt1-boards.S
 create mode 100644 libgloss/xtensa/crt1-sim.S
 create mode 100644 libgloss/xtensa/default.specs
 create mode 100644 libgloss/xtensa/include/register_access.h
 create mode 100644 libgloss/xtensa/include/syscalls.h
 create mode 100644 libgloss/xtensa/include/xtensa/corebits.h
 create mode 100644 libgloss/xtensa/main.c
 create mode 100644 libgloss/xtensa/nano.specs
 create mode 100644 libgloss/xtensa/sim-call.S
 create mode 100644 libgloss/xtensa/sim-vectors.S
 create mode 100644 libgloss/xtensa/sim.elf.specs
 create mode 100644 libgloss/xtensa/sleep.S
 create mode 100644 libgloss/xtensa/sys.openocd.specs
 create mode 100644 libgloss/xtensa/sys.qemu.specs
 create mode 100644 libgloss/xtensa/syscalls.c
 create mode 100644 libgloss/xtensa/window-vectors.S
 create mode 100644 newlib/libc/machine/xtensa/Makefile.am
 create mode 100644 newlib/libc/machine/xtensa/Makefile.in
 create mode 100644 newlib/libc/machine/xtensa/aclocal.m4
 create mode 100755 newlib/libc/machine/xtensa/configure
 create mode 100644 newlib/libc/machine/xtensa/configure.in
 create mode 100644 newlib/libc/machine/xtensa/memcpy.S
 create mode 100644 newlib/libc/machine/xtensa/memset.S
 create mode 100644 newlib/libc/machine/xtensa/setjmp.S
 create mode 100644 newlib/libc/machine/xtensa/strcmp.S
 create mode 100644 newlib/libc/machine/xtensa/strcpy.S
 create mode 100644 newlib/libc/machine/xtensa/strlen.S
 create mode 100644 newlib/libc/machine/xtensa/strncpy.S
 create mode 100644 newlib/libc/machine/xtensa/xtensa-asm.h
 create mode 100644 newlib/libc/machine/xtensa/xtensa.tex
 create mode 100644 newlib/libc/sys/xtensa/Makefile.am
 create mode 100644 newlib/libc/sys/xtensa/Makefile.in
 create mode 100644 newlib/libc/sys/xtensa/_atexit.c
 create mode 100644 newlib/libc/sys/xtensa/aclocal.m4
 create mode 100644 newlib/libc/sys/xtensa/clibrary_init.c
 create mode 100755 newlib/libc/sys/xtensa/configure
 create mode 100644 newlib/libc/sys/xtensa/configure.in
 create mode 100644 newlib/libc/sys/xtensa/creat.c
 create mode 100644 newlib/libc/sys/xtensa/crt0.c
 create mode 100644 newlib/libc/sys/xtensa/include/fenv.h
 create mode 100644 newlib/libc/sys/xtensa/include/unistd.h
 create mode 100644 newlib/libc/sys/xtensa/include/xtensa/config/core-
isa.h
 create mode 100644 newlib/libc/sys/xtensa/isatty.c
 create mode 100644 newlib/libc/sys/xtensa/sys/file.h
 create mode 100644 newlib/libm/machine/xtensa/Makefile.am
 create mode 100644 newlib/libm/machine/xtensa/Makefile.in
 create mode 100644 newlib/libm/machine/xtensa/aclocal.m4
 create mode 100755 newlib/libm/machine/xtensa/configure
 create mode 100644 newlib/libm/machine/xtensa/configure.in
 create mode 100644 newlib/libm/machine/xtensa/feclearexcept.c
 create mode 100644 newlib/libm/machine/xtensa/fegetenv.c
 create mode 100644 newlib/libm/machine/xtensa/fegetexcept.c
 create mode 100644 newlib/libm/machine/xtensa/fegetexceptflag.c
 create mode 100644 newlib/libm/machine/xtensa/fegetround.c
 create mode 100644 newlib/libm/machine/xtensa/feholdexcept.c
 create mode 100644 newlib/libm/machine/xtensa/feraiseexcept.c
 create mode 100644 newlib/libm/machine/xtensa/fetestexcept.c
 create mode 100644 newlib/libm/machine/xtensa/feupdateenv.c

-- 
2.34.1

^ permalink raw reply	[flat|nested] 47+ messages in thread