[PATCH v2 00/13] A series of updates related to MIPS

Jovan Dmitrovic <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
This is a series of patches for MIPS port that have accumulated
over the past years. It contains significant updates of libgloss
and newlib and several bug fixes.

I am sending a new version of this series because the old version
broke build system when patches were tested separately.

Faraz Shahbazker (6):
  libc: mips: Add improved C implementation of memcpy/memset
  libc: mips: memcpy prefetches beyond copied memory
  libc: mips: Improve performance of strcmp implementation
  libgloss: mips: g++ exception handling failure on o32 elf targets
  libgloss: mips: UHI linker scripts fail to link with _isr_vec_count=1
  libc: mips: fix strcmp bug for little endian targets

Jaydeep Patil (3):
  mips: Implement MIPS HAL and UHI
  libc: mips: Support for vector type in printf
  libc: mips: SmallCLib `print` headers

Jovan Dmitrović (1):
  libgloss: mips: Add mipshal.mk

Matthew Fortune (2):
  libgloss: mips: Add srec2hex.pl for preparing input to simulators
  libgloss: mips: Fixes and improvements for CM3 bootcode

Robert Suchanek (1):
  libgloss: mips: Boot and startup code improvements inc. linker script
    fixes

 config-ml.in                                |   25 +-
 config/mt-sde                               |    4 +-
 libgloss/config/mips.mt                     |   60 +-
 libgloss/configure                          |   19 +-
 libgloss/fstat.c                            |    3 +
 libgloss/kill.c                             |    1 +
 libgloss/libnosys/fstat.c                   |    3 +
 libgloss/mips/Makefile.in                   |  202 ++-
 libgloss/mips/acinclude.m4                  |   19 +-
 libgloss/mips/boot/corecheck_predef.S       |  227 +++
 libgloss/mips/boot/init_caches.S            |  178 ++
 libgloss/mips/boot/init_caches_predef.S     |  183 +++
 libgloss/mips/boot/init_cm3l2.S             |  137 ++
 libgloss/mips/boot/init_cm3l2_predef.S      |  117 ++
 libgloss/mips/boot/init_cp0.S               |  105 ++
 libgloss/mips/boot/init_cp0_predef.S        |  131 ++
 libgloss/mips/boot/init_l23caches.S         |  141 ++
 libgloss/mips/boot/init_l23caches_predef.S  |  161 ++
 libgloss/mips/boot/init_tlb.S               |  348 ++++
 libgloss/mips/boot/init_tlb_predef.S        |  149 ++
 libgloss/mips/boot/predef.h                 |  153 ++
 libgloss/mips/boot/reset.S                  |  233 +++
 libgloss/mips/boot/reset_predef.S           |  261 +++
 libgloss/mips/bootcode.ld                   |   14 +
 libgloss/mips/crt0.S                        |  316 ----
 libgloss/mips/fstat.c                       |   32 +
 libgloss/mips/hal/__exit.c                  |   48 +
 libgloss/mips/hal/abiflags.S                |   82 +
 libgloss/mips/hal/cache.h                   |   82 +
 libgloss/mips/hal/crt0.S                    |  312 ++++
 libgloss/mips/hal/get_ram_range.c           |   65 +
 libgloss/mips/hal/libcm3.a                  |   34 +
 libgloss/mips/hal/link.c                    |   39 +
 libgloss/mips/hal/minicrt.S                 |   41 +
 libgloss/mips/hal/mips64_tlb.c              |  219 +++
 libgloss/mips/hal/mips_clean_cache.c        |  113 ++
 libgloss/mips/hal/mips_cm3_l2size.c         |   88 +
 libgloss/mips/hal/mips_dsp.S                |  127 ++
 libgloss/mips/hal/mips_excpt_boot.S         |  378 +++++
 libgloss/mips/hal/mips_excpt_entry.S        |  210 +++
 libgloss/mips/hal/mips_excpt_handler.c      |  309 ++++
 libgloss/mips/hal/mips_excpt_isr_fallback.S |   50 +
 libgloss/mips/hal/mips_excpt_isr_fragment.S |   71 +
 libgloss/mips/hal/mips_excpt_register.S     |  145 ++
 libgloss/mips/hal/mips_excpt_timer.S        |  101 ++
 libgloss/mips/hal/mips_flush_cache.c        |  106 ++
 libgloss/mips/hal/mips_fp.S                 |  182 +++
 libgloss/mips/hal/mips_intctrl.c            |  148 ++
 libgloss/mips/hal/mips_l2size.c             |   94 ++
 libgloss/mips/hal/mips_lock_cache.c         |   81 +
 libgloss/mips/hal/mips_msa.S                |  181 +++
 libgloss/mips/hal/mips_size_cache.c         |  106 ++
 libgloss/mips/hal/mips_sync_cache.c         |   62 +
 libgloss/mips/hal/mips_tlb.c                |  477 ++++++
 libgloss/mips/hal/mips_xpa.S                |   75 +
 libgloss/mips/hal/syscalls.c                |   51 +
 libgloss/mips/idtmon.S                      |    3 +-
 libgloss/mips/include/mips/asm.h            |  354 ++++
 libgloss/mips/include/mips/cm3.h            |   75 +
 libgloss/mips/include/mips/cpu.h            |  354 ++++
 libgloss/mips/include/mips/ctx.S            |  147 ++
 libgloss/mips/include/mips/dsp.h            |   58 +
 libgloss/mips/include/mips/endian.h         |   91 ++
 libgloss/mips/include/mips/fgregdef.h       |  126 ++
 libgloss/mips/include/mips/fpa.h            |   31 +
 libgloss/mips/include/mips/hal.h            |  454 ++++++
 libgloss/mips/include/mips/intctrl.h        |   69 +
 libgloss/mips/include/mips/m32c0.h          | 1605 +++++++++++++++++++
 libgloss/mips/include/mips/m32c1.h          |  274 ++++
 libgloss/mips/include/mips/m32tlb.h         |  101 ++
 libgloss/mips/include/mips/m64c0.h          |  266 +++
 libgloss/mips/include/mips/m64tlb.h         |  104 ++
 libgloss/mips/include/mips/mips32.h         |  175 ++
 libgloss/mips/include/mips/mips64.h         |  114 ++
 libgloss/mips/include/mips/mt.h             |  519 ++++++
 libgloss/mips/include/mips/notlb.h          |  113 ++
 libgloss/mips/include/mips/prid.h           |  128 ++
 libgloss/mips/include/mips/regdef.h         |  131 ++
 libgloss/mips/include/mips/uhi_syscalls.h   |   68 +
 libgloss/mips/include/mips/version.h        |    4 +
 libgloss/mips/malta32-yamon.ld              |  316 ++++
 libgloss/mips/mti32.ld                      |   20 +-
 libgloss/mips/mti64.ld                      |    1 -
 libgloss/mips/mti64_n32.ld                  |    1 -
 libgloss/mips/regs.S                        |    5 +-
 libgloss/mips/rules/mipshal.mk              |  135 ++
 libgloss/mips/rules/srec2hex.pl             |  196 +++
 libgloss/mips/syscalls.c                    |   45 -
 libgloss/mips/test.c                        |    7 +-
 libgloss/mips/uhi/uhi_assert.c              |   73 +
 libgloss/mips/uhi/uhi_break.c               |   62 +
 libgloss/mips/uhi/uhi_close.c               |   71 +
 libgloss/mips/uhi/uhi_exception.c           |   63 +
 libgloss/mips/uhi/uhi_exit.c                |   87 +
 libgloss/mips/uhi/uhi_fstat.c               |  159 ++
 libgloss/mips/uhi/uhi_get_ram_range.c       |   62 +
 libgloss/mips/uhi/uhi_getargs.S             |  106 ++
 libgloss/mips/uhi/uhi_indirect.c            |   56 +
 libgloss/mips/uhi/uhi_link.c                |   80 +
 libgloss/mips/uhi/uhi_lseek.c               |   76 +
 libgloss/mips/uhi/uhi_open.c                |   75 +
 libgloss/mips/uhi/uhi_plog.c                |   79 +
 libgloss/mips/uhi/uhi_pread.c               |   78 +
 libgloss/mips/uhi/uhi_pwrite.c              |   78 +
 libgloss/mips/uhi/uhi_read.c                |   75 +
 libgloss/mips/uhi/uhi_stat.c                |   58 +
 libgloss/mips/uhi/uhi_stat.h                |   51 +
 libgloss/mips/uhi/uhi_unlink.c              |   77 +
 libgloss/mips/uhi/uhi_write.c               |   75 +
 libgloss/mips/uhi/yamon_close.c             |   81 +
 libgloss/mips/uhi/yamon_exception.c         |   52 +
 libgloss/mips/uhi/yamon_exit.c              |   60 +
 libgloss/mips/uhi/yamon_fstat.c             |  183 +++
 libgloss/mips/uhi/yamon_read.c              |  101 ++
 libgloss/mips/uhi/yamon_syscalls.h          |   33 +
 libgloss/mips/uhi/yamon_write.c             |   98 ++
 libgloss/mips/uhi32.ld                      |  346 ++++
 libgloss/mips/uhi64_64.ld                   |  345 ++++
 libgloss/mips/uhi64_n32.ld                  |  345 ++++
 newlib/Makefile.in                          |    8 +-
 newlib/configure.host                       |    1 +
 newlib/libc/include/ctype.h                 |   17 +
 newlib/libc/include/machine/ieeefp.h        |    6 +
 newlib/libc/include/stdio.h                 |  178 ++
 newlib/libc/include/sys/config.h            |    2 +-
 newlib/libc/include/sys/stat.h              |   16 +-
 newlib/libc/machine/mips/Makefile.inc       |    2 +-
 newlib/libc/machine/mips/machine/regdef.h   |   38 +
 newlib/libc/machine/mips/memcpy.c           |  449 ++++++
 newlib/libc/machine/mips/memset.c           |  176 ++
 newlib/libc/machine/mips/setjmp.S           |    6 +-
 newlib/libc/machine/mips/strcmp.S           |  289 ++--
 newlib/libc/machine/mips/strlen.c           |   20 +-
 newlib/libc/stdio/vfprintf.c                |  208 ++-
 134 files changed, 17418 insertions(+), 572 deletions(-)
 create mode 100644 libgloss/mips/boot/corecheck_predef.S
 create mode 100644 libgloss/mips/boot/init_caches.S
 create mode 100644 libgloss/mips/boot/init_caches_predef.S
 create mode 100644 libgloss/mips/boot/init_cm3l2.S
 create mode 100644 libgloss/mips/boot/init_cm3l2_predef.S
 create mode 100644 libgloss/mips/boot/init_cp0.S
 create mode 100644 libgloss/mips/boot/init_cp0_predef.S
 create mode 100644 libgloss/mips/boot/init_l23caches.S
 create mode 100644 libgloss/mips/boot/init_l23caches_predef.S
 create mode 100644 libgloss/mips/boot/init_tlb.S
 create mode 100644 libgloss/mips/boot/init_tlb_predef.S
 create mode 100644 libgloss/mips/boot/predef.h
 create mode 100644 libgloss/mips/boot/reset.S
 create mode 100644 libgloss/mips/boot/reset_predef.S
 create mode 100644 libgloss/mips/bootcode.ld
 delete mode 100644 libgloss/mips/crt0.S
 create mode 100644 libgloss/mips/fstat.c
 create mode 100644 libgloss/mips/hal/__exit.c
 create mode 100644 libgloss/mips/hal/abiflags.S
 create mode 100644 libgloss/mips/hal/cache.h
 create mode 100644 libgloss/mips/hal/crt0.S
 create mode 100644 libgloss/mips/hal/get_ram_range.c
 create mode 100644 libgloss/mips/hal/libcm3.a
 create mode 100644 libgloss/mips/hal/link.c
 create mode 100644 libgloss/mips/hal/minicrt.S
 create mode 100644 libgloss/mips/hal/mips64_tlb.c
 create mode 100644 libgloss/mips/hal/mips_clean_cache.c
 create mode 100644 libgloss/mips/hal/mips_cm3_l2size.c
 create mode 100644 libgloss/mips/hal/mips_dsp.S
 create mode 100644 libgloss/mips/hal/mips_excpt_boot.S
 create mode 100644 libgloss/mips/hal/mips_excpt_entry.S
 create mode 100644 libgloss/mips/hal/mips_excpt_handler.c
 create mode 100644 libgloss/mips/hal/mips_excpt_isr_fallback.S
 create mode 100644 libgloss/mips/hal/mips_excpt_isr_fragment.S
 create mode 100644 libgloss/mips/hal/mips_excpt_register.S
 create mode 100644 libgloss/mips/hal/mips_excpt_timer.S
 create mode 100644 libgloss/mips/hal/mips_flush_cache.c
 create mode 100644 libgloss/mips/hal/mips_fp.S
 create mode 100644 libgloss/mips/hal/mips_intctrl.c
 create mode 100644 libgloss/mips/hal/mips_l2size.c
 create mode 100644 libgloss/mips/hal/mips_lock_cache.c
 create mode 100644 libgloss/mips/hal/mips_msa.S
 create mode 100644 libgloss/mips/hal/mips_size_cache.c
 create mode 100644 libgloss/mips/hal/mips_sync_cache.c
 create mode 100644 libgloss/mips/hal/mips_tlb.c
 create mode 100644 libgloss/mips/hal/mips_xpa.S
 create mode 100644 libgloss/mips/hal/syscalls.c
 create mode 100644 libgloss/mips/include/mips/asm.h
 create mode 100644 libgloss/mips/include/mips/cm3.h
 create mode 100644 libgloss/mips/include/mips/cpu.h
 create mode 100644 libgloss/mips/include/mips/ctx.S
 create mode 100644 libgloss/mips/include/mips/dsp.h
 create mode 100644 libgloss/mips/include/mips/endian.h
 create mode 100644 libgloss/mips/include/mips/fgregdef.h
 create mode 100644 libgloss/mips/include/mips/fpa.h
 create mode 100644 libgloss/mips/include/mips/hal.h
 create mode 100644 libgloss/mips/include/mips/intctrl.h
 create mode 100644 libgloss/mips/include/mips/m32c0.h
 create mode 100644 libgloss/mips/include/mips/m32c1.h
 create mode 100644 libgloss/mips/include/mips/m32tlb.h
 create mode 100644 libgloss/mips/include/mips/m64c0.h
 create mode 100644 libgloss/mips/include/mips/m64tlb.h
 create mode 100644 libgloss/mips/include/mips/mips32.h
 create mode 100644 libgloss/mips/include/mips/mips64.h
 create mode 100644 libgloss/mips/include/mips/mt.h
 create mode 100644 libgloss/mips/include/mips/notlb.h
 create mode 100644 libgloss/mips/include/mips/prid.h
 create mode 100644 libgloss/mips/include/mips/regdef.h
 create mode 100644 libgloss/mips/include/mips/uhi_syscalls.h
 create mode 100644 libgloss/mips/include/mips/version.h
 create mode 100644 libgloss/mips/malta32-yamon.ld
 create mode 100644 libgloss/mips/rules/mipshal.mk
 create mode 100755 libgloss/mips/rules/srec2hex.pl
 delete mode 100644 libgloss/mips/syscalls.c
 create mode 100644 libgloss/mips/uhi/uhi_assert.c
 create mode 100644 libgloss/mips/uhi/uhi_break.c
 create mode 100644 libgloss/mips/uhi/uhi_close.c
 create mode 100644 libgloss/mips/uhi/uhi_exception.c
 create mode 100644 libgloss/mips/uhi/uhi_exit.c
 create mode 100644 libgloss/mips/uhi/uhi_fstat.c
 create mode 100644 libgloss/mips/uhi/uhi_get_ram_range.c
 create mode 100644 libgloss/mips/uhi/uhi_getargs.S
 create mode 100644 libgloss/mips/uhi/uhi_indirect.c
 create mode 100644 libgloss/mips/uhi/uhi_link.c
 create mode 100644 libgloss/mips/uhi/uhi_lseek.c
 create mode 100644 libgloss/mips/uhi/uhi_open.c
 create mode 100644 libgloss/mips/uhi/uhi_plog.c
 create mode 100644 libgloss/mips/uhi/uhi_pread.c
 create mode 100644 libgloss/mips/uhi/uhi_pwrite.c
 create mode 100644 libgloss/mips/uhi/uhi_read.c
 create mode 100644 libgloss/mips/uhi/uhi_stat.c
 create mode 100644 libgloss/mips/uhi/uhi_stat.h
 create mode 100644 libgloss/mips/uhi/uhi_unlink.c
 create mode 100644 libgloss/mips/uhi/uhi_write.c
 create mode 100644 libgloss/mips/uhi/yamon_close.c
 create mode 100644 libgloss/mips/uhi/yamon_exception.c
 create mode 100644 libgloss/mips/uhi/yamon_exit.c
 create mode 100644 libgloss/mips/uhi/yamon_fstat.c
 create mode 100644 libgloss/mips/uhi/yamon_read.c
 create mode 100644 libgloss/mips/uhi/yamon_syscalls.h
 create mode 100644 libgloss/mips/uhi/yamon_write.c
 create mode 100644 libgloss/mips/uhi32.ld
 create mode 100644 libgloss/mips/uhi64_64.ld
 create mode 100644 libgloss/mips/uhi64_n32.ld
 create mode 100644 newlib/libc/machine/mips/memcpy.c
 create mode 100644 newlib/libc/machine/mips/memset.c

-- 
2.34.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.