Commit Graph

420 Commits

Author SHA1 Message Date
tsutsui 944f772de9 options<space><tab> 2005-01-05 09:01:24 +00:00
tsutsui 91c61919b2 - Make some local functions static.
- Remove unused prototype declarations.
2005-01-01 04:54:29 +00:00
tsutsui 25c45d8b5f Now ctrl_led is set in locore.s so remove it from machdep.c. 2004-12-16 12:14:51 +00:00
tsutsui b3da46dc10 - Use macro for CTRL_POWER port
- Store machine dependent CTRL_LED address in ctrl_led
- Fix LED debug functions to use stored MD values

Actually I only used these debug routines at the very early porting stage
before I got working kernel printf. Heh.

XXX: news1200 has not been tested for many years.
2004-12-15 17:30:46 +00:00
tsutsui 62724bfcae Add definitions for ports CTRL_POWER and CTRL_LED. 2004-12-15 17:22:11 +00:00
tsutsui 7c2dd89551 Backout previous because:
- we should fix genassym.sh to generate proper unsigned values rather than
  remove use of such values in each source
- 0xe0dc0000 is port to control LED so INTIOBASE1700_OFF is not proper name
- these LED debug code didn't work on news1200 and it should be fixed anyway
2004-12-15 14:03:52 +00:00
jmc 11ea356c3f Convert expression for (0xe0dc0000-INTIOBASE1700) directly within a cpp
macro as otherwise gas gets handed an X - -Y expression and w 2.15 it won't
treat that as a valid expression
2004-12-15 04:56:13 +00:00
tsutsui 29ec4fefaa news68k/locore.s directly includes <machine/trap.h> and
m68k/copy.s directly includes <sys/errno.h>,
so remove definitions for them from assym.h.
2004-12-12 10:26:36 +00:00
tsutsui 3725e9832e u_intXX_t -> uintXX_t 2004-12-11 03:32:27 +00:00
christos f65821a933 Remove copy of empty function. 2004-11-14 19:09:01 +00:00
christos 10f45207fd Use shared file. 2004-11-14 19:08:13 +00:00
christos 30fc143afa Add COMPAT_BSDPTY to the rest of the config files. 2004-11-10 17:54:02 +00:00
thorpej dc2f2fbe74 Centralize the declaration of booted_device and booted_partition. 2004-10-23 17:07:37 +00:00
yamt a47bee9f77 don't expose cpu_info to userland. 2004-09-26 21:44:26 +00:00
yamt d2fe4b34bb move some per-cpu data definitions to MI place so that they can be modified
without touching all ports.  discussed on tech-kern@.
2004-09-22 11:32:02 +00:00
jdolecek 3ea04717bf do not include "compat/aout/files.aout", COMPAT_AOUT is soon to be removed 2004-09-14 16:51:57 +00:00
manu 6e3c639957 IPv4 PIM support, based on a submission from Pavlin Radoslavov posted on
tech-net@
2004-09-04 23:29:44 +00:00
tsutsui 52b46dcf6f - Use ANSI function declarations and make some functions static.
- Some KNF
2004-09-04 13:43:11 +00:00
tsutsui 378871cd27 Include ioconf.h to declare struct cfdriver. 2004-09-04 11:28:32 +00:00
jdolecek 64969161df use uvm_grow() to update stack segment size on stack page fault instead
of MD code
2004-08-28 17:53:00 +00:00
tsutsui e6be65a968 Adapt to NCR5380_USE_BUS_SPACE. 2004-08-13 12:54:44 +00:00
tsutsui 7bd44baa54 Sync some entries with GENERIC. 2004-07-18 05:54:43 +00:00
tsutsui 07d4821916 Add options COMPAT_20. 2004-07-18 05:41:51 +00:00
atatat f68a9f1ff2 Add "options SYSCTL_INCLUDE_DESCR" to a lot of configs, but commented
out in most of them.
2004-07-15 03:53:44 +00:00
bouyer 21e9a36edc Add options P1003_1B_SEMAPHORE
to all GENERIC-like kernel config files where SYSV* options were already
present (commented out if the SYSV* options are commented out).
Fix lib/25897 and lib/25898.
2004-06-28 21:07:47 +00:00
abs bd8eb3b5ed Add (commented out) ALTQ options to all GENERIC-like files 2004-06-26 07:32:05 +00:00
itojun 596aec9a47 have pf and pflog pseudo-device (commented out).
reviewed by matt, perry, christos
2004-06-22 14:09:49 +00:00
christos c22e4ed8cd ptm is now mandatory, depends on pty, and can be disabled with -DNO_DEV_PTM 2004-06-18 15:02:29 +00:00
christos 0399e839cf Add pseudo-device ptm on all the generic flavored kernels. 2004-06-16 15:07:39 +00:00
thorpej e33c2bb5d5 Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
2004-06-04 04:45:49 +00:00
kleink 7b3b647647 Factor out W{CHAR,INT}_{MAX,MIN} into their own header file. 2004-05-08 21:51:47 +00:00
atatat 19af35fd0d Tango on sysctl_createv() and flags. The flags have all been renamed,
and sysctl_createv() now uses more arguments.
2004-03-24 15:34:46 +00:00
cl ea5ec0212d add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
  * VP id
  * lock on VP data
  * LWP on VP
  * recently blocked LWP on VP
  * queue of LWPs woken which ran on this VP before sleep
  * faultaddr
  * LWP cache for upcalls
  * upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP
