summaryrefslogtreecommitdiffstats
path: root/sys/arm/sa11x0
Commit message (Collapse)AuthorAgeFilesLines
* style(9) cleanup.kevlo2006-10-214-4/+0
| | | | Approved by: cognet
* Rewrite ARM_USE_SMALL_ALLOC so that instead of the current behavior, it mapscognet2006-08-081-8/+5
| | | | | | | | 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.
* Don't forget to define uart_sa1110_vaddr.cognet2006-06-211-0/+2
| | | | Submitted by: kevlo
* Now that we use pmap_mapdev_boostrap(), we can get ride of the got_mmucognet2006-06-073-31/+3
| | | | | | hack. Submitted by: kevlo
* Convert the last offender, the SA1110 port, to ARM32_NEW_VM_LAYOUT, andcognet2006-06-061-6/+15
| | | | completely nuke the !ARM32_NEW_VM_LAYOUT case.
* The Assabet has 32MB of RAM, not 16.cognet2006-05-301-2/+3
| | | | Submitted by: kevlo
* Uncomment the call to cpu_idcache_wbinv_all() after the MMU has beencognet2006-05-301-1/+1
| | | | | | | | | | enabled. It has been commented out for a reason I forgot but I suspect does not apply anymore. Technically speaking it's not required to do it, has the data and the instruction cache have been disabled in _start(). However, it may change in the future, so I don't want to rely on this behavior. Submitted by: kevlo
* Nuke sa11x0_attach_args. It's a NetBSDIsm, and we have no use for it.cognet2006-05-291-9/+0
| | | | Submitted by: kevlo
* Remove any reference to enable_mmu(), it's been gone for a long time.cognet2006-05-261-1/+0
| | | | Submitted by: kevlo
* Use pmap_devmap_bootstrap(), instead of mapping the SACOM1 registerscognet2006-05-234-6/+42
| | | | | | | with pmap_map_entry. More use of macros instead of hardcoding the addr. Submitted by: kevlo
* Use macros instead of hardcoding the address for SACOM1. Also don'tcognet2006-05-223-4/+7
| | | | | | pretend we're working with SACOM3, as we're really mapping SACOM1. Submitted by: kevlo
* Implement sa11x0_bs_unmap.cognet2006-05-181-3/+15
| | | | Submitted by: kevlo
* Make this compile (UART_IPEND_* => SER_INT_*).cognet2006-05-181-2/+2
|
* When returning a resource that we've allocated with rman_reserve_resource,imp2006-04-201-0/+2
| | | | go ahead and set the rid for that resource.
* MFp4: Catchup with recent UART changes.cognet2006-04-061-2/+2
|
* Tweak how the MD code calls the fooclock() methods some. Instead ofjhb2005-12-221-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | passing a pointer to an opaque clockframe structure and requiring the MD code to supply CLKF_FOO() macros to extract needed values out of the opaque structure, just pass the needed values directly. In practice this means passing the pair (usermode, pc) to hardclock() and profclock() and passing the boolean (usermode) to hardclock_cpu() and hardclock_process(). Other details: - Axe clockframe and CLKF_FOO() macros on all architectures. Basically, all the archs were taking a trapframe and converting it into a clockframe one way or another. Now they can just extract the PC and usermode values directly out of the trapframe and pass it to fooclock(). - Renamed hardclock_process() to hardclock_cpu() as the latter is more accurate. - On Alpha, we now run profclock() at hz (profhz == hz) rather than at the slower stathz. - On Alpha, for the TurboLaser machines that don't have an 8254 timecounter, call hardclock() directly. This removes an extra conditional check from every clock interrupt on Alpha on the BSP. There is probably room for even further pruning here by changing Alpha to use the simplified timecounter we use on x86 with the lapic timer since we don't get interrupts from the 8254 on Alpha anyway. - On x86, clkintr() shouldn't ever be called now unless using_lapic_timer is false, so add a KASSERT() to that affect and remove a condition to slightly optimize the non-lapic case. - Change prototypeof arm_handler_execute() so that it's first arg is a trapframe pointer rather than a void pointer for clarity. - Use KCOUNT macro in profclock() to lookup the kernel profiling bucket. Tested on: alpha, amd64, arm, i386, ia64, sparc64 Reviewed by: bde (mostly)
* Provide a dump_avail[] variable, which contains the page ranges to becognet2005-10-031-4/+5
| | | | | | | dumped. For iq31244_machdep.c, attempt to recognize hints provided by the elf trampoline.
* Fix multiple abuses of __RMAN_RESOURCE_VISIBLE in the arm code.cognet2005-09-253-10/+21
| | | | Spotted out by: phk
* - MFp4: modify slightly the arm intr API, there's arm CPUs with more than 32cognet2005-06-091-16/+14
| | | | | interrupts. - Implement teardown methods where appropriate.
* pmap_update() is gone.cognet2005-04-131-1/+0
|
* Start all license statements with /*-imp2005-01-059-9/+9
|
* Update the StrongArm port to match the current code.cognet2004-12-182-5/+15
| | | | | | - Implement arm_mask_irqs and arm_unmask_irqs - Provide the available physical address range after pmap_bootstrap allocated things, instead or before, or bad things happen.
* Get the kernel stack right now that the u-area is gone.cognet2004-11-201-1/+2
|
* U areas are going away, so don't allocate one for process 0.das2004-11-201-10/+1
| | | | Reviewed by: arch@
* Use MD_ROOT_SIZE, instead of our own macro.cognet2004-10-111-7/+7
|
* Big cleanup: get ride of the whole spl level logic, as FreeBSD doesn't usecognet2004-09-234-215/+38
| | | | it anymore.
* Now that we have pmap_growkernel(), use more KVA.cognet2004-09-231-3/+27
|
* Remove bus_space_vaddr(), it does not exists in FreeBSD.cognet2004-09-231-11/+0
|
* Refactor a bunch of scheduler code to give basically the same behaviourjulian2004-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | but with slightly cleaned up interfaces. The KSE structure has become the same as the "per thread scheduler private data" structure. In order to not make the diffs too great one is #defined as the other at this time. The KSE (or td_sched) structure is now allocated per thread and has no allocation code of its own. Concurrency for a KSEGRP is now kept track of via a simple pair of counters rather than using KSE structures as tokens. Since the KSE structure is different in each scheduler, kern_switch.c is now included at the end of each scheduler. Nothing outside the scheduler knows the contents of the KSE (aka td_sched) structure. The fields in the ksegrp structure that are to do with the scheduler's queueing mechanisms are now moved to the kg_sched structure. (per ksegrp scheduler private data structure). In other words how the scheduler queues and keeps track of threads is no-one's business except the scheduler's. This should allow people to write experimental schedulers with completely different internal structuring. A scheduler call sched_set_concurrency(kg, N) has been added that notifies teh scheduler that no more than N threads from that ksegrp should be allowed to be on concurrently scheduled. This is also used to enforce 'fainess' at this time so that a ksegrp with 10000 threads can not swamp a the run queue and force out a process with 1 thread, since the current code will not set the concurrency above NCPU, and both schedulers will not allow more than that many onto the system run queue at a time. Each scheduler should eventualy develop their own methods to do this now that they are effectively separated. Rejig libthr's kernel interface to follow the same code paths as linkse for scope system threads. This has slightly hurt libthr's performance but I will work to recover as much of it as I can. Thread exit code has been cleaned up greatly. exit and exec code now transitions a process back to 'standard non-threaded mode' before taking the next step. Reviewed by: scottl, peter MFC after: 1 week
* Define __RMAN_RESOURCE_VISIBLE where appropriate.cognet2004-07-021-0/+1
|
* Include sys/module.h.cognet2004-06-192-0/+2
|
* Nuke dead code.cognet2004-06-171-92/+1
|
* Nuke bus_space_mmap(), as it does not exist in FreeBSD.cognet2004-06-171-10/+0
|
* Do the dreaded s/dev_t/struct cdev */phk2004-06-161-1/+1
| | | | Bump __FreeBSD_version accordingly.
* Define uart_sa1110_ops and uart_sa1110_classe in .c files instead of spammingcognet2004-05-142-0/+5
| | | | uart_cpu.h
* Implement enough of an uart driver to get serial console working.cognet2004-05-145-3/+539
|
* Import FreeBSD/arm kernel bits.cognet2004-05-1415-0/+2634
It only supports sa1110 (on simics) right now, but xscale support should come soon. Some of the initial work has been provided by : Stephane Potvin <sepotvin at videotron.ca> Most of this comes from NetBSD.
OpenPOWER on IntegriCloud