Commit Graph

499 Commits

Author SHA1 Message Date
bouyer
937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
thorpej
e553a6caf0 Do the first allocsys() pass (the pass that computes sizes) before
calling pmap_bootstrap(); pmap_bootstrap() needs some of the size
information computed by allocsys().
2001-04-24 15:41:38 +00:00
thorpej
1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
thorpej
079c2e0ac9 Call pmap_bootstrap() before calling uvm_pageboot_alloc(), so that
the kernel virtual address space bounds will be set up.
2001-04-23 23:50:22 +00:00
thorpej
5871b80f00 Use uvm_pageboot_alloc() for early memory allocation, rather than
calling pmap_steal_memory() directly.  On these platforms, since
uvm_pageboot_alloc() is a wrapper around pmap_steal_memory(), there
is no functional change.  This is merely for API consistency.
2001-04-22 18:21:48 +00:00
kleink
f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink
739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink
cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink
a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink
7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej
bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
tsubai
570716506c Add rnd. 2001-04-04 10:18:28 +00:00
soren
912c115675 s/vm_page_alloc_memory/uvm_pglistalloc/ in panic message. 2001-03-21 18:40:28 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
thorpej
2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
tsutsui
8bc87999fc Remove obsolete cpu_exec_ecoff_hook(). 2001-02-05 13:10:07 +00:00
tsutsui
94ebf6d0d7 Update for the install floppy:
- Add newer devices (wscons etc.)
- Add -mmemcpy to COPTS
- Reduce maxusers
- Remove KERNFS
- Disable some COMPAT_* options
- Add MEMORY_DISK_SERVER=0
- Enable options NFS_V2_ONLY and VNODE_OP_NOINLINE
2001-02-01 06:23:54 +00:00
tsutsui
b2457f9a76 Move NEWS keymap file into MI place to share with news68k. 2001-01-25 13:13:59 +00:00
jdolecek
8b24036797 Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
2001-01-22 13:56:55 +00:00
tv
e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
fvdl
c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
thorpej
d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +00:00
thorpej
d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
bouyer
c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
matt
825cb46de5 Revert back to a machinearch (really cputype) of mips. Put ENDIAN back. 2000-12-03 07:05:21 +00:00
matt
866f93d61f Change arch from mips to mipsel/mipseb as appropriate. Nuke the ENDIAN
makeoption.  Key off MACHINE_ARCH for adding -EB/-EL to CFLAGS/AFLAGS/LD/
LINKFLAGS.
2000-12-03 05:30:31 +00:00
matt
5e67131b91 Start using a Makefile.mips. Use a combination of makeoptions and
Makefile.sgimips.inc which has sgimips specific stuff.
2000-12-03 02:07:04 +00:00
matt
c77ccc45d8 Make this stuff compile with -wstrict-prototpes -wmissing-prototypes.
More use of prototypes inside includes should be done.
2000-12-03 01:42:29 +00:00
tsutsui
a8fdbdec1c Remove unused pcbb() macro. 2000-12-01 17:57:43 +00:00
soren
66864e1f05 Removed increased BUFCACHE/BUFPAGES. 2000-11-27 08:55:41 +00:00
soren
52e9098c1d arch/mips is used now. 2000-11-27 08:54:02 +00:00
soren
38a44e0d8f Consistently use pmap_steal_memory() to allocate USPACE. 2000-11-27 05:57:25 +00:00
tsutsui
2cd77d5700 Fix swapped keycode for '[' and ']'. 2000-11-20 14:55:15 +00:00
chs
c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
tsubai
ced4cea08e Fix an uninitialized variable reference. 2000-11-15 15:01:14 +00:00
tsubai
654fcfa344 Remove an unused variable. 2000-11-15 14:43:44 +00:00
tsubai
0d339b0df5 Screen console works now. 2000-11-15 14:29:40 +00:00
tsubai
9b85cc40d4 Keyboard and mouse support for news5000. 2000-11-15 14:04:05 +00:00
thorpej
b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
tsubai
f744e6327a Correct VRAM size. 2000-11-14 15:32:03 +00:00
tsubai
03fa172a01 No longer used. 2000-11-13 19:05:58 +00:00
tsubai
a564a7a2a9 Switch to wscons. 2000-11-13 16:48:41 +00:00
tsubai
760413cb15 "xa" frame buffer driver. 2000-11-06 15:00:28 +00:00
tsutsui
99fde8d00d Call ttymalloc() to initialize struct tty in bmcnattach(). 2000-11-03 18:26:32 +00:00
eeh
8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +00:00
tsubai
8853c17400 Add dmac for spifi. (commented out) 2000-10-30 10:16:31 +00:00
tsubai
123fba3de1 Add spifi SCSI (commented out yet). 2000-10-30 10:14:44 +00:00
tsubai
c6c547497d NEWS5000 internal SCSI driver. 2000-10-30 10:07:35 +00:00
tsutsui
89c951fa08 Switch to MI md_root.c. Checked by booting INSTALL kernel. 2000-10-29 12:36:35 +00:00
onoe
26c411de58 Move APbus dependent unmapped DMA address stuff from bus.c to apbus.c
Support DMA mapping table with NEWSMIPS_DMAMAP_MAPTBL flag for APbus
(MAPTBL is not tested yet).
2000-10-18 12:47:37 +00:00
tsutsui
65d3436a47 Make this compile without "options news5000". 2000-10-13 17:22:52 +00:00
tsubai
5fd4c9fe04 Remove a '^G'. 2000-10-12 15:42:47 +00:00
onoe
50159b60f0 Add support to boot on APbus machine (e.g. NWS-5000). 2000-10-12 05:34:29 +00:00
onoe
29780c8cd7 add Tulip (tlp) at apbus 2000-10-12 03:18:41 +00:00
onoe
3c201cca80 change the type of the apbus interrupt handler from void to int
for each driver to indicate the interrupt has been handled or not.
2000-10-12 03:17:25 +00:00
onoe
935577e7bc Tulip driver for NWB-5852A, which is an APbus board with DEC-21140A chip.
without MII.  It supports 100BaseTX only.  Half duplex/Full duplex can
be specified manually, but there are no auto negotiation functionality.

