[PATCH v4 00/11] A series of updates related to MIPS

Jovan Dmitrovic <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
Changes for v4 (thanks Jeff for your input on v3):

Deleted changes for config-ml.in. There is a patch for changing
config-ml.in on the GCC mailing list, so I will submit a request
for merging those changes into newlib if/when that patch itself
gets merged.

Deleted changes for config/mt-sde. These changes seem unecessary at
this moment.

Removed patches pertaining stdio changes and SmallLibC support.

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

Jovan Dmitrović (2):
  mips: Implement MIPS HAL and UHI
  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

 libgloss/config/mips.mt                     |   60 +-
 libgloss/configure                          |   19 +-
 libgloss/kill.c                             |    1 +
 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                |  110 ++
 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                |   52 +
 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                    |   48 -
 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/machine/ieeefp.h        |    6 +
 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 +-
 126 files changed, 17009 insertions(+), 568 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.