2004-03-14 01:08:47 +00:00
nathanw 797c90374e Centralize identical copies of proc_trampoline code.
(lots more opportunites here for the bored hacker, such as rei and trap0...)
2004-03-04 19:53:44 +00:00
wiz d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
jdolecek 089abdad44 Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-04 11:33:29 +00:00
pk 70f20a1217 Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes).  It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms.  Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
2003-12-30 12:33:13 +00:00
jmc c594ed376d Needs a .WAIT before doing boot/bootxx 2003-12-12 15:57:32 +00:00
jmc 695a2a2f9f Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
2003-12-10 02:04:00 +00:00
atatat 13f8d2ce5f Dynamic sysctl.
Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al.  Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded.  Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment.  I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.
2003-12-04 19:38:21 +00:00
tsutsui 3fb3c2b562 Revert previous DPRINTF changes since gcc3 properly removes text strings
in while(0) statements during optimization.
2003-11-21 19:44:53 +00:00
tsutsui 604d3c43a9 Make sure machine and ${MACHINE_ARCH} symlinks created before make depend. 2003-11-21 19:39:19 +00:00
tsutsui ecd13dfa39 Add pseudo-device ksyms 2003-11-08 12:17:53 +00:00
tsutsui 81d609b1f5 Remove obsolete comments about curproc. 2003-11-08 12:17:25 +00:00
dsl 2ffbd2ab99 Remove p_nras from struct proc - use LIST_EMPTY(&p->p_raslist) instead.
Remove p_raslock and rename p_lwplock p_lock (one lock is enough).
Simplify window test when adding a ras and correct test on VM_MAXUSER_ADDRESS.
Avoid unpredictable branch in i386 locore.S
(pad fields left in struct proc to avoid kernel bump)
2003-11-04 10:33:15 +00:00
cl afee7aa4d7 Extend the #ifdef M68040 so that the `sig' variable declaration is moved
in as well, as it's otherwise not used. (from atari/atari/trap.c and
x68k/x68k/trap.c)
2003-11-02 16:49:38 +00:00
tsutsui 164022f59e Adapt MI mk48txx(4) changes. Tested on NWS-1750. 2003-11-01 22:49:38 +00:00
cl ef56cc40ab Reduce code duplication by adding mi_userret() in sys/userret.h
containing signal posting, kernel-exit handling and sa_upcall processing.

XXX the pc532, sparc, sparc64 and vax ports should have their
XXX userret() code rearranged to use this.
2003-10-31 16:44:34 +00:00
he 5a5cdb5717 Add -ffreestanding to CFLAGS, to avoid type conflicts with built-in
functions in gcc.
2003-10-30 20:19:25 +00:00
lukem f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00