eeh
b4b570608d
Add some more 32-bit emulation support.
1999-05-12 01:11:54 +00:00
eeh
564db48540
Don't clobber any input regs in __asm statements.
1999-05-11 05:06:17 +00:00
christos
361f7917c8
clean up old GCC.1 stuff; move common definitions to the top.
1999-05-04 13:36:44 +00:00
christos
b70c3eb0ca
Define __extension__ if __GNUC__ < 2
...
Define __builtin_*() for lint
1999-05-03 16:21:28 +00:00
thorpej
b8073b401b
Garbage-collect the VM_MBUF_SIZE constant. Instead, use the size
...
(nmbclusters * mclbytes), so that the right amount of KVA space is
allocated if those variables are patched.
1999-04-26 22:46:44 +00:00
ad
5140c302ce
Bring sparc/sparc64 fb code and kernel configuration into line with
...
rcons changes.
1999-04-13 18:45:40 +00:00
eeh
6492e81ae6
Fix fault handling code to correctly report access_type and fault_type
...
and get rid of pmap_enter_phys().
1999-03-28 19:01:02 +00:00
eeh
69d1f9d0d3
COMPAT_SPARC32 -> COMPAT_NETBSD32
1999-03-26 04:29:20 +00:00
mrg
54ab2e1e54
clean and up make compile
1999-03-25 17:49:43 +00:00
mrg
dc011bcec0
move sparc32 MD bits here.
1999-03-25 16:26:19 +00:00
drochner
76fa1751fe
Add a macro to check for sufficient pointer alignment in bus.h context,
...
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
eeh
f0503a65c8
Flush D$ on bypass accesses.
1999-03-22 05:35:39 +00:00
thorpej
a77ccfe460
Garbage-collect.
1999-03-20 01:40:25 +00:00
eeh
3c8b9d7307
Some devices don't have a `device-type' property we can use to allocate
...
an IPL. Check for those by name. Give the rest a default IPL of 2.
(Added `SUNW,CS4231' to the list.)
1999-03-18 03:23:53 +00:00
hubertf
56f2d188fc
RCS ID police
1999-02-15 04:54:34 +00:00
drochner
0e91ebb904
make the last fix work as intended
1999-01-31 11:15:43 +00:00
mrg
7006310cbd
retire _LP64; use compiler provided __arch64__, but still defined _LP64 where we used to anyway.
1999-01-31 09:21:18 +00:00
eeh
8ee118c70d
Fix problems with bus_space*() macros (thanks M.Drochner).
1999-01-30 17:02:32 +00:00
mycroft
897a8a7f29
Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE.
1999-01-24 12:55:01 +00:00
christos
6d70af37f7
move prototypes to mi locations and add the xrs gunk.
1999-01-21 23:06:25 +00:00
chuck
90ddaed9b5
MNN is no longer optional, remove dead code
1999-01-16 20:43:21 +00:00
bouyer
dc306354b0
Move the bswap functions from libutil to libc (this bups the
...
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
eeh
d5ca0ef2e6
Don't use `long' instead of `int64_t' since the latter may not be in scope.
1999-01-09 23:15:39 +00:00
thorpej
da572a137f
Argh, fix the ANSI CPP version of the a.out WARN_REFERENCES().
1998-12-02 21:16:46 +00:00
thorpej
a6f7e0c05a
Implement WARN_REFERENCES().
1998-12-02 00:58:42 +00:00
mrg
b066708a2e
add protos for switchtoctx, fixalign and emulinstr. XXX should all these be here?
1998-11-24 12:49:14 +00:00
oster
c74d32c5fc
Updating of bdev's and cdev's to support RAIDframe.
1998-11-13 04:47:03 +00:00
eeh
08af05f929
Fix 32-bit gcc scheduling problems.
1998-11-13 03:47:15 +00:00
thorpej
cabecee13c
Changes to support fork_kthread():
...
- cpu_set_kpc() now takes void *arg third argument, passed to the
entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:43:49 +00:00
thorpej
908cdfe4e3
Add scsibus entry points to the cdevsw[].
1998-10-10 02:00:49 +00:00
eeh
b6fd7187e0
Fix more syscall32 and signal breakage.
1998-10-08 02:31:39 +00:00
thorpej
d681cf055a
configure() prototype is in <sys/device.h>
1998-10-06 20:50:15 +00:00
eeh
cd0dd24713
It seems taht 64-bit kernels need bigger stacks.
1998-10-06 05:18:55 +00:00
eeh
d0d18d5a83
Fix PIC code initialization.
1998-10-06 05:16:34 +00:00
thorpej
5006dbf868
cpu_set_kpc() prototype is already in <sys/systm.h>.
1998-10-05 22:11:15 +00:00
eeh
1cc6223a9c
More fixup in the signal area.
...
64-bit syscall cleanup.
Add emulation for some new FPU insns: conversion to 64-bit long int and
conditional moves.
1998-09-22 02:48:42 +00:00
thorpej
a7e5b3bcce
For _LP64, sigcontext must contain longs!
1998-09-17 04:51:29 +00:00
thorpej
dcb541531a
Minor cosmetic change.
1998-09-17 02:33:06 +00:00
eeh
49af63b22b
Fixup signal changes (hopefully). However SUN_COMPAT is likely broken by
...
this and I don't know how to fix it.
We can now exec a 64-bit init through a really ugly hack (don't ask.)
1998-09-13 16:02:47 +00:00
mycroft
4e4f120db9
Update these for signal handling changes.
...
XXX Not tested yet.
1998-09-13 12:13:49 +00:00
eeh
6736de02e8
A (slightly modified) version of tv's fix for va_args for kern_printf.
1998-09-11 00:12:41 +00:00
eeh
f3ca996011
Add support for 64-bit types if _LP64 is defined.
1998-09-11 00:05:57 +00:00
thorpej
f7a4380174
If _LP64, set MID_MACHINE to MID_SPARC64, else MID_SPARC. This allows us
...
to uniquely identify ILP32 vs. LP64 core files, and prevents an LP64 kernel
from incorrectly choosing emul_netbsd when it should choose emul_sparc32.
1998-09-09 11:01:38 +00:00
eeh
2a6ae85fc3
Change to MACHINE_ARCH=sparc64 for LP64 machines.
1998-09-09 02:56:38 +00:00
thorpej
8abe0d6b1c
Adjust for the new "reaper" kernel thread: do not free the vmspace and
...
u-area in machine-dependent code. Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
eeh
f162a39307
Make register32_t unsigned so we don't have sign extension problems.
1998-09-07 23:46:26 +00:00
eeh
8d72d0dc0a
Fix problems copying in extended syscall arguments.
1998-09-07 18:23:54 +00:00
eeh
aecf435d40
Add new 64-bit specific traps and 64-bit Solaris syscall.
1998-09-07 01:39:52 +00:00
eeh
edc4ed9846
32-bit fixup.
1998-09-06 21:53:41 +00:00
eeh
a112a2a4cc
It slices. It dices. It does everything except exec a sparc32_compat init.
1998-09-05 23:57:24 +00:00
pk
181a8253a0
Nuke temporary `getpropA()'.
1998-09-05 16:23:08 +00:00
christos
50909bd6d9
Assign copyright to TNF.
1998-09-05 15:28:08 +00:00
eeh
cf9a8a5a53
Periodic update: now starts probing devices.
1998-09-02 05:51:35 +00:00
eeh
26d2d906c7
Some more 64-bit cleanup. Now everything compiles.
1998-08-30 15:32:16 +00:00
eeh
a465fdedc6
Add 64-bit pmap support:
...
Moved from a two level 512/1024 entry setup mapping 32 (9/10/13) bits
respectively to a three level 1024/1024/1024 entry setup mapping 43
(10/10/10/13) bits. In 32-bit mode we waste about 1/12 pages mapping the high
11 bits. We also only manage 43 of the possible 44 bits of virtual address
space, wasting half of it. Oh well, maybe we'll do better next revision.
1998-08-27 06:23:31 +00:00
eeh
edab5330c3
Fix typo in previous fix.
1998-08-22 22:45:19 +00:00
eeh
9f5435229a
64-bit-ify this. Depend on _lp64.
1998-08-22 22:16:01 +00:00
eeh
239bc62b37
Add a makefile.
1998-08-15 03:57:58 +00:00
eeh
a2dd74ed79
Merge paddr_t changes into the main branch.
1998-08-13 02:10:37 +00:00
kleink
546365a27e
_POSIX_SOURCE -> _POSIX_C_SOURCE
1998-08-06 11:25:04 +00:00
ross
22554e01a9
Following discussions with eeh and mrg, change most of these types so
...
that they should make an ILP32 setup with an ILP32 compiler and an LP64
setup if run through an LP64 compiler. None of the data sizes actually
change right now, and any type errors that show up would have to be fixed
eventually anyway.
1998-07-31 15:30:40 +00:00
mycroft
a24dbc8065
(Always) (practice) (safe) (macro expansion).
1998-07-31 15:07:41 +00:00
eeh
1053f23abf
That last change to reduce warnings wasn't quite right.
1998-07-28 04:44:52 +00:00
mycroft
da2e61d160
Delint.
1998-07-27 13:55:32 +00:00
mrg
f0065b1a61
don't provide a static splx prototype if SPLDEBUG. avoids warnings...
1998-07-27 06:05:55 +00:00
thorpej
d47ea67c1f
Define one page free list, and put all pages on it.
1998-07-08 04:43:18 +00:00
eeh
d94474ccc9
General update:
...
Added genassym.cf
Removed lderr which should never have gotten in
Removed lots of dead code from locore.s
Added some softint stuff to intr.c
Added support for halt -p
esp and le both use bus_dmamap_*() functions now
instead of kdvma_mapin()
groundwork for PCI (but we still have no drivers for
any sun4u PCI devices)
1998-07-07 03:05:02 +00:00
kleink
4982314902
Merge in recent changes:
...
GC the unused `physadr' type, which was not able to hold a complete physical
address on 2 architectures anyhow. Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-20 16:52:53 +00:00
mrg
873ca5c7b9
merge comment fix.
1998-06-20 12:35:08 +00:00
mrg
94022870c4
pull in opt_gateway.h for options GATEWAY
1998-06-20 12:27:21 +00:00
mrg
ca23582a6b
moved <machine/sun_disklabel.h> to <dev/sun/disklabel.h>
1998-06-20 05:58:05 +00:00
eeh
01e2e698b6
Import of sparc64.
1998-06-20 04:58:50 +00:00