Commit Graph

262 Commits

Author SHA1 Message Date
nisimura c65b8a8ceb Nuke unused obscure #define's. 2000-09-13 05:23:37 +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 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
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
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
matt 8b48fb7c45 This file now lives is sys/dev/dec. 2000-06-16 23:28:52 +00:00
matt 1881f3c3d2 Make this compilable on other than pmax. 2000-06-11 23:28:38 +00:00
soren d8e5d1fa7d Add rnd(4) glue for the MIPS3 cycle counter. 2000-06-06 02:24:00 +00:00
nisimura 8c8d3119f0 Make sure model specific cpu_intr() routines call _splset() as the last
action.
2000-06-06 00:08:24 +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
nisimura d8fe118608 - Remove three unused contants; KERNBASE, KERNTEXTOFF and BTOPKERNBASE.
- Protect #include <machine/intr.h> inclusion with #ifdef _KERNEL.
- Correct the case when "opt_gateway.h" is refered.
2000-05-06 05:55:09 +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
drochner 13c9f8d398 implement bus_space_vaddr() 2000-04-17 17:24:48 +00:00
nisimura 3dd5742b63 Change to have cpu_intr() peculiar to DECstations; have ssir global
variable and cpu_intr() body in machdep.c.  Reorder and rename
model specific interrupt handler arguments.  Fixup machine/intr.h and
machine/cpu.h appropriately.
2000-04-11 02:43:51 +00:00
soda 1c5551f260 splsoftnet() should block softclock() too. 2000-04-03 11:44:19 +00:00
soren 80e6d43253 Add asm.h like other ports. 2000-03-30 21:33:30 +00:00
simonb bf851ea6cb Nuke register. 2000-03-30 14:45:04 +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
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
nisimura 4c043eb094 Arrange 'vmstat -i' to show 'optslotN'; for interrupt counts of TC slot N
as well as DECsystem 5100 optional serial card slot N.
2000-03-10 01:31:22 +00:00
mhitch 7f9b4522d1 A common device_register() is used instead of a separate version for each
of the different DECstation models.
2000-03-06 03:11:43 +00:00
mhitch 0993165c93 Define __HAVE_DEVICE_REGISTER, since pmax now has device_register(). 2000-03-06 03:11:05 +00:00
nisimura 582e9de235 - Have SYS_DEV_xxx device cookie symbols to select and install proper
interrupt handlers into intrtab[] array, rather than the idea of devices
  in 'psuedo' TURBOchannel slots.
- Nuke symbols for psuedo TC slots.
- Abandon never/unlikely used intr_disestablish()s.
2000-02-29 04:41:47 +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
nisimura 3aaeaf7331 - Massive change of console initialization. Have each model its own
consinit().
- Fix fbconnect() and relatives; 'struct fbinfo' is initialized only once,
  making sure no extraneous console resolution message is emitted.
2000-02-03 04:09:01 +00:00
drochner 8eb798e603 define a "BUS_SPACE_MAP_PREFETCHABLE" flag which basically means that
device accesses are idempotent (but should not be cached by the CPU)
2000-01-25 22:13:17 +00:00
simonb bdf420bdbf Redo interrupt establishment, based in part on work on the
[nisimura-pmax-wscons] branch and suggestions from Toru Nisimura:
 - Remove bogus tc_slot_info[] name for interrupt handling array
   and replace with simplified struct intrhand  intrtab[] array.
 - Add intr_establish() and intr_disestablish() function pointers
   to struct platform and initialise this in each model-specific
   initialisation, and remove global tc_enable_interrupt function
   pointer.
 - Remove model-specific function declarations from ibus/ibusvar.h.
This is functionally identical to the current scheme, and doesn't
yet try to commonise interrupt establishment by bus type as the
[nisimura-pmax-wscons] branch does.

