summaryrefslogtreecommitdiffstats
path: root/sys/pc98/i386
Commit message (Collapse)AuthorAgeFilesLines
* Merged from sys/i386/i386/machdep.c revision 1.454.nyan2001-06-021-1/+0
|
* Disabled unneeded code for PC98.nyan2001-06-021-1/+1
| | | | Submitted by: NOKUBI Hirotaka <nokubi@ff.iij4u.or.jp>
* Update pc98 memory probe functions.nyan2001-05-211-280/+35
| | | | | | | | - pc98_getmemsize() function returns available memory size under 16MB. - getmemsize() function is merged from PC-AT's one. Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata) and NOKUBI Hirotaka <nokubi@ff.iij4u.or.jp>
* Merged from sys/i386/i386/machdep.c revisions 1.452 and 1.453.nyan2001-05-211-12/+12
|
* Remove unneeded includes of sys/ipl.h and machine/ipl.h.jhb2001-05-151-1/+0
|
* Merged from sys/i386/i386/machdep.c revision 1.450.kato2001-05-151-0/+1
|
* - Split out the support for per-CPU data from the SMP code. UP kernelsjhb2001-05-101-3/+2
| | | | | | | have per-CPU data and gdb on the i386 at least needs access to it. - Clean up includes in kern_idle.c and subr_smp.c. Reviewed by: jake
* Merged from sys/i386/i386/machdep.c revision 1.448.kato2001-05-061-2/+0
|
* Merged the rest of changes in sys/i386/i386/machdep.c revision 1.447.kato2001-05-021-6/+5
|
* Overhaul of the SMP code. Several portions of the SMP kernel support havejhb2001-04-271-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | been made machine independent and various other adjustments have been made to support Alpha SMP. - It splits the per-process portions of hardclock() and statclock() off into hardclock_process() and statclock_process() respectively. hardclock() and statclock() call the *_process() functions for the current process so that UP systems will run as before. For SMP systems, it is simply necessary to ensure that all other processors execute the *_process() functions when the main clock functions are triggered on one CPU by an interrupt. For the alpha 4100, clock interrupts are delievered in a staggered broadcast fashion, so we simply call hardclock/statclock on the boot CPU and call the *_process() functions on the secondaries. For x86, we call statclock and hardclock as usual and then call forward_hardclock/statclock in the MD code to send an IPI to cause the AP's to execute forwared_hardclock/statclock which then call the *_process() functions. - forward_signal() and forward_roundrobin() have been reworked to be MI and to involve less hackery. Now the cpu doing the forward sets any flags, etc. and sends a very simple IPI_AST to the other cpu(s). AST IPIs now just basically return so that they can execute ast() and don't bother with setting the astpending or needresched flags themselves. This also removes the loop in forward_signal() as sched_lock closes the race condition that the loop worked around. - need_resched(), resched_wanted() and clear_resched() have been changed to take a process to act on rather than assuming curproc so that they can be used to implement forward_roundrobin() as described above. - Various other SMP variables have been moved to a MI subr_smp.c and a new header sys/smp.h declares MI SMP variables and API's. The IPI API's from machine/ipl.h have moved to machine/smp.h which is included by sys/smp.h. - The globaldata_register() and globaldata_find() functions as well as the SLIST of globaldata structures has become MI and moved into subr_smp.c. Also, the globaldata list is only available if SMP support is compiled in. Reviewed by: jake, peter Looked over by: eivind
* Merged from sys/i386/i386/machdep.c revision 1.446.nyan2001-04-011-1/+2
|
* Merged from sys/i386/i386/machdep.c revision 1.445.kato2001-03-231-0/+1
|
* Grab the process lock while calling psignal and before calling psignal.jhb2001-03-071-2/+6
|
* Merged from sys/i386/i386/machdep.c revision 1.443.kato2001-02-251-4/+4
|
* Activate USER_LDT by default. The new thread libraries are going topeter2001-02-231-7/+2
| | | | | | | | depend on this. The linux ABI emulator tries to use it for some linux binaries too. VM86 had a bigger cost than this and it was made default a while ago. Reviewed by: jhb, imp
* Merged from sys/i386/i386/machdep.c revision 1.441.kato2001-02-211-1/+0
|
* Preceed/preceeding are not english words. Use precede and preceding.asmodai2001-02-181-2/+2
|
* Move the initailization of the proc lock for proc0 very early into the MDjhb2001-02-091-0/+1
| | | | startup code.
* Change and clean the mutex lock interface.bmilekic2001-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mtx_enter(lock, type) becomes: mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks) mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized) similarily, for releasing a lock, we now have: mtx_unlock(lock) for MTX_DEF and mtx_unlock_spin(lock) for MTX_SPIN. We change the caller interface for the two different types of locks because the semantics are entirely different for each case, and this makes it explicitly clear and, at the same time, it rids us of the extra `type' argument. The enter->lock and exit->unlock change has been made with the idea that we're "locking data" and not "entering locked code" in mind. Further, remove all additional "flags" previously passed to the lock acquire/release routines with the exception of two: MTX_QUIET and MTX_NOSWITCH The functionality of these flags is preserved and they can be passed to the lock/unlock routines by calling the corresponding wrappers: mtx_{lock, unlock}_flags(lock, flag(s)) and mtx_{lock, unlock}_spin_flags(lock, flag(s)) for MTX_DEF and MTX_SPIN locks, respectively. Re-inline some lock acq/rel code; in the sleep lock case, we only inline the _obtain_lock()s in order to ensure that the inlined code fits into a cache line. In the spin lock case, we inline recursion and actually only perform a function call if we need to spin. This change has been made with the idea that we generally tend to avoid spin locks and that also the spin locks that we do have and are heavily used (i.e. sched_lock) do recurse, and therefore in an effort to reduce function call overhead for some architectures (such as alpha), we inline recursion for this case. Create a new malloc type for the witness code and retire from using the M_DEV type. The new type is called M_WITNESS and is only declared if WITNESS is enabled. Begin cleaning up some machdep/mutex.h code - specifically updated the "optimized" inlined code in alpha/mutex.h and wrote MTX_LOCK_SPIN and MTX_UNLOCK_SPIN asm macros for the i386/mutex.h as we presently need those. Finally, caught up to the interface changes in all sys code. Contributors: jake, jhb, jasone (in no particular order)
* Remove the LABPC driver.phk2001-02-041-1/+0
| | | | Doesn't work, no maintainer, more promising code exists elsewhere.
* All the world is not an i386. Merge rev 1.438 of i386/i386/machdep.c.peter2001-02-041-0/+1
| | | | Make buffer_map a system map.
* Send "#if NISA > 0" to the bit-bucket and replace it with an option.peter2001-01-291-2/+2
| | | | | These were compile-time "is the isa code present?" tests and not 'how many isa busses' tests.
* Gag. These compiled because I had a stray "eisa.h" in my config dir.peter2001-01-291-2/+0
|
* change 'count eisa' to 'optional eisa' and update the only consumerpeter2001-01-291-307/+12
| | | | | of 'NEISA' - userconfig.c. While there, send some defunct code to the file history.
* Synced with sys/i386/i386/machdep.c revision 1.436.kato2001-01-281-8/+36
|
* Remove MUTEX_DECLARE() and MTX_COLD. Instead, postpone full mutexjasone2001-01-211-5/+5
| | | | | | | | initialization until after malloc() is safe to call, then iterate through all mutexes and complete their initialization. This change is necessary in order to avoid some circular bootstrapping dependencies.
* Zap unused #include "apm.h"peter2001-01-191-1/+0
|
* Use #ifdef DEV_NPX from opt_npx.h instead of #if NNPX > 0 from npx.hpeter2001-01-191-4/+4
|
* Implement MTX_RECURSE flag for mtx_init().bmilekic2001-01-191-4/+4
| | | | | | | | | | | | | | | | | | | All calls to mtx_init() for mutexes that recurse must now include the MTX_RECURSE bit in the flag argument variable. This change is in preparation for an upcoming (further) mutex API cleanup. The witness code will call panic() if a lock is found to recurse but the MTX_RECURSE bit was not set during the lock's initialization. The old MTX_RECURSE "state" bit (in mtx_lock) has been renamed to MTX_RECURSED, which is more appropriate given its meaning. The following locks have been made "recursive," thus far: eventhandler, Giant, callout, sched_lock, possibly some others declared in the architecture-specific code, all of the network card driver locks in pci/, as well as some other locks in dev/ stuff that I've found to be recursive. Reviewed by: jhb
* Stop doing runtime checking on i386 cpus for cpu class. The cpu ispeter2001-01-161-3/+2
| | | | | | | | | | | | slow enough as it is, without having to constantly check that it really is an i386 still. It was possible to compile out the conditionals for faster cpus by leaving out 'I386_CPU', but it was not possible to unconditionally compile for the i386. You got the runtime checking whether you wanted it or not. This makes I386_CPU mutually exclusive with the other cpu types, and tidies things up a little in the process. Reviewed by: alfred, markm, phk, benno, jlemon, jhb, jake, grog, msmith, jasone, dcs, des (and a bunch more people who encouraged it)
* Merged from sys/i386/i386/machdep.c revisions 1.427 and 1.428.kato2001-01-121-8/+8
|
* Correct typo.nyan2001-01-081-1/+1
| | | | Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
* Merged from sys/i386/i386/machdep.c revision 1.426.kato2001-01-071-3/+10
|
* Merged from sys/i386/i386/machdep.c revision 1.425.kato2000-12-161-4/+15
|
* Convert more malloc+bzero to malloc+M_ZERO.dwmalone2000-12-081-2/+2
| | | | | Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net>
* Merged from sys/i386/i386/machdep.c revision 1.424.kato2000-12-051-14/+0
|
* Don't use p->p_sigstk.ss_flags to keep state of whether themarcel2000-11-301-5/+17
| | | | | | | | | | | | | | | process is on the alternate stack or not. For compatibility with sigstack(2) state is being updated if such is needed. We now determine whether the process is on the alternate stack by looking at its stack pointer. This allows a process to siglongjmp from a signal handler on the alternate stack to the place of the sigsetjmp on the normal stack. When maintaining state, this would have invalidated the state information and causing a subsequent signal to be delivered on the normal stack instead of the alternate stack. PR: 22286
* Merged from sys/i386/i386/userconfig.c revision 1.185.kato2000-11-291-2/+1
|
* Merged from sys/i386/i386/machdep.c revision 1.422.kato2000-11-261-1/+1
|
* Merged from sys/i386/i386/machdep.c revision 1.421.kato2000-11-201-0/+2
|
* Merged from the following changes.nyan2000-11-052-5/+3
| | | | | | | | | | sys/conf/Makefile.i386 1.211 sys/conf/files.i386 1.329 sys/isa/fd.c 1.186, 1.188 and 1.189 sys/isa/sio.c 1.305 and 1.317 sys/i386/conf/GENERIC 1.270, 1.281, 1.282 and 1.284 sys/i386/i386/machdep.c 1.419 sys/i386/i386/userconfig.c 1.184
* Fixed extention memory check routine.nyan2000-10-281-2/+2
| | | | Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
* Convert all users of fldoff() to offsetof(). fldoff() is badphk2000-10-271-2/+0
| | | | | | | | | | | | | | | | | | | | | | | because it only takes a struct tag which makes it impossible to use unions, typedefs etc. Define __offsetof() in <machine/ansi.h> Define offsetof() in terms of __offsetof() in <stddef.h> and <sys/types.h> Remove myriad of local offsetof() definitions. Remove includes of <stddef.h> in kernel code. NB: Kernelcode should *never* include from /usr/include ! Make <sys/queue.h> include <machine/ansi.h> to avoid polluting the API. Deprecate <struct.h> with a warning. The warning turns into an error on 01-12-2000 and the file gets removed entirely on 01-01-2001. Paritials reviews by: various. Significant brucifications by: bde
* Merged from sys/i386/i386/machdep.c revisions 1.417 and 1.418.kato2000-10-201-17/+10
|
* Merged from sys/i386/i386/machdep.c revision 1.416.kato2000-10-181-7/+9
|
* Merged from sys/i386/i386/machdep.c revision 1.415.kato2000-10-061-3/+6
|
* Merged from sys/i386/i386/machdep.c revision 1.414.kato2000-10-031-1/+1
|
* Added NEC PC-9801-83, 84, PC-9801-103, 104, PC-9801N-25 and PC-9801N-J02Rnyan2000-10-021-0/+1
| | | | | | | | support which use National Semiconductor DP8393X (SONIC) as ethernet controller. Currently, this driver is used on only PC-98. Submitted by: Motomichi Matsuzaki <mzaki@e-mail.ne.jp> Obtained from: NetBSD/pc98
* Merged from sys/i368/i386/machdep.c revision 1.413.kato2000-10-021-24/+4
|
* Big mbuf subsystem diff #1: incorporate mutexes and fix things up somewhatbmilekic2000-09-301-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to accomodate the changes. Here's a list of things that have changed (I may have left out a few); for a relatively complete list, see http://people.freebsd.org/~bmilekic/mtx_journal * Remove old (once useful) mcluster code for MCLBYTES > PAGE_SIZE which nobody uses anymore. It was great while it lasted, but now we're moving onto bigger and better things (Approved by: wollman). * Practically re-wrote the allocation macros in sys/sys/mbuf.h to accomodate new allocations which grab the necessary lock. * Make sure that necessary mbstat variables are manipulated with corresponding atomic() routines. * Changed the "wait" routines, cleaned it up, made one routine that does the job. * Generalized MWAKEUP() macro. Got rid of m_retry and m_retryhdr, as they are now included in the generalized "wait" routines. * Sleep routines now use msleep(). * Free lists have locks. * etc... probably other stuff I'm missing... Things to look out for and work on later: * find a better way to (dynamically) adjust EXT_COUNTERS * move necessity to recurse on a lock from drain routines by providing lock-free lower-level version of MFREE() (and possibly m_free()?). * checkout include of mutex.h in sys/sys/mbuf.h - probably violating general philosophy here. The code has been reviewed quite a bit, but problems may arise... please, don't panic! Send me Emails: bmilekic@freebsd.org Reviewed by: jlemon, cp, alfred, others?
OpenPOWER on IntegriCloud