Commit Graph

255 Commits

Author SHA1 Message Date
matt 7c4618a9ce cpu_info is not in spr0, but spr_g_0. 2002-07-30 06:10:46 +00:00
kent 6789db7962 Avoid redundant memory access. 2002-07-10 06:02:09 +00:00
scw 59474a8c82 NetBSD, meet the SH-5 cpu.
SH-5, meet NetBSD.

Let's hope this is the start of a long and fruitful relationship. :-)

This code, funded by Wasabi Systems, adds initial support for the
Hitachi SuperH(tm) SH-5 cpu architecture to NetBSD.

At the present time, NetBSD/evbsh5 only runs on a SH-5 core simulator
which has no simulated devices other than a simple console. However, it
is good enough to get to the "root device: " prompt.

Device driver support for Real SH-5 Hardware is in place, particularly for
supporting the up-coming Cayman evaluation board, and should be quite
easy to get running when the hardware is available.

There is no in-tree toolchain for this port at this time. Gcc-current has
rudimentary SH-5 support but it is known to be buggy. A working toolchain
was obtained from SuperH to facilitate this port. Gcc-current will be
fixed in due course.

The SH-5 architecture is fully 64-bit capable, although NetBSD/evbsh5 has
currently only been tested in 32-bit mode. It is bi-endian, via a boot-
time option and it also has an "SHcompact" mode in which it will execute
SH-[34] user-land instructions.

For more information on the SH-5, see www.superh.com. Suffice to say it
is *not* just another respin of the SH-[34].
2002-07-05 13:31:28 +00:00
bjh21 3763adaefd Avoid leaving junk in the top half of R0 on return.
This fixes port-arm/17440.
2002-07-01 19:07:18 +00:00
fredette e978777b86 Added hppa support to libkern. 2002-06-06 20:03:37 +00:00
martin 9f680534b0 Add strtoul. 2002-05-05 11:23:24 +00:00
ross f98b9b43e8 Add strtoul.c 2002-04-24 16:56:36 +00:00
martin 22143f5a44 Add strtoul.c, otherwise kernels using "wi* at pcmcia?" do not work
anymore.

