Commit Graph

236 Commits

Author SHA1 Message Date
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
lukem 723cd818d8 move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
2001-03-21 22:25:52 +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
soren 427b112ded LKMs don't work on MIPS yet anyway, so disable it for now. 2001-02-16 19:48:05 +00:00
soren 87ba37da21 Nuke. 2001-02-16 19:47:36 +00:00
tsutsui de70ac347a db_machine_init() is no longer needed.
From Shigeji Ishikawa <psybear@ogre.rim.or.jp> in port-cobalt/12123.
2001-02-05 13:18:28 +00:00
tsutsui 869fdfbf12 Fix typo on pci_intr_map() changes.
Reported by Shigeji Ishikawa <psybear@ogre.rim.or.jp> in port-cobalt/12121.
2001-02-05 13:14:21 +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
martin a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +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
martin 5d0c67c603 When adding isdn devices I forgot to check chrtoblktbl.
Fix this know for the affected archs.
2001-01-09 20:51:04 +00:00
martin f53c899649 Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
2001-01-08 21:46:33 +00:00
sommerfeld 851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
bouyer c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
matt dc80dfbf5d Use shared Makefile.mips 2000-12-03 07:59:47 +00:00
matt 825cb46de5 Revert back to a machinearch (really cputype) of mips. Put ENDIAN back. 2000-12-03 07:05:21 +00:00
soren 66864e1f05 Removed increased BUFCACHE/BUFPAGES. 2000-11-27 08:55:41 +00:00
soren 38a44e0d8f Consistently use pmap_steal_memory() to allocate USPACE. 2000-11-27 05:57:25 +00:00
ad 57ea462da2 lsu -> ld, by popular request. 2000-11-26 17:44:02 +00:00
soren d1b07f4fee Same as sys/dev/md_root.c. 2000-11-21 00:17:08 +00:00
soren 36ae7c2b02 Use dev/md_root.c. 2000-11-21 00:16:33 +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
ad e6be92ad99 Pull in dev/i2o/files.i2o. 2000-11-08 19:48:51 +00:00
ad c5e192cd50 Add `major' for lsu. 2000-10-23 11:32:30 +00:00
ad f0049a2ac4 ca -> lsu 2000-10-20 12:04:02 +00:00
cgd 59706f1322 clean up and consistency for CP0 Count, Compare, Wired, and Config
access function names and prototypes.
2000-10-05 02:36:44 +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
jdolecek 49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +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
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
jeffs 1dfa0ec96d Use cpu_intr() definition from mips/cpu.h instead of local one. 2000-07-14 18:35:38 +00:00
soren e527d66d55 Fix mem_no. Pointed out by cgd. 2000-07-13 18:10:38 +00:00
cgd ca051b5fb3 fix some obvious paste errors in 'uk' cdev inits 2000-07-13 17:40:34 +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
soren b4225fd0d4 Fix tags directory list. 2000-06-28 09:47:55 +00:00
soren 7fa690304f Drop kernfs. 2000-06-28 09:45:01 +00:00
soren 5d381873f9 Whitespace. 2000-06-28 09:40:59 +00:00
soren d6295e3d35 Don't include <vm/vm.h>. 2000-06-27 18:10:04 +00:00
soren 68a8d88edc Shrink a little again to avoid firmware limits. 2000-06-27 08:34:02 +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
soren 6cf4b35f71 s/installboot/installkernel/, so it won't be confused with a real installboot. 2000-06-20 00:24:03 +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 8da77e0dfb Reenable hard interrupts before processing soft interrupts. 2000-06-14 16:40:58 +00:00
soren 476374bf63 Fix unused device declaration. 2000-06-06 18:00:57 +00:00
soren e060a1c021 Fix pasto. 2000-06-06 18:00:23 +00:00
soren fbfc073a95 findroot() is static. 2000-06-06 18:00:13 +00:00
soren d8e5d1fa7d Add rnd(4) glue for the MIPS3 cycle counter. 2000-06-06 02:24:00 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
cgd 0b270a9dfb booted_partition, not booted_parition... 2000-06-02 22:09:02 +00:00
matt 33763f10cf Fix a missing cases of devpp -> booted_device, partp -> booted_parition 2000-06-01 17:42:59 +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
soren 83887f5ad9 Add stand SUBDIR. 2000-06-01 15:20:12 +00:00
soren 2e62480619 Up the compression factor slightly. 2000-06-01 14:33:43 +00:00
soren 0c99ca516f Further cripple the GENERIC configuration. It seems that the firmware
limits are 1000000/2500000 bytes compressed/uncompressed. Sigh.
A boot loader would be nice.
2000-06-01 14:31:26 +00:00
soren 4796114fef Add ext2fs. 2000-06-01 14:21:44 +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
soren e3ee997813 Different form of PCI bug workaround. Should make 2700 system work. 2000-05-29 15:45:15 +00:00
soren 6641d91d94 No Linux compat yet, but Ultrix works. 2000-05-29 15:44:22 +00:00
soren da59451c97 Identify system controller model. 2000-05-29 15:43:50 +00:00
soren ba3a485962 Static poisoning. 2000-05-29 15:43:32 +00:00
soren 66f14d2965 Whitespace. 2000-05-29 15:42:47 +00:00
soren 4a6fea14b4 Correct ones, even. 2000-05-27 03:53:11 +00:00
soren c77afc79a4 Forgot to define sd and cd majors. 2000-05-27 03:52:26 +00:00
soren 96a81498cf Remove stacktrace() prototype. 2000-05-27 02:16:25 +00:00
soren 355d1234b9 The datap argument to the write_{multi,region} calls is const. 2000-05-27 02:15:01 +00:00
soren 92a32ad9b2 Protect against multiple inclusion. 2000-05-27 02:14:22 +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 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
augustss 3a6e3a4670 Add (sometimes commented out) MIIVERBOSE option. 2000-05-08 13:49:44 +00:00
soren ee733492dd Add licenses. 2000-05-05 03:27:22 +00:00
soren 95f3c9498d MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV are deprecated. 2000-05-05 03:18:25 +00:00
soren 1e0aa36da8 ECOFF hook is in arch/mips. 2000-04-29 21:47:59 +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
soren 9c2835a1c4 Make sure to read the clock before we leave the 'cold' state. 2000-04-28 19:58:04 +00:00
soren 78a464a74d Add microtime(). 2000-04-28 17:23:40 +00:00
soren 99e6adf31e Adapt to cpu_intr() change. 2000-04-28 15:55:51 +00:00
ad ab2d7be096 Add missing cdevsw and chrtoblktbl entries. 2000-04-28 13:28:42 +00:00
soren 88bf41a16e Use siop(4). 2000-04-27 10:52:43 +00:00
groo 3a77b18fd7 name change; rl -> rtk. Still commented out. 2000-04-22 21:03:27 +00:00
itojun 3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
soda c56a43535d remove following symbols which became unnecessary in recent cpu_intr() change:
mips_hardware_intr
	MIPS3_INTERNAL_TIMER_INTERRUPT
	mips3_intr_cycle_count
	mips3_timer_delta
2000-04-15 22:05:51 +00:00
nisimura cce3288e2f Backout the previous change; safepri is an evil idea after all. 2000-04-12 04:30:35 +00:00
nisimura a889c809fd MIPS1_PSL_LOWIPL -> PSL_LOWPSL. No functional change is expected. 2000-04-12 02:01:07 +00:00
soren ea5325726d Be a little more careful parsing boot parameters. 2000-04-09 00:13:54 +00:00
soren 579f97d5c5 The interrupt line registers for the devices wired directly to the CPU
are not meaningfull. Instead match them by {bus,device,pin}.
2000-04-09 00:13:27 +00:00
soren 43a7ae04c9 Disabling PCI Memory Read Multiple improves Tulip transmit performance 30%. 2000-04-09 00:11:51 +00:00
soda 1c5551f260 splsoftnet() should block softclock() too. 2000-04-03 11:44:19 +00:00
soren 076e3ffa1c Update. 2000-04-03 00:20:11 +00:00
soren 0551ccb4d4 Typo. 2000-03-31 15:00:49 +00:00
soren 278498c05f Some cleanups. 2000-03-31 14:51:49 +00:00
soren fab7d466f3 Add little to-do list. 2000-03-30 22:14:17 +00:00
soren 70abbd3c24 Crude kernel installer. 2000-03-30 21:46:16 +00:00
soren 80e6d43253 Add asm.h like other ports. 2000-03-30 21:33:30 +00:00
soren 471a03f8f6 Remove local hack. 2000-03-30 20:08:37 +00:00
soren 712cb103ff Customary GENERIC configuration.
Unfortunately, the Cobalt firmware seems to fail loading kernels larger
than about 2.5 megs before compression, so without a boot loader, this
is a rather amputated GENERIC.
2000-03-30 20:01:02 +00:00
nisimura 0076cd46eb - Nuke unnecessary cast.
- Change comments on cpu_startup() so as what it does (XXX found mostly
  common across ports).
- Retain UNIX heritage of /* Good {morning,afternoon,evening,night} */.
2000-03-27 01:51:17 +00:00
nisimura 795ee9db8e Remove unnecessary bzero() op for proc0's USPACE as pmap_steal_memory()
returns a nullified area.
2000-03-27 01:24:55 +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 b2386045f0 Protect against multiple inclusion. 2000-03-24 20:16:27 +00:00
soren 0a40850f62 Let's try NCR_IOMAPPED. 2000-03-24 13:08:30 +00:00
nisimura 608ce86497 - Have physical address for MIPS_PHYS_TO_KSEG1() macro.
- Make consistent function declarations.
- White spaces.
2000-03-23 08:09:54 +00:00
soren f3ca63ef9e Note that this is just for compatibility. 2000-03-22 21:15:59 +00:00
soren 5be5f12199 The firmware uses the clock in BCD mode. 2000-03-22 20:38:22 +00:00
soren 793382b291 Revert to the same scheme as the other MBR-using ports. 2000-03-22 20:38:05 +00:00
cgd 7c35662066 add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE. 2000-03-22 00:58:16 +00:00
soren 826e64bd17 Add math.h. 2000-03-21 02:48:17 +00:00
soren 7db0d53d01 Add math.h. 2000-03-21 02:30:42 +00:00
soren 28fba2d433 Blocking soft interrupts can be useful.. 2000-03-21 02:27:50 +00:00
soren 82f0c9bf4a Add bounds_check_with_label(). 2000-03-21 02:26:48 +00:00
soren b124a5ec8d Extend the evil interrupt kludge to the second ethernet. 2000-03-21 01:05:53 +00:00
soren d71e4cbde1 Use correct MACHINE_ARCH. 2000-03-20 12:26:11 +00:00
soren 4c547143d4 NetBSD/cobalt. Work-in-progress. 2000-03-19 23:07:43 +00:00