[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