public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
From: Alexey Lapshin <alexey.lapshin@espressif.com>
To: "newlib@sourceware.org" <newlib@sourceware.org>
Cc: Alexey Gerenkov <alexey.gerenkov@espressif.com>,
	"jcmvbkbc@gmail.com" <jcmvbkbc@gmail.com>,
	Ivan Grokhotkov <ivan@espressif.com>
Subject: [PATCH, RFC 0/8] add xtensa port
Date: Thu, 11 May 2023 06:03:23 +0000	[thread overview]
Message-ID: <1cb9e9f8c8e4e1df52b439184333d628b3532f65.camel@espressif.com> (raw)

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

             reply	other threads:[~2023-05-11  6:03 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-11  6:03 Alexey Lapshin [this message]
2023-05-11  6:05 ` [PATCH, RFC 1/8] newlib: add system headers from include/$(sys_dir)/*/*.h Alexey Lapshin
2023-05-11  6:12 ` [PATCH, RFC 2/8] libc: sys: add xtensa port Alexey Lapshin
2023-05-11  6:18 ` [PATCH, RFC 3/8] libm: " Alexey Lapshin
2023-05-11  6:20 ` [PATCH, RFC 4/8] libc: " Alexey Lapshin
2023-05-11  6:21 ` [PATCH, RFC 5/8] libm: add attribute weak for __ieee754_sqrtf Alexey Lapshin
2023-05-11  6:22 ` [PATCH, RFC 6/8] libgloss: libnosys: add xtensa port Alexey Lapshin
2023-05-11  6:23 ` [PATCH, RFC 7/8] libgloss: " Alexey Lapshin
2023-05-11  6:25 ` [PATCH, RFC 8/8] libc: fix xtensa PSRAM cache bug Alexey Lapshin
2023-05-12  9:18 ` [PATCH, RFC 0/8] add xtensa port Max Filippov
2023-05-15 13:45   ` [PATCH, RFC v2 " Alexey Lapshin
2023-05-15 13:47     ` [PATCH, RFC v2 1/8] newlib: add system headers from include/$(sys_dir)/*/*.h Alexey Lapshin
2023-05-15 13:48     ` [PATCH, RFC v2 2/8] libc: sys: add xtensa port Alexey Lapshin
2023-05-15 13:49     ` [PATCH, RFC v2 3/8] libm: " Alexey Lapshin
2023-05-15 13:50     ` [PATCH, RFC v2 4/8] libc: " Alexey Lapshin
2023-05-15 13:51     ` [PATCH, RFC v2 5/8] libm: add attribute weak for __ieee754_sqrtf Alexey Lapshin
2023-05-15 13:53     ` [PATCH, RFC v2 6/8] libgloss: libnosys: add xtensa port Alexey Lapshin
2023-05-15 13:54     ` [PATCH, RFC v2 7/8] libgloss: " Alexey Lapshin
2023-05-15 13:55     ` [PATCH, RFC v2 8/8] libc: xtensa: fix PSRAM cache bug Alexey Lapshin
2023-05-30 19:58     ` [PATCH, RFC v2 0/8] add xtensa port Jeff Johnston
2023-05-31  7:53       ` Alexey Lapshin
2023-08-09 20:00     ` [PATCH, RFC v3 0/3] " Alexey Lapshin
2023-08-09 20:02       ` [PATCH, RFC v3 1/3] libc: fix nested sys-include dirs install Alexey Lapshin
2023-08-09 20:03       ` [PATCH, RFC v3 2/3] newlib: add Xtensa port Alexey Lapshin
2023-08-09 20:04       ` [PATCH, RFC v3 3/3] libgloss: " Alexey Lapshin
2023-08-10 18:20       ` [PATCH, RFC v3 0/3] add xtensa port Jeff Johnston
2023-08-10 19:50         ` Alexey Lapshin
2023-08-10 22:12           ` Jeff Johnston
2023-08-10 22:15             ` Alexey Lapshin
2023-08-10 22:18               ` Jeff Johnston
2023-08-15  7:20                 ` Alexey Lapshin
2023-08-15 14:48                   ` Jeff Johnston
2023-08-15 15:07                     ` Alexey Lapshin
2023-08-15 17:53                       ` Jeff Johnston
2023-08-15 19:20                         ` Alexey Lapshin
2023-08-15 22:09                           ` Jeff Johnston
2023-08-16  7:46                             ` Alexey Lapshin
2023-08-16 18:55                               ` Jeff Johnston
2023-08-17 20:38                                 ` Alexey Lapshin
2023-08-17 22:25                                   ` Jeff Johnston
2023-08-18 10:13                                     ` Alexey Lapshin
2023-08-23 20:57                                       ` Jeff Johnston
2023-08-23 21:28                                         ` Alexey Lapshin
2023-08-24 15:01                                           ` Jeff Johnston
2023-08-24 15:45                                             ` Alexey Lapshin
2023-09-11 12:07 ` [PATCH, RFC 0/8] " Sebastian Huber
2023-09-11 12:15   ` Alexey Lapshin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1cb9e9f8c8e4e1df52b439184333d628b3532f65.camel@espressif.com \
    --to=alexey.lapshin@espressif.com \
    --cc=alexey.gerenkov@espressif.com \
    --cc=ivan@espressif.com \
    --cc=jcmvbkbc@gmail.com \
    --cc=newlib@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).