Why only four archs provide this is beyound me.
2002-04-16 06:36:02 +00:00
matt cb520da5b3 Refresh from libc. 2002-03-28 00:46:08 +00:00
fredette 58830d68c5 Added brand-new integer multiply and divide support, used only
on the m68000.
2002-03-26 22:49:32 +00:00
matt 12810ed37d Use size_t in prototype (so this will be LP64 clean for PPC64 someday).
Calculate len separately for icache & dcache in case each has different
cacheline widths.  Make the code for both loops the same except for the
dcbst/icbi.  Deal with sizes >=2GB properly (like that'll happen but ...)
2002-03-26 21:20:24 +00:00
fredette d617871b0c On the m68000, if and only if gcc doesn't seem to know
where libgcc.a is, fall back to one under DESTDIR.
2002-03-22 00:17:12 +00:00
dbj f0658bdada make compile with _STANDALONE 2002-03-18 05:10:58 +00:00
eeh 4c434f6210 Updated from libc. 2002-03-13 00:59:29 +00:00
matt e2d6f22138 Add register prefixes to these. 2002-02-24 00:12:41 +00:00
matt 6cad4b795d Upon further reflection, move udiv/urem to libkern and out of vax/vax. 2002-02-24 00:08:19 +00:00
ragge f2d946a56e blkset() used a register for set value that get clobbered by movc5,
causing the set area to get unpredictable contents.
2002-02-19 21:46:17 +00:00
thorpej 2362fef9a8 Add __blkcpy() and __blkset() (renamed/modified from __blkclr()) to
libkern.
2002-02-10 22:04:51 +00:00
ross e31435237d sync 2002-01-24 00:45:22 +00:00
uch e71de3f668 R5900 short-loop bug. 2002-01-02 12:34:27 +00:00
shin 1bac15cba5 we need ffs(). 2001-12-27 00:10:39 +00:00
shin 6870c1d462 don't use .abicalls in kernel. 2001-12-27 00:09:59 +00:00
shin e509d7712d copy from libc/arch/mips/string 2001-12-27 00:08:19 +00:00
wiz b4371d47f5 Replace some misuses of "then" with "than". 2001-12-04 17:56:30 +00:00
mjl f14e78b4c3 Disable bzero/memset assembler implementation until the dependency
problem on assym.h is sorted out and TRW to get at CACHELINESIZE in
the kernel is determined.
2001-12-02 11:03:39 +00:00
mjl 8231ab74c5 Add assembler version of strlen. 2001-11-30 02:27:20 +00:00
mjl 625c08cf7e Outifdef some stuff not needed in the _KERNEL case. 2001-11-30 02:25:50 +00:00
mjl 4ee3b0f097 Add assembler versions of ffs, bzero and memset. 2001-11-29 00:27:07 +00:00
chris 9cc0f33345 Tidy up some memory copying cruft:
bcopy.S is no longer needed
memmove and memcpy were both stacking r0 and unstacking it to keep the return value, so push this down into _memcpy.
rename _memcpy.S to memcpy.S.
memmove.S is now just a placeholder otherwise the make system automagically adds a memmove.c file to libkern.
memmove is just another entry point for memcpy.
2001-11-20 00:29:19 +00:00
chris 4d1b8d545e Sync to libc version of divsi3.S. This is to fix up the stack for 8 byte alignment. 2001-11-13 20:06:40 +00:00
uch 07f8f33bb9 R5900 miss-prediction of branch targets for short-loop. 2001-10-16 15:40:53 +00:00
fvdl f22b808267 Make new gas happy. Use movzbl instead of xorl + movb. 2001-09-21 14:14:30 +00:00
fredette 7aaa6a4bc4 On the 68010, don't bother with the by-8-longwords loop, instead
only 16-bit align the region and use loop mode with longwords
to do the bulk of the work.

On the 68020+, fixed an optimization bug where all regions that start
on odd addresses would not be properly longword aligned.
2001-09-06 21:30:15 +00:00
matt 28c81ffc15 7450 requires a sync before the the isync (MPC7450UM - 3.4.4.8) 2001-08-22 21:19:58 +00:00
thorpej ac8a2539c1 Provide bcopy() here. 2001-07-13 00:04:00 +00:00
toshii 70e10fb682 Remove bcmp, bcopy and bzero. We don't need them as they aren't
called from asm code, and we shouldn't have them if we don't need them.
2001-07-06 17:35:44 +00:00
kleink e69c885f3e Sync with libc: use bzero-based assembly version of memset(). 2001-07-01 11:55:36 +00:00
fvdl 9b4c0e34d2 Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
2001-06-19 00:19:12 +00:00
fredette 49fda862f9 When MACHINE_ARCH is m68000, compile ffs.c and random.c
instead of ffs.s and random.s, and sneak the libgcc
integer support routines into the list of library objects.
2001-05-16 03:30:39 +00:00
fredette 332aa50acb Use the EXTBL macro where we want the extbl instruction.
On the 68010 this expands to an extw/extl combination.
2001-05-16 03:14:12 +00:00
fredette 8ba384c841 On the 68010, we are forced to do bytewise compares
and copies if the two addresses aren't of the same
evenness.
2001-05-16 03:06:41 +00:00
kleink 95fa77ab80 Make this work for PIC (as opposed to pic) without taking chances of fitting
__ffstab into a GOT13 relocation; from Eduardo Horvath.
2001-05-13 20:03:45 +00:00
ross 2df695b1e4 o IEEE 754 floating-point completion code.
o Implement the architected FP_C "Floating Point Control Quadword"
2001-04-26 03:10:44 +00:00
thorpej db5854a62c Build strtoul.c 2001-04-05 04:38:33 +00:00
cgd b7ad250ab1 copy from lib/libc/arch/mips/gen 2001-02-27 19:45:26 +00:00
bjh21 da9d806354 Move arm32 over to using the shared ARM libkern. 2001-02-15 22:44:09 +00:00
msaitoh 3c31811206 don't profile (use NENTRY() and ALTENTRY()) 2001-02-14 21:04:17 +00:00
msaitoh 9af8d0bdad ENTRY() 2001-02-14 18:14:37 +00:00
msaitoh 2633a5dcb5 _C_LABEL() 2001-02-14 17:57:31 +00:00
bjh21 e68a8d59fa Sync with libc for licence update. 2001-01-23 19:12:29 +00:00