summaryrefslogtreecommitdiffstats
path: root/sys/alpha
Commit message (Collapse)AuthorAgeFilesLines
* Add .cvsignore files just like in sys/<arch>/compiled, this keeps CVS fromobrien2005-06-201-0/+1
| | | | | | questing kernel config files not in CVS. Approved by: re(kensmith)
* Do not allocate memory based on not-checked argument from userland.pjd2005-06-111-6/+2
| | | | | | | | | | | It can be used to panic the kernel by giving too big value. Fix it by moving allocation and size verification into kern_getfsstat(). This even simplifies kern_getfsstat() consumers, but destroys symmetry - memory is allocated inside kern_getfsstat(), but has to be freed by the caller. Found by: FreeBSD Kernel Stress Test Suite: http://www.holm.cc/stress/ Reported by: Peter Holm <peter@holm.cc>
* Fix copy&paste bug.pjd2005-06-111-1/+1
|
* Introduce a procedure, pmap_page_init(), that initializes thealc2005-06-101-31/+19
| | | | | | | | | | | | | | | | | | | vm_page's machine-dependent fields. Use this function in vm_pageq_add_new_page() so that the vm_page's machine-dependent and machine-independent fields are initialized at the same time. Remove code from pmap_init() for initializing the vm_page's machine-dependent fields. Remove stale comments from pmap_init(). Eliminate the Boolean variable pmap_initialized from the alpha, amd64, i386, and ia64 pmap implementations. Its use is no longer required because of the above changes and earlier changes that result in physical memory that is being mapped at initialization time being mapped without pv entries. Tested by: cognet, kensmith, marcel
* MFP4:jkoshy2005-06-091-0/+13
| | | | | | | | | | | | | | | | - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation.
* Avoid code duplication in serval places by introducing universalpjd2005-06-091-44/+26
| | | | | | kern_getfsstat() function. Obtained from: jhb
* Regen after addition of linux_getpriority wrapper.sobomax2005-06-083-4/+10
| | | | | | PR: kern/81951 Submitted by: Andriy Gapon <avg@icyb.net.ua> MFC after: 1 week
* Properly convert FreeBSD priority values into Linux values in thesobomax2005-06-081-1/+1
| | | | | | | getpriority(2) syscall. PR: kern/81951 Submitted by: Andriy Gapon <avg@icyb.net.ua>
* Until someone who owns the various TGA-based cards has time to fix thewilko2005-06-061-1/+2
| | | | | driver it is better to not include the driver in GENERIC as it panics the system on probing a TGA.
* Rebuild generated system call definition files following the addition ofrwatson2005-05-306-685/+687
| | | | | | | the audit event field to the syscalls.master file format. Submitted by: wsalamon Obtained from: TrustedBSD Project
* Introduce a new field in the syscalls.master file format to hold therwatson2005-05-302-757/+924
| | | | | | | | | | | | | audit event identifier associated with each system call, which will be stored by makesyscalls.sh in the sy_auevent field of struct sysent. For now, default the audit identifier on all system calls to AUE_NULL, but in the near future, other BSM event identifiers will be used. The mapping of system calls to event identifiers is many:one due to multiple system calls that map to the same end functionality across compatibility wrappers, ABI wrappers, etc. Submitted by: wsalamon Obtained from: TrustedBSD Project
* Create nexus in configure_first() instead of in configure(). Thismarcel2005-05-291-2/+2
| | | | | makes sure that sysinit tasks that run after configure_first(), but before configure() have a nexus to hang devices off.
* o Call cninit_finish() in configure_final().marcel2005-05-291-86/+1
| | | | o Remove unused and compiled-out code while here.
* White space normalization: use tabs instead of spaces before and afterrwatson2005-05-291-39/+39
| | | | the system call type field.
* Remove bus_{mem,p}io.h and related code for a micro-optimization on i386nyan2005-05-293-63/+0
| | | | | | and amd64. The optimization is a trivial on recent machines. Reviewed by: -arch (imp, marcel, dfr)
* Change the spkr_set_pitch() function to a macro to fix low level profiling.nyan2005-05-281-7/+5
|
* For ISA DMA maps, the chipsets scatter/gather feature is used. Asmarcel2005-05-251-0/+3
| | | | | | | | | | | such, the segments pointer in the DMA tag will always be NULL. In bus_dmamap_load(), temporarily point the segments pointer in the DMA tag to a local variable so that we don't dereference a NULL pointer. Reset the segments pointer to NULL after calling the callback function with it. PR: alpha/30486 MFC after: 1 week
* Add missing jail.h include.pjd2005-05-221-0/+1
|
* This code seems to be dead, but anyway:pjd2005-05-221-3/+9
| | | | | | - Don't leak fsid. - Don't forget about prison_check_mount(). - Don't use additional variable when there is no need to.
* - Move bus dependent defines to {isa,cbus}_dmareg.h.nyan2005-05-141-1/+1
| | | | | | - Use isa/isareg.h rather than <arch>/isa/isa.h. Tested on: i386, pc98
* - Move timerreg.h to <arch>/include and split i8253 specific defines intonyan2005-05-144-97/+123
| | | | | | | | | i8253reg.h, and add some defines to control a speaker. - Move PPI related defines from i386/isa/spkr.c into ppireg.h and use them. - Move IO_{PPI,TIMER} defines into ppireg.h and timerreg.h respectively. - Use isa/isareg.h rather than <arch>/isa/isa.h. Tested on: i386, pc98
* Change cpu_set_kse_upcall to more generic style, so we can reuse itdavidxu2005-04-231-7/+18
| | | | | | | in other codes. Add cpu_set_user_tls, use it to tweak user register and setup user TLS. I ever wanted to merge it into cpu_set_kse_upcall, but since cpu_set_kse_upcall is also used by M:N threads which may not need this feature, so I wrote a separated cpu_set_user_tls.
* Add empty header (except of the multiple-inclusion protection) tomarcel2005-04-201-0/+10
| | | | get hwpmc(4) to compile on this platform.
* Break out the definition of bus_space_{tag,handle}_t and a few other typesimp2005-04-182-7/+43
| | | | | | | | | | into _bus.h to help with name space polution from including all of bus.h. In a few days, I'll commit changes to the MI code to take advantage of thse sepration (after I've made sure that these changes don't break anything in the main tree, I've tested in my trees, but you never know...). Suggested by: bde (in 2002 or 2003 I think) Reviewed in principle by: jhb
* Use PCPU_LAZY_INC() for cnt.v_{intr,trap,syscalls} rather than atomicjhb2005-04-122-4/+4
| | | | operations in some places and simple non-per CPU math in others.
* Fix another instance of TDP_OWEPREEMPT -> td_owepreempt.jhb2005-04-091-1/+1
| | | | Reported by: tinderbox
* Divorce critical sections from spinlocks. Critical sections as denoted byjhb2005-04-046-148/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | critical_enter() and critical_exit() are now solely a mechanism for deferring kernel preemptions. They no longer have any affect on interrupts. This means that standalone critical sections are now very cheap as they are simply unlocked integer increments and decrements for the common case. Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter() and spinlock_exit(). This KPI is responsible for providing whatever MD guarantees are needed to ensure that a thread holding a spin lock won't be preempted by any other code that will try to lock the same lock. For now all archs continue to block interrupts in a "spinlock section" as they did formerly in all critical sections. Note that I've also taken this opportunity to push a few things into MD code rather than MI. For example, critical_fork_exit() no longer exists. Instead, MD code ensures that new threads have the correct state when they are created. Also, we no longer try to fixup the idlethreads for APs in MI code. Instead, each arch sets the initial curthread and adjusts the state of the idle thread it borrows in order to perform the initial context switch. This change is largely a big NOP, but the cleaner separation it provides will allow for more efficient alternative locking schemes in other parts of the kernel (bare critical sections rather than per-CPU spin mutexes for per-CPU data for example). Reviewed by: grehan, cognet, arch@, others Tested on: i386, alpha, sparc64, powerpc, arm, possibly more
* - Change the vm_mmap() function to accept an objtype_t parameter specifyingjhb2005-04-012-3/+4
| | | | | | | | | | | | the type of object represented by the handle argument. - Allow vm_mmap() to map device memory via cdev objects in addition to vnodes and anonymous memory. Note that mmaping a cdev directly does not currently perform any MAC checks like mapping a vnode does. - Unbreak the DRM getbufs ioctl by having it call vm_mmap() directly on the cdev the ioctl is acting on rather than trying to find a suitable vnode to map from. Reviewed by: alc, arch@
* MFi386 (1.610): let TUNABLE_ULONG_FETCH handle the suffix.des2005-04-011-33/+3
|
* Use a custom version of copyinuio() to implement osf1_{read,write}v() viajhb2005-03-311-79/+56
| | | | kern_{read,write}v().
* Add USB Communication Device Class Ethernet driver. Originally written forsobomax2005-03-221-0/+1
| | | | | | | | | | FreeBSD based on aue(4) it was picked by OpenBSD, then from OpenBSD ported to NetBSD and finally NetBSD version merged with original one goes into FreeBSD. Obtained from: http://www.gank.org/freebsd/cdce/ NetBSD OpenBSD
* Add a comment to note that pseudo-device bpf is required for DHCP.murray2005-03-181-0/+1
| | | | | | | | | This is mentioned in the Handbook but it is not as obvious to new users why bpf is needed compared to the other largely self-explanatory items in GENERIC. PR: conf/40855 MFC after: 1 week
* Split configure() into 3 separate steps like we do on otheriedowse2005-03-181-15/+16
| | | | | | | architectures. This makes it possible to insert hooks before and after the device attachment step. Tested thanks to: marcel
* Customize this for the alpha by removing pc98 defines (unused on alpha)imp2005-03-161-17/+1
| | | | as well as saying that the alpha is wired up in a certain way.
* Refactor the bus_dma header files so that the interface is described inscottl2005-03-142-190/+34
| | | | | | | | | | sys/bus_dma.h instead of being copied in every single arch. This slightly reorders a flag that was specific to AXP and thus changes the ABI there. The interface still relies on bus_space definitions found in <machine/bus.h> so it cannot be included on its own yet, but that will be fixed at a later date. Add an MD <machine/bus_dma.h> for ever arch for consistency and to allow for future MD augmentation of the API. sparc64 makes heavy use of this right now due to its different bus_dma implemenation.
* Fix a long-standing bug in alpha's implementation of busdma. We need tomux2005-03-121-4/+4
| | | | | | | | | | | OR the physical address with alpha_XXX_dmamap_or to get the DMA address, like the name of the variable suggests. However, while we were doing this correctly in the alpha_XXX_dmamap() macro, the busdma code added the variable to the physical address instead of or'ing it. Fortunately and if my math is not entirely wrong, you would need more than 128GB of RAM and a device able to do DMA in 64bits to experience the bug. Spotted by: cognet
* Remove dead code.scottl2005-03-071-17/+0
|
* Regen after addition of linux_nosys handler.sobomax2005-03-073-3/+9
|
* Handle unimplemented syscall by instantly returning ENOSYS instead of sendingsobomax2005-03-071-0/+4
| | | | | | | signal first and only then returning ENOSYS to match what real linux does. PR: kern/74302 Submitted by: Travis Poppe <tlp@LiquidX.org>
* netchild's mega-patch to isolate compiler dependencies into a centraljoerg2005-03-0211-36/+57
| | | | | | | | | | | | | | | | place. This moves the dependency on GCC's and other compiler's features into the central sys/cdefs.h file, while the individual source files can then refer to #ifdef __COMPILER_FEATURE_FOO where they by now used to refer to #if __GNUC__ > 3.1415 && __BARC__ <= 42. By now, GCC and ICC (the Intel compiler) have been actively tested on IA32 platforms by netchild. Extension to other compilers is supposed to be possible, of course. Submitted by: netchild Reviewed by: various developers on arch@, some time ago
* Attempt to doff the pointy hat: implement 'hw.realmem' on remainingwes2005-03-011-0/+2
| | | | | | architectures. Pointed out by O'Brien, ScottL via email. Reviewed by: obrien (various)
* Use a common multi-inclusion protection, and add such aru2005-02-191-1/+6
| | | | protection to alpha/include/exec.h.
* - Implement osf1_emul_find() using kern_alternate_path(). This changesjhb2005-02-183-309/+113
| | | | | | | | | | | | | | the semantics in that the returned filename to use is now a kernel pointer rather than a user space pointer. This required changing the arguments to the CHECKALT*() macros some and changing the various system calls that used pathnames to use the kern_foo() functions that can accept kernel space filename pointers instead of calling the system call directly. - Use kern_open(), kern_stat(), kern_lstat(), kern_fstat(), kern_access(), kern_truncate(), kern_pathconf(), kern_execve(), kern_select(), kern_setitimer(), kern_getitimer(), kern_statfs(), and kern_fstatfs(). Silence on: alpha@
* Use LCONVPATHEXIST() rather than CHECKALTEXIST() and usejhb2005-02-181-9/+14
| | | | | | | exec_copyin_args(), kern_execve(), and exec_free_args() rather than execve() to eliminate stackgap use from Alpha's linux_execve(). Silence on: alpha@
* Backout previous change (disabling of security checks for signals deliveredsobomax2005-02-131-1/+1
| | | | | | in emulation layers), since it appears to be too broad. Requested by: rwatson
* Split out kill(2) syscall service routine into user-level and kernel part, thesobomax2005-02-131-1/+1
| | | | | | | | | | | | | | | | | former is callable from user space and the latter from the kernel one. Make kernel version take additional argument which tells if the respective call should check for additional restrictions for sending signals to suid/sugid applications or not. Make all emulation layers using non-checked version, since signal numbers in emulation layers can have different meaning that in native mode and such protection can cause misbehaviour. As a result remove LIBTHR from the signals allowed to be delivered to a suid/sugid application. Requested (sorta) by: rwatson MFC after: 2 weeks
* Implement interrupt routing for DEC_KN20AA.ticso2005-02-101-35/+22
| | | | | Tested by: wilko MFC after: 2 weeks
* Since we are quite unlikely to ever face another platform whichphk2005-02-061-18/+13
| | | | | | | | | uses the i8237 without trying to emulate the PC architecture move the register definitions for the i8237 chip into the central include file for the chip, except for the PC98 case which is magic. Add new isa_dmatc() function which tells us as cheaply as possible if the terminal count has been reached for a given channel.
* Finish the job of sorting all includes and fix the build by includingnjl2005-02-061-24/+26
| | | | | | malloc.h before proc.h on sparc64. Noticed by das@ Compiled on: alpha, amd64, i386, pc98, sparc64
* Sort includes a little so that bus.h comes before cpu.h (for device_t).njl2005-02-041-3/+3
|
OpenPOWER on IntegriCloud