Commit Graph

32176 Commits

Author SHA1 Message Date
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
abs d38d8c6c75 Regen from GENERIC.in 1.2:
Only difference is that INSTALL now defines VNODE_OP_NOINLINE and MALLOC_NOLINE
2002-07-05 13:27:59 +00:00
abs a98e1ff5cc Ensure INSTALL media has PIPE_SOCKETPAIR, MALLOC_NOINLINE and VNODE_OP_NOINLINE 2002-07-05 13:18:21 +00:00
abs 7be2718ed4 Use MALLOC_NOINLINE (saves 11K on FOURMEG) 2002-07-05 13:06:45 +00:00
thorpej 011d4d5f44 Add kernel support for having userland provide the signal trampoline:
* struct sigacts gets a new sigact_sigdesc structure, which has the
  sigaction and the trampoline/version.  Version 0 means "legacy kernel
  provided trampoline".  Other versions are coordinated with machine-
  dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
  the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
  trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions.  Instead,
  sendsig() looks up the handler by peeking in the sigacts for the
  process getting the signal (since it has to look in there for the
  trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
  its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later.  Kernel
version not bumped; we will ride the 1.6C bump made recently.
2002-07-04 23:32:02 +00:00
lukem 62e9bafd31 use cdev_mouse_init() for wsmux 2002-07-04 23:24:43 +00:00
thorpej 00e59f25b7 Eliminate two unused sigframe members. 2002-07-04 21:33:43 +00:00
thorpej 625abcf84b Eliminate two unused sigframe members. 2002-07-04 20:22:50 +00:00
thorpej bf7d5bca07 Eliminate 4 unused sigframe members. 2002-07-04 19:20:01 +00:00
scottr c509ab3f19 Add (unimplemented) cases to handle the 68020 and 68030 to
bus_dmamap_sync().  This corrects a fatal bug on at least some 68030-
based Macs. Closes PR 17180.
2002-07-04 18:09:59 +00:00
scottr ee8f37fa3f Add support for DHCP network configuration. 2002-07-04 17:59:33 +00:00
thorpej fe53f433d8 The signal trampoline runs in userspace; do not profile it. 2002-07-04 16:44:10 +00:00
thorpej 9759b269b6 Add ENTRY_NOPROFILE(). 2002-07-04 16:43:21 +00:00
junyoung 3d826105dc alloc_attr -> allocattr
Approved by Matthias Drochner.
2002-07-04 14:37:10 +00:00
fvdl cf9727c9c6 Uncomment x86_64_iopl args. 2002-07-04 10:49:33 +00:00
fvdl 105d80aaa0 The double fault exception doesn't push an error. 2002-07-04 10:47:02 +00:00
fvdl 9fe7e89bfe Use a seperate stack for the double fault trap. 2002-07-04 10:46:21 +00:00
fvdl 860a1c9ae6 Enable the iopl syscall. 2002-07-04 10:44:00 +00:00
fvdl 03068e0f6f Print a little more info for unhandled traps. For the time being,
halt the CPU, don't call panic() (until DDB is done).
2002-07-04 10:42:00 +00:00
fvdl 9ec0782af4 Make this look a little more like -current i386 pmap.c 2002-07-04 10:38:26 +00:00
fvdl 4839f70ff2 Fix parameter passed to init_x86_64. 2002-07-04 10:34:22 +00:00
fvdl ffb9c17b1c Match parameter decl of init386 with reality. 2002-07-04 10:22:20 +00:00
thorpej 584c5c23d3 During signal delivery, arrange to have the signal handler invoked
directly, using the trampoline only for the return path.  Saves a
"jsr" in the trampoline.

Reviewed, tested and OK'd by Steve Woodford.
2002-07-04 01:50:39 +00:00
matt 25036f6b2d Properly compensate for rounding the start of a mem_region up. 2002-07-03 20:41:20 +00:00
yamt 7b17e9ce50 add KSTACK_CHECK_DR0. 2002-07-03 02:46:11 +00:00
yamt d96bff0e27 add KSTACK_CHECK_MAGIC. discussed on tech-kern. 2002-07-02 20:27:44 +00:00
matt af8dc59949 Add AltiVec routines for save_vec/enable_vec/init_vec. 2002-07-02 15:22:47 +00:00
matt 708f4c7b9b Add VRSAVE. 2002-07-01 20:11:05 +00:00
christos 61a86a83fe add a couple more dependencies so that we can build a kernel without
make depend.
2002-07-01 16:37:08 +00:00
ragge 779789e94f Protect biodone() with spl7(). Found by art@openbsd, but fixed in the
wrong way.
2002-07-01 16:20:35 +00:00
fredette cfd4248d21 Made the signal trampoline PLABEL-aware.
Added a missing comma to the pmap_redzone() call.
2002-07-01 16:10:02 +00:00
christos 2a01227008 Add example use of WSDISPLAY_CHARFUNCS, from Julio Merino 2002-07-01 13:19:05 +00:00
thorpej 0ba2c1b425 When delivering a signal, arrange for the signal handler to be invoked
directly, using the trampoline only for the return path.
2002-07-01 03:10:01 +00:00
thorpej 47506c123a Add kttcp device. 2002-06-30 23:30:07 +00:00
scottr 9765c0afdf Before reading the (new) Apple Partition Map laid out by sysinst, be sure
to clear the disk label. From Bob Nestor; part 2 of 2 of a fix for
PR 15528.
2002-06-29 19:44:52 +00:00
matt 76c24da31d Add kttcp device. 2002-06-29 19:04:45 +00:00
eeh c05c5884e6 Turn on parity checking for the PCI bus. 2002-06-29 02:35:22 +00:00
thorpej 7f2925365c Add the kttcp device. 2002-06-28 23:29:26 +00:00
tsutsui cb383cb5db Define MSGBUFSIZE here only if it's not specified by options(4). 2002-06-28 17:40:20 +00:00
briggs 1b3d605b4e Remove complaint: bus_dmamap_destroy() called for map with valid
mappings bus_dma(9) states: "In the event that the DMA handle contains
a valid mapping, the mapping will be unloaded via the same mechanism
used by bus_dmamap_unload()."  And some drivers do mean to skip the
unload step.
2002-06-28 15:21:00 +00:00
matt 3043c05326 Add common routines to do BAT initialization, trap vector setup,
interrupt vector installation, VM initialization, core-dumps (stubbed),
and network soft interrupts.  Also kvtop and mapiodev.
2002-06-28 02:32:16 +00:00
matt f7a6553147 Add common syscall dispatcher. Also put child_return in here. 2002-06-28 02:30:06 +00:00
matt 511223b674 If ALTIVEC is not defined, treat EXC_VEC|EXC_USER exceptions as PGM
exceptions.  [Note that we still can't trap these due to issues in
trap_subr.S which are (yet) fixed]
2002-06-27 21:15:35 +00:00
pooka c558b464ba Assign COPTS instead of adding to it, avoids situation where -mi386
is mixed with -march=something_incompatible

suggested by thorpej
2002-06-27 20:44:08 +00:00
ross 686a24e882 add bktr 2002-06-27 18:34:32 +00:00
gmcgarry f7458b82ef Back out part of revision 1.20 which was causing PROM re-entry
to fail.  Reported by Jarle Greipsland <jarle@uninett.no>.
2002-06-27 08:45:25 +00:00
junyoung db4ede9522 Add VGA_CONSOLE_ATI_BROKEN_FONTSEL (disabled by default). 2002-06-27 06:34:23 +00:00
simonb a441a7dffa Remove some clocktick debug code. 2002-06-27 04:09:15 +00:00
simonb 7471732325 Add the 20Kc processor ID. 2002-06-27 03:43:45 +00:00
matt cd85109523 Make traps even smaller by noticing the checking of privilege mode and
use of curpcb/USPACE is common and move that into the common trap processing.
2002-06-26 20:00:17 +00:00