summaryrefslogtreecommitdiffstats
path: root/sys/arm
Commit message (Collapse)AuthorAgeFilesLines
* Remove dead code, already defined in sys/cdef.hcognet2006-08-301-9/+0
| | | | Spotted out by: bde
* Use ENTRY_NP for alternate entry points instead of ENTRY to avoid callingcognet2006-08-301-3/+3
| | | | | | mcount twice when profiling. Spotted out by: bde
* Use ENTRY instead of ALTENTRY, it doesn't exist on arm.cognet2006-08-291-1/+1
|
* Ooops m->md.pvh_attrs can't be used to know if the page is writeable, becausecognet2006-08-281-4/+1
| | | | | | it only remembers if the page is modified or referenced. Bad review from: cognet
* Relocate the vector page for AT91, to work around bugs with the LOW_VECTORcognet2006-08-283-9/+13
| | | | code.
* Implement casuword32, compare and set user integer, thank Marcel Moolenarrdavidxu2006-08-281-0/+1
| | | | who wrote the IA64 version of casuword32.
* Fill in dump_avail[] before pmap_boostrap() is called so thatcognet2006-08-271-4/+4
| | | | ARM_USE_SMALL_ALLOC work.
* Eliminate unused definitions. (They came from NetBSD.)alc2006-08-251-9/+0
| | | | Discussed with: cognet, grehan, marcel
* Explicitely set the "allocbuffer" field to NULL when creating a new dmamap.cognet2006-08-251-0/+1
|
* Do not create dma maps with bus_dmamap_create, as we callcognet2006-08-251-5/+0
| | | | | bus_dmamem_alloc later which will overwrite the value, leading to a small memory leak.
* Finally bring it support for the i80219 XScale processor.cognet2006-08-2419-97/+898
| | | | Submitted by: Max M. Boyarov <m.boyarov bsd by>
* Use ELFDATA2MSB if we're building big endian.cognet2006-08-241-0/+4
| | | | Noticed by: Oleksandr Tymoshenko <gonzo freebsd org>
* add comment about why we include opt_global.himp2006-08-151-0/+4
|
* Ooops we need to include <machine/vmparam.h> to get the definition ofcognet2006-08-151-2/+1
| | | | | | | KERNBASE and VM_MAXUSER_ADDRESS. Remove the useless include of opt_global.h, as noticed by netchild@ (the one in arm/elf_trampoline.c is legit, because this file is compiled outside the kernel, and doesn't use the standard CFLAGS).
* Hook into the watchdog device, if present. Also, turn off theimp2006-08-091-4/+41
| | | | | watchdog timer stuff when we boot because the boot blocks are turning it on...
* Rewrite ARM_USE_SMALL_ALLOC so that instead of the current behavior, it mapscognet2006-08-089-138/+218
| | | | | | | | whole the physical memory, cached, using 1MB section mappings. This reduces the address space available for user processes a bit, but given the amount of memory a typical arm machine has, it is not (yet) a big issue. It then provides a uma_small_alloc() that works as it does for architectures which have a direct mapping.
* Remove a bogus i = 0.kevlo2006-08-082-2/+2
| | | | Approved by: cognet
* Complete the transition from pmap_page_protect() to pmap_remove_write().alc2006-08-011-27/+1
| | | | | | | | | | | | | Originally, I had adopted sparc64's name, pmap_clear_write(), for the function that is now pmap_remove_write(). However, this function is more like pmap_remove_all() than like pmap_clear_modify() or pmap_clear_reference(), hence, the name change. The higher-level rationale behind this change is described in src/sys/amd64/amd64/pmap.c revision 1.567. The short version is that I'm trying to clean up and fix our support for execute access. Reviewed by: marcel@ (ia64)
* Retire SYF_ARGMASK and remove both SYF_MPSAFE and SYF_ARGMASK. sy_narg isjhb2006-07-281-2/+2
| | | | now back to just being an argument count.
* Now that all system calls are MPSAFE, retire the SYF_MPSAFE flag used tojhb2006-07-281-6/+0
| | | | | | | | | mark system calls as being MPSAFE: - Stop conditionally acquiring Giant around system call invocations. - Remove all of the 'M' prefixes from the master system call files. - Remove support for the 'M' prefix from the script that generates the syscall-related files from the master system call files. - Don't explicitly set SYF_MPSAFE when registering nfssvc.
* Unify the checking for lock misbehavior in the various syscall()jhb2006-07-271-4/+12
| | | | | | | | | | | | | | implementations and adjust some of the checks while I'm here: - Add a new check to make sure we don't return from a syscall in a critical section. - Add a new explicit check before userret() to make sure we don't return with any locks held. The advantage here is that we can include the syscall number and name in syscall() whereas that info is not available in userret(). - Drop the mtx_assert()'s of sched_lock and Giant. They are replaced by the more general checks just added. MFC after: 2 weeks
* Define BYTE_MSF if we're compiling a big endian kernel, so that DDB cancognet2006-07-271-0/+3
| | | | correctly disassemble instructions on big endian.
* Use virtual_avail instead of freemempos as the starting point of the availablecognet2006-07-251-1/+1
| | | | | | | physical memory, as the vm uses the memory between freemempos and virtual_avail. MFC After: 3 days
* Cleanup.kevlo2006-07-252-18/+1
| | | | Approved by: cognet
* Implement pmap_clear_write().alc2006-07-201-0/+15
| | | | Discussed with: cognet@
* Fix ALT_BREAK_TO_DEBUGGER on the AT91 :cognet2006-07-201-5/+20
| | | | | | | | The core uart code expects the receive method to actually puts the characters read into its buffers. For AT91, it's done in the ipend routine, so also check if we have the alternate break sequence here. MFC after: 3 days
* Make sure we use REDUCE32 on the result of do_cksum(), as in_cksum_skip()cognet2006-07-181-2/+13
| | | | | | expects this. If we do not, this could result in wrong checksums. MFC after: 1 day
* If we can't defrag a packet, re-queue it instead of dropping it.cognet2006-07-171-1/+1
|
* #if => #ifdefcognet2006-07-171-2/+2
|
* at91_spi won't compile without spibus, so add it.cognet2006-07-171-0/+1
|
* Oops bring back code that shouldn't have been removed by the previouscognet2006-07-151-0/+2
| | | | commit.
* Make sure that if uma_small_alloc() gets called recursively, we just give upcognet2006-07-151-7/+6
| | | | and call kmem_malloc(), to avoid a deadlock.
* Add a comment explaining why the OHCI mapping has been commented out.cognet2006-07-151-0/+9
|
* MFp4: this now depends on new spi bus stuffimp2006-07-141-1/+3
|
* MFp4: tweaksimp2006-07-141-7/+8
|
* MFp4: elevate quality of slow clock a littleimp2006-07-141-1/+1
|
* MFp4: paren policeimp2006-07-141-6/+4
|
* MFp4:imp2006-07-143-8/+66
| | | | | | | | | | | | | | | Introduce framework to configure the multiplexed pins on boot. Since the USART supprots RS-485 multidrop mode, it allows the TX pins to float. However, for RS-232 operations, we don't want these pins to float. Instead, they should be pulled up to avoid mismatches. Linux does something similar when it configures the TX lines. This implies that we also allow the RX lines to float rather than be in the state they are left in by the boot loader. Since they are input pins, I think that this is the right thing to do. Plus minor for our board.
* MFp4:imp2006-07-141-1/+1
| | | | Fix typo in RTC_CALR_MK.
* The TSC board uses a 16MHz base clock for the AT91RM9200, while the Kwikbyteimp2006-07-141-0/+6
| | | | board uses a 10MHz base clock. Cope with this difference.
* Implement the set_time function. Rather pointless with this RTC, as itimp2006-07-141-3/+8
| | | | resets when the core resets, but there may be some use for it...
* MF p4:imp2006-07-143-319/+134
| | | | | Adapt to forthcoming spi framework. The ioctls for SPI commands and such belong in the higher level driver.
* Be sure to flush the cache after a partial read on timeout. Expandimp2006-07-141-3/+7
| | | | | comments about timeouts. Fix a style nit. Sometimes small messages were getting corrupted.
* Move some of the common parameters into the std. files for this platform.imp2006-07-143-11/+16
| | | | Also migrate from MD disk to NFS boot.
* Remove prototype for the undefined function counterhandler().cognet2006-07-141-1/+0
| | | | Submitted by: kevlo
* Add remote GDB bits for arm.cognet2006-07-142-0/+155
|
* Simplify the pager support in DDB. Allowing different db commands tojhb2006-07-121-4/+2
| | | | | | | | | | | | | | | | install custom pager functions didn't actually happen in practice (they all just used the simple pager and passed in a local quit pointer). So, just hardcode the simple pager as the only pager and make it set a global db_pager_quit flag that db commands can check when the user hits 'q' (or a suitable variant) at the pager prompt. Also, now that it's easy to do so, enable paging by default for all ddb commands. Any command that wishes to honor the quit flag can do so by checking db_pager_quit. Note that the pager can also be effectively disabled by setting $lines to 0. Other fixes: - 'show idt' on i386 and pc98 now actually checks the quit flag and terminates early. - 'show intr' now actually checks the quit flag and terminates early.
* Comment out the mapping of the OHCI controller registers va == pa. Thiscognet2006-07-121-0/+2
| | | | | | address is in the userland address space. The proper thing is either to choose a virtual address in the kernel address space beyond the KVA, or to use pmap_mapdev().
* Add a new flag to pmap_enter_locked() to say if it's OK to wait. If it is, andcognet2006-07-111-10/+22
| | | | | | | | | we're unable to allocate the memory for a PTE, we'll wait until we can. If not, we'll just return. Use M_NOWAIT|M_USE_RESERVE to allocate PTEs, it is less aggressive than M_NOWAIT alone. Suggested by: alc
* Add support for configuring pins to be one of {GPIO, PERIPHERAL A orimp2006-07-023-1/+450
| | | | | PERIPHERAL B}, as well as direction of GPIO pin. Add defines for all the pins.
OpenPOWER on IntegriCloud