XXX:	It takes 34 seconds before sending/receiving packets on the wire
	after initial setup.  It is obviously a bug because the board
	just works fine on NEWS-OS, but I cannot find what's wrong...
	Once it starts working, it seems there are no problems.
2000-10-12 03:15:59 +00:00
onoe
31624ad662 use macro to access interrupt mask register. 2000-10-12 03:15:21 +00:00
onoe
f2c3050d29 change the type of the apbus interrupt handler from void to int
for each driver to indicate the interrupt has been handled or not.
2000-10-12 03:13:47 +00:00
onoe
be4c939451 change the type of the apbus interrupt handler from void to int
for each driver to indicate the interrupt has been handled or not.
add prototype of apbus_dmatag_init() function, which allocates memory
and initialize its member including bus space handle to flush DMA write
cache.  Note that the allocated pointer must be freed.
2000-10-12 03:12:01 +00:00
onoe
655ba83924 Allow multiple interrupt handler on same interrupt event.
Clear interrupt mask for specified interrupt in apbus_intr_establish().
Add dma stuff; define apbus_dmamap_sync() to flush DMA write cache by
accessing the corresponding I/O port.
2000-10-12 03:11:38 +00:00
onoe
de22372491 Use 1MHz freerun counter for microtime().
Show address for bus error, and DMA address error.
	should be panic, but only printf for now.
