summaryrefslogtreecommitdiffstats
path: root/sys/arm
Commit message (Collapse)AuthorAgeFilesLines
* Align the interfaces for the various watchdogs and make the interfacen_hibma2006-12-152-13/+22
| | | | | | | | | | | | | | | | | | | | | | | | | behave as expected. Also: - Return an error if WD_PASSIVE is passed in to the ioctl as only WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an explanation of the difference between WD_ACTIVE and WD_PASSIVE. - Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've lost your sense of humor, than don't add a define. Specific changes: i80321_wdog.c Don't roll your own passive watchdog tickle as this would defeat the purpose of an active (userland) watchdog tickle. ichwd.c / ipmi.c: WD_ACTIVE means active patting of the watchdog by a userland process, not whether the watchdog is active. See sys/watchdog.h. kern_clock.c: (software watchdog) Remove a check for WD_ACTIVE as this does not make sense here. This reverts r1.181.
* Handle a missing NPE firmware file better; if it's missing print asam2006-12-071-3/+12
| | | | | | | | | (somewhat) meaningful message and terminate the build. It'd be nice to print a proper URL from which to fetch the file but that seems problematic. Leave a suggested starting point in this file (TBD: add it to the man page). Submitted by: ru
* Unbreak build for Skyeye: do not attempt to do any DMA, as Skyeye doesn'tcognet2006-12-071-1/+10
| | | | | | emulate it. Reported by: ru
* Threading cleanup.. part 2 of several.julian2006-12-065-20/+0
| | | | | | | | | | | | | | | | | | | | | | Make part of John Birrell's KSE patch permanent.. Specifically, remove: Any reference of the ksegrp structure. This feature was never fully utilised and made things overly complicated. All code in the scheduler that tried to make threaded programs fair to unthreaded programs. Libpthread processes will already do this to some extent and libthr processes already disable it. Also: Since this makes such a big change to the scheduler(s), take the opportunity to rename some structures and elements that had to be moved anyhow. This makes the code a lot more readable. The ULE scheduler compiles again but I have no idea if it works. The 4bsd scheduler still reqires a little cleaning and some functions that now do ALMOST nothing will go away, but I thought I'd do that as a separate commit. Tested by David Xu, and Dan Eischen using libthr and libpthread.
* Do not forget to call pmap_free_l2_bucket() in pmap_remove_pages().cognet2006-12-041-0/+1
| | | | | | This can fix the pmap-related panics reported on arm. MFC After: 3 days
* Provide stream operations.cognet2006-12-021-0/+36
|
* We can have no PV entry here if the previous mapping was unmanaged, and the newcognet2006-12-011-1/+2
| | | | one is unmanaged too, so update the KASSERT to reflect this.
* In pmap_ts_referenced(), don't attempt to do anything if the page iscognet2006-11-301-0/+2
| | | | fictitious, and just return 0.
* First bits of Xscale core 3 support (the VM bits are far from being optimalcognet2006-11-302-4/+20
| | | | yet).
* Introduce CPU_XSCALE_CORE3, as XScale Core 3 is significally different thancognet2006-11-301-0/+3
| | | | | | regular Xscale (it has no mini data cache, has armv6-style 16MB supersections, and can address 36bits). Define it for i81342.
* Better i2c bit definitions.kevlo2006-11-301-2/+2
| | | | Approved by: cognet
* Turn console printf buffering into a kernel option and only onjb2006-11-301-1/+0
| | | | | | | | | | | | | | | | | by default for sun4v where it is absolutely required. This change moves the buffer from struct pcpu to the stack to avoid using the critical section which created a LOR in a couple of cases due to interaction with the tty code and kqueue. The LOR can't be fixed with the critical section and the pcpu buffer can't be used without the critical section. Putting the buffer on the stack was my initial solution, but it was pointed out that the stress on the stack might cause problems depending on the call path. We don't have a way of creating tests for those possible cases, so it's best to leave this as an option for the time being. In time we may get enough data to enable this option more generally.
* MFp4:imp2006-11-291-2/+2
| | | | formatting nit
* Make this work a lot better:imp2006-11-291-36/+44
| | | | | | | | Remove a lot of older cruft not needed. Improve ISR support, but it is still unused since polling is faster Properly initalize the speed register to get 90kb/s, not 400b/s. Try to catch NACK Allow 0 length read transfers to generate start/top pairs.
* MFp4:imp2006-11-291-3/+3
| | | | | correct data counts so that we clock enough data for the spi transaction. This allows complete spi transactions to happen.
* Bring in status led support for /dev/led/gpioled on Avila.kevlo2006-11-224-0/+118
| | | | Approved by: cognet
* MFp4: Make it work :-)imp2006-11-221-139/+9
| | | | | | | | | | | o Don't delay when checking the done bits. There's no gain other than a small performance hit. o calculate the clock divisors better (things are still way slow, so maybe there's more here?) o don't always fail reset. Always succeed instead. o fix inverted logic around at91_twi_wait() return value o remove debug code o remove unneeded, unworking junk
* Match bus space unmap prototype.kevlo2006-11-203-4/+5
| | | | Approved by: cognet
* MFp4: Tweak descriptions in preparation for porting to other members ofimp2006-11-201-4/+4
| | | | the AT91 arm9 family.
* config for Gateworks Avila board booting with NFS-mounted root on npe0sam2006-11-191-0/+135
| | | | | Reviewed by: cognet, imp MFC after: 1 month
* Gateworks Avila board support:sam2006-11-1932-1/+10134
| | | | | | | | | | | | | | | | | | o ixp425 support o NPE network driver (requires Intel microcode) o h/w qmgr support o True IDE compact flash over expansion bus o pci (ath and hifn795x parts tested) o xscale watchdog timer o ds1672 RTC on i2c bus o ad7418 voltage + temp monitoring on i2c bus o uart Work done together with cognet, kevlo, and jmg. Parts of the ixp425 support obtaine/derived from netbsd. Reviewed by: cognet, imp MFC after: 1 month
* change bus space unmap protoypesam2006-11-191-1/+1
| | | | | Reviewed by: cognet, imp MFC After: 1 month
* correct bus space unmap prototypesam2006-11-192-30/+142
| | | | | Reviewed by: cognet, imp MFC after: 1 month
* elaborate on stepping names; add intel terminology to helpsam2006-11-191-1/+1
| | | | | | | people cross-referencing intel docs Reviewed by: imp, cognet MFC after: 1 month
* Erm we really want to mask all interrupts in the range, just not the firstcognet2006-11-171-1/+1
| | | | | | one. Submitted by: ru
* Compile -- remove an unused global variable avail_end.kevlo2006-11-172-2/+0
| | | | Approved by: cognet
* Fix a comment.ru2006-11-131-1/+1
|
* Make pmap_enter() responsible for setting PG_WRITEABLE insteadalc2006-11-121-1/+4
| | | | | of its caller. (As a beneficial side-effect, a high-contention acquisition of the page queues lock in vm_fault() is eliminated.)
* Eliminate unused global variables.alc2006-11-114-8/+0
|
* MFamd64/ia64/i386/sun4valc2006-11-081-1/+1
| | | | | | Use cnt.v_page_count, the actual count of available physical pages, instead of vm_page_array_size to compute the maximum number of pv entries.
* Increate cnt.v_intr on interrupt.cognet2006-11-081-0/+1
|
* Identify the xscale 81342.cognet2006-11-076-11/+117
|
* In the ARM_USE_SMALL_ALLOC case, vm_page_t may have an address < KERNBASE,cognet2006-11-072-2/+14
| | | | so adjust the KASSERT to reflect this.
* Add atomic_cmpset_acq_32.cognet2006-11-071-0/+1
|
* MFp4:imp2006-11-031-43/+81
| | | | | | | | | | | | | | | | | | o Fix the packet statistics o Make sure we set the FD bit when in full duplex o Improve TX side efficency by eliminating a data copy for unfragmented mbufs (the hardware can't do s/g). o Minor busdma pedantry o better comments in some places, more XXX in others o Minor style nits. This solves a problem I was seeing where I'd get no ethernet when not booting with a NFS root. Well, unless I unplugged the cable and plugged it back in first so I'd get the same up down up messages I get for NFS root... Thanks to sam and scottl for suggestions on making this driver more efficient through better use of approrpiate APIs.
* Do not include both <sys/types.h> and <sys/param.h>, it is a style bug ascognet2006-11-011-2/+1
| | | | | | | sys/types.h is included in sys/param.h, so instead just move the #include <sys/param.h> before the headers that need it. Spotted out by: bde
* Add a cnputs() function to write a string to the console withjb2006-11-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | a lock to prevent interspersed strings written from different CPUs at the same time. To avoid putting a buffer on the stack or having to malloc one, space is incorporated in the per-cpu structure. The buffer size if 128 bytes; chosen because it's the next power of 2 size up from 80 characters. String writes to the console are buffered up the end of the line or until the buffer fills. Then the buffer is flushed to all console devices. Existing low level console output via cnputc() is unaffected by this change. ithread calls to log() are also unaffected to avoid blocking those threads. A minor change to the behaviour in a panic situation is that console output will still be buffered, but won't be written to a tty as before. This should prevent interspersed panic output as a number of CPUs panic before we end up single threaded running ddb. Reviewed by: scottl, jhb MFC after: 2 weeks
* Include <sys/types.h>, to get definition for uint32_t.cognet2006-10-301-0/+1
| | | | Submitted by: David Sharp
* Remove the KSE option now that it's in DEFAULTS on these arches/machines.jb2006-10-265-5/+0
| | | | | | | | | The 'nooption' kernel config entry has to be used to turn KSE off now. This isn't my preferred way of dealing with this, but I'll defer to scottl's experience with the io/mem kernel option change and the grief experienced over that. Submitted by: scottl@
* Make KSE a kernel option, turned on by default in all GENERICjb2006-10-2610-0/+27
| | | | | | | kernel configs except sun4v (which doesn't process signals properly with KSE). Reviewed by: davidxu@
* Let allow to teardown multiple irqs as well.cognet2006-10-251-1/+3
|
* Setup multiple interrupts if needed.cognet2006-10-251-2/+5
|
* MFp4: Move the parameters that are basically dictated by the AT91imp2006-10-252-5/+5
| | | | organization to that file.
* MFp4: Status register bitsimp2006-10-251-0/+14
|
* Ooops, dump_avail[i] can be 0 if the RAM starts at 0x00000000, so check thatcognet2006-10-241-4/+4
| | | | | dump_avail[i + 1] is == 0 as a stop condition instead. MFC after: 3 days
* style(9) cleanup.kevlo2006-10-219-12/+0
| | | | Approved by: cognet
* Ok I am an idiot. On 32 bits big-endian systems, it is needed to handle thecognet2006-10-211-2/+17
| | | | | | | | | | syscalls using __syscall but only actually returning 32bits, such as mmap(), specially : they set the return value in td->td_retval[0], but the userland functions will expect this in r1, and not in r0 as it is normally done, as it is the LSB. So add a special case for all these syscalls (all except lseek, which truly returns 64bits). Many thanks to Peter Grehan for his patience while explaining me the issue.
* Use __QUAD_LOWWORD for __syscall, to always use the good word, whatever thecognet2006-10-201-2/+2
| | | | endianness is.
* There's no need to special-case lseek for arm/big-endian.cognet2006-10-201-14/+0
|
* MFp4: Working SPI driver.imp2006-10-201-53/+66
|
OpenPOWER on IntegriCloud