summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/include
Commit message (Collapse)AuthorAgeFilesLines
...
* In the spirit of amd64/include/stdarg.h rev 1.6; add __va_copyobrien2004-07-061-0/+3
| | | | | | | | | | (but keep it conditional on __ISO_C_VISIBLE >= 1999. Why? Our out /usr/src/contrib assumes it, and more than a few ports have an autoconf that looks for __va_copy because it is available on glibc. It is critical that we use it on PowerPC. It generally isn't a problem for i386 and its ilk because those platforms can get away with cheating the C standard, using a plain assignment.
* Moved most of the "MI" definitions and declarations from <machine/profile.h>bde2004-05-191-11/+0
| | | | | | to <sys/gmon.h>. Cleaned them up a little by not attempting to ifdef for incomplete and out of date support for GUPROF in userland, as in the sparc64 version.
* <stdint.h> should define WINT_M{AX,IN} independent from whether WCHAR_MIN isstefanf2004-05-181-1/+1
| | | | | | | | defined. Otherwise first including <wchar.h> and then <stdint.h> leads to no WINT_M{AX,IN} at all. PR: 64956 Approved by: das (mentor)
* Hide FLT_EVAL_METHOD and DECIMAL_DIG in pre-C99 compilationdas2004-04-251-0/+4
| | | | | | | environments. PR: 63935 Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at>
* Include <machine/pte.h> since it has been removed from <machine/param.h>.grehan2004-04-211-0/+1
|
* <machine/pte.h> has no business being here. Finally exposed by F77 buildgrehan2004-04-211-2/+0
| | | | failure.
* MFamd64alc2004-04-181-12/+14
| | | | | Simplify the sf_buf implementation. In short, make it a veneer over the direct virtual-to-physical mapping.
* Remove avail_end. It is not used.alc2004-04-111-1/+0
|
* Remove advertising clause from University of California Regent'simp2004-04-077-28/+0
| | | | | | | license, per letter dated July 22, 1999 and email from Peter Wemm, Alan Cox and Robert Watson. Approved by: core, peter, alc, rwatson
* Remove avail_start on those platforms that no longer use it. (Only amd64alc2004-04-051-1/+0
| | | | does anything with it beyond simple initialization.)
* Introduce the cpumask_t type. The purpose of the type is to create amarcel2004-03-201-0/+1
| | | | | | | | | | | | | | | | | | | level of abstraction for any and all CPU mask and CPU bitmap variables so that platforms have the ability to break free from the hard limit of 32 CPUs, simply because we don't have more bits in an u_int. Note that the type is not supposed to solve massive parallelism, where the number of CPUs can be larger than the width of the widest integral type. As such, cpumask_t is not supposed to be a compound type. If such would be necessary in the future, we can deal with the issues then and there. For now, it can be assumed that the type is integral and unsigned. With this commit, all MD definitions start off as u_int. This allows us to phase-in cpumask_t at our leasure without breaking anything. Once cpumask_t is used consistently, platforms can switch to wider (or smaller) types if such would be beneficial (or not; whatever :-) Compile-tested on: i386
* Fix syntax errors and wrong function prototypes in several MD headerle2004-03-051-2/+2
| | | | | | | | files when using non-GNUC compilers. PR: kern/58515 Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at> Approved by: grog (mentor), obrien
* Increase kernel VA from 256Mb to 512Mb by shifting the segment usedgrehan2004-03-022-3/+5
| | | | | | | | | | | | | for user copyinout down to 12, and keeping segments 13/14 for kernel VA. It would be nice to have more available, but segments lower than this are reserved for either memory or 1:1 mapped device i/o, and seg 15 is OpenFirmware ROM. Also, the effort to keep OpenFirmware available for callbacks limits the use of VA-mapped segments. Fortunately UMA_MD_SMALL_ALLOC takes away a lot of VM pressure. Obtained from: NetBSD
* Kernel changes for libthr (and probably libpthread).grehan2004-03-021-5/+31
| | | | | | | | | | | | | | | | | | | | | | | | | include/ucontext.h - remove trapframe and switch over to 'generic' description of machine state. Include version field to help with future modifications. Include floating point and altivec state, and hopefully align correctly powerpc/copyinout.c - fill out casuptr() sync primitive, required by kern_umtx.c powerpc/machdep.c - shifted proc0/thread0/pcpu setup to before cninit, since syscons -> make_dev -> devlock requires a valid curthread - implemented get_mcontext/set_mcontext - recast sendsig/sigreturn to use get/set_mcontext and new ucontext struct. floating point now saved - TODO: save/restore altivec state powerpc/vm_machdep.c - implemented cpu_thread_setup/cpu_set_upcall/cpu_set_upcall_kse - eliminated trailing whitespace Submitted by: Suleiman Souhlal <refugee@segfaulted.com>, ucontext by grehan
* Add sys file required for IEEE fp functions.grehan2004-02-121-0/+37
| | | | Submitted by: Suleiman Souhlal <refugee@segfaulted.com>
* Interrupt statistics, vmstat -i now works.grehan2004-02-111-0/+3
| | | | | | Submitted by: Suleiman Souhlal <refugee@segfaulted.com> Slightly modified by: grehan Derived from: i386
* Cleaned up param.h:grehan2004-02-114-30/+16
| | | | | | | | | | | - culled long-dead #define's - segment register defs moved to sr.h - NPMAPS moved to pmap.h - KERNBASE moved to vmparam.h - removed include of <machine/cpu.h> and fixed src files that relied on this. Modifying segment register code no longer causes gcc rebuilds :-)
* Definitions for MPC7457 CPU type and HID0 bitsgrehan2004-02-092-35/+42
|
* Move temporary register save area from exception-vector memory togrehan2004-02-041-3/+15
| | | | | | per-CPU memory. This allows for interrupt handling on multiple CPUs. Obtained from: NetBSD
* Implement UMA_MD_SMALL_ALLOC, since the BAT registers allow directgrehan2004-01-291-0/+6
| | | | | | | addressing of memory. Makes a substantial improvement for apps that stress the limited amount of KVM on PPC (e.g. untarring the ports tree). uma_machdep.c stolen from amd64/ia64.
* A syscons implementation using the 8-bit framebuffer set up bygrehan2004-01-211-0/+71
| | | | | | | OpenFirmware. Not at all optimized, but provides a PC-style user-experience. Tested on revA imac, B&W G3, 2k iBook, and G4 eMac.
* Update 128-bit long double constants to match what is expectedgrehan2004-01-211-9/+10
| | | | by libc
* Make the OpenPic driver bus-independent, with attachments forgrehan2004-01-131-1/+29
| | | | | | | | | | the MacIO chip and PSIM's IOBus. Bus-specific drivers should use the identify method to attach themselves to nexus so interrupt can be allocated before the h/w is probed. The 'early attach' routine in openpic is used for this stage of boot. When h/w is probed, the openpic can be attached properly. It will enable interrupts allocated prior to this.
* Remove hard-coded knowledge of specific OFW devices. Use bus_generic_probegrehan2004-01-131-0/+5
| | | | | | | | | | | and add_child entry point to allow devices to use the identify method to add themselves if need be (e.g. openpic, syscons). Export interrupt-controller-add routine for extern int cntlr drivers. Eliminate recursive OFW device-tree walk and only iterate the top-level ala sparc64. Allow child devices to set the device type with write_ivars. Step 1 of many in removing the hard-dependency on OpenFirmware.
* GC the unused <machine/kse.h> file.peter2003-12-241-38/+0
|
* - removed obsolete ppc_exit/ppc_boot functionsgrehan2003-12-101-2/+0
| | | | | | | - OpenFirmware returns overlapping memory regions. Use a simple brute force algorithm to merge these into non-overlapping regions. This fixes bugs in reporting of available memory and also prevents pages from being added twice in the VM system.
* Use the "shut-down" and "reset-all" Forth procedures to halt andgallatin2003-12-091-0/+2
| | | | | | | | | reboot, as calling OF_exit() just hangs a mac. FreeBSD on my G4 800Mhz mac behaves identically to OSX for halt and reboot now. Reviewed by: grehan (who also supplied the concept and sample code)
* Make breakpoint() actually break into ddb.gallatin2003-12-091-5/+6
| | | | Reviewed by: grehan
* Widen the enable/disable helper function's argument in line with thepeter2003-11-171-1/+1
| | | | ithread_create() changes etc. This should be mostly a NOP.
* - Modify alpha's sf_buf implementation to use the direct virtual-to-alc2003-11-161-0/+56
| | | | | | | | | physical mapping. - Move the sf_buf API to its own header file; make struct sf_buf's definition machine dependent. In this commit, we remove an unnecessary field from struct sf_buf on the alpha, amd64, and ia64. Ultimately, we may eliminate struct sf_buf on those architecures except as an opaque pointer that references a vm page.
* Move pmap_resident_count() from the MD pmap.h to the MI pmap.h.bms2003-10-061-1/+0
| | | | | | | | Add a definition of pmap_wired_count(). Add a definition of vmspace_wired_count(). Reviewed by: truckman Discussed with: peter
* DELAY must be a routine, not a macro definition.grehan2003-09-261-2/+0
|
* Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bitpeter2003-09-251-12/+0
| | | | | | | | | | | | | | | | | | | | | systems where the data/stack/etc limits are too big for a 32 bit process. Move the 5 or so identical instances of ELF_RTLD_ADDR() into imgact_elf.c. Supply an ia32_fixlimits function. Export the clip/default values to sysctl under the compat.ia32 heirarchy. Have mmap(0, ...) respect the current p->p_limits[RLIMIT_DATA].rlim_max value rather than the sysctl tweakable variable. This allows mmap to place mappings at sensible locations when limits have been reduced. Have the imgact_elf.c ld-elf.so.1 placement algorithm use the same method as mmap(0, ...) now does. Note that we cannot remove all references to the sysctl tweakable maxdsiz etc variables because /etc/login.conf specifies a datasize of 'unlimited'. And that causes exec etc to fail since it can no longer find space to mmap things.
* _MACHINE/_MACHINE_ARCH shouldn't be quoted. Found by trying togrehan2003-09-241-2/+2
| | | | compile the isp driver.
* Standardize idempotentcy ifdefs. Consistently use _MACHINE_VARARGS_H_kan2003-09-011-3/+3
| | | | symbol.
* Further cleanup <machine/cpu.h> and <machine/md_var.h>: move the MImarcel2003-08-162-4/+6
| | | | | | | | | | | | | | | | | | | prototypes of cpu_halt(), cpu_reset() and swi_vm() from md_var.h to cpu.h. This affects db_command.c and kern_shutdown.c. ia64: move all MD prototypes from cpu.h to md_var.h. This affects madt.c, interrupt.c and mp_machdep.c. Remove is_physical_memory(). It's not used (vm_machdep.c). alpha: the MD prototypes have been left in cpu.h with a comment that they should be there. Moving them is left for later. It was expected that the impact would be significant enough to be done in a seperate commit. powerpc: MD prototypes left in cpu.h. Comment added. Suggested by: bde Tested with: make universe (pc98 incomplete)
* Expand inline the relevant parts of src/COPYRIGHT for Matt Dillon'simp2003-08-121-2/+24
| | | | | | copyrighted files. Approved by: Matt Dillon
* - Since td_critnest is now initialized in MI code, it doesn't have to bejhb2003-08-041-2/+0
| | | | | | set in cpu_critical_fork_exit() anymore. - As far as I can tell, cpu_thread_link() has never been used, not even when it was originally added, so remove it.
* Deal with GCC annoyingly defining _BIG_ENDIAN.obrien2003-08-031-0/+1
|
* Deal with 'options KSTACK_PAGES' being a global option.peter2003-07-311-2/+2
|
* - Introduce a new busdma flag BUS_DMA_ZERO to request for zero'edmux2003-07-271-0/+1
| | | | | | | memory in bus_dmamem_alloc(). This is possible now that contigmalloc() supports the M_ZERO flag. - Remove the locking of Giant around calls to contigmalloc() since contigmalloc() now grabs Giant itself.
* Mega busdma API commit.scottl2003-07-011-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour. sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen. If anyone gets panics or warnings from dflt_lock() being called, please let me know right away. Reviewed by: tmm, gibbs
* Remove unused bootpath[] variable. It conflicted with a declarationgrehan2003-06-251-2/+0
| | | | in the sunlabel utility, causing build problems.
* Migrate the thread stack management functions from the machine-dependentalc2003-06-141-1/+1
| | | | | | | | | | | | | | | | to the machine-independent parts of the VM. At the same time, this introduces vm object locking for the non-i386 platforms. Two details: 1. KSTACK_GUARD has been removed in favor of KSTACK_GUARD_PAGES. The different machine-dependent implementations used various combinations of KSTACK_GUARD and KSTACK_GUARD_PAGES. To disable guard page, set KSTACK_GUARD_PAGES to 0. 2. Remove the (unnecessary) clearing of PG_ZERO in vm_thread_new. In 5.x, (but not 4.x,) PG_ZERO can only be set if VM_ALLOC_ZERO is passed to vm_page_alloc() or vm_page_grab().
* Bring back bus_dmasync_op_t. It is now a typedef to an int, though thescottl2003-05-271-1/+2
| | | | | | | | BUS_DMASYNC_ definitions remain as before. The does not change the ABI, and reverts the API to be a bit more compatible and flexible. This has survived a full 'make universe'. Approved by: re (bmah)
* sys/sys/limits.h:kan2003-05-192-3/+3
| | | | | | | | | | | | | | | - Fix visibilty test for LONG_BIT and WORD_BIT. `#if defined(__FOO_VISIBLE)' is alays wrong because __FOO_VISIBLE is always defined (to 0 for invisibility). sys/<arch>/include/limits.h sys/<arch>/include/_limits.h: - Style fixes. Submitted by: bde Reviewed by: bsdmike Approved by: re (scottl)
* Style fixes.kan2003-05-041-8/+11
| | | | | | | | | Remove DBL_DIG, DBL_MIN, DBL_MAX and their FLT_ counterparts, they were marked for deprecation ever since SUSv1 at least. Only define ULLONG_MIN/MAX and LLONG_MAX if long long type is supported. Restore a lost comment in MI _limits.h file and remove it from sys/limits.h where it does not belong.
* Slight reorg and added AMD64 support. A couple of the MODINFOMD_* valuespeter2003-05-011-6/+0
| | | | | | | | | that were added to sparc64 and later powerpc, really should have been in the MI area. But changing that now with insufficient preperation will just cause too much pain. Move MD_FETCH() to the MI sys/linker.h file to avoid another two copies of it.
* Deprecate machine/limits.h in favor of new sys/limits.h.kan2003-04-291-66/+4
| | | | | | | Change all in-tree consumers to include <sys/limits.h> Discussed on: standards@ Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>
* Add a new sys/limits.h file which in turn depends on machine/_limits.hkan2003-04-231-53/+42
| | | | | | | | | to get actual constant values. This is in preparation for machine/limits.h retirement. Discussed on: standards@ Submitted by: Craig Rodrigues <rodrigc@attbi.com> (*) Modified by: kan
OpenPOWER on IntegriCloud