2000-10-12 03:10:37 +00:00
onoe
68f82490a3 Support scsi boot device for NWS-5000.
Support NWS-3700, which is very similar with NWS-3400.
Do not depend on modelid of idrom, which is useless in most cases.
2000-10-12 03:10:07 +00:00
onoe
4e2e140f75 Do not access graphic console if probing framebuffer fails for NWS-3400.
Use serial console instead regardless the dipsw.
2000-10-12 03:08:58 +00:00
onoe
1383251d9a Bus I/O and DMA access macros/routines. 2000-10-12 03:07:59 +00:00
onoe
0ff12521fa Add address for free running 1MHz 1counter.
Add registers for APbus I/F gatearray.
2000-10-12 03:07:02 +00:00
tsubai
9fa9ef4716 Add rnd. 2000-10-04 08:26:42 +00:00
abs
2824f4906d Ensure all INSTALL* kernels have two ptys, and a note explaining why:
pseudo-device  pty             2       # pseudo-terminals (Sysinst needs two)
(Some installers may not be using sysinst, in which case this just reduces
the number of ptys from 16 that are not used to 2 that are not used)
For i386 conf files, no change other than comments.
2000-10-02 18:43:34 +00:00
thorpej
7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
abs
3ef92f0bdb Use "options<SPACE><TAB>" not "options<TAB>" - noted by simonb.
Move VNODE_OP_NOINLINE and NFS_V2_ONLY into '# Filesystem options' section.
Consistently label '# Filesystem options' and '#File systems' sections.
2000-09-25 13:54:50 +00:00
abs
ccf1c822a6 Ensure all INSTALL config files have (at least) COPTS="-Os", cincluding bebox
based on it working already for macppc.
Also add commented out:
#options        VNODE_OP_NOINLINE       # Don't inline vnode op calls
#options        NFS_V2_ONLY             # Exclude NFS3 and NQNFS code
as suggestions for additional savings
2000-09-25 11:46:37 +00:00
jdolecek
b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
thorpej
72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
nisimura
c65b8a8ceb Nuke unused obscure #define's. 2000-09-13 05:23:37 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej
23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
itojun
85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
jdolecek
e25636b5da g/c RB_DFLTROOT
I've tried hard to find also various usage() messages and remove the
appropriate flag from there as well, hopefully all occurences are covered.
2000-07-29 20:06:27 +00:00
tsubai
25e447156e Fix printf format string. (recently SECDAY changed from unsigned long to int) 2000-07-29 11:11:53 +00:00
tsubai
f23a2f015d Set hostid. 2000-07-29 08:21:43 +00:00
mason
4a353b5330 Moving to a default of 64 PTYs. 2000-07-27 17:53:35 +00:00
jeffs
1dfa0ec96d Use cpu_intr() definition from mips/cpu.h instead of local one. 2000-07-14 18:35:38 +00:00
itojun
d738f90fd7 raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory.  MHLEN is too small
  already (less than 80) and there are chances for unwanted packet loss due
  to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
  (even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
  extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
2000-06-30 17:55:11 +00:00
itojun
d76ae83df8 add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
2000-06-30 17:10:15 +00:00
mrg
4fa952b49a remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 07:58:50 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb
889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
fvdl
1ee7d22c0b Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC. 2000-06-22 20:27:49 +00:00
veego
223d7455c7 Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
2000-06-14 22:02:13 +00:00
soren
d8e5d1fa7d Add rnd(4) glue for the MIPS3 cycle counter. 2000-06-06 02:24:00 +00:00
matt
9169d99f2a Don't pass booted_* to findroot/getdevice, access them via the globals.
Also, make findroot static.  This eliminates unneeded clearing of them
and make their use consistent among the ports.
2000-06-01 15:38:20 +00:00
matt
c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
tsubai
7531770fa4 Insert delay() in busy wait. 2000-05-30 11:45:11 +00:00
tsubai
41a98db641 Add cpu_number(). 2000-05-30 11:42:05 +00:00
thorpej
21fc65e1a8 sleep() -> tsleep() 2000-05-27 04:52:27 +00:00
thorpej
a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
soren
b70819c71a Also share BE ldscripts. 2000-05-21 02:50:10 +00:00
thorpej
071aed40ac A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well.  This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.
2000-05-19 18:54:22 +00:00
thorpej
463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
hubertf
9f48bba3ae Add "install" target, so "make install" after building the kernel
does something useful.  The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
2000-05-09 00:56:21 +00:00
thorpej
6a33c86623 HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
2000-05-09 00:32:19 +00:00
thorpej
f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
itojun
3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
tsutsui
95dd4d0f2c Include "zstty.h" instead of "zsc.h". 2000-04-16 05:42:40 +00:00
tsutsui
8d9c5e8206 - Fix comments. (NEWS have Zilog 8530, not Intel 82530)
- Fix cdev_tty_init() arg on newsmips (NZSC -> NZSTTY)
2000-04-14 13:41:24 +00:00
tsubai
0546f6b51a Adapt cpu_intr change. 2000-04-14 10:11:06 +00:00
soren
80e6d43253 Add asm.h like other ports. 2000-03-30 21:33:30 +00:00
tsutsui
58714261cc Remove register declarations. 2000-03-30 11:37:21 +00:00
nisimura
61609b54e2 Make sure proc0 PCB has spl0 condition in CP0 status register field.
cpu_fork() mistakenly created processes forked by proc0, including
kthreads, in splhigh condition, because [1] proc0's PCB was zero
cleared during initialization, and [2] value 0 in status register
field made processes to have splhigh condition when CPU tick was
assigned for them.  This mostly doesn't matter as forked processes
dive immediately into user mode through proc_trampoline code path,
however, kthreads never do that and remain in splhigh.

Reported by Ethan Solomita <ethan@geocast.com>.
2000-03-25 10:14:13 +00:00
soren
573160e03b Revert previous. 2000-03-24 23:06:03 +00:00
soren
c535ede30b Move sysctl definitions from arch/mips to arch/foo. 2000-03-24 21:30:58 +00:00
soren
5f168212c9 Fix typo. 2000-03-24 21:25:32 +00:00
thorpej
7b918b4088 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:40:33 +00:00
onoe
ba09a212c8 renamed the variable $NEWS to $NEWSMIPS. 2000-03-22 10:39:25 +00:00
onoe
3260e7d0f6 Use $S ($NEWS) for kern.ldscript instead of relative path
so that "build" directive or -b option of config(8) works.
2000-03-22 10:22:37 +00:00
tron
e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft
9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
mycroft
02905321b2 Foolish consistency. Mainly, always use underscores and sys/endian.h. 2000-03-16 15:09:34 +00:00
oster
1bad2e1909 Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[].  Needed for / on RAID.
(Whoops!  I missed checking these in when adding the RAID_AUTOCONFIG stuff.)
2000-03-14 15:56:51 +00:00
tsutsui
d9d840d522 - Remove unnecessary prototype declaration of readdisklabel().
- Use DISKPART/DISKMINOR/DISKUNIT instead of dkpart/dkminor/dkunit.
2000-03-07 15:35:42 +00:00
thorpej
a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +00:00
tsubai
4c75cb9b65 INSTALL kernel config. 2000-03-04 19:30:17 +00:00
nisimura
3c5d39d73b Make clearer a bit how proc0's USPACE is intialized. 2000-03-03 08:36:20 +00:00
simonb
4eb55e447c Do the "<space><tab>" thing with the RAID_AUTOCONFIG option. 2000-02-29 06:32:20 +00:00
oster
d9c47013b2 Defopt 'RAID_AUTOCONFIG'. Adding 'options RAID_AUTOCONFIG' turns on
the component auto-detection and auto-configuration of RAID sets.
Also, add "#options RAID_AUTOCONFIG" to the GENERIC config files.
2000-02-26 17:35:33 +00:00
mycroft
14ef93565d Use the prefix printed before cpuattach() is called. 2000-02-19 03:59:04 +00:00
thorpej
5903e181fa Nuke NKMEMCLUSTERS. 2000-02-12 03:29:18 +00:00
cgd
7d16ac338c add __BROKEN_CONFIG_UNIT_USAGE #define, becuase these ports do very
wrong things with device configuration data "cf_unit" information.
2000-02-05 00:13:22 +00:00
tsutsui
11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +00:00
tron
04eb110431 Add "dependall" target for comfort. 2000-01-24 20:36:06 +00:00
hubertf
7e5ff67457 Add commented out "ident"-command 2000-01-23 23:46:04 +00:00
mycroft
7b49d242ce Clean up the machine symlink stuff ever so slightly. Needs to be
standardized between files.
2000-01-23 17:04:03 +00:00
tsubai
ddec291d99 Fix cf_unit usage. 2000-01-23 15:58:04 +00:00
tsubai
eda36600e0 Fix wrong usage of cf_unit. 2000-01-23 15:49:11 +00:00
tsubai
d9d54bf806 Use flags to determine PCLK rather than use unit number. 2000-01-23 15:27:43 +00:00
tsubai
83be2572a7 Don't need to declare badaddr(). 2000-01-23 14:57:10 +00:00
wrstuden
87e1b0f9b7 Add overlay to kernel configs. 2000-01-20 19:12:28 +00:00
thorpej
a0397a2573 Move callout initialization to a single location; no need to duplicate
that code all over the place.
2000-01-19 20:05:30 +00:00
tsutsui
e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
msaitoh
0b9af6bdce check whether tv_usec >= 1000000 2000-01-19 02:52:16 +00:00
thorpej
8808155fa6 Use b_cylinder as defined in sys/buf.h 2000-01-18 19:46:07 +00:00
tsubai
e362a13605 Add zs softint definition. (I forgot to commit this...) 1999-12-31 08:15:48 +00:00
tsubai
fa34872358 Use software interrupt. 1999-12-26 09:05:38 +00:00
tsubai
3a04d046b7 Fix typo. 1999-12-23 11:45:32 +00:00
kleink
11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
tsubai
a2928f3d68 Remove 2 more unnecessary debugging codes. 1999-12-23 07:06:44 +00:00
tsubai
9909053174 * Apply updates from Shimizu-san received after the initial commit.
* G/C unused.
* Many cosmetic changes.
* etc...
1999-12-23 06:52:30 +00:00
tsubai
dd30883b03 Comment out -DBOOT_DEBUG. 1999-12-23 01:41:11 +00:00
tsubai
8a56c134db Delete lines that I didn't intended to commit. 1999-12-23 01:40:06 +00:00
tsubai
1bc5465424 Remove unnecessary debugging code. (not intended to commit) 1999-12-22 08:16:45 +00:00
tsubai
70289b0f99 First cut of news5000 support.
Mostly from SHIMIZU Ryo <dejiko@di.gi.charat.org>.
1999-12-22 05:55:24 +00:00
tsubai
c594e4d0a3 news5000 support. 1999-12-22 05:54:41 +00:00
tsubai
efaa549162 First cut of news5000 support.
Mostly from SHIMIZU Ryo <dejiko@di.gi.charat.org>.
1999-12-22 05:53:21 +00:00
tsubai
3b2d2cffe1 Introduce bootinfo. 1999-12-18 08:01:25 +00:00
tsubai
4d08b56ebd Use hb_intr_establish(). 1999-12-18 06:54:05 +00:00
tsubai
3488febf81 Move dma_intr() to here. 1999-12-18 05:00:56 +00:00
tsubai
4990e1cf94 Move common objects and libraries to common/. 1999-12-17 07:40:09 +00:00
tsubai
03ff4cb4df Moved to common/romcalls.S,v 1999-12-17 07:33:21 +00:00
tsubai
0271e4c36a Moved from bootxx/romcalls.S,v 1999-12-17 07:33:20 +00:00
tsubai
be68900e77 Add interrupt level locator and use it instead of hard-coding. 1999-12-17 06:05:37 +00:00
tsubai
5577683a2b s/-G0/-G 0/ 1999-12-17 03:24:33 +00:00
tsubai
9df2e626d6 Use hb_intr_establish(). 1999-12-17 03:21:10 +00:00
tsubai
8a2b8d9a8b Implement hb_intr_establish(). 1999-12-17 03:06:13 +00:00
tsubai
8395acb6c9 Insert '\n'. 1999-12-06 06:58:30 +00:00
tsubai
d87d33754e Enable BUSERR interrupt before autoconfiguration. 1999-12-06 06:47:14 +00:00
tsubai
6cec6a5c90 Use dev/clock_subr.c. 1999-12-05 15:50:46 +00:00
ragge
0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
itojun
e9a0023b37 bring in content of GENERIC.v6 into GENERIC.
remove GENERIC.v6 file (as it is part of GENERIC now).

"faith" interface is commented out by default as it is not really for
general use.
IPsec items are commented out as well, though we can enable "options IPSEC"
without export-related issue ("options IPSEC" will enable authentication
portion only).  We may need to think about it again.

if you have problem compiling with INET6 on archs I do not have access to,
please contact me.

XXX what to do with arch/arm32/SHARK{,.v6}?
1999-11-21 14:00:37 +00:00
fvdl
8bec119fcc Add commented out option SOFTDEP to all GENERIC kernels. 1999-11-15 19:10:44 +00:00
fvdl
d116707af0 Add
prefix ../gnu/sys
cinclude "conf/files.softdep"
prefix

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
1999-11-15 19:00:25 +00:00
tsubai
90a8355d04 Support md root for INSTALL. 1999-11-10 13:33:09 +00:00
kleink
b4f0936a8c Per discussion on tech-toolchain, remove MIPS-specific <machine/elf.h> header;
all the information is available from <sys/exec_elf.h>.
1999-11-09 21:50:18 +00:00
kleink
522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
tsubai
b9d51debd3 Rearrange splxxx (from pmax). Closes PR 8445. 1999-10-17 15:06:45 +00:00
thorpej
e6c88a7686 Update for SCSIPI changes. 1999-09-30 22:59:52 +00:00
thorpej
11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
thorpej
3b01d1b872 Rename the machine-dependent autoconfiguration entry point `cpu_configure()',
and rename config_init() to configure() and call cpu_configure() from there.
1999-09-15 18:10:33 +00:00
chs
f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
mycroft
c3e1f6741d A foolish consistency. 1999-08-30 18:58:01 +00:00
mrg
f75cf1688b install ieee.h 1999-08-30 00:51:57 +00:00
mycroft
4ef547e76d Add ieee.h. 1999-08-29 18:21:20 +00:00
thorpej
2cf3330a1b Garbage-collect reference to <sys/dmap.h>. 1999-08-23 22:29:37 +00:00
thorpej
eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
augustss
a7cd454b1d It's time to be COMPAT_14. 1999-07-29 10:37:12 +00:00
cgd
f886376518 be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
1999-07-26 05:20:44 +00:00
christos
41cc9a0eb8 enable PPP_BSDCOMP, PPP_DEFLATE, PPP_FILTER, PFIL_HOOKS, IPFILTER_LOG
on the GENERIC kernels that had them commented out.
XXX: Please note, that not all the kernels have all the options defined!
1999-07-20 07:40:34 +00:00
tsubai
f2d2ad6b17 Cleanup. 1999-07-11 12:44:04 +00:00
thorpej
0945bf58b0 Add examples for including the kernel crypto bits from either crypto-us
or crypto-intl, commented out, with instructions to use only one, and
adjust the prefix as necessary.
1999-07-09 18:55:33 +00:00
mrg
ecdad0ec33 clean up a bit after jason :)
- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
  would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
  $INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
1999-07-09 09:52:55 +00:00
tsubai
1f5ca17f49 Add one more bootdev check. 1999-07-08 12:28:06 +00:00
tsubai
ceed81ce5f Forgot to add this... 1999-07-08 12:13:18 +00:00
tsubai
fcd9edb548 Don't make ECOFF kernel. 1999-07-08 11:53:35 +00:00
tsubai
7f688e8252 Add stand to SUBDIR. 1999-07-08 11:48:47 +00:00
tsubai
95faaaec9d Add NetBSD/newsmips native boot loader. 1999-07-08 11:48:03 +00:00
tsubai
e1ef4ddcb5 Define ROM monitor interfaces. 1999-07-08 11:40:24 +00:00
itojun
5effafcaa6 kernel configuration for IPv6/IPsec. should be in GENERIC in the future.
(source code will be committed soon)
1999-07-01 07:00:12 +00:00
tsubai
8d68bdec13 Make this compile. 1999-06-20 05:42:09 +00:00
thorpej
2c35c7bd03 Only declare block major numbers for devices which can be the root device. 1999-06-07 20:31:27 +00:00
thorpej
d76e7b8c6d Don't pass a nam2blk around at all; just have setroot() and friends reference
dev_name2blk[] directly.  Addresses PR #7622 (ITOH Yasufumi), although
in a different way.
1999-06-07 20:16:08 +00:00
thorpej
2580d306ab Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags.  PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that.  INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now).  This will eventually
change now these maps are locked, as well.
1999-05-26 19:16:28 +00:00
lukem
e4a87aa1a9 * convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
1999-05-20 08:21:42 +00:00
nisimura
c99765853f - Move MachSetPID(1) call to pmap_bootstrap() adajacent to kernel pmap
initialization code.
- Abandon mips_init_proc0() and do the 4 lines straightly in MD mach_init().
- Restore a block of code accidentally lost in prevous commit.
- Change the term 'tlbpid' to a MIPS3 nomenclature 'asid'.
- Hide PTE size exposures by symbolic names in locore.S
1999-05-18 01:36:51 +00:00
chs
f455dd6596 add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
1999-04-11 04:04:04 +00:00
thorpej
967b8c433c Don't call configure() from cpu_startup(). 1999-04-01 00:17:45 +00:00
soda
5cf51ff2d5 regdef.h 1999-03-30 18:38:00 +00:00
soda
45b35a036e regdef.h is back 1999-03-30 14:20:43 +00:00
wrstuden
2adccc50fa Add pps support. Only enable pps if CLOCAL & !MDMBUF. 1999-03-27 01:21:36 +00:00
mycroft
9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
tsubai
bd7d7dd1f4 <mips/db_machdep.h> --> <machine/db_machdep.h> 1999-03-26 07:07:06 +00:00
tsubai
f75ec26a42 Define DB_ELF_SYMBOLS to compile.
(currently /boot doesn't preserve symbols.)
1999-03-26 07:03:01 +00:00
thorpej
567cda0537 Don't bother allocating mb_map on these systems. Mbuf clusters are
allocated from a pool, and the MIPS and Alpha use KSEG to map pool
pages.  So, mb_map wasn't actually being used.  Saves around 4MB of
kernel virtual address space in a typical configuration.

Garbage-collect the related VM_MBUF_SIZE constant.
1999-03-26 00:15:04 +00:00
simonb
afc2e41e04 Change multiple spaces to tabs. 1999-03-25 03:34:28 +00:00
mrg
ca5f9685bb clean up kernel/config files files for machVM lossage. 1999-03-24 06:06:09 +00:00
mrg
d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
tsubai
da1be4ffd8 Fix mkdep ``cc: No input files'' error when SFILES is empty. 1999-03-15 01:55:32 +00:00
drochner
6bcfb2cd72 g/c regdef.h 1999-03-13 13:07:43 +00:00
tsubai
f7c4c841ed Don't remove .mdebug section. 1999-03-12 06:42:48 +00:00
tsubai
6662cda7a2 Use mips/ecoff_machdep.h. 1999-03-08 06:38:06 +00:00
tsubai
8b5452906b Use objcopy to convert ELF kernel to ECOFF. 1999-03-08 06:33:26 +00:00
tsubai
e717f0bc2b Use mips/varargs.h. 1999-02-17 14:13:42 +00:00
hubertf
aa4a217d1c RCS ID police 1999-02-15 04:36:33 +00:00
hubertf
100778d54a RCS ID police 1999-02-15 04:25:28 +00:00
tsubai
31101d57ec Add missing backslash. 1999-02-12 18:13:12 +00:00
mycroft
2a304686e6 Minor cleanup.
Make the initializer for BAUDLO depend on PCLK directly; it was incorrect on
some ports where PCLK is not 4.9152MHz.
XXX Is the default value actually used?
1999-02-11 15:28:03 +00:00
tv
e07978e871 Split the "mips" MACHINE_ARCH for 1.4. newsmips is "mipseb"; pmax is
"mipsel".
1999-02-09 17:15:51 +00:00
mycroft
be1af660c0 Don't set DCD_IE in the frontends. KGDB doesn't even use DCD, and the tty
frontends get it from zsparam() anyway.
1999-02-03 20:25:05 +00:00
nisimura
52bd8c333b - Nuke USPACE for now-defunct 'nullproc' pcb (8KB saving). 1999-02-01 00:32:18 +00:00
castor
d0ca7993a0 Remove genpubasym.cf stuff 1999-01-31 01:01:12 +00:00
mycroft
3e6e3322d8 Format consistency. 1999-01-24 12:56:51 +00:00
mycroft
56934caa9d Use mips/stdarg.h. 1999-01-22 14:13:10 +00:00
nisimura
358a8c3092 - Add two macros to deal with a recent change in mips/trap.c. 1999-01-16 08:26:24 +00:00
thorpej
8922647c58 Some minor, mostly costmetic, changes to CPPFLAGS/CFLAGS. 1999-01-15 23:37:05 +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
castor
45a22daf10 allow generated kernel includes and support mips pubassym.cf mechanism 1999-01-15 10:57:36 +00:00
castor
c729b2ffeb add support for locore_mips[13].S 1999-01-15 10:33:11 +00:00
thorpej
e598335d1c Garbage-collect `mbutl'. 1999-01-09 22:10:12 +00:00
augustss
fc5f9ee81d Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C. 1999-01-08 19:26:12 +00:00
tsubai
468355c5f0 Make configurable with no frame buffer. 1998-12-26 00:53:49 +00:00
mjacob
74bc9f26d5 Update HBAs to incorporate the new max_lun property. 1998-12-05 19:43:33 +00:00
hwr
59acb69be1 Add (commented out) 'gre' pseudo device line. Feedback is welcome.
Inspired by Klaus Klein.
1998-11-25 20:30:44 +00:00
tsubai
13a8c73bb6 Flush write buffer in ZS_DELAY(). 1998-11-21 14:57:59 +00:00
thorpej
5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +00:00
oster
cf5710c839 Added a (commented out) configuration line for the RAIDframe device driver. 1998-11-16 16:44:55 +00:00
tsubai
b3e8f6e5fe Enable UVM by default. 1998-11-16 12:21:30 +00:00
oster
c74d32c5fc Updating of bdev's and cdev's to support RAIDframe. 1998-11-13 04:47:03 +00:00
drochner
2468738337 change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
 the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
 (for now; should depend on actual "option LKM" or -better- functions
 included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
 by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
thorpej
908cdfe4e3 Add scsibus entry points to the cdevsw[]. 1998-10-10 02:00:49 +00:00
thorpej
29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
thorpej
d681cf055a configure() prototype is in <sys/device.h> 1998-10-06 20:50:15 +00:00