aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha
Commit message (Collapse)AuthorAgeFilesLines
* o Lock page queue accesses by vm_page_wire() that aren'tAlan Cox2002-07-141-0/+2
| | | | | | | | | within a critical section. o Assert that the page queues lock is held in vm_page_wire() unless an Alpha. Notes: svn path=/head/; revision=100005
* o Complete the locking of page queue accesses by vm_page_unwire().Alan Cox2002-07-131-0/+4
| | | | | | | | | o Assert that the page queues lock is held in vm_page_unwire(). o Make vm_page_lock_queues() and vm_page_unlock_queues() visible to kernel loadable modules. Notes: svn path=/head/; revision=99927
* Move COMPAT_FREEBSD4 to arch-neutral sys/conf/NOTES.Alfred Perlstein2002-07-132-0/+2
| | | | | | | | | | Add COMPAT_FREEBSD4 to GENERIC for arches that existed in FreeBSD 4's time, not just i386. (alpha and pc98) Requested by: bde Notes: svn path=/head/; revision=99915
* Add additional cred_free_thread() calls that I had missed the first time.Jonathan Mini2002-07-131-0/+6
| | | | | | | Pointed out by: jhb Notes: svn path=/head/; revision=99900
* Set the thread state of the newly chosen to run thread to TDS_RUNNING inJohn Baldwin2002-07-122-5/+0
| | | | | | | | | | | choosethread() in MI C code instead of doing it in in assembly in all the various cpu_switch() functions. This fixes problems on ia64 and sparc64. Reviewed by: julian, peter, benno Tested on: i386, alpha, sparc64 Notes: svn path=/head/; revision=99887
* Remove label_t and physadr, which seem to have never been used inMike Barcroft2002-07-101-10/+0
| | | | | | | | | FreeBSD. Submitted by: bde Notes: svn path=/head/; revision=99733
* Desupport the TurboChannel Alpha's. This means the DEC3000/300* Pelic*David E. O'Brien2002-07-0931-8463/+9
| | | | | | | and DEC3000/[4-9]00 Flamingo/Sandpiper families. Notes: svn path=/head/; revision=99686
* Move __offsetof() macro from <machine/ansi.h> to <sys/cdefs.h>. It'sMike Barcroft2002-07-081-5/+0
| | | | | | | | | hardly MD, since all our platforms share the same macro. It's not really compiler dependent either, but this helps in reducing <machine/ansi.h> to only type definitions. Notes: svn path=/head/; revision=99594
* Add a special page zero entry point intended to be called via the singlePeter Wemm2002-07-081-0/+15
| | | | | | | | | | | | | | | | | | threaded VM pagezero kthread outside of Giant. For some platforms, this is really easy since it can just use the direct mapped region. For others, IPI sending is involved or there are other issues, so grab Giant when needed. We still have preemption issues to deal with, but Alan Cox has an interesting suggestion on how to minimize the problem on x86. Use Luigi's hack for preserving the (lack of) priority. Turn the idle zeroing back on since it can now actually do something useful outside of Giant in many cases. Notes: svn path=/head/; revision=99571
* Collect all the (now equivalent) pmap_new_proc/pmap_dispose_proc/Peter Wemm2002-07-071-154/+0
| | | | | | | | | | | | | | | | pmap_swapin_proc/pmap_swapout_proc functions from the MD pmap code and use a single equivalent MI version. There are other cleanups needed still. While here, use the UMA zone hooks to keep a cache of preinitialized proc structures handy, just like the thread system does. This eliminates one dependency on 'struct proc' being persistent even after being freed. There are some comments about things that can be factored out into ctor/dtor functions if it is worth it. For now they are mostly just doing statistics to get a feel of how it is working. Notes: svn path=/head/; revision=99559
* Retrofit changes from i386/pmap.c rev 1.328-1.331.Peter Wemm2002-07-041-43/+31
| | | | | | | | XXX should really replace the pmap_{new,swapin,swapout,dispose}_{proc,thread} functions with the much cleaner sparc64 versions. Notes: svn path=/head/; revision=99399
* Since printf(3) now supports the `j' conversion specifier, use thatMike Barcroft2002-06-301-11/+11
| | | | | | | | | | when printing intmax_t and uintmax_t. Forgotten by: mike Noticed by: bde Notes: svn path=/head/; revision=99117
* Fix reverse ordering of locks. add a comment about locks on some platforms.Julian Elischer2002-06-291-1/+1
| | | | | | | Submitted by: jhb@freebsd.org Notes: svn path=/head/; revision=99095
* Part 1 of KSE-IIIJulian Elischer2002-06-296-12/+181
| | | | | | | | | | | | | | | | The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools) Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands) NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals.. Notes: svn path=/head/; revision=99072
* Add files that are new for KSE.Julian Elischer2002-06-291-0/+49
| | | | Notes: svn path=/head/; revision=99026
* Set the UMA_ZONE_VM flag on the pvzone to avoid kmem_map recursion.Jeff Roberson2002-06-271-1/+1
| | | | Notes: svn path=/head/; revision=98900
* Add an MD callout like cpu_exit, but which is called after sched_lock isJake Burkholder2002-06-241-0/+6
| | | | | | | | | | | | obtained, when all other scheduling activity is suspended. This is needed on sparc64 to deactivate the vmspace of the exiting process on all cpus. Otherwise if another unrelated process gets the exact same vmspace structure allocated to it (same address), its address space will not be activated properly. This seems to fix some spontaneous signal 11 problems with smp on sparc64. Notes: svn path=/head/; revision=98765
* Remove unused diagnostic function cread_free_thread().Jonathan Mini2002-06-241-6/+0
| | | | | | | Approved by: alfred Notes: svn path=/head/; revision=98727
* Update an 'XXX what is this?' type comment about suswintr and fuswintr.Peter Wemm2002-06-201-2/+2
| | | | | | | These are 16 bit short values used only by the profiling code. Notes: svn path=/head/; revision=98484
* Deorbit suibyte(). It was only used for split address space systemsPeter Wemm2002-06-201-5/+0
| | | | | | | for supporting UIO_USERISPACE (ie: it wasn't used). Notes: svn path=/head/; revision=98480
* Move the "- 1" into the RQB_FFS(mask) macro itself so thatPeter Wemm2002-06-201-1/+1
| | | | | | | | | | | | | | | | | implementations can provide a base zero ffs function if they wish. This changes #define RQB_FFS(mask) (ffs64(mask)) foo = RQB_FFS(mask) - 1; to #define RQB_FFS(mask) (ffs64(mask) - 1) foo = RQB_FFS(mask); On some platforms we can get the "- 1" for free, eg: those that use the C code for ffs64(). Reviewed by: jake (in principle) Notes: svn path=/head/; revision=98469
* Squish the "could sleep with process lock" messages caused by callingAlfred Perlstein2002-06-191-2/+6
| | | | | | | | | | | | | | | | | | | | | | | uifind() with a proc lock held. change_ruid() and change_euid() have been modified to take a uidinfo structure which will be pre-allocated by callers, they will then call uihold() on the uidinfo structure so that the caller's logic is simplified. This allows one to call uifind() before locking the proc struct and thereby avoid a potential blocking allocation with the proc lock held. This may need revisiting, perhaps keeping a spare uidinfo allocated per process to handle this situation or re-examining if the proc lock needs to be held over the entire operation of changing real or effective user id. Submitted by: Don Lewis <dl-freebsd@catspoiler.org> Notes: svn path=/head/; revision=98417
* Botcho. I included in the last commit theMatt Jacob2002-06-162-2/+0
| | | | | | | | | | | device mpt # LSI-Logic MPT-Fusion line. This driver isn't ready yet. Submitted by: Scott Long Notes: svn path=/head/; revision=98292
* Note that sio is required.Matt Jacob2002-06-142-2/+4
| | | | | | | | | PR: 39305 Submitted by: Michael Hogsett <hogsett@csl.sri.com> MFC after: 1 week Notes: svn path=/head/; revision=98234
* - Fixup / remove obsolete comments.John Baldwin2002-06-071-16/+12
| | | | | | | | | | | | | | - ktrace no longer requires Giant so do ktrace syscall events before and after acquiring and releasing Giant, respectively. - For i386, ia32 syscalls on ia64, powerpc, and sparc64, get rid of the goto bad hack and instead use the model on ia64 and alpha were we skip the actual syscall invocation if error != 0. This fixes a bug where if we the copyin() of the arguments failed for a syscall that was not marked MP safe, we would try to release Giant when we had not acquired it. Notes: svn path=/head/; revision=98001
* Fix typo in the BSD copyright: s/withough/without/Jens Schweikhardt2002-06-027-7/+7
| | | | | | | | Spotted and suggested by: des MFC after: 3 weeks Notes: svn path=/head/; revision=97748
* Move the definition of ElfN_Hashelt to common headers. The only platformDoug Rabson2002-05-301-11/+0
| | | | | | | which has a different definition for this is alpha. Notes: svn path=/head/; revision=97564
* Add declarations of suword32 and suword64. Add implementations of one orDoug Rabson2002-05-261-0/+2
| | | | | | | | the other (or both) to all the platforms. Similar for fuword32 and fuword64. Notes: svn path=/head/; revision=97307
* Make sure there's a statement after the out: label in clockattach().Dag-Erling Smørgrav2002-05-261-0/+2
| | | | Notes: svn path=/head/; revision=97302
* Make the run queue parameters machine dependent. Optimize 64 bitJake Burkholder2002-05-251-0/+58
| | | | | | | | | | architectures by using a 64 bit word for the bit array which keeps track of non-empty queues. Reviewed by: peter Notes: svn path=/head/; revision=97261
* - Apparently, the Alpha ABI mandates that arguments be passed sign-extendedJohn Baldwin2002-05-171-4/+1
| | | | | | | | | | | | | | | | regardless of if they are signed or unsigned since it is easier to work with sign-extended values. Thus, remove the disabled zapnot to zero-extend the sign-extended value we read from *p in atomic_cmpset_32() since the cmpval we are comparing against should already be sign-extended. - To ensure that the compiler knows to sign-extend the upper 32 bits of cmpval rather than leaving garbage in there, cast the appropriately in the constraints section. Help from: Richard Henderson <rth@redhat.com> Notes: svn path=/head/; revision=96791
* More s/file system/filesystem/gTom Rhodes2002-05-161-2/+2
| | | | Notes: svn path=/head/; revision=96755
* Fixup unaligned bwx instructions (ldwu, stw). This may fix some mysteriousAndrew Gallatin2002-05-161-7/+25
| | | | | | | | | natd sigbus errors being reported on the freebsd-alpha@ mailing list. Obtained from: NetBSD Notes: svn path=/head/; revision=96700
* Move MI stuff out of MD param.h files.Poul-Henning Kamp2002-05-141-38/+0
| | | | | | | It can all still be overridden in the MD files should need suddenly arise. Notes: svn path=/head/; revision=96606
* Remove the unused definitions of ctod() and dotc().Poul-Henning Kamp2002-05-141-4/+0
| | | | Notes: svn path=/head/; revision=96604
* These were repo-copied to dump_machdep.c.Jake Burkholder2002-05-131-116/+0
| | | | Notes: svn path=/head/; revision=96487
* Restore the ability to take crashdumps on alpha. This was cut and pastedAndrew Gallatin2002-05-112-0/+232
| | | | | | | | | | nearly in its entirety from i386, so it retains the phk/nati copyright. Savecore likes the results, but I have no way to test it as gdb is still broken. Notes: svn path=/head/; revision=96427
* Temporarily disable Jeff's fix for atomic_cmpset_32() to zero-extend theJohn Baldwin2002-05-111-0/+2
| | | | | | | | | value we load from memory. gcc3.1 passes in the u_int32_t old value to compare against as a _sign_-extended 64-bit value for some reason (bug?). This is a temporary workaround so kernels work again on alpha. Notes: svn path=/head/; revision=96393
* Remove ## concatination in the CFGREAD and CFGWRITE macros, as gcc3 complainsAndrew Gallatin2002-05-101-2/+2
| | | | | | | | about them & they are not needed. Same fix as to tsunami_pci.c. (not surprising, as this code was cut and pasted from there when I wrote it). Notes: svn path=/head/; revision=96357
* Opps, remove added bogon.David E. O'Brien2002-05-101-1/+1
| | | | Notes: svn path=/head/; revision=96320
* Gcc 3.1 varargs support.David E. O'Brien2002-05-103-10/+42
| | | | Notes: svn path=/head/; revision=96317
* Only saying you're launching other CPUs if there are more than one to launch.Matt Jacob2002-05-081-1/+1
| | | | Notes: svn path=/head/; revision=96233
* zapnot the signed bits in atomic_cmpset_32. Previously this did not work withJeff Roberson2002-05-081-0/+1
| | | | | | | | negative values because the original value was sign extended but the compared value was not. Notes: svn path=/head/; revision=96211
* Typo fix: detects -> detect.Juli Mallett2002-05-032-2/+2
| | | | | | | Reviewed by: phk Notes: svn path=/head/; revision=95992
* Remove two unused headers (<machine/frame.h> and <machine/psl.h>).Peter Wemm2002-05-011-2/+0
| | | | | | | psl.h is 100% bogus to be referenced here, especially from alpha MD code. Notes: svn path=/head/; revision=95856
* Don't export timecounter structures under debug. with sysctl, theyPoul-Henning Kamp2002-04-301-6/+0
| | | | | | | contain no truly interesting data anymore. Notes: svn path=/head/; revision=95814
* Tidy up some loose ends.Peter Wemm2002-04-293-55/+7
| | | | | | | | | | | | | | | i386/ia64/alpha - catch up to sparc64/ppc: - replace pmap_kernel() with refs to kernel_pmap - change kernel_pmap pointer to (&kernel_pmap_store) (this is a speedup since ld can set these at compile/link time) all platforms (as suggested by jake): - gc unused pmap_reference - gc unused pmap_destroy - gc unused struct pmap.pm_count (we never used pm_count - we track address space sharing at the vmspace) Notes: svn path=/head/; revision=95710
* MFi386 1.222: Remove vm_map_growstack() and acquisition and release of GiantAlan Cox2002-04-271-17/+2
| | | | | | | around vm_fault(). Notes: svn path=/head/; revision=95554
* Don't use the symbol name to lookup the symbol value when we can useMarcel Moolenaar2002-04-251-11/+10
| | | | | | | | | | | | | | | the symbol index defined by the relocation. The elf_lookup() support function is to be used by elf_reloc() when symbol lookups need to be done. The elf_lookup() function operates on the symbol index and will do a symbol name based lookup when such is required, otherwise it uses the symbol index directly. This solves the problem seen on ia64 where the symbol hash table does not contain local symbols and a symbol name based lookup would fail for those symbols. Don't pass the symbol name to elf_reloc(), as it isn't used any more. Notes: svn path=/head/; revision=95410
* Since WITNESS doesn't just do mutexes, remove "mutex" from the WITNESSRobert Watson2002-04-182-2/+2
| | | | | | | | comment in GENERIC config files of appropriate platforms. For whatever reason, powerpc didn't use WITNESS in GENERIC. Notes: svn path=/head/; revision=94980