[PATCH v3 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.
This version addresses the comments made about licence headers and
unnecessary changes regarding generic fstat files.
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/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 | 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 ++-
132 files changed, 17440 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