summaryrefslogtreecommitdiffstats
path: root/sys/alpha
Commit message (Collapse)AuthorAgeFilesLines
* Make osendsig global. It's used by the Linuxulator.marcel2000-12-051-1/+3
|
* Remove the last of the MD netisr code. It is now all MI. Removejake2000-12-052-28/+0
| | | | | | | | spending, which was unused now that all software interrupts have their own thread. Make the legacy schednetisr use an atomic op for setting bits in the netisr mask. Reviewed by: jhb
* Fix for vanilla PC164 systems to use a slightly different PALcode magicmjacob2000-12-042-2/+39
| | | | | | | | tweak to enable/disable interrupt sources. Seems to work. It is unclear how many of the PC164 models actually might needs this, and whether or not there are other hidden issues. Obtained from:Bernd Walter <ticso@cicely8.cicely.de>
* Comment out debug printfs about enable/disable ints.mjacob2000-12-041-2/+2
| | | | Current now appears to work at least fitfully on one Rawhide.
* More M_ZERO patches.dwmalone2000-12-031-23/+19
| | | | | | Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net> Approved by: mjacob
* Don't auto-generate the syscalls.marcel2000-12-038-7/+1224
|
* Don't auto-generate syscalls.marcel2000-12-031-1/+1
|
* exec_osf1_imgact() should return -1 for non OSF1/ECOFF binaries, it shouldgallatin2000-12-021-1/+1
| | | | | | | | not return ENOEXEC. This is because image activators should return -1 if they don't claim an image. They should return ENOEXEC if they do claim it, but cannot load it due to sime problem with the image. This bug was preventing static compilation of the osf/1 module. I'm surprised it did not cause more problems.
* Alter isa interrupt behaviour on alpha. Rather than send a non-specificgallatin2000-12-011-4/+38
| | | | | | | | | | | | | EOI after the ithread runs, send the EOI when we get the interrupt and disable the source. After the ithread is run, the source is renabled. Also, add isa_handle_fast_intr() which handles fast interrupts by sending an EOI after the handler is run. This fixes the chronic missing interrupt problems under heavy NFS load on my UP1000 and should result in greater stability for alphas which route all irqs through an isa pic. Discussed with: jhb, bde (sending non-specific EOIs early was bde's idea)
* acquire/release Giant in vm_page_zero_idle(), like on i386gallatin2000-12-011-8/+2
| | | | Discused with: jhb
* Convert the pcib_{read,write}_config args from signed to unsigned,gallatin2000-12-018-29/+29
| | | | | | | | | | | like the args to the config space accessors these functions replaced. This reduces the likelyhood of overflow when the args are used in macros on the alpha. This prevents memory management faults when probing the pci bus on sables, multias and nonames. Approved by: dfr Tested by: Bernd Walter <ticso@cicely8.cicely.de>
* remove unneded sys/ucred.h includesalfred2000-11-302-2/+0
|
* Don't use p->p_sigstk.ss_flags to keep state of whether themarcel2000-11-303-6/+19
| | | | | | | | | | | | | | | process is on the alternate stack or not. For compatibility with sigstack(2) state is being updated if such is needed. We now determine whether the process is on the alternate stack by looking at its stack pointer. This allows a process to siglongjmp from a signal handler on the alternate stack to the place of the sigsetjmp on the normal stack. When maintaining state, this would have invalidated the state information and causing a subsequent signal to be delivered on the normal stack instead of the alternate stack. PR: 22286
* Add 'mpsafe' parameter to callout_init() in MD bits.jlemon2000-11-261-1/+1
| | | | Reminded by: jake
* Don't unregister the ioctl handlers before we verified wemarcel2000-11-231-11/+13
| | | | | | | | | | | can unload. Doing so leaves the linuxulator in a crippled state (no ioctl support) when Linux binaries are run at unload time. While here, consistently spell ELF in capitals and perform some minor style improvements. ELF spelling submitted by: asmodai
* Protect the following with a lockmgr lock:jake2000-11-221-0/+9
| | | | | | | | | | | | allproc zombproc pidhashtbl proc.p_list proc.p_hash nextpid Reviewed by: jhb Obtained from: BSD/OS and netbsd
* Protect the bounce page list with a mutex instead of using splhigh().dfr2000-11-221-14/+13
|
* Add a consistent API to a feature that most modern CPUs have; a fastmarkm2000-11-211-0/+10
| | | | | | | | | | | | | | counter register in-CPU. This is to be used as a fast "timer", where linearity is more important than time, and multiple lines in the linearity caused by multiple CPUs in an SMP machine is not a problem. This adds no code whatsoever to the FreeBSD kernel until it is actually used, and then as a single-instruction inline routine (except for the 80386 and 80486 where it is some more inline code around nanotime(9). Reviewed by: bde, kris, jhb
* fix isa DMA on pyxis based machines:gallatin2000-11-211-7/+8
| | | | | | | | | | | | - move the call to cia_init_sgmap() to after we've determined if we're a pyxis - convert needed splhigh() in cia_sgmap_invalidate_pyxis() to disable_intr() Previously, any isa DMA on a pyxis based machine would cause a panic in cia_sgmap_invalidate_pyxis() because the pyxis workaround was never setup. - while i'm at it, convert needed splhigh() in cia_swiz_set_hae_mem to disable_intr()
* Make programs which still #include <machine/{mouse,console}.h> failphk2000-11-202-13/+2
| | | | | | | at compiletime, with an explanatory error message. Previously they would only get a warning. These files will be finally removed 2001-01-15
* Convert various calls to splhigh() to disable_intr() since splhigh() isdfr2000-11-196-26/+34
| | | | now a no-op.
* We don't need <stddef.h> for offsetof() any more.dfr2000-11-191-2/+0
|
* - Protect the callout wheel with a separate spin mutex, callout_lock.jake2000-11-191-0/+2
| | | | | | | | | | | - Use the mutex in hardclock to ensure no races between it and softclock. - Make softclock be INTR_MPSAFE and provide a flag, CALLOUT_MPSAFE, which specifies that a callout handler does not need giant. There is still no way to set this flag when regstering a callout. Reviewed by: -smp@, jlemon
* - Split the run queue and sleep queue linkage, so that a processjake2000-11-171-1/+1
| | | | | | | | | may block on a mutex while on the sleep queue without corrupting it. - Move dropping of Giant to after the acquire of sched_lock. Tested by: John Hay <jhay@icomtek.csir.co.za> jhb
* Don't release and acquire Giant in mi_switch(). Instead, release andjhb2000-11-161-0/+2
| | | | | | | | acquire Giant as needed in functions that call mi_switch(). The releases need to be done outside of the sched_lock to avoid potential deadlocks from trying to acquire Giant while interrupts are disabled. Submitted by: witness
* Use the linux_connect() on alpha rather than passing directly throughgallatin2000-11-161-1/+2
| | | | | | | | | | to our native connect(). This is required to deal with the differences in the way linux handles connects on non-blocking sockets. This gets the private beta of the Compaq Linux/alpha JDK working on FreeBSD/alpha Approved by: marcel
* make the fcntl() flags match what the linux/alpha port uses, notgallatin2000-11-161-9/+11
| | | | what linux/i386 uses
* Add the 'witness_spin_check' per-CPU variable.jhb2000-11-153-0/+3
|
* - Don't acquire/release Giant during an interrupt context for machinejhb2000-11-151-10/+1
| | | | | checks, clock interrupts, and device interrupts. - Assert that Giant is not owned during the main loop of ithd_loop().
* Fix all the interrupt enabled/disabled assertions which were backwards.jhb2000-11-151-6/+6
|
* Don't perform an mi_switch() when we release Giant during cpu_exit(). Wejhb2000-11-151-1/+2
| | | | | | are about to call cpu_switch() anyways. Found by: witness
* Enable all interrupts in switch_trampoline after releasing the sched_lock.jhb2000-11-151-0/+2
| | | | | | This is needed so that kernel threads created before interrupts are enabled do not run with interrupts disabled once the system is up and running.
* Pick up kernelname for bootinfo structure (if possible), otherwisemjacob2000-11-141-5/+13
| | | | from environment.
* Enable linux thread support on the alpha. The guts of linux_clone wasgallatin2000-11-101-1/+57
| | | | | | | | mainly cut-n-pasted from the i386 port, except for the method of setting the child's stack which is the only MD part of this function. I've tested with the example apps shipped with the linux threads source code (ex1-ex6) and with several binary builds of Mozilla.
* Simplify and correct OSF/1 signal handling.gallatin2000-11-103-133/+16
| | | | | | | | | | | | - No signal translation is needed. Our signals match the OSF/1 signals - an OSF/1 sigset_t is 64 bits. Make certain to use all 64-bits of it. We'd previously only used the lower 32 bits. This was mostly harmless as I don't know of an OSF/1 apps which use any signals > 31. However, the alpha Linux ABI uses the osf/1 signal routines and threaded linux apps tyically use signals 32 and 33 to comminicate with the manager thread, so it is important we preserve the upper 32-bits. Reviewed by: marcel (at least in principal)
* Fix typo in END macro (END'ed enable twice)mjacob2000-11-091-1/+1
| | | | | PR: 22713 Submitted by: Bernd Walter <ticso@cicely5.cicely.de>
* Make MINSIGSTKSZ machine dependent, and have the sigaltstackmarcel2000-11-095-3/+14
| | | | | | | | | | | | | | | | | | | | | | syscall compare against a variable sv_minsigstksz in struct sysentvec as to properly take the size of the machine- and ABI dependent struct sigframe into account. The SVR4 and iBCS2 modules continue to have a minsigstksz of 8192 to preserve behavior. The real values (if different) are not known at this time. Other ABI modules use the real values. The native MINSIGSTKSZ is now defined as follows: Arch MINSIGSTKSZ ---- ----------- alpha 4096 i386 2048 ia64 12288 Reviewed by: mjacob Suggested by: bde
* back out 1.66 -- the Elfxx_Brandinfo compat_3_brand field doesn't existgallatin2000-11-091-2/+0
| | | | in -current
* Clean this is up a bit for multiple MIDs... We can figure out which MIDmjacob2000-11-081-40/+59
| | | | | | | | for an interrupt to enable/disable from the vector (and GID too, if we had multiple GIDs)- so, stupidly for now, search for the right mcpcia's softc so we have the right base address for the bridge CSR to apply IRQ bit-twiddle's to. Alas- this doesn't yet allow us to run, but it's the right direction.
* Fix CMSG and ALIGN macro usage.asmodai2000-11-081-17/+37
| | | | | | | | | | | | | | | | | | | Previously we had to include <machine/param.h> or <sys/param.h> bogusly due to the fact that <sys/socket.h> CMSG macros needed the ALIGN macro, which was defined in param.h. However, including param.h was a disaster for namespace pollution. This solution, as contributed by shin a while ago, fixes it elegantly by wrapping the definitions around some namespace pollution preventer definitions. This patch was long overdue. This should allow any network programmer to use <sys/socket.h> as before. PR: 19971, 20530 Submitted by: Martin Kaeske <MartinKaeske@lausitz.net> Mark Andrews <Mark.Andrews@nominum.com> Patch submitted by: shin Reviewed by: bde
* (KTR debugging) Say when we're disabling a vector.mjacob2000-11-071-2/+5
|
* Sync with i386's GENERIC rev 1.287 (Minor ordering changes to make moreobrien2000-11-072-2/+2
| | | | sections strictly alphabetical.)
* Sync with i386/conf/GENERIC rev 1.288 (add comments for some ISA devices).obrien2000-11-072-10/+10
|
* The vx driver no longer needs the PCI compat shims. Also should nowwpaul2000-11-072-0/+2
| | | | work on the alpha (at least the PCI part should).
* Fix generated include path.obrien2000-11-041-1/+1
| | | | Approved by: JKH
* Fix the Elf64 branding initialization.obrien2000-11-041-0/+2
|
* Sort.obrien2000-11-021-1/+1
|
* Support for the linux ipc syscalls on the alpha, where each one hasgallatin2000-11-011-11/+19
| | | | | its own syscall rather than going through a demux function like linux_ipc() on i386
* use DUMMY macro and support from linux_util.hgallatin2000-11-011-15/+1
|
* Move the linux abi's alpha md files over to using David's build-timegallatin2000-11-014-4/+4
| | | | syscall generation method
OpenPOWER on IntegriCloud