summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* Move MINSIGSTKSZ from <machine/signal.h> to <machine/_limits.h> and renamestefanf2005-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
* Remove unnecessary and alarming printf.grehan2005-08-161-1/+1
| | | | MFC after: 1 day
* - Add support for saving stack traces and displaying them via printf(9)jeff2005-08-031-0/+23
| | | | | | | and KTR. Contributed by: Antoine Brodin <antoine.brodin@laposte.net> Concept code from: Neal Fachan <neal@isilon.com>
* Temporary band-aid to fix hang when a process exec's Altivec instructions.grehan2005-07-306-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | trap_subr.S: declare a stub for the a-unavailable trap that does an absolute jump to the vector-assist trap. This is due to the fact that the vec-unavail trap doesn't start at a 256-byte boundary, so the trick of masking the bottom 8 bits of the link register to identify the interrupt doesn't work, so let the vec-assist case handle Altivec-disabled for the time being. Note that this will be fixed in the future with a much smaller vector code-stub (< 16 bytes) that will allow use of strange vector offsets that are also present in 4xx processors, and also allow smaller differences in vector codepaths on the G5. trap.c: Treat altivec-unavailable/assist process traps as SIGILL. Not quite correct, since altivec-assist should really be a panic, but it is fine for the moment due to the above measure. machdep.c Install the stub code for the altivec-unavailable trap, and the standard trap code at the altivec-assist. Reported by: Andreas Tobler <toa at pop agri ch> MFC after: 3 days
* Convert the atomic_ptr() operations over to operating on uintptr_tjhb2005-07-151-63/+20
| | | | | | | | | | 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
* Add recently invented COMPAT_FREEBSD5 option.kensmith2005-07-141-0/+1
| | | | MFC after: 3 days
* Validate if the value written into {FS,GS}.base is a canonicaldavidxu2005-07-102-2/+4
| | | | | | | | | 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)
* The nsegs parameter to bus_dmamap_load_mbuf_sg is not required togrehan2005-07-091-0/+2
| | | | | | | | | be set to 0 on input. This caused a panic in an an MP test version of the GEM driver from Marius, and from inspection of other PCI drivers, the same problem would happen there. Fix by explicitly setting to 0. Approved by: re
* Add .cvsignore files just like in sys/<arch>/compiled, this keeps CVS fromobrien2005-06-201-0/+1
| | | | | | questing kernel config files not in CVS. Approved by: re(kensmith)
* Unbreak the PowerPC GENERIC build.jkoshy2005-06-111-2/+6
| | | | Reviewed by: delphij
* Introduce a procedure, pmap_page_init(), that initializes thealc2005-06-103-0/+24
| | | | | | | | | | | | | | | | | | | 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
* MFP4:jkoshy2005-06-091-0/+15
| | | | | | | | | | | | | | | | - 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.
* Create nexus in configure_first() instead of in configure(). Thismarcel2005-05-291-1/+2
| | | | | makes sure that sysinit tasks that run after configure_first(), but before configure() have a nexus to hang devices off.
* Call cninit_finish() from configure_final().marcel2005-05-291-0/+1
|
* The end values passed to rman_manage_region() for PCI i/o and memgrehan2005-05-291-2/+2
| | | | | | | | spaces were 1 too large. This resulted in the rman list not being sorted correctly, and USB ports not being discovered on older TiBooks. Detective work by: Andreas Tobler <toa at pop dot agri dot ch>
* Remove bus_{mem,p}io.h and related code for a micro-optimization on i386nyan2005-05-294-68/+0
| | | | | | and amd64. The optimization is a trivial on recent machines. Reviewed by: -arch (imp, marcel, dfr)
* Quick hack-o-rama to allow the Xorg Radeon driver to start up. Itgrehan2005-05-211-0/+13
| | | | | tries to mmap memory outside of the available BARs, so allow the range checks to be relaxed with a sysctl.
* Remove incorrect configuration setting that limited the Kauai ATA controllergrehan2005-05-141-1/+1
| | | | to be master-only. The slave ATAPI drive on the Mac-Mini is now recognised.
* - move to SCHED_4BSD per jeffr's comments on SCHED_ULE's stategrehan2005-05-031-5/+4
| | | | | | - enable MSDOSFS - ehci is stable on the powerbook - modules have been working for a long time.
* Catch up with latest ATA newbus commits.grehan2005-05-012-4/+4
|
* Change cpu_set_kse_upcall to more generic style, so we can reuse itdavidxu2005-04-232-10/+26
| | | | | | | 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.
* Don't enter the debugger if KDB_UNATTENDED is set or ifps2005-04-202-4/+0
| | | | | | debug.debugger_on_panic=0. MFC after: 2 weeks
* Add empty header (except of the multiple-inclusion protection) tomarcel2005-04-201-0/+10
| | | | get hwpmc(4) to compile on this platform.
* Get order right when initializing task file bus resources. ATA drives aregrehan2005-04-202-4/+4
| | | | | now recognised when booting from the drive, as opposed to net-booting which the previous botched commit was tested with.
* Break out the definition of bus_space_{tag,handle}_t and a few other typesimp2005-04-182-12/+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
* Catch up with ATA mkIII definitions for registers that have differentgrehan2005-04-182-2/+4
| | | | functions for read vs. write.
* Use PCPU_LAZY_INC() for cnt.v_{intr,trap,syscalls} rather than atomicjhb2005-04-122-4/+4
| | | | operations in some places and simple non-per CPU math in others.
* Unbreak the powerpc build by fixing some ATA constants that were renamed.ssouhlal2005-04-121-3/+3
| | | | Approved by: grehan (mentor)
* Change an instance of md_savecrit to md_saved_msr that I missed.jhb2005-04-082-2/+2
|
* Divorce critical sections from spinlocks. Critical sections as denoted byjhb2005-04-047-135/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | critical_enter() and critical_exit() are now solely a mechanism for deferring kernel preemptions. They no longer have any affect on interrupts. This means that standalone critical sections are now very cheap as they are simply unlocked integer increments and decrements for the common case. Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter() and spinlock_exit(). This KPI is responsible for providing whatever MD guarantees are needed to ensure that a thread holding a spin lock won't be preempted by any other code that will try to lock the same lock. For now all archs continue to block interrupts in a "spinlock section" as they did formerly in all critical sections. Note that I've also taken this opportunity to push a few things into MD code rather than MI. For example, critical_fork_exit() no longer exists. Instead, MD code ensures that new threads have the correct state when they are created. Also, we no longer try to fixup the idlethreads for APs in MI code. Instead, each arch sets the initial curthread and adjusts the state of the idle thread it borrows in order to perform the initial context switch. This change is largely a big NOP, but the cleaner separation it provides will allow for more efficient alternative locking schemes in other parts of the kernel (bare critical sections rather than per-CPU spin mutexes for per-CPU data for example). Reviewed by: grehan, cognet, arch@, others Tested on: i386, alpha, sparc64, powerpc, arm, possibly more
* Introduce channel-level setmode newbus method.grehan2005-04-013-0/+38
| | | | Thanks to sos for the code re-org that allowed this.
* Catch up with ATA-mkIIIgrehan2005-03-313-53/+4
|
* Add USB Communication Device Class Ethernet driver. Originally written forsobomax2005-03-221-0/+1
| | | | | | | | | | FreeBSD based on aue(4) it was picked by OpenBSD, then from OpenBSD ported to NetBSD and finally NetBSD version merged with original one goes into FreeBSD. Obtained from: http://www.gank.org/freebsd/cdce/ NetBSD OpenBSD
* Optimize putc routine to write 2 ints instead of 8 chars to uncachedgrehan2005-03-191-14/+41
| | | | | | | framebuffer memory. Speeds up system time of large ascii file cat by 4x. Inspired by: Linux scrolling so damned fast.
* Add a comment to note that pseudo-device bpf is required for DHCP.murray2005-03-181-0/+1
| | | | | | | | | This is mentioned in the Handbook but it is not as obvious to new users why bpf is needed compared to the other largely self-explanatory items in GENERIC. PR: conf/40855 MFC after: 1 week
* Split configure into 3 steps ala sparc64grehan2005-03-181-1/+20
| | | | Obtained from: iedowse, sparc64
* Prepend underscore to bus_dmamap_{unload|sync} in line withgrehan2005-03-151-2/+2
| | | | recent busdma changes.
* Include <sys/signalvar.h> for trapsignal prototype.grehan2005-03-152-0/+2
|
* Long overdue sync-up with ATA codegrehan2005-03-151-1/+3
|
* Refactor the bus_dma header files so that the interface is described inscottl2005-03-142-182/+34
| | | | | | | | | | sys/bus_dma.h instead of being copied in every single arch. This slightly reorders a flag that was specific to AXP and thus changes the ABI there. The interface still relies on bus_space definitions found in <machine/bus.h> so it cannot be included on its own yet, but that will be fixed at a later date. Add an MD <machine/bus_dma.h> for ever arch for consistency and to allow for future MD augmentation of the API. sparc64 makes heavy use of this right now due to its different bus_dma implemenation.
* Replaced previous hw.physmem extraction with des's mods togrehan2005-03-073-150/+6
| | | | | | getenv_ulong() - much simpler. Pointed out by: des
* physmem is a much better indicator for 'real' memory on PPC than Maxmemgrehan2005-03-072-6/+6
| | | | | | since there are often significant holes in the memory map due to the kernel, loader and OFW data structures not being included: Maxmem is the highest available, so can be misleading.
* Allow user to undersize memory with hw.physmem loader variable.grehan2005-03-073-3/+186
| | | | Obtained from: i386/machdep.c:getmemsize()
* netchild's mega-patch to isolate compiler dependencies into a centraljoerg2005-03-029-27/+46
| | | | | | | | | | | | | | | | place. This moves the dependency on GCC's and other compiler's features into the central sys/cdefs.h file, while the individual source files can then refer to #ifdef __COMPILER_FEATURE_FOO where they by now used to refer to #if __GNUC__ > 3.1415 && __BARC__ <= 42. By now, GCC and ICC (the Intel compiler) have been actively tested on IA32 platforms by netchild. Extension to other compilers is supposed to be possible, of course. Submitted by: netchild Reviewed by: various developers on arch@, some time ago
* Catch up with "physical memory" sysctl change.grehan2005-03-012-0/+4
| | | | (MFi386: rev 1.608)
* Catch the case where the idle loop is entered with interrupts disabled,grehan2005-02-282-2/+18
| | | | causing a hard hang.
* - switch pcpu to a struct declaration ala amd64. It may be more efficient togrehan2005-02-282-6/+4
| | | | | | cache-align this struct, but that's a topic for a far-in-the-future commit. - eliminate commented-out reference to a non-existent pcpu field.
* Correctly set kernelname for kern.bootfile sysctlgrehan2005-02-282-0/+20
| | | | | Noticed by: gad Code stolen from: sparc64
* Add PVO_FAKE flag to pvo entries for PG_FICTITIOUS mappings, togrehan2005-02-253-42/+75
| | | | | | | avoid trying to reverse-map a device physical address to the vm_page array and walking into non-existent vm weeds. found by: Xorg server exiting
* Mods for Xorg server:grehan2005-02-252-6/+113
| | | | | | | | - store assigned PCI addresses at cninit time for later mmap range check - implement set_border to scrub X remnants when switching back to VTYs - implement mmap, only allowing addresses within the range of the console adapter.
OpenPOWER on IntegriCloud