summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* - Construct a cpu topology map for Hyper Threading systems so that ULE mayjeff2003-06-286-0/+186
| | | | take advantage of them.
* - Add structures for defining cpu topologies more complex than SMP.jeff2003-06-281-0/+27
| | | | | smp_topology may be left NULL by architectures which have vanilla SMP setups.
* Remove GIANT_REQUIRED from kmem_malloc().alc2003-06-281-3/+0
|
* Small fixes for the IOMMU code:tmm2003-06-281-16/+47
| | | | | | | | | | | | 1.) Handle maximum segment sizes which are smaller than the IOMMU page size by splitting up pages across multiple segments if needed; this case was previously unimplemented, and would cause panics. 2.) KASSERT that the physical address is in range; remove a KASSERT that has become pointless. 3.) Add a comment describing what remains to be fixed in the IOMMU code; I plan to address these issues soon. Desired by: dwhite (1)
* MFi386alc2003-06-281-4/+9
| | | | Add vm object locking to pmap_object_init_pt().
* - Add vm object locking to vm_pageout_clean().alc2003-06-281-5/+7
|
* Don't use fuword() and suword() on struct members of type int. Thismarcel2003-06-283-11/+11
| | | | | | | | | | | | happens to work on 32-bit platforms as sizeof(long)=sizeof(int), but wrecks all kinds of havoc (garbage reads, corrupting writes and misaligned loads/stores) on 64-bit architectures. The fix for now is to use fuword32() and suword32() and change the type of the applicable int fields to int32. This is to make it explicit that we depend on these fields being 32-bit. We may want to revisit this later. Reviewed by: deischen
* Don't map LINUX_POSIX_VDISABLE to _POSIX_VDISABLE and vice versa formarcel2003-06-281-2/+4
| | | | | | | | | | | | | | | | the VMIN and VTIME members of the c_cc array. These members are not special control characters. By not excluding these members we changed the noncanonical mode input processing when both members were 0 on entry (=LINUX_POSIX_VDISABLE) as we would remap them to 255 (=_POSIX_VDISABLE). See termios(4) case A for how that screws up your terminal I/O. PR: 23173 Originator: Bjarne Blichfeldt <bbl@dk.damgaard.com> Patch by: Boris Nikolaus <bn@dali.tellique.de> (original submission) Philipp Mergenthaler <philipp.mergenthaler@stud.uni-karlsruhe.de> Reminders by: Joseph Holland King <gte743n@cad.gatech.edu> MFC after: 5 days
* update to new 802.11 supportsam2003-06-281-2/+1
|
* Remove a stale comment, fix indentation.luigi2003-06-281-8/+5
|
* whitespace fixluigi2003-06-281-1/+1
|
* enable interrupt routing for mcpcia based systemsticso2003-06-281-53/+44
| | | | Reviewed by: mjacob, gallatin
* MFi386: revision 1.566.nyan2003-06-282-76/+0
|
* Fix several problems related to resume:simokawa2003-06-284-5/+40
| | | | | | | | - Initialize fc->status to process bus reset correctly after resume. - Initialize AT ring buffer pointer. - Requeue stdma to stfree for active IR buffer. - Stop DMA before suspend for safe. - Set powerstate after resume.
* Implement cpu_set_upcall_kse(). Elementary testing shows that thismarcel2003-06-281-0/+26
| | | | | | | function behaves correctly in principle, but is not expected to be 100% complete. In any case, with this commit we have KSE ported enough to start runtime testing with threaded applications and fix whatever bugs or omissions we encounter. Yay!
* - Don't migrate to stopped cpus.jeff2003-06-281-4/+4
|
* Hook grackle system controller/heathrow interrupt controller to PPC build.grehan2003-06-281-0/+2
|
* A module to handle the interrupt controller on Heathrow/Paddingtongrehan2003-06-282-0/+545
| | | | MacIO chips, found on older Mac G3's.
* A module for the Motorola MPC106 system controller aka 'Grackle'grehan2003-06-282-0/+622
| | | | found on older Mac G3's.
* o Change kse_thr_interrupt to allow send a signal to a specified thread,davidxu2003-06-289-149/+354
| | | | | | | | | | | | | | | | | or unblock a thread in kernel, and allow UTS to specify whether syscall should be restarted. o Add ability for UTS to monitor signal comes in and removed from process, the flag PS_SIGEVENT is used to indicate the events. o Add a KMF_WAITSIGEVENT for KSE mailbox flag, UTS call kse_release with this flag set to wait for above signal event. o For SA based thread, kernel masks all signal in its signal mask, let UTS to use kse_thr_interrupt interrupt a thread, and install a signal frame in userland for the thread. o Add a tm_syncsig in thread mailbox, when a hardware trap occurs, it is used to deliver synchronous signal to userland, and upcall is schedule, so UTS can process the synchronous signal for the thread. Reviewed by: julian (mentor)
* - If smp is not started yet don't try to load balance or we'll put threadsjeff2003-06-281-0/+3
| | | | on cpus that aren't running yet.
* Fix POSIX compatible bug for sigwaitinfo and sigtimedwait.davidxu2003-06-281-4/+11
| | | | | | | POSIX says siginfo pointer parameter can be NULL and if the function success, it should return signal number but not zero. The waitset it past should be negatived before it can be used as thread signal mask.
* Attach the amd(4) module to the i386 and pc98 builds only;ru2003-06-281-0/+1
| | | | | | untested on other platforms. Not objected to by: scottl
* - Use an int rather than a vm_pindex_t to represent the desired pagealc2003-06-281-24/+6
| | | | | | color in vm_page_alloc(). (This also has small performance benefits.) - Eliminate vm_page_select_free(); vm_page_alloc() might as well call vm_pageq_find() directly.
* Add a machine depended function thread_siginfo, SA signal codedavidxu2003-06-289-0/+174
| | | | | | | will use the function to construct a siginfo structure and use the result to export to userland. Reviewed by: julian
* - Throttle the inherited sleep and run time in sched_fork_kseg(). Thisjeff2003-06-281-4/+4
| | | | | allows us to learn the behavior of a thread much more quickly after it starts up.
* switch to new 802.11 supportsam2003-06-281-2/+3
|
* hookup ath and ath_hal to the buildsam2003-06-281-0/+2
|
* update for new 802.11 supportsam2003-06-2811-160/+134
|
* switch to new 802.11 supportsam2003-06-281-1/+7
|
* remove old 802.11 support; replaced by new code in sys/net80211sam2003-06-282-4027/+0
|
* Catch amd64 up with the pending busdma async callback locking. Though thisscottl2003-06-281-0/+5
| | | | | | | mechanism might change in the near future, it's best to keep everything in sync right now. Reminded by: peter
* - Adjust the default maximum slice value to ~140ms. This has improved thejeff2003-06-281-2/+2
| | | | | | nice distribution without significantly impacting interactive response. As a side effect it should also allow batch processes to run for a slightly longer period which will positively impact their performance.
* Announce umct to kernel build.scottl2003-06-282-0/+3
|
* Hook umct up to the module tree.scottl2003-06-281-0/+1
|
* Add 'umct', a driver for MCT Corp. and Belkin F5U109 USB-Serial adapters.scottl2003-06-282-0/+520
| | | | | | This is based on the ubsa driver by Alexander Kabaev along with documentation gleaned from the Linux mct_u232 driver. I've had this driver sitting in my tree for almost 6 months, and several others have found it useful.
* Fix a race condition in the flushing of commands thatgibbs2003-06-281-49/+379
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | have completed across the bus but not to the host before processing of an exception condition (busfree, bus reset, etc.). When flushing the controller of completed commands, we also look for packetized commands that have completed with good status and are stored in the "good status fifo". The hardware will post to the good status fifo even if data for that command is still active in a FIFO. In one particular failure case, a command outstanding on the bus reconnected, transferred data into a FIFO, and provided good status while the host driver was processing an expected busfree event (PPR message negotiation). This resulted in an entry in the good status fifo that we completed, but since the sequencer was paused, the data in the data FIFO for this command had never been transferred to the host. Once the busfree processing was complete, the sequencer was unpaused, and the data completed its transfer to the host. In some instances, the client for the data was notified of the completion and attempted to view the data before it arrived. This case only occurred during FreeBSD's multi-target probe of the SCSI bus while some devices are negotiating to go packetized and some devices are already running in packetized. The fix is to run and FIFOs active with a context in the good status fifo to completion before completing the command to the SCSI layer. This requies duplicating the FIFO rundown operations in the host driver that would usually be handled by the firmware, but there is no other alternative. Don't blindly shutdown the SCB dma engine when restarting the sequencer. We may be killing an operation that is not supposed to be cancelled. The cases where we need to shutdown these dma engines are already handled elsewhere in the driver. Fix a few more ahd_in?() -> ahd_in?_scbram() instances.
* aic79xx.h:gibbs2003-06-282-10/+16
| | | | | | | | | | | | | | | | | | | | | Add softc flag to indicate that we have seen at least one selection since the last bus reset or SE/LVD bus change. aic79xx.c: Fix a few style nits. In ahd_update_pending_scbs(), only touch card registers once we have found an SCB that needs to be updated. This removes lots of clutter from PCI traces taken of error recovery performed by the driver. Short circuit the first selection iocell workaround handler if we've run once since the last bus reset or iocell change. This also removes clutter from PCI traces. Note if completions are pending in the qoutfifo when we dump card state.
* Use clr instead of an explicit mov from ALLZEROSgibbs2003-06-281-2/+2
| | | | | to clear SCB_FIFO_USE_COUNT. This is just a syntactic change.
* Implement ahd_inq_scbram() and change the implementiongibbs2003-06-281-5/+12
| | | | | of ahd_inl_scbram to use ahd_inw_scbram instead of ahd_inb_scbram().
* Correct a typo in a comment.gibbs2003-06-281-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a comment in ahd_clear_critical_sections() about our need to leave ENBUSFREE set in SIMODE1 while single stepping. Re-arrange some delay loops so that we always perform a read after any register write and before the delay. This should make the delay loop more accurate. When completing message processing for a packetized commention, return the controller to a state where invalid non-packetized phases will still cause protocol violations. These are the same operations as those performed in the clear_target_state routine in the firmware. Now that we have a chip with working ABORTPENDING support (the 7901B), comment out the automatic use of this feature until we can adequately test it. The previous checkin updated the bug mask for the 7901B so this code was exercised. When resetting the bus, perform an ahd_flush_device_writes() call so that our reset assertion delay is acurately timed from when the reset bit is written to the controller.
* aic79xx.seq:gibbs2003-06-281-5/+4
| | | | | | | | | Remove an old comment that no longer applies. Fix a jump in our unexpected non-packetized phase handler to use an explicit lable. The old code had a hardcoded jump offset that was off by one instruction.
* aic79xx.h:gibbs2003-06-282-16/+23
| | | | | | | | | | | | | | Add a 7901A specific feature definition. aic79xx_pci.c: Split out the general aic790X setup into it's own setup handler that works on single and dual controllers. Adjust all other PCI setup handlers to initialize the chips basic features and type before calling the generic handler. Turn off a few Rev B workarounds that are not required on the 7901B.
* Turn ips back on.peter2003-06-271-2/+1
|
* Fix pointer/int warnings so this compiles on amd64. The driver wantspeter2003-06-273-4/+4
| | | | | | | to store an int in the bio->bio_driver1 (a void *). It is big enough, but you have to match the int sizes first before doing the cast. Glanced at by: scottl
* Tidy up leftover lazy_switch instrumentation that is no longer needed.peter2003-06-277-125/+2
| | | | This cleans up some #ifdef hell.
* *groan*. I can't win today. Fix manual transcription error so that thepeter2003-06-271-1/+1
| | | | | | PAE ifdef is correct. Pointy hat assigned by: kan
* Make LAZY_SWITCH work with PAEpeter2003-06-271-0/+4
|
* Whitespace cleanups (verified with MD5 1832ce5ede6c58c844dfb53fd48f0eea).njl2003-06-271-123/+133
| | | | | Also clarify a macro expansion with an XXX. I will be fixing access to Acpi Global Lock in a subsequent commit.
* Fix the false IPIs on smp when using LAZY_SWITCH caused by pmap_activate()peter2003-06-274-9/+18
| | | | not releasing the pm_active bit in the old pmap.
OpenPOWER on IntegriCloud