Also, move cpuspeed variable from autoconf.c to machdep.c
2000-01-14 13:45:21 +00:00
ad a4fe338bf5 Fix thinko in comment. 2000-01-11 20:36:17 +00:00
simonb 0e7337b60e Remove defines for VM_PHYSSEG_STRAT and VM_PHYSSEG_NOADD - these are
already in mips/include/vmparam.h.  Now things work again (yo Andy!).
2000-01-09 20:09:43 +00:00
ad 838b5e08c9 - Fix RCS Ids.
- Spacing.
- Protect from multiple inclusion in a consistant way (except on headers
  that do nothing except function as mips header wrappers).
2000-01-09 15:34:41 +00:00
ad e37d8a4671 This is just a wrapper, nuke comment so it's like the others. 2000-01-09 15:12:31 +00:00
ad 010a8f8cb1 - Protect from multiple includes.
- Fix and beef up comments.
- G/C unused def.
2000-01-09 14:28:54 +00:00
simonb 24ddcc3162 Use the badaddr() prototype in mips/include/cpu.h by including
<machine/cpu.h> in mips/include/mips_param.h.  Remove duplicate
badaddr() prototypes from some pmax header files.
2000-01-09 13:24:14 +00:00
simonb 636b65bec8 The clean-up continues:
- Make local-only function and variables static.
 - Move function prototypes and extern variable declarations to
   header files.
 - Delete unused variables.
There's still a handful of extern declaraions that should be fixed up.
2000-01-09 03:55:28 +00:00
simonb ee075b7de7 Function prototype cleanup. 2000-01-08 01:02:35 +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
simonb 77aea66917 Use "u_char *" instead of "caddr_t" for all colormap references. In line
with recent MI rasops changes, and fixes compile problems with -current.
1999-12-09 00:16:14 +00:00
simonb 3b874faeb3 Add newline to last line of file. 1999-12-08 04:12:15 +00:00
ragge 0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
simonb fbbde1126e Remove NUMBOOT define - disklabel doesn't install bootblocks anymore. 1999-11-27 01:58:37 +00:00
simonb db783e76e8 Use explicitly sized types for entities that exist on disk.
Use alpha-like defines for boot block offset on disk and boot block size.
1999-11-27 01:51:20 +00:00
simonb 353ca54019 Move memory sizing to a new function memsize_scan(), and add an empty
stub for memsize_bitmap() to use the PROM bitmap for memory information.
Add a memsize function pointer to the platform structure, and make all
existing DECstation models use memsize_scan() for now.

Interestingly, from the Ultrix cpuconf.{c,h} only the 3100 and 5400 use
a memory scan to determine available memory - all other models use the
PROM bitmap...
1999-11-25 01:40:22 +00:00
nisimura 7917bfc69d Back out a part of change in the previous commit; old driver uses it. 1999-11-16 02:48:24 +00:00
nisimura fb43e6e177 Remove now defunct definitions and declaratins. 1999-11-16 02:34:30 +00:00
nisimura 0310fa6595 Very large scale change to sweep obstracles to remove 3MAX IOASIC disguise.
- Rework ibus device configuration and interrupt handler assignment.
- Remove TC device exposure in 'mainbus.c'
- Squash 'ibus_{3100,5100}.c' into a file; it can not cope with 3max.
- 'struct confargs' -> 'struct mainbus_attach_args'
Now about to remove tc_slot_info[] and tc_enable_interrupt inherited from
4.4BSD.
1999-11-15 09:50:17 +00:00
nisimura 91fd021893 - Arrange 'platform' struct to have clkread entry, which can interporate
HZ using high resolution timer circuit if available.  Merge os_init
  into the primary hardware initialization in sysinit[].init.
- Nuke an irrelevant attempt to disable RTC under splhigh condition.
- Make sure IOASIC DECstations accumulate device interrupt mask bits into
  certain global variables.
- Have witchcrafts to issue ACK to RTC interrupt.
- Add a missing \n and a minor rearrangement in cpu.c
1999-11-12 09:55:37 +00:00