Commit Graph

201 Commits

Author SHA1 Message Date
tsutsui 0f2df04d95 Add "-e start" to LDFLAGS for ELF toolchain. 2001-03-04 16:15:50 +00:00
tsutsui 1dff14e5c9 Include files.aoutm68k for COMPAT_AOUT_M68K. 2001-03-04 16:14:21 +00:00
tsutsui 956f5fbe42 Add one missed register prefix. 2001-03-03 13:59:10 +00:00
tsutsui 7b88ea28ab Remove unneeded COMPAT_HPUX stuff. 2001-02-25 13:33:54 +00:00
tsutsui 4cd9aa3b6c Sync with x68k:
Use m68k_page_offset and m68k_trunc_page macros,
 instead of using PGOFSET directly.
2001-02-25 13:28:31 +00:00
tsutsui e3180dc477 Enable options NFS_V2_ONLY and VNODE_OP_NOINLINE. 2001-02-18 05:24:43 +00:00
tsutsui 47ac3d6b45 include sunos_exec.h to declare emul_sunos. 2001-02-17 18:34:57 +00:00
tsutsui 69e6648be8 Remove phys_map declaration, which is in <uvm/uvm_extern.h> 2001-02-17 18:29:55 +00:00
tsutsui f5d8c46be6 Remove unused fb stuff. 2001-02-17 18:21:03 +00:00
tsutsui 96c8c181ee Fix some nested extern declarations. 2001-02-17 18:15:18 +00:00
tsutsui 677243711e Add a version file and print version strings generated by newvers_stand.sh. 2001-01-30 14:29:47 +00:00
tsutsui 9af4874133 Umm, fix botch in the previous;
include bsd.own.mk at the top, and include bsd.prog.mk at the bottom.
2001-01-30 14:21:49 +00:00
tsutsui 75e4c0c1be - bzero() -> memset()
- Remove unneeded includes
- WARNSfy
2001-01-30 14:11:00 +00:00
tsutsui 85e5565f13 Remove (unused) -DBOOT_DEBUG. 2001-01-30 12:48:34 +00:00
tsutsui 2b258b5e2b Include bsd.prog.mk at the top to pull in ${PRINTOBJDIR}. 2001-01-30 12:42:43 +00:00
tsutsui 08f4daf2ce Add drivers for keyboard and mouse.
(but no working framebuffer yet..)
2001-01-25 14:33:28 +00:00
tsutsui ec63f6df14 Use MI loadfile() in loadprotoblocks(). 2001-01-23 11:30:54 +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 a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +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
tsutsui f9de1a4a50 Handle ELF case on calling ddb_init().
XXX should use bootinfo to pass symbol addresses.
2001-01-12 17:17:49 +00:00
tsutsui aafbe31f11 Enable ELF symbol support to migrate. DB_AOUT_SYMBOLS is still defined. 2001-01-12 17:11:50 +00:00
tsutsui 26d5ada2c0 Remove hp300 derived "last kernel PT page" stuff. (sync with luna68k/x68k) 2001-01-12 16:19:18 +00:00
tsutsui f68bcbc806 Use ${PRINTOBJDIR}. 2001-01-07 08:38:01 +00:00
jhawk be1e7e391c Spell "physical" correctly in comment. 2000-12-24 07:13:36 +00:00
jdolecek de31133f1d split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.

XXX I wish m68k ports would share trap.c
2000-12-23 09:35:51 +00:00
scw 4350a7f2b7 Unification of the m68k syscall() function. 2000-12-19 21:09:54 +00:00
bouyer c71f40d166 Add pseudo-device vlan 2000-12-19 10:42:02 +00:00
jdolecek cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
jdolecek ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00
tsutsui e89ff0051b Add some ELF stuff. (not tested)
XXX should use MI loadfile(). (see sparc)
2000-12-03 03:35:40 +00:00
tsutsui b00d07faa9 Enable LOAD_HDR and COUNT_HDR. (would be required on ELF) 2000-12-03 02:56:25 +00:00
tsutsui a8fdbdec1c Remove unused pcbb() macro. 2000-12-01 17:57:43 +00:00
tsutsui 7dc077e6f5 Change UPAGES from 3 to 2. (sync with hp300) 2000-11-29 12:32:06 +00:00
jdolecek 17a9fd0da5 split m68k SunOS and SVR4-specific sigcode.s code to sunos_sigcode.s
and svr4_sigcode.s respectively
adjust individual m68k port's locore.s to include new sigcode files if
appropriate
2000-11-26 11:47:23 +00:00
tsutsui add41a3fee Make sure to return PROM prompt even if loading kernel fails halfway. 2000-11-25 04:42:06 +00:00
tsutsui 6d8f55d932 Use single_inst_b{set,clr}_b() macro defined in m68k/asm_single.h. 2000-11-24 14:08:14 +00:00
tsutsui 5ed7dadbfb Enable rnd and comment out CD9660. (no SCSI support on news1200 yet) 2000-11-24 13:05:31 +00:00
tsutsui be69cb38ee Add/enable COMPAT_SUNOS. It actually works on news68k. 2000-11-24 12:58:17 +00:00
tsutsui 161004f8c3 s/struct const sysent/const struct sysent/
(BTW, luna68k was missed in emul/execsw changes?)
2000-11-21 23:19:42 +00:00
tsutsui 2c7e91a09e Define proper macros for FP frame offsets rather than magic numbers. 2000-11-21 13:54:13 +00:00
jdolecek baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +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
tsutsui ed94d05b50 Clear %fp to terminate backtrace on gdb. 2000-11-18 20:46:28 +00:00
thorpej 091d40d586 We use 4K pages on the news68k. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:23:07 +00:00
tsutsui 96deb0588d Reduce NKMEMPAGES_MIN_DEFAULT. 2000-11-11 09:05:09 +00:00
tsutsui 487ec97958 Make it possible to enable/disable DC_BE and IC_BE bits in %cacr at runtime
and enable them on news1200/1400/1500 (which have no L2cache).
2000-11-09 14:17:19 +00:00
tsutsui 42c617c5c6 Oops, fix botch in previous. 2000-11-09 13:32:06 +00:00
tsutsui 25c36dbbbf Remove an unneeded include. 2000-11-08 14:37:08 +00:00
tsutsui f1403ed3e2 Protect netisr by splnet(). 2000-11-06 16:54:28 +00:00
tsutsui 3d26e06673 - Initialize zs chip in zscninit() so that kernel can use
serial console even if the PROM uses bitmap console.
- Remove zs_hwflags since news68k does not have keyboard nor mouse at zs;
  check zschan address set in zscninit() to detect console device.
