summaryrefslogtreecommitdiffstats
path: root/sys/alpha
Commit message (Collapse)AuthorAgeFilesLines
* Back out over-aggressive locking of p->p_cred.jhb2001-01-251-16/+3
| | | | Requested by: alfred
* Remove prototype for child_return().jhb2001-01-241-1/+0
|
* - Change fork_exit() to take a pointer to a trapframe as its 3rd argumentjhb2001-01-243-36/+9
| | | | | | | instead of a trapframe directly. (Requested by bde.) - Convert the alpha switch_trampoline to call fork_exit() and use the MI fork_return() instead of child_return(). - Axe child_return().
* - Remove some unused and unneeded atomic operations sitting in mp_machdep.cjhb2001-01-242-61/+13
| | | | | that are already implemented in atomic.h. - Fix SMP kernel builds.
* Oops, when converting if (foo) panic() to a KASSERT(), you have to invertjhb2001-01-241-3/+4
| | | | | | the test case. Spotted by: peter, jasone
* Convert all simplelocks to mutexes and remove the simplelock implementations.jasone2001-01-242-125/+7
|
* Proc locking.jhb2001-01-244-6/+36
|
* Use queue macros.jhb2001-01-241-2/+1
|
* Add a prototype for isa_irq_mask() to quiet a warning.jhb2001-01-241-0/+1
|
* Wrap the IPI definitions and function prototypes in #ifdef SMP.jhb2001-01-241-0/+2
|
* - Rename the gd_cpuno member of struct globaldata to gd_cpuid.jhb2001-01-242-8/+12
| | | | - Add a globaldata_register() prototype in the SMP case.
* - Proc locking.jhb2001-01-241-2/+6
| | | | - P_OWEUPC -> PS_OWEUPC.
* - Change userret() to take a struct trapframe * as its second argument andjhb2001-01-241-59/+61
| | | | | | | | | | | | | | | | to extract the PC from that to send to addupc_task() so that it can be called from MI code. - Remove all traces of have_giant with extreme prejudice and use mtx_owned(&Giant) instead where appropriate. - Proc locking. - P_FOO -> PS_FOO. - Don't grab Giant just to look in curproc's p_addr during a trap since we may choose to immediately exit. Instead, delay grabbing Giant a bit until we actually need it. - Don't reset 'p' to 'curproc' in syscall() to handle the case of a child returning from fork1() since children don't return via syscall(). - Remove an XXX comment in ast() that questions the correctness of the userland check. The code is correct.
* - Proc locking.jhb2001-01-241-4/+24
| | | | - P_INMEM -> PS_INMEM.
* - Proc locking.jhb2001-01-241-38/+47
| | | | | | | - Don't send IPIs for pmap_invalidate_page() or pmap_invalidate_all() in the UP case. - Catch up to cpuno -> cpuid. - Convert some sanity checks that were #ifdef DIAGNOSTIC to KASSERT()'s.
* - Adjust some whitespace to reduce diffs with the i386 version.jhb2001-01-241-103/+102
| | | | | | | | | | | | | | | | | | | | - Rename the per-CPU variable 'cpuno' to 'cpuid'. This was done so that there is one consistent name across all architectures for a logical CPU id. - Remove all traces of IRQ forwarding. - Add globaldata_register() hook called by globaldata_init() to register globaldata structures in the cpuid_to_globaldata array. - Catch up to P_FOO -> PS_FOO. - Bring across some fixes for forwarded_statclock() from the i386 version to handle ithreads and idleproc properly. - Rename addugd_intr_forwarded() to addupc_intr_forwarded() so that it is the same name on all architectures. - Set flags in p_sflag instead of calling psignal() from forward_hardclock(). - Proc locking. - When we handle an IPI, turn off its bit in the mask of IPI's we are currently handling so that an IPI doesn't send a CPU into an infinite loop.
* - Initialize curproc, proc0.p_heldmtx, and proc0.p_contested earlier sojhb2001-01-241-2/+48
| | | | | | | | | that mutex operations work. - Enter Giant earlier so we hold it during boot. - Proc locking. - Move globaldata_init() into here from mp_machdep.c so that UP kernels don't depend on mp_machdep.c. Use a callout in the SMP case to register the boot processor's globaldata in the cpuid_to_globaldata array.
* - Wrap the IPI interrupt handler in #ifdef SMP.jhb2001-01-241-2/+4
| | | | | - Catch up to cpuno -> cpuid change. - Add parens around a subexpression to quiet a warning.
* cpuno -> cpuid.jhb2001-01-241-1/+1
|
* Don't import the nonexistent astpending variable.jhb2001-01-241-2/+0
|
* Wrap the startup code used by secondary processors in #ifdef SMP.jhb2001-01-241-0/+2
|
* Move most of sys/mutex.h into kern/kern_mutex.c, thereby making the mutexjasone2001-01-211-0/+6
| | | | | | | | | | | inline functions non-inlined. Hide parts of the mutex implementation that should not be exposed. Make sure that WITNESS code is not executed during boot until the mutexes are fully initialized by SI_SUB_MUTEX (the original motivation for this commit). Submitted by: peter
* First step towards an MP-safe zone allocator:des2001-01-211-2/+2
| | | | | | | - have zalloc() and zfree() always lock the vm_zone. - remove zalloci() and zfreei(), which are now redundant. Reviewed by: bmilekic, jasone
* Make intr_nesting_level per-process, rather than per-cpu. Setupjake2001-01-215-12/+8
| | | | | | | | interrupt threads to run with it always >= 1, so that malloc can detect M_WAITOK from "interrupt" context. This is also necessary in order to context switch from sched_ithd() directly. Reviewed By: peter
* Remove MUTEX_DECLARE() and MTX_COLD. Instead, postpone full mutexjasone2001-01-211-4/+4
| | | | | | | | 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.
* This conf file seems to have rotted quite a bit..peter2001-01-191-7/+2
|
* Remove the now-empty ipl_funcs.c file on all platforms.peter2001-01-191-30/+0
|
* Remove the static splXXX functions and replace them by static __inlinepeter2001-01-191-5/+0
| | | | | stubs. Remove the xxx_imask variables which have been all but gone for a while.
* Implement MTX_RECURSE flag for mtx_init().bmilekic2001-01-191-3/+3
| | | | | | | | | | | | | | | | | | | 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
* These files have been on deathrow for a couple of months, no appeal.phk2001-01-162-9/+0
|
* Remove NOBLOCKRANDOM as a compile-time option. Instead, providemarkm2001-01-142-2/+0
| | | | | | | | | | | | | | | | exactly the same functionality via a sysctl, making this feature a run-time option. The default is 1(ON), which means that /dev/random device will NOT block at startup. setting kern.random.sys.seeded to 0(OFF) will cause /dev/random to block until the next reseed, at which stage the sysctl will be changed back to 1(ON). While I'm here, clean up the sysctls, and make them dynamic. Reviewed by: des Tested on Alpha by: obrien
* Remove unused per-cpu variables inside_intr and ss_eflags.jake2001-01-122-2/+0
|
* - Remove compatibility macros for accessing per-cpu variables.jake2001-01-111-13/+0
| | | | | | | __FreeBSD_version 500015 can be used to detect their disappearance. - Move the symbols for SMP_prvspace and lapic from globals.s to locore.s. - Remove globals.s with extreme prejudice.
* Use PCPU_GET, PCPU_PTR and PCPU_SET to access all per-cpu variablesjake2001-01-105-27/+29
| | | | other then curproc.
* The alpha architecture is 64 bits, so bus_addr_t && bus_size_t should reallymjacob2001-01-091-4/+5
| | | | | | be 64 bits wide. The largest known current actual physical implementation is 40 bits, so BUS_SPACE_MAXADDR should reflect this. It also seems to me that BUS_SPACE_UNRESTRICTED should b ~0UL, not ~0.
* Put VCS ids in a consistent place and form.obrien2001-01-081-3/+2
|
* Remove seconds types we don't use that came in thru the NetBSD heiratage.obrien2001-01-081-2/+5
|
* Implement accessors for per-cpu variables which don't depend on thejake2001-01-061-0/+1
| | | | | | | | | | | | | | | | | symbols in globals.s. PCPU_GET(name) returns the value of the per-cpu variable PCPU_PTR(name) returns a pointer to the per-cpu variable PCPU_SET(name, val) sets the value of the per-cpu variable In general these are not yet used, compatibility macros remain. Unifdef SMP struct globaldata, this makes variables such as cpuid available for UP as well. Rebuilding modules is probably a good idea, but I believe old modules will still work, as most of the old infrastructure remains.
* Sort some of the _BSD_* types.obrien2001-01-011-4/+4
|
* Add a dopey makefile to do the tags dance, which is probably not perfectmjacob2000-12-311-0/+29
| | | | but is better than nothing by a good deal.
* Move all VCS ids to a consistent location.obrien2000-12-282-6/+4
|
* Add multiple inclusion protection.obrien2000-12-282-0/+10
| | | | | PR: 23902 Submitted by: Christian Weisgerber <naddy@mips.inka.de>
* Protect proc.p_pptr and proc.p_children/p_sibling with thejake2000-12-232-0/+16
| | | | | | | | proctree_lock. linprocfs not locked pending response from informal maintainer. Reviewed by: jhb, -smp@
* Fix ypo in essage about isabling EISA nterrupt ectormjacob2000-12-151-1/+1
| | | | (tip 'o the tired cap to Bernd Walter <ticso@cicely5.cicely.de>)
* Remove the "machine dependent" KTR trace buffer ddb commands. The code wasjhb2000-12-141-101/+0
| | | | exactly the same on all platforms.
* Add route interrupt method.mjacob2000-12-131-0/+2
|
* Sync with i386/GENERIC rev 1.294 removing "COMPAT_OLDPCI".obrien2000-12-132-2/+0
| | | | This fixed the broken kernel build on the Alpha.
* - Change the allproc_lock to use a macro, ALLPROC_LOCK(how), insteadjake2000-12-131-9/+7
| | | | | | | | of explicit calls to lockmgr. Also provides macros for the flags pased to specify shared, exclusive or release which map to the lockmgr flags. This is so that the use of lockmgr can be easily replaced with optimized reader-writer locks. - Add some locking that I missed the first time.
* enable the proper cascade irq on as1000agallatin2000-12-121-1/+1
| | | | tested by: wilko
* fix AS1000/AS1000A support. It turns out the that iobus depends on thegallatin2000-12-121-2/+10
| | | | | | | | CPU version (apecs:ev4::cia:ev5) and the irq hardware depends on the systype previously, only ev4 AS1000s and ev5 AS1000a's would have worked. tested by: wilko (in its -stable form) noticed by: daniel
OpenPOWER on IntegriCloud