summaryrefslogtreecommitdiffstats
path: root/sys/alpha
Commit message (Collapse)AuthorAgeFilesLines
* ptvmmap does not exist on alpha.peter2002-08-021-1/+0
|
* o Lock page queue accesses by vm_page_deactivate().alc2002-08-021-3/+15
|
* Fix the link to the Handbookblackend2002-08-011-1/+1
|
* - Split the unaligned access check flags out of md_flags in struct mdthreadjhb2002-07-318-44/+42
| | | | | | | | and move them into md_uac in struct mdproc. mdproc is protected by the proc lock. md_flags now is only ever modified by the current thread, so it doesn't need a lock. - Rename the constants for all the per-thread MD flags to use MDTD_* instead of MDP_*.
* Create a new header <machine/_stdint.h> for storing MD parts ofmike2002-07-294-231/+171
| | | | | | | | | <stdint.h>. Previously, parts were defined in <machine/ansi.h> and <machine/limits.h>. This resulted in two problems: (1) Defining macros in <machine/ansi.h> gets in the way of that header only defining types. (2) Defining C99 limits in <machine/limits.h> adds pollution to <limits.h>.
* de-count pci now that ahc/ahd are taken care of.peter2002-07-233-3/+3
|
* Add static unit count to pcipeter2002-07-211-1/+1
|
* Add explicit unit count on 'device pci' for ahc/ahdpeter2002-07-212-2/+2
|
* Infrastructure tweaks to allow having both an Elf32 and an Elf64 executablepeter2002-07-203-6/+46
| | | | | | | | | | | | | | | handler in the kernel at the same time. Also, allow for the exec_new_vmspace() code to build a different sized vmspace depending on the executable environment. This is a big help for execing i386 binaries on ia64. The ELF exec code grows the ability to map partial pages when there is a page size difference, eg: emulating 4K pages on 8K or 16K hardware pages. Flesh out the i386 emulation support for ia64. At this point, the only binary that I know of that fails is cvsup, because the cvsup runtime tries to execute code in pages not marked executable. Obtained from: dfr (mostly, many tweaks from me).
* o Introduce an argument, VM_ALLOC_WIRED, that requests vm_page_alloc()alc2002-07-181-5/+4
| | | | | | | | | | to return a wired page. o Use VM_ALLOC_WIRED within Alpha's pmap_growkernel(). Also, because Alpha's pmap_growkernel() calls vm_page_alloc() from within a critical section, specify VM_ALLOC_INTERRUPT instead of VM_ALLOC_SYSTEM. (Only VM_ALLOC_INTERRUPT is implemented entirely with a spin mutex.) o Assert that the page queues mutex is held in vm_page_wire() on Alpha, just like the other platforms.
* Various comment and minor style fixes. No actual content changes.jhb2002-07-161-13/+11
| | | | Inspired by: bde
* Some style cleanups.jhb2002-07-161-20/+6
| | | | Submitted by: bde
* Retire the perl gethints.conf in favour of an awk version. Movemarkm2002-07-162-100/+116
| | | | | | the awk version to a central place for maintenance. Submitted by: Cyrille Lefevre <cyrille.lefevre@laposte.net>
* Add a NOTES file for the Alpha architecture.jhb2002-07-152-158/+65
|
* The sources to the non-working esp device are no longer present in current.jhb2002-07-152-2/+0
|
* - Remove an irrelevant comment from i386 GENERIC.jhb2002-07-151-13/+7
| | | | | | - Remove unneeded quotes. - Remove 'config' line. - Rename ident to SIMOS.
* o Lock page queue accesses by vm_page_wire() that aren'talc2002-07-141-0/+2
| | | | | | within a critical section. o Assert that the page queues lock is held in vm_page_wire() unless an Alpha.
* o Complete the locking of page queue accesses by vm_page_unwire().alc2002-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.
* Move COMPAT_FREEBSD4 to arch-neutral sys/conf/NOTES.alfred2002-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
* Add additional cred_free_thread() calls that I had missed the first time.mini2002-07-131-0/+6
| | | | Pointed out by: jhb
* Set the thread state of the newly chosen to run thread to TDS_RUNNING injhb2002-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
* Remove label_t and physadr, which seem to have never been used inmike2002-07-101-10/+0
| | | | | | FreeBSD. Submitted by: bde
* Desupport the TurboChannel Alpha's. This means the DEC3000/300* Pelic*obrien2002-07-0931-8463/+9
| | | | and DEC3000/[4-9]00 Flamingo/Sandpiper families.
* Move __offsetof() macro from <machine/ansi.h> to <sys/cdefs.h>. It'smike2002-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.
* Add a special page zero entry point intended to be called via the singlepeter2002-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.
* Collect all the (now equivalent) pmap_new_proc/pmap_dispose_proc/peter2002-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.
* Retrofit changes from i386/pmap.c rev 1.328-1.331.peter2002-07-041-43/+31
| | | | | XXX should really replace the pmap_{new,swapin,swapout,dispose}_{proc,thread} functions with the much cleaner sparc64 versions.
* Since printf(3) now supports the `j' conversion specifier, use thatmike2002-06-301-11/+11
| | | | | | | when printing intmax_t and uintmax_t. Forgotten by: mike Noticed by: bde
* Fix reverse ordering of locks. add a comment about locks on some platforms.julian2002-06-291-1/+1
| | | | Submitted by: jhb@freebsd.org
* Part 1 of KSE-IIIjulian2002-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..
* Add files that are new for KSE.julian2002-06-291-0/+49
|
* Set the UMA_ZONE_VM flag on the pvzone to avoid kmem_map recursion.jeff2002-06-271-1/+1
|
* Add an MD callout like cpu_exit, but which is called after sched_lock isjake2002-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.
* Remove unused diagnostic function cread_free_thread().mini2002-06-241-6/+0
| | | | Approved by: alfred
* Update an 'XXX what is this?' type comment about suswintr and fuswintr.peter2002-06-201-2/+2
| | | | These are 16 bit short values used only by the profiling code.
* Deorbit suibyte(). It was only used for split address space systemspeter2002-06-201-5/+0
| | | | for supporting UIO_USERISPACE (ie: it wasn't used).
* Move the "- 1" into the RQB_FFS(mask) macro itself so thatpeter2002-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)
* Squish the "could sleep with process lock" messages caused by callingalfred2002-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>
* Botcho. I included in the last commit themjacob2002-06-162-2/+0
| | | | | | | | device mpt # LSI-Logic MPT-Fusion line. This driver isn't ready yet. Submitted by: Scott Long
* Note that sio is required.mjacob2002-06-142-2/+4
| | | | | | PR: 39305 Submitted by: Michael Hogsett <hogsett@csl.sri.com> MFC after: 1 week
* - Fixup / remove obsolete comments.jhb2002-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.
* Fix typo in the BSD copyright: s/withough/without/schweikh2002-06-027-7/+7
| | | | | Spotted and suggested by: des MFC after: 3 weeks
* Move the definition of ElfN_Hashelt to common headers. The only platformdfr2002-05-301-11/+0
| | | | which has a different definition for this is alpha.
* Add declarations of suword32 and suword64. Add implementations of one ordfr2002-05-261-0/+2
| | | | | the other (or both) to all the platforms. Similar for fuword32 and fuword64.
* Make sure there's a statement after the out: label in clockattach().des2002-05-261-0/+2
|
* Make the run queue parameters machine dependent. Optimize 64 bitjake2002-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
* - Apparently, the Alpha ABI mandates that arguments be passed sign-extendedjhb2002-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>
* More s/file system/filesystem/gtrhodes2002-05-161-2/+2
|
* Fixup unaligned bwx instructions (ldwu, stw). This may fix some mysteriousgallatin2002-05-161-7/+25
| | | | | | natd sigbus errors being reported on the freebsd-alpha@ mailing list. Obtained from: NetBSD
* Move MI stuff out of MD param.h files.phk2002-05-141-38/+0
| | | | It can all still be overridden in the MD files should need suddenly arise.
OpenPOWER on IntegriCloud