- Use BPS_TO_TCONST() to set baudrate in zs_init_reg[].
- Remove zs_get_chan_addr(), which is not needed anymore.
2000-10-14 16:45:49 +00:00
tsutsui 230e4ff333 Clarify some intrnames. 2000-10-14 16:23:33 +00:00
tsutsui 1b5ed35b7a Re-enable tt0 register temporary to map I/O space.
(for framebuffer support)
2000-10-14 07:19:24 +00:00
tsutsui fbc8920b4b variable clock_attached is not needed. 2000-10-05 21:20:48 +00:00
tsutsui bc0aec12fa Make leds_intr() __inline. 2000-10-05 19:04:59 +00:00
tsutsui 911552b39a pasto (s/mips/m68k/) 2000-10-05 18:21:10 +00:00
tsutsui 39787038e9 Switch to MI mk48txx driver.
XXX All config files should be updated since now clock address does not
XXX contain clock register offset in NVRAM.
2000-10-04 16:35:43 +00:00
tsutsui 3f1232147d Initial bus_space(9) support for news68k. From hp300. 2000-10-04 16:26:43 +00:00
tsutsui 2f6ed1a331 Reorganize news68k clock device configuration and
prepare to switch to MI mk48txx driver.

XXX news68k does not have bus_space(9) support yet.
2000-10-03 13:49:24 +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
tsutsui c29947d800 Switch to MI md_root.c. 2000-10-02 15:24:09 +00:00
itohy c2672f184b Fix the type of pmap_zero_page_uncached from void (paddr_t) to
boolean_t (paddr_t) to make it compile again.
2000-09-28 03:41:50 +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 b008f5f25a Make PMAP_PAGEIDLEZERO() return a boolean value. FALSE indidcates
that the page being zero'd was not completed and that page zeroing
should be aborted.  This may be used by machine-dependent code doing
slow page access to reduce the latency of running a process that has
become runnable while in the middle of doing a slow page zero.
2000-09-21 17:46:04 +00:00
tsutsui 6c7e1613e0 Add uvm_pageidlezero support. From x68k. 2000-09-15 17:15:05 +00:00
tsutsui 74662105ab netintr() is now declared in isr.h. 2000-09-15 15:55:10 +00:00
tsutsui f528673cf3 Add prototype declaration of netintr(). 2000-09-15 15:52:15 +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
tsutsui ed45ef52e2 Disable KERNFS. 2000-09-13 13:52:21 +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 a86d1f4891 Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it).  Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
2000-08-20 21:50:06 +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
mason 4a353b5330 Moving to a default of 64 PTYs. 2000-07-27 17:53:35 +00:00
cgd a5c13f9ad4 Kwality control:
* put #includes of opt headers and headers to get protos used by
  net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
  in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
  local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
  netisr_dispatch.h (pc532) to use it.
2000-07-02 04:40:33 +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
mrg e185413725 remove redudant <vm/pmap.h> includes. <vm/pmap.h> -> <uvm/uvm_pmap.h> 2000-06-27 04:18:48 +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 a9aa2abf94 defopt SYSCALL_DEBUG. 2000-06-06 18:52:30 +00:00
jhawk c063b64a2b Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
2000-06-05 23:44:55 +00:00
cgd 0b270a9dfb booted_partition, not booted_parition... 2000-06-02 22:09:02 +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
thorpej 8871d8563a Add a comment on single-processor systems about p_cpu being initialized
by fork1().
2000-05-31 05:06:43 +00:00
thorpej e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
sommerfeld 40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +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
thorpej 8964c35eca Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor.  Test against SONPROC as appropriate rather than
combinations of SRUN and curproc.  Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
2000-05-26 00:36:42 +00:00
thorpej 1140468205 Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
2000-05-24 16:48:33 +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
minoura 6943d5dd19 defopt FPSP. 2000-05-14 14:13:53 +00:00