[PATCH, RFC 0/8] add xtensa port
Alexey Lapshin
alexey.lapshin@espressif.com
Thu May 11 06:03:23 GMT 2023
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
More information about the Newlib
mailing list