aboutsummaryrefslogtreecommitdiff
path: root/sys/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* MFC 214835:John Baldwin2011-01-251-4/+10
| | | | | | | | Adjust the order of operations in spinlock_enter() and spinlock_exit() to work properly with single-stepping in a kernel debugger. Notes: svn path=/stable/7/; revision=217856
* MFC: r204646Marius Strobl2010-10-171-7/+0
| | | | | | | | | | The NetBSD Foundation has granted permission to remove clause 3 and 4 from the software. Obtained from: NetBSD Notes: svn path=/stable/7/; revision=213957
* Partial MFC 186347 and 186355 in order to remove differences in headersMarius Strobl2010-05-101-0/+4
| | | | | | | required. Notes: svn path=/stable/7/; revision=207883
* MFC r197933:Konstantin Belousov2010-01-191-0/+2
| | | | | | | | | | Define architectural load bases for PIE binaries. MFC r198203: Change the load base to below 2GB for sparc64/sun4v. Notes: svn path=/stable/7/; revision=202642
* MFC 202019:Warner Losh2010-01-181-0/+1
| | | | | | | | Add INCLUDE_CONFIG_FILE in GENERIC on all non-embedded platforms. # This is the resolution of removing it from DEFAULTS... Notes: svn path=/stable/7/; revision=202547
* MFC r201443:Brooks Davis2010-01-121-0/+1
| | | | | | | Add vlan(4) to all GENERIC kernels. Notes: svn path=/stable/7/; revision=202135
* Revert 201164. Truly optional items like this do not belong on DEFAULTS.Warner Losh2010-01-041-7/+0
| | | | Notes: svn path=/stable/7/; revision=201536
* MFC r200594:Doug Barton2009-12-291-0/+7
| | | | | | | | Add INCLUDE_CONFIG_FILE, and a note in comments about how to also include the comments with CONFIGARGS Notes: svn path=/stable/7/; revision=201164
* MFC r189926:Konstantin Belousov2009-12-221-1/+2
| | | | | | | Add AT_EXECPATH ELF auxinfo entry type. Notes: svn path=/stable/7/; revision=200861
* MFC r186212 (by imp):Konstantin Belousov2009-12-221-3/+0
| | | | | | | | | | AT_DEBUG and AT_BRK were OBE like 10 years ago, so retire them. MFC r186225: Remove two remnant uses of AT_DEBUG. Notes: svn path=/stable/7/; revision=200858
* MFC: r195376Marius Strobl2009-12-171-0/+7
| | | | | | | | | | | | | | | Cleanup ALIGNED_POINTER: o add to platforms where it was missing (arm, i386, powerpc, sparc64, sun4v) o define as "1" on amd64 and i386 where there is no restriction o make the type returned consistent with ALIGN o remove _ALIGNED_POINTER o make associated comments consistent Reviewed by: bde, imp, marcel Approved by: sam (MFC to stable/7) Notes: svn path=/stable/7/; revision=200625
* MFC r197316Alan Cox2009-11-011-0/+2
| | | | | | | Add a new sysctl for reporting all of the supported page sizes. Notes: svn path=/stable/7/; revision=198742
* MFC 193396, 193521, 194331, 194337, 194376, 194454, 194562, 194642, 195033,John Baldwin2009-09-042-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 195385, 195649, 195660, 195749, and 195774: Add support to the virtual memory system for configuring machine- dependent memory attributes: - Refactor contigmalloc() into two functions: a simple front-end that deals with the malloc tag and calls a new back-end, kmem_alloc_contig(), that allocates the pages and maps them. - Use kmem_alloc_contig() to implement the UMA back-end allocator for jumbo frame zones. - Use kmem_alloc_contig() to allocate the top-level page tables for PAE. - Introduce vm_memattr_t to as a type to hold memory attributes. - Introduce vm_object_set_memattr() for setting the default memory attributes that will be given to an object's pages. - Introduce and use pmap_page_{get,set}_memattr() for getting and setting a page's machine-dependent memory attributes. Add full support for these functions on amd64 and i386 and stubs for them on the other architectures. The function pmap_page_set_memattr() is also responsible for any other machine-dependent aspects of changing a page's memory attributes, such as flushing the cache or updating the direct map. The uses include kmem_alloc_contig(), vm_page_alloc(), and the device pager: kmem_alloc_contig() can now be used to allocate kernel memory with non-default memory attributes on amd64 and i386. vm_page_alloc() and the device pager will set the memory attributes for the real or fictitious page according to the object's default memory attributes. - Update the various pmap functions on amd64 and i386 that map pages to incorporate each page's memory attributes in the mapping. Reviewed by: alc Notes: svn path=/stable/7/; revision=196838
* MFC r195295:Ed Schouten2009-07-151-0/+1
| | | | | | | | | | | | | | Enable POSIX semaphores on all non-embedded architectures by default. More applications (including Firefox) seem to depend on this nowadays, so not having this enabled by default is a bad idea. Proposed by: miwi Patch by: Florian Smeets <flo kasimir com> Approved by: re (kib) Notes: svn path=/stable/7/; revision=195706
* Unbreak LINT.Fabien Thomas2009-06-071-0/+4
| | | | Notes: svn path=/stable/7/; revision=193641
* MFC:John Baldwin2009-05-191-1/+1
| | | | | | | | | - Add the interrupt vector number to intr_event_create so MI code can lookup hard interrupt events by number. - Add support to cpuset for binding hardware interrupts. Notes: svn path=/stable/7/; revision=192409
* MFC: Add a MI intr_event_handle() routine for the non-INTR_FILTER case.John Baldwin2009-05-191-45/+1
| | | | | | | | This allows all the INTR_FILTER #ifdef's to be removed from the MD interrupt code. Notes: svn path=/stable/7/; revision=192406
* MFC: Simplify the interrupt code a bit by always including the ie_disableJohn Baldwin2009-05-181-6/+1
| | | | | | | | and ie_eoi methods and collapsing down to a single intr_event_create() routine. Notes: svn path=/stable/7/; revision=192311
* Merge r190708 from HEAD to stable/7:Dmitry Chagin2009-04-171-2/+2
| | | | | | | | | | | | | | | | | | Fix KBI breakage by r190520 which affects older linux.ko binaries: 1) Move the new field (brand_note) to the end of the Brandinfo structure. 2) Add a new flag BI_BRAND_NOTE that indicates that the brand_note pointer is valid. 3) Use the brand_note field if the flag BI_BRAND_NOTE is set and as old modules won't have the flag set, so the new field brand_note would be ignored. Suggested by: jhb Reviewed by: jhb Approved by: re (Ken Smith), kib (mentor) Notes: svn path=/stable/7/; revision=191210
* MFC r190946:Nathan Whitehorn2009-04-131-1/+1
| | | | | | | | | | | | | | | Fix recognition of kernel-mode traps that pass through the KDB trap handler but do not actually invoke KDB. This includes recoverable machine checks encountered in kernel mode. This patch causes machines with Grackle host-PCI bridges to be able to correctly enumerate them again. Reviewed by: marcel Approved by: re Notes: svn path=/stable/7/; revision=191001
* Merge from head to stable/7:Dmitry Chagin2009-03-291-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r189771: Implement new way of branding ELF binaries by looking to a ".note.ABI-tag" section. The search order of a brand is changed, now first of all the ".note.ABI-tag" is looked through. Move code which fetch osreldate for ELF binary to check_note() handler. r189919: Use the properly sized types for ELF object header and program headers. This fixes osrel fetching from the FreeBSD branding note for the 64bit platforms (bug introduced by r189771). r190264: Fix several issues with parsing the notes for ELF objects. Badly formed ELF note may cause the caclulated pointer to the next note to point both after the note region, that was checked in the code, but also to point before the region, that was not checked [1]. Remember the first note location in note0 and leap out if the note is not between note0 and note_end. In the similar way, badly formed note may cause infinite loop by pointing next note into the same or previous note. Guard against this by limiting amount of loop iterations by arbitrary choosen big number. For clarity, check the calculated note alignment in each iteration. PR: kern/132886 Approved by: re(Ken Smith) Notes: svn path=/stable/7/; revision=190520
* MFC r189675:Nathan Whitehorn2009-03-231-1/+4
| | | | | | | | | | | | Change the PVO zone for fictitious pages to the unmanaged PVO zone, to match the unmanaged flag set in the PVO attributes. Without doing this, pmap_remove() could try to remove fictitious pages (like those created by mmap of physical memory) from the wrong UMA zone, causing a panic. Reported by: Justin Hibbits Notes: svn path=/stable/7/; revision=190302
* Fix a mismerge from head that I somehow missed last night. This caused ↵Nathan Whitehorn2009-03-081-6/+3
| | | | | | | | | | | builds with KDB enabled to fail. Pointy hat to: me Notes: svn path=/stable/7/; revision=189536
* MFC r188860,188879,188923,188951:Nathan Whitehorn2009-03-079-52/+329
| | | | | | | Altivec support for PowerPC. Notes: svn path=/stable/7/; revision=189498
* MFC: Add a stub for pmap_align_superpage() on machines that don't (yet)John Baldwin2009-02-261-0/+10
| | | | | | | | | implement pmap-level support for superpages. Pointy hat to: jhb Notes: svn path=/stable/7/; revision=189088
* MFC: Add support for "superpages" on amd64 and i386. This includes adding theJohn Baldwin2009-02-262-2/+9
| | | | | | | | | | | superpage reservation system to the machine-independent VM system as well as changes to the pmap code for amd64 and i386 to support superpages. Reviewed by: alc Tested by: ps Notes: svn path=/stable/7/; revision=189075
* MFC r183322:Konstantin Belousov2009-01-091-46/+47
| | | | | | | | | | | Change the static struct sysentvec and struct Elf_Brandinfo initializers to the C99 style. Explicitely initialize sysentvec.sv_maxssiz that was missed in most sysvecs. Notes: svn path=/stable/7/; revision=186936
* MFC r183288,183411,183827,184382:Nathan Whitehorn2008-10-303-25/+87
| | | | | | | | | | | | | | | | Expand DBDMA API to allow setting device-dependent control bits and allow DBDMA registers to lie in a subregion of a resource. Also import changes to the BMAC driver to handle these changes and change the way we enable the BMAC cell in macio. Instead of calling the macio's enable-enet word, which apparently does nothing on some machines, open an OF instance of the ethernet controller. This fixes cold booting from disk on my Blue & White G3. Approved by: re (gnn) Notes: svn path=/stable/7/; revision=184461
* MFC: r179164: "options " spelling (vs. "options<TAB>") so that commentedDavid E. O'Brien2008-09-011-2/+2
| | | | | | | lines line up nicely. Notes: svn path=/stable/7/; revision=182621
* Back out r182439 to move device bm to PowerPC-specific NOTES, and replace it ↵Nathan Whitehorn2008-08-311-6/+1
| | | | | | | | | | by an MFC of r179646, which does the same thing. Suggested by: rwatson Approved by: marcel (mentor) Notes: svn path=/stable/7/; revision=182551
* As "device bm" appears to be specific to powerpc, move it from the globalRobert Watson2008-08-291-0/+6
| | | | | | | NOTES to powerpc-specific NOTES. Notes: svn path=/stable/7/; revision=182439
* MFC of r178599,178600,179644,179645,180254,180233Nathan Whitehorn2008-08-286-14/+579
| | | | | | | | | Support for Apple BMAC ethernet controller and associated DBDMA support and required changes to macio and scc(4) to support multiple interrupts on macio children. Approved by: grehan (mentor) Notes: svn path=/stable/7/; revision=182379
* MFCJohn Birrell2008-08-271-2/+2
| | | | | | | | | | DTrace support. Note that this defaults the 'make buildkernel' to build with CTF data so that the release kernel and modules are DTrace-able. Notes: svn path=/stable/7/; revision=182231
* MFC: Export 'struct pcpu' to userland w/o requiring _KERNEL.John Baldwin2008-08-261-1/+2
| | | | Notes: svn path=/stable/7/; revision=182202
* When r177253 and r177255 were merged from head to stable/7, theRobert Watson2008-08-031-1/+1
| | | | | | | | | addition of a ';' after a SYSINIT declaration was missed in powerpc/machdep.c because the file had moved in head. This commit adds the missing ';'. Notes: svn path=/stable/7/; revision=181234
* MFC: Add preliminary support for binding interrupts to CPUs:John Baldwin2008-06-281-1/+1
| | | | | | | | | | | | | - Add a new method to interrupt events (ie_assign_cpu) for binding events to CPUs. - Bind ithreads to CPUs in their main loop (this is the original implementation, it may be changed if the cpuset stuff is MFC'd). - Add intr_event_bind(). - Implement ie_assign_cpu() and a 'intr_bind()' wrapper on amd64, i386, and sparc64. Notes: svn path=/stable/7/; revision=180082
* MFC rev. 173742-178057.Marcel Moolenaar2008-06-231-257/+324
| | | | | | | Requested by: mav (twice) Notes: svn path=/stable/7/; revision=179964
* MFC fix for PR ia64/118024Marcel Moolenaar2008-04-241-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | o Rename cpu_thread_setup() to cpu_thread_alloc() to better communicate that it relates to (is called by) thread_alloc() o Add cpu_thread_free() which is called from thread_free() to counter-act cpu_thread_alloc(). i386: Have cpu_thread_free() call cpu_thread_clean() to preserve behaviour. ia64: Have cpu_thread_free() call mtx_destroy() for the mutex initialized in cpu_thread_alloc(). files: sys/amd64/amd64/vm_machdep.c:1.256 sys/arm/arm/vm_machdep.c:1.35 sys/i386/i386/vm_machdep.c1.284 sys/ia64/ia64/machdep.c:1.227 sys/ia64/ia64/vm_machdep.c:1.95 sys/kern/kern_thread.c:1.260 sys/powerpc/powerpc/vm_machdep.c:1.117 sys/sparc64/sparc64/vm_machdep.c:1.77 sys/sun4v/sun4v/vm_machdep.c:1.8 sys/sys/proc.h:1.495 Notes: svn path=/stable/7/; revision=178467
* Merge stack.9:1.5, amd64/db_trace.c:1.82, amd64/stack_machdep.c:1.1,Robert Watson2008-04-102-38/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | amd64/conf/GENERIC:1.489, amd64/include/stack.h:1.1, arm/db_trace.c:1.14, arm/stack_machdep.c:1.1, arm/include/stack.h:1.1, NOTES:1.1457, files:1.1254, files.amd64:1.115, files.arm:1.19, files.i386:1.588, files.ia64:1.94, files.powerpc:1.67, files.sparc64:1.93, files.sun4v:1.13, options:1.610, i386/conf/GENERIC:1.478, i386/db_trace.c:1.80, i386/stack_machdep.c:1.1, i386/include/stack.h:1.1, ia64/conf/GENERIC:1.93, ia64/db_machdep.c:1.6, ia64/stack_machdep.c:1.1, kern/subr_stack.c:1.5, pc98/conf/GENERIC:1.299, powerpc/conf/GENERIC:1.73, powerpc/include/stack.h:1.1, powerpc/db_trace.c:1.14, powerpc/stack_machdep.c:1.1, sparc64/conf/GENERIC:1.129, sparc64/include/stack.h:1.1, sparc64/db_trace.c:1.27, sparc64/stack_machdep.c:1.1, sun4v/conf/GENERIC:1.16, sun4v/include/stack.h:1.1, sun4v/db_trace.c:1.2, sun4v/stack_machdep.c:1.1, sys/stack.h:1.4 from HEAD to RELENG_7: Break out stack(9) from ddb(4): - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson) Merge i386/stack_machdep.c:1.2 from HEAD to RELENG_7: Remove duplicate $FreeBSD$ tag. Merge files.pc98:1.359, pc98/include/stack.h:1.1 from HEAD to RELENG_7: Catch up pc98 for i386 stack(9) changes: Add stub stack.h for pc98 that includes i386 pc98. Add i386 stack_machdep.c to files.pc98. Spotted by: tinderbox Notes: svn path=/stable/7/; revision=178079
* MFC: Kernel mode Network Lock Manager.Doug Rabson2008-04-101-0/+1
| | | | Notes: svn path=/stable/7/; revision=178061
* Merge amd64/machdep.c:1.680, amd64/mp_watchdog.c:1.6,Robert Watson2008-03-302-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | uart_dev_at91usart.c:1.13, scsi_low.h:1.9, subr_ntoskrnl.c:1.94, OsdDebug.c:1.14, dcons_os.c:1.20, ofw_consle.c:1.37, dev/sio.c:1.473, syscons.c:1.454, uart_core.c:1.23, union_subr.c:1.96, i386/machdep.c:1.664, i386/mp_watchdog.c:1.6, ia64/machdep.c:1.228, kern_clock.c:1.206, kern_shutdown.c:1.186, subr_kdb.c:1.25, subr_witness.c:1.239, vfs_subr.c:1.711, ng_base.c:1.140, cbus/sio.c:1.247, pc98/machdep.c:1.399, aim/machdep.c:1.107, pswitch.c:1.7, mac_test.c:19.3, psycho.c:1.73, sparc64/machdep.c:1.140, sparc64/trap.c:1.89, hvcons.c:1.7, sun4v/machdep.c:1.17, sun4v/trap.c:1.17, kdb.h:1.6 from HEAD to RELENG_7: Add a new 'why' argument to kdb_enter(), and a set of constants to use for that argument. This will allow DDB to detect the broad category of reason why the debugger has been entered, which it can use for the purposes of deciding which DDB script to run. Assign approximate why values to all current consumers of the kdb_enter() interface. For ABI/KPI reasons, the MFC creates a new function, kdb_enter_why(), with the new argument, updating existing consumers to use that, preserving kdb_enter() with the current argument, and wrapping it around kdb_enter_why(). Notes: svn path=/stable/7/; revision=177734
* Revert powerpc scheduler change for now. This change should beXin LI2008-03-081-1/+1
| | | | | | | | | done after necessary ULE changes to be MFC'ed. Pointed out by: peter Notes: svn path=/stable/7/; revision=176931
* MFC: Switch to use ULE as default scheduler on amd64, i386 and powerpcXin LI2008-03-071-1/+1
| | | | | | | architectures. Notes: svn path=/stable/7/; revision=176923
* MFC fix for the panic("vm_thread_new: kstack allocation failed") andKonstantin Belousov2008-01-182-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | silent NULL pointer dereference in the i386 and sparc64 pmap_pinit() when the kmem_alloc_nofault() failed to allocate address space. Both functions now return error instead of panicing or dereferencing NULL. The reason for MFCing this so late in release cycle is, according to marius@, because > it fixes the crashing (though no panic) of the test suite > of the graphic/OpenEXR port on sparc64. This test suite is run > (and required to succeed) during the package build and that's > why portmgr@ bitch about at it as OpenEXR is a dependency of KDE > which in turn is supposed to end up on the release CD images. Revisions MFCed: 1.677 of src/sys/amd64/amd64/machdep.c 1.592 of src/sys/amd64/amd64/pmap.c 1.88 of src/sys/arm/arm/pmap.c 1.27 of src/sys/arm/at91/kb920x_machdep.c 1.22 of src/sys/arm/sa11x0/assabet_machdep.c 1.8 of src/sys/arm/xscale/i80321/ep80219_machdep.c 1.29 of src/sys/arm/xscale/i80321/iq31244_machdep.c 1.3 of src/sys/arm/xscale/i8134x/crb_machdep.c 1.6 of src/sys/arm/xscale/ixp425/avila_machdep.c 1.41 of src/sys/compat/pecoff/imgact_pecoff.c 1.26 of src/sys/compat/svr4/imgact_svr4.c 1.660 of src/sys/i386/i386/machdep.c 1.596 of src/sys/i386/i386/pmap.c 1.68 of src/sys/i386/ibcs2/imgact_coff.c 1.56 of src/sys/i386/linux/imgact_linux.c 1.226 of src/sys/ia64/ia64/machdep.c 1.192 of src/sys/ia64/ia64/pmap.c 1.102 of src/sys/kern/imgact_aout.c 1.179 of src/sys/kern/imgact_elf.c 1.56 of src/sys/kern/imgact_gzip.c 1.310 of src/sys/kern/kern_exec.c 1.287 of src/sys/kern/kern_fork.c 1.236 of src/sys/kern/kern_kse.c 1.253 of src/sys/kern/kern_proc.c 1.352 of src/sys/kern/kern_sig.c 1.63 of src/sys/kern/kern_thr.c 1.257 of src/sys/kern/kern_thread.c 1.397 of src/sys/pc98/pc98/machdep.c 1.104 of src/sys/powerpc/powerpc/machdep.c 1.10 of src/sys/powerpc/powerpc/pmap_dispatch.c 1.139 of src/sys/sparc64/sparc64/machdep.c 1.167 of src/sys/sparc64/sparc64/pmap.c 1.16 of src/sys/sun4v/sun4v/machdep.c 1.40 of src/sys/sun4v/sun4v/pmap.c 1.493 of src/sys/sys/proc.h 1.78 of src/sys/sys/signalvar.h 1.80 of src/sys/vm/pmap.h 1.79 of src/sys/vm/vm_extern.h 1.226 of src/sys/vm/vm_glue.c 1.390 of src/sys/vm/vm_map.c Requested by: marius Tested by: Peter Holm, marius (make universe and sparc64 runs) Approved by: re (kensmith) Notes: svn path=/stable/7/; revision=175435
* This commit was manufactured by cvs2svn to create branch 'RELENG_7'.cvs2svn2007-12-032-0/+133
| | | | Notes: svn path=/stable/7/; revision=174217
* MFC: expand critical section coverage so that shared fast and ithread handlersScott Long2007-11-261-1/+1
| | | | | | | | | don't stall. Approved by: re Notes: svn path=/stable/7/; revision=173943
* MFC:Peter Grehan2007-11-143-4/+14
| | | | | | | | | | | | | | Split decr_init() into two, with the section that reads the timebase frequency from OpenFirmware moved out and into a routine that is called from cpu_startup(). This allows correct reporting of the CPU clockspeed when printing out CPU information at boot time. Approved by: re (Ken Smith) Notes: svn path=/stable/7/; revision=173609
* Unbreak. With DDB removed, KTR can not be used as-is becauseMarcel Moolenaar2007-10-291-5/+0
| | | | | | | | | GEOM wants to save the stack as part of KTR support. Approved by: re (kensmith) Notes: svn path=/stable/7/; revision=173123
* Remove debugging support from GENERIC kernels, remove warning inKen Smith2007-10-111-7/+0
| | | | | | | | | | UPDATING that says debugging support makes FreeBSD slower, and note RELENG_7 creation. Approved by: re (implicit) Notes: svn path=/stable/7/; revision=172534
* This commit was manufactured by cvs2svn to create branch 'RELENG_7'.cvs2svn2007-10-1015-7443/+0
| | | | Notes: svn path=/stable/7/; revision=172506