summaryrefslogtreecommitdiffstats
path: root/sys/alpha
Commit message (Collapse)AuthorAgeFilesLines
* Protect the per-process UAC field with the proc lock where it isn't alreadyjhb2003-04-172-1/+3
| | | | protected.
* Fix printf args in debug printfs.jhb2003-04-161-5/+5
|
* Assume a struct thread *td instead of a struct proc *p in the debugjhb2003-04-161-2/+2
| | | | printf macros.
* Fix some debug macros. Either missing close parens or close parens in thejhb2003-04-161-4/+4
| | | | wrong place.
* Remove empty simulator options section and add an ABI emulation section.jhb2003-04-151-1/+11
| | | | | Add COMPAT_OSF1, COMPAT_LINUX, and LINPROCFS options to the ABI emulation section.
* Style(9) a comment added in previous commit.gallatin2003-04-111-2/+4
| | | | Pointed out by: bde
* Change the operation parameter of bus_dmamap_sync() from anmux2003-04-102-19/+9
| | | | | | enum to an int and redefine the BUS_DMASYNC_* constants as flags. This allows us to specify several operations in one call to bus_dmamap_sync() as in NetBSD.
* Enable loadable modules to be unloaded on alphas with shared isagallatin2003-04-101-9/+21
| | | | | interrupts by only disabling the interrupt in hardware if the handler being removed is the only handler.
* - Kill the pv_flags member of the alpha mdpage since it stop being usedjhb2003-04-102-15/+0
| | | | | | in rev 1.61 of pmap.c. - Now that pmap_page_is_free() is empty and since it is just a hack for the Alpha pmap, remove it.
* Introduce an M_ASSERTPKTHDR() macro which performs the very common taskdes2003-04-081-2/+1
| | | | | | | of asserting that an mbuf has a packet header. Use it instead of hand- rolled versions wherever applicable. Submitted by: Hiten Pandya <hiten@unixdaemons.com>
* Define ovbcopy() as a macro which expands to the equivalent bcopy() call,des2003-04-041-6/+1
| | | | | | | | | | | | | | to take care of the KAME IPv6 code which needs ovbcopy() because NetBSD's bcopy() doesn't handle overlap like ours. Remove all implementations of ovbcopy(). Previously, bzero was a function pointer on i386, to save a jmp to bzero_vector. Get rid of this microoptimization as it only confuses things, adds machine-dependent code to an MD header, and doesn't really save all that much. This commit does not add my pagezero() / pagecopy() code.
* - Define a new md function 'casuptr'. This atomically compares and setsjeff2003-04-011-0/+6
| | | | | | | | | | a pointer that is in user space. It will be used as the basic primitive for a kernel supported user space lock implementation. - Implement this function in x86's support.s - Provide stubs that return -1 in all other architectures. Implementations will follow along shortly. Reviewed by: jake
* - Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread withjeff2003-03-312-23/+24
| | | | | | | a follow on commit to kern_sig.c - signotify() now operates on a thread since unmasked pending signals are stored in the thread. - PS_NEEDSIGCHK moves to TDF_NEEDSIGCHK.
* - Change trapsignal() to accept a thread and not a proc.jeff2003-03-311-1/+1
| | | | | | | - Change all consumers to pass in a thread. Right now this does not cause any functional changes but it will be important later when signals can be delivered to specific threads.
* - Use sigexit() instead of twiddling the signal mask, catch, ignore, andjeff2003-03-312-20/+4
| | | | | action bits to allow SIGILL to work as expected. This brings this file in line with other architectures.
* Fix the osf1 abi module on SMP systems by making the size ofgallatin2003-03-292-2/+3
| | | | | | | | | | | | | | | | a struct pmap be the same on both SMP and UP kernels. It turns out that the size of a struct pmap is much larger on alpha SMP systems due to the number of pm_asn's being dependant on MAX_CPU. Since modules are supposed to be SMP agnostic, this has the affect of moving around the "interesting bits" of the vmspace (daddr, dsize) that the osf1 module wants to frob. So the module ends up scribbling in a pmap struct, and the user either sees a panic, or an application failure. While here, I've also shrunk MAXCPU to 8 now that it affects the size of pmap structs on UP systesm. This should be plenty, as I'm unware of any hardware we currently run in which supports more than 8 CPUs.
* Add missing includes from previous commit.jhb2003-03-271-0/+1
| | | | Reported by: des
* Add a cleanup function to destroy the osname_lock and call it on modulejhb2003-03-261-0/+1
| | | | | | | unload. Submitted by: gallatin Reported by: Martin Karlsson <mk-freebsd@bredband.net>
* - Add vm_paddr_t, a physical address type. This is required for systemsjake2003-03-252-1/+2
| | | | | | | | | | | | | | | where physical addresses larger than virtual addresses, such as i386s with PAE. - Use this to represent physical addresses in the MI vm system and in the i386 pmap code. This also changes the paddr parameter to d_mmap_t. - Fix printf formats to handle physical addresses >4G in the i386 memory detection code, and due to kvtop returning vm_paddr_t instead of u_long. Note that this is a name change only; vm_paddr_t is still the same as vm_offset_t on all currently supported platforms. Sponsored by: DARPA, Network Associates Laboratories Discussed with: re, phk (cdevsw change)
* Remove bitrot associated with `maxusers'.ru2003-03-221-1/+0
| | | | Submitted by: bde
* Fix some memory leaks in the failure cases after trying to look up thejhb2003-03-211-6/+9
| | | | | | | OSF/1 runtime loader. Also, use td_ucred instead of p_ucred. Tested by: gallatin Reviewed by: rwatson
* Sync up linux and svr compat elf fixup functions for exec(). Thesejhb2003-03-211-10/+9
| | | | | | | | | functions are now all basically identical except that alpha linux uses Elf64 arguments and svr4 and i386 linux use Elf32. The fixups include changing the first argument to be a register_t ** to match the prototype for fixup functions, asserting that the process in the image_params struct is always curproc and removing unnecessary locking to read credentials as a result, and a few style fixes.
* Use td->td_ucred instead of td->td_proc->p_ucred.jhb2003-03-201-3/+3
|
* Use atomic operations to increment and decrement the refcountmux2003-03-201-4/+4
| | | | | | | in busdma tags. There are currently no tags shared accross different drivers so this isn't needed at the moment, but it will be required when we'll have a proper newbus method to get the parent busdma tag.
* Tidy up the locking of the bounce pages structures.mux2003-03-171-13/+21
| | | | | | | | | | | | - Use SYSINIT to initialize the structures instead of checking total_bpages against 0 in alloc_bounce_pages(), which could lead to several initializations being done at the same time. - Add missing locking in bus_dmamap_load(), the bounce pages mutex must be held when calling reserve_bounce_pages() and when touching the bounce_map_waitinglist list. - Remove the useless splhigh() and splx() calls. - Assert that the bounce pages mutex is held in reserve_bounce_pages() to catch regressions.
* Made the prototypes for pmap_kenter and pmap_kremove MD. These functionsjake2003-03-161-0/+2
| | | | | | | | | are machine dependent because they are not required to update the tlb when mappings are added or removed, and doing so is machine dependent. In addition, an implementation may require that pages mapped with pmap_kenter have a backing vm_page_t, which is not necessarily true of all physical pages, and so may choose to pass the vm_page_t to pmap_kenter instead of the physical address in order to make this requirement clear.
* Grab Giant around calls to contigmalloc() and contigfree() somux2003-03-131-1/+8
| | | | that drivers converted to be MP safe don't have to deal with it.
* Centralize the devstat handling for all GEOM disk device driversphk2003-03-081-1/+0
| | | | | | | | in geom_disk.c. As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be reduced to biodone() again.
* Instrument sysarch() MD privileged I/O access interfaces with a MACrwatson2003-03-061-0/+9
| | | | | | | | | | | check, mac_check_sysarch_ioperm(), permitting MAC security policy modules to control access to these interfaces. Currently, they protect access to IOPL on i386, and setting HAE on Alpha. Additional checks might be required on other platforms to prevent bypass of kernel security protections by unauthorized processes. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Replace calls to WITNESS_SLEEP() and witness_list() with equivalent callsjhb2003-03-041-6/+2
| | | | to WITNESS_WARN().
* Gigacommit to improve device-driver source compatibility betweenphk2003-03-033-39/+25
| | | | | | | | | | | | | branches: Initialize struct cdevsw using C99 sparse initializtion and remove all initializations to default values. This patch is automatically generated and has been tested by compiling LINT with all the fields in struct cdevsw in reverse order on alpha, sparc64 and i386. Approved by: re(scottl)
* Clean up whitespace and remove register keyword.des2003-03-031-1/+1
|
* More caddr_t removal, in conjunction with copy{in,out}(9) this time.des2003-03-031-3/+3
| | | | Also clean up some egregious casts and incorrect use of sizeof.
* MFi386 revision 1.88alc2003-03-011-6/+0
| | | | Remove some long unused declarations.
* Change the process flags P_KSES to be P_THREADED.julian2003-02-271-1/+1
| | | | This is just a cosmetic change but I've been meaning to do it for about a year.
* cat KSE > /dev/nulldavidxu2003-02-271-1/+0
|
* Implemented "nooption" and "nomakeoption" config(8) tokens.ru2003-02-261-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixed memory leak in the "nodevice" option implementation. Use these instead of sed(1) in MD NOTES. Use a single makefile (sys/conf/makeLINT.mk) to generate LINT for all architectures. (Previous versions missed the LINT dependency on Makefile, and i386 version also missed the dependency on ${NOTES}.) Fixed bugs in the previous NOTES conversion using the "nodevice" token and sed(1): - i386 LINT lost "device pst". - pc98 LINT lost SC_*, MAXCONS and KBD_DISABLE_KEYMAP_LOAD options, and got needless DPT_* options. - Added nooptions PPC_DEBUG, PPC_PROBE_CHIPSET, KBD_INSTALL_CDEV to sparc64 LINT so that it has a chance to config(8). This basically returns us to where we were before.
* Correctly set BUS_SPACE_MAXSIZE in all the busdma backends.mux2003-02-262-2/+2
| | | | | It was bogusly set to 64 * 1024 or 128 * 1024 because it was bogusly reused in the BUS_DMAMAP_NSEGS definition.
* Move most everything back to a MI NOTES, and use "nodevice" in MD NOTESobrien2003-02-252-189/+3
| | | | | | | Where needed. Use 'sed' for now in place of "nooptions". Add a sparc64 MD NOTES. Reviewed by: arch@
* Cleanup of the d_mmap_t interface.mux2003-02-252-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | - Get rid of the useless atop() / pmap_phys_address() detour. The device mmap handlers must now give back the physical address without atop()'ing it. - Don't borrow the physical address of the mapping in the returned int. Now we properly pass a vm_offset_t * and expect it to be filled by the mmap handler when the mapping was successful. The mmap handler must now return 0 when successful, any other value is considered as an error. Previously, returning -1 was the only way to fail. This change thus accidentally fixes some devices which were bogusly returning errno constants which would have been considered as addresses by the device pager. - Garbage collect the poorly named pmap_phys_address() now that it's no longer used. - Convert all the d_mmap_t consumers to the new API. I'm still not sure wheter we need a __FreeBSD_version bump for this, since and we didn't guarantee API/ABI stability until 5.1-RELEASE. Discussed with: alc, phk, jake Reviewed by: peter Compile-tested on: LINT (i386), GENERIC (alpha and sparc64) Runtime-tested on: i386
* Remove support for running in SimOS. The support has rotted overmarcel2003-02-258-96/+1
| | | | | | | | time and there's no indication that it will improve anytime soon. By removing support for SimOS it is possible to build LINT on Alpha, which is considered more important at the moment. Not objected to on: alpha@
* Move MD devices to <machine>/conf/NOTES.nyan2003-02-231-0/+187
|
* Workaround for compiling LINT. Large kernels (like LINT) can havemarcel2003-02-231-20/+32
| | | | | | | | | | | branch targets that are too far apart for the BRADDR relocation. This is caused by the branch prediction optimizationi in the atomic inlines here, because they jump across sections. The workaround is to suppress jumping to a different section when compiling LINT. To generate correct code in that case, the section directives are replaced by a branch and a label to deal with the fall-through case. Reasonably good C compilers will optimize this away anyway, so the end result isn't really that bad.
* It is pretty evident that nobody loves this file anymore, so retire itphk2003-02-221-65/+0
| | | | | to the Attic from where it can be picked up again, should it ever again become fashionable to run an alpha simulator.
* Change the console interface to pass a "struct consdev *" instead of aphk2003-02-209-21/+22
| | | | | | | | | dev_t to the method functions. The dev_t can still be found at struct consdev *->cn_dev. Add a void *cn_arg element to struct consdev which the drivers can use for retrieving their softc.
* Back out M_* changes, per decision of the TRB.imp2003-02-193-10/+10
| | | | Approved by: trb
* Move a bunch of flags from the KSE to the thread.julian2003-02-172-10/+7
| | | | | | | | I was in two minds as to where to put them in the first case.. I should have listenned to the other mind. Submitted by: parts by davidxu@ Reviewed by: jeff@ mini@
* - Split the struct kse into struct upcall and struct kse. struct kse willjeff2003-02-171-1/+1
| | | | | | | soon be visible only to schedulers. This greatly simplifies much the KSE code. Submitted by: davidxu
* - Move ke_sticks, ke_iticks, ke_uticks, ke_uu, ke_su, and ke_iu back intojeff2003-02-171-2/+2
| | | | | | | the proc. These counters are only examined through calcru. Submitted by: davidxu Tested on: x86, alpha, UP/SMP
* zero the end of the memory cluster we're disposing of. Otherwise tehgallatin2003-02-161-0/+1
| | | | | | | vm page startup code finds a 20GB cluster on this wacky alphaserver I'm working on.. MFC After: 7 days
OpenPOWER on IntegriCloud