aboutsummaryrefslogtreecommitdiff
path: root/sys/arm
Commit message (Collapse)AuthorAgeFilesLines
* Move MINSIGSTKSZ from <machine/signal.h> to <machine/_limits.h> and renameStefan Farfeleder2005-08-202-4/+3
| | | | | | | | | | | | | it to __MINSIGSTKSZ. Define MINSIGSTKSZ in <sys/signal.h>. This is done in order to use MINSIGSTKSZ for the macro PTHREAD_STACK_MIN in <pthread.h> (soon <limits.h>) without having to include the whole <sys/signal.h> header. Discussed with: bde Notes: svn path=/head/; revision=149337
* - Add support for saving stack traces and displaying them via printf(9)Jeff Roberson2005-08-031-0/+19
| | | | | | | | | | and KTR. Contributed by: Antoine Brodin <antoine.brodin@laposte.net> Concept code from: Neal Fachan <neal@isilon.com> Notes: svn path=/head/; revision=148666
* msdosfs_conv.c references cmos_wall_clock and adjkerntz. Since theseWarner Losh2005-07-271-0/+3
| | | | | | | | are 0 for arm, define them as such to make msdosfs_conv.c compile again on arm. Notes: svn path=/head/; revision=148455
* Add extra constraints to tell the compiler that the memory be modifiedJohn Baldwin2005-07-271-2/+4
| | | | | | | | | | | | | | | in the arm __swp() and sparc64 casa() and casax() functions is actually being used as an input and output and not just the value of the register that points to the memory location. This was the underlying source of the mbuf refcount problems on sparc64 a while back. For arm this should be a nop because __swp() has a constraint to clobber all memory which can probably be removed now. Reviewed by: alc, cognet MFC after: 1 week Notes: svn path=/head/; revision=148453
* Use a + constraint modifier for a register arg in __bswap16_var().John Baldwin2005-07-271-3/+2
| | | | | | | Reviewed by: cognet Notes: svn path=/head/; revision=148452
* Convert the atomic_ptr() operations over to operating on uintptr_tJohn Baldwin2005-07-151-8/+4
| | | | | | | | | | | | | variables rather than void * variables. This makes it easier and simpler to get asm constraints and volatile keywords correct. MFC after: 3 days Tested on: i386, alpha, sparc64 Compiled on: ia64, powerpc, amd64 Kernel toolchain busted on: arm Notes: svn path=/head/; revision=148067
* Validate if the value written into {FS,GS}.base is a canonicalDavid Xu2005-07-101-1/+2
| | | | | | | | | | | | address, writting non-canonical address can cause kernel a panic, by restricting base values to 0..VM_MAXUSER_ADDRESS, ensuring only canonical values get written to the registers. Reviewed by: peter, Josepha Koshy < joseph.koshy at gmail dot com > Approved by: re (scottl) Notes: svn path=/head/; revision=147889
* - Use a TAILQ instead of parsing the array to find a free dmamap.Olivier Houchard2005-06-241-20/+32
| | | | | | | | | - Inline busdma_alloc_dmamap, busdma_free_dmamap and bus_dmamap_sync_buf. Approved by: re (blanket) Notes: svn path=/head/; revision=147591
* Fix a typo.John Baldwin2005-06-231-1/+1
| | | | | | | Approved by: re (scottl) Notes: svn path=/head/; revision=147555
* Remove the va == pa mapping.Olivier Houchard2005-06-231-10/+7
| | | | | | | Approved by: re (blanket) Notes: svn path=/head/; revision=147545
* Call kdb_trap() on fatal abort.Olivier Houchard2005-06-231-5/+5
| | | | | | | Approved by: re (blanket) Notes: svn path=/head/; revision=147544
* Implement db_frame() and use it to obtain the registers value.Olivier Houchard2005-06-231-22/+45
| | | | | | | Approved by: re (blanket) Notes: svn path=/head/; revision=147543
* Don't abuse UMA_SLAB_KMEM.Olivier Houchard2005-06-232-9/+4
| | | | | | | Approved by: re (blanket) Notes: svn path=/head/; revision=147542
* Add .cvsignore files just like in sys/<arch>/compiled, this keeps CVS fromDavid E. O'Brien2005-06-201-0/+1
| | | | | | | | | questing kernel config files not in CVS. Approved by: re(kensmith) Notes: svn path=/head/; revision=147504
* Try harder to detect if the allocated memory for L2 PTP comes from a 1MBOlivier Houchard2005-06-161-1/+5
| | | | | | | | | section or not. Approved by: re (blanket) Notes: svn path=/head/; revision=147417
* Don't pass the kernel_pmap to pmap_fault_fixup() if the fault comes fromOlivier Houchard2005-06-161-2/+2
| | | | | | | | | | | kernel mode, always use the curthread pmap instead. There are valid cases were we can fault on a user address from the kernel without pcb_onfault being set. Approved by: re (blanket) Notes: svn path=/head/; revision=147416
* Remove the last use of pmap_initialized.Olivier Houchard2005-06-101-4/+1
| | | | Notes: svn path=/head/; revision=147249
* Introduce a procedure, pmap_page_init(), that initializes theAlan Cox2005-06-101-17/+12
| | | | | | | | | | | | | | | | | | | | | | vm_page's machine-dependent fields. Use this function in vm_pageq_add_new_page() so that the vm_page's machine-dependent and machine-independent fields are initialized at the same time. Remove code from pmap_init() for initializing the vm_page's machine-dependent fields. Remove stale comments from pmap_init(). Eliminate the Boolean variable pmap_initialized from the alpha, amd64, i386, and ia64 pmap implementations. Its use is no longer required because of the above changes and earlier changes that result in physical memory that is being mapped at initialization time being mapped without pv entries. Tested by: cognet, kensmith, marcel Notes: svn path=/head/; revision=147217
* MFP4:Joseph Koshy2005-06-091-0/+14
| | | | | | | | | | | | | | | | | | | - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation. Notes: svn path=/head/; revision=147191
* Use tabs, not spaces.Olivier Houchard2005-06-091-6/+6
| | | | | | | Reported by: ru Notes: svn path=/head/; revision=147171
* Add ata stuff.Olivier Houchard2005-06-091-1/+10
| | | | Notes: svn path=/head/; revision=147168
* - MFp4: modify slightly the arm intr API, there's arm CPUs with more than 32Olivier Houchard2005-06-097-68/+73
| | | | | | | | interrupts. - Implement teardown methods where appropriate. Notes: svn path=/head/; revision=147166
* Add a new arm-specific option, ARM_USE_SMALL_ALLOC. If defined, it providesOlivier Houchard2005-06-076-68/+280
| | | | | | | | an implementation of uma_small_alloc() which tries to preallocate memory 1MB per 1MB, and maps it into a section mapping. Notes: svn path=/head/; revision=147114
* Bring in bits I forgot while importing write back support for arm9.Olivier Houchard2005-06-031-11/+13
| | | | Notes: svn path=/head/; revision=146948
* Remove a useless printf.Olivier Houchard2005-06-031-1/+0
| | | | Notes: svn path=/head/; revision=146932
* Create nexus in configure_first() instead of in configure(). ThisMarcel Moolenaar2005-05-291-2/+3
| | | | | | | | makes sure that sysinit tasks that run after configure_first(), but before configure() have a nexus to hang devices off. Notes: svn path=/head/; revision=146794
* Call cninit_finish() and set cold to 0 in configure_final() insteadMarcel Moolenaar2005-05-291-3/+3
| | | | | | | | of in configure(). Call cninit_finish() before setting cold to 0. This is how it's done for other platforms. Be alike to avoid problems. Notes: svn path=/head/; revision=146790
* Remove bus_{mem,p}io.h and related code for a micro-optimization on i386Yoshihiro Takahashi2005-05-292-66/+0
| | | | | | | | | and amd64. The optimization is a trivial on recent machines. Reviewed by: -arch (imp, marcel, dfr) Notes: svn path=/head/; revision=146734
* Remove pmap_deactivate(), we do not use it.Olivier Houchard2005-05-271-6/+0
| | | | Notes: svn path=/head/; revision=146668
* s/_KLD_MODULE/KLD_MODULE/Olivier Houchard2005-05-261-1/+1
| | | | Notes: svn path=/head/; revision=146649
* Don't enable interrupts in the dispatcher, there's no need to do so.Olivier Houchard2005-05-261-2/+1
| | | | Notes: svn path=/head/; revision=146648
* Don't call vm_page_dirty() in pmap_nuke_pv(), it's not the place to do so, andOlivier Houchard2005-05-261-2/+1
| | | | | | | it leads to funny things, such as pmap_remove_all() marking the page as dirty. Notes: svn path=/head/; revision=146647
* Remove bits specific to CPUs we won't support (< armv4).Olivier Houchard2005-05-255-538/+15
| | | | Notes: svn path=/head/; revision=146619
* Increase the refresh rate.Olivier Houchard2005-05-251-1/+1
| | | | Notes: svn path=/head/; revision=146618
* MFp4: Setup arm9 to write back by default.Olivier Houchard2005-05-241-13/+17
| | | | | | | Obtained from: NetBSD Notes: svn path=/head/; revision=146605
* Remove kcopy(), we don't use it.Olivier Houchard2005-05-242-630/+0
| | | | Notes: svn path=/head/; revision=146604
* We need to decrease p->p_lock after vm_fault() has been called.Olivier Houchard2005-05-241-1/+1
| | | | Notes: svn path=/head/; revision=146600
* Correctly setup the UND stack in cpu_set_upcall(), and the trapframe inOlivier Houchard2005-05-241-4/+5
| | | | | | | cpu_thread_setup(), as done in cpu_fork(). Notes: svn path=/head/; revision=146599
* - Try to avoid calling malloc() in bus_dmamap_create() and bus_dmamem_alloc()Olivier Houchard2005-05-241-17/+65
| | | | | | | | | for the dmamap by using static dmamaps. - Don't do anything for BUS_DMASYNC_PREREAD and BUS_DMASYNC_POSTWRITE in bus_dmamap_sync(), it's not needed anymore. Notes: svn path=/head/; revision=146597
* Write back affected pages in pmap_qremove() as well. This removes the needOlivier Houchard2005-05-242-6/+12
| | | | | | | | | to change the DACR when switching to a kernel thread, thus making userland thread => kernel thread => same userland thread switch cheaper by totally avoiding data cache and TLB invalidation. Notes: svn path=/head/; revision=146596
* Use a more sane value for HZ.Olivier Houchard2005-05-241-2/+3
| | | | Notes: svn path=/head/; revision=146595
* Use asm versions of in_cksum() and friends.Olivier Houchard2005-05-243-245/+18
| | | | Notes: svn path=/head/; revision=146594
* Asm version of bswap16().Olivier Houchard2005-05-241-5/+6
| | | | | | | Obtained from: NetBSD Notes: svn path=/head/; revision=146592
* Make sure we clean the RAS start address once we're done.Olivier Houchard2005-05-241-0/+12
| | | | | | | This fixes the random segfaults which occurs at high interrupts rate. Notes: svn path=/head/; revision=146591
* Don't forget to copy the TP when forking, or bad things will happen to theOlivier Houchard2005-05-111-0/+1
| | | | | | | child process if it tries to use threads. Notes: svn path=/head/; revision=146122
* Allocating the memory for the kernel stack one time is enough.Olivier Houchard2005-04-271-7/+0
| | | | Notes: svn path=/head/; revision=145594
* Don't use fusufault in casuptr(), as it assumes the current PCB will beOlivier Houchard2005-04-231-23/+18
| | | | | | | | stored in r2, which can't be easily done with casuptr(). Introduce casuptrfault instead. Notes: svn path=/head/; revision=145452
* Change cpu_set_kse_upcall to more generic style, so we can reuse itDavid Xu2005-04-231-4/+19
| | | | | | | | | | in other codes. Add cpu_set_user_tls, use it to tweak user register and setup user TLS. I ever wanted to merge it into cpu_set_kse_upcall, but since cpu_set_kse_upcall is also used by M:N threads which may not need this feature, so I wrote a separated cpu_set_user_tls. Notes: svn path=/head/; revision=145433
* Add empty header (except of the multiple-inclusion protection) toMarcel Moolenaar2005-04-201-0/+10
| | | | | | | get hwpmc(4) to compile on this platform. Notes: svn path=/head/; revision=145332
* Break out the definition of bus_space_{tag,handle}_t and a few other typesWarner Losh2005-04-182-11/+47
| | | | | | | | | | | | | into _bus.h to help with name space polution from including all of bus.h. In a few days, I'll commit changes to the MI code to take advantage of thse sepration (after I've made sure that these changes don't break anything in the main tree, I've tested in my trees, but you never know...). Suggested by: bde (in 2002 or 2003 I think) Reviewed in principle by: jhb Notes: svn path=/head/; revision=145253