summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* Flesh out cpu_fork() and cpu_set_fork_handler(). This is a work in progress.benno2001-10-152-26/+122
|
* - Correct the type of the argument to delay() so as to not conflict withbenno2001-10-153-3/+4
| | | | | sys/boot/common/bootstrap.h. - Add a prototype for fork_trampoline().
* Fix typo.mp2001-10-153-3/+3
|
* Save WIP. Partial rewrite of cpu_switch() and savectx(). This makes it closermp2001-10-155-483/+76
| | | | | | to working but still needs some work to properly switch the full context (such as saving the fpu registers, switch stacks, etc.). Also, remove some dead code that was mixed in.
* Implement pmap_mapdev.benno2001-10-144-0/+82
|
* Add memory disk support to allow the boot process to proceed a bit further.mp2001-10-121-0/+4
|
* Modify a virtual address check to allow use of the openfirmware callbackmp2001-10-122-2/+2
| | | | used by the PowerPC simulator (PSIM).
* Add standard calls to device_add_child() and root_bus_configure().mp2001-10-121-0/+4
|
* Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loaderps2001-10-101-1/+1
| | | | | | | tunable. Reviewed by: peter MFC after: 2 weeks
* Add a call to init_param() to initialize some necessary variables.mp2001-10-082-0/+6
|
* Dissociate ptrace from procfs.des2001-10-071-1/+0
| | | | | | | | | | | | | | | | | Until now, the ptrace syscall was implemented as a wrapper that called various functions in procfs depending on which ptrace operation was requested. Most of these functions were themselves wrappers around procfs_{read,write}_{,db,fp}regs(), with only some extra error checks, which weren't necessary in the ptrace case anyway. This commit moves procfs_rwmem() from procfs_mem.c into sys_process.c (renaming it to proc_rwmem() in the process), and implements ptrace() directly in terms of procfs_{read,write}_{,db,fp}regs() instead of having it fake up a struct uio and then call procfs_do{,db,fp}regs(). It also moves the prototypes for procfs_{read,write}_{,db,fp}regs() and proc_rwmem() from proc.h to ptrace.h, and marks all procfs files except procfs_machdep.c as "optional procfs" instead of "standard".
* Fix problem where a user buffer outside of the area being testedmjacob2001-10-022-2/+2
| | | | | | | | will be corrupted. PR: 29194 Obtained from: Tor.Egge@fast.no MFC after: 2 weeks
* Catch up to recent removal of curpcb from globals.h.mp2001-09-244-24/+32
|
* Add missing include file.mp2001-09-203-0/+3
|
* Don't include NFS headers.mp2001-09-201-4/+0
| | | | Reported by: dfr
* Replicate a change from alpha/genassym.c to other arches. This shouldpeter2001-09-201-3/+3
| | | | fix nfs-related build breakage.
* Use BATL/BATU macros instead of hardcoded hex constants.mp2001-09-203-27/+12
|
* Update PowerPC MD code to compile and do initial bootstrap based onmp2001-09-2022-193/+519
| | | | | | recent changes (KSE and VM requiring physmem to be setup). Reviewed by: benno, jhb, julian
* Cleanup and split of nfs client and server code.peter2001-09-181-2/+0
| | | | This builds on the top of several repo-copies.
* GC obsolete cruft from this file.jhb2001-09-181-14/+0
|
* Whitespace fixes.jhb2001-09-181-2/+2
|
* - If we ever do the per-cpu KTR stuff, the index won't be volatile as itjhb2001-09-182-20/+20
| | | | | | will be private to each CPU. - Re-style(9) the globaldata structures. There really needs to be a MI struct pcpu that has a MD struct mdpcpu member at some point.
* - Fix a missed idleproc -> idlethread conversion.jhb2001-09-182-4/+2
| | | | - Remove redundany fpucurproc (fpucurthread already existed)
* KSE Milestone 2julian2001-09-1211-51/+60
| | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha
* Rip some well duplicated code out of cpu_wait() and cpu_exit() and movepeter2001-09-102-50/+16
| | | | | | | | | | | | it to the MI area. KSE touched cpu_wait() which had the same change replicated five ways for each platform. Now it can just do it once. The only MD parts seemed to be dealing with fpu state cleanup and things like vm86 cleanup on x86. The rest was identical. XXX: ia64 and powerpc did not have cpu_throw(), so I've put a functional stub in place. Reviewed by: jake, tmm, dillon
* Missing part of dillon's coredump commit. cpu_coredump() was stillpeter2001-09-082-4/+2
| | | | | passing IO_NODELOCKED to vn_rdwr(), this would cause operations on the unlocked core vnode and softupdates nastiness if an a.out binary cored.
* style(9) the structure definitions.obrien2001-09-051-1/+1
|
* Zap #if 0'ed map init code that got moved to the MI area.peter2001-09-042-236/+4
| | | | Convert the powerpc tree to use the common code.
* Nuke #if 0'ed "setredzone()" stub. We never used it, and probablypeter2001-09-042-34/+0
| | | | | never will. I've implemented an optional redzone as part of the KSE upage breakup.
* Axe stale mp_fixme().jhb2001-09-012-2/+0
|
* Similar to changes on i386/alpha/etc pmap.c; converge on a similarpeter2001-08-313-45/+45
| | | | look/feel on pmap_new_proc() with some cosmetic style changes.
* o Remove some GCCisms in src/powerpc/include/endian.h.mike2001-08-302-12/+16
| | | | | | | | | | | | | | | | | | | | o Unify <machine/endian.h>'s across all architectures. o Make bswapXX() functions use a different spelling of u_int16_t and friends to reduce namespace pollution. The bswapXX() functions don't actually exist, but we'll probably import these at some point. Atleast one driver (if_de) depends on bswapXX() for big endian cases. o Deprecate byteorder(3) prototypes from <sys/types.h>, these are now prototyped indirectly in <arpa/inet.h>. o Deprecate in_addr_t and in_port_t typedefs in <sys/types.h>, these are now typedef'd in <arpa/inet.h>. o Change byteorder(3) prototypes to use standards compliant uint32_t (spelled __uint32_t to reduce namespace pollution). o Document new preferred headers and standards compliance. Discussed with: bde PR: 29946 Reviewed by: bmilekic
* vm_page_zero_idle() is no longer MD.peter2001-08-251-1/+0
|
* Make COMPAT_43 optional again. XXX we need COMPAT_FBSD3 etc for thispeter2001-08-212-0/+12
| | | | stuff.
* Minor style(9)'ingobrien2001-08-161-2/+9
|
* style(9) and make consistent across platformsobrien2001-08-162-28/+26
|
* OFF_T -> OFF (more standard style)ache2001-08-152-4/+4
|
* The 'astpending' variable is already declared in trap.c (and unused injhb2001-08-151-1/+0
| | | | FreeBSD besides).
* FreeBSD doesn't use a want_resched variable. Instead, the PS_NEEDRESCHEDjhb2001-08-153-15/+0
| | | | p_sflag is managed in a MI fashion.
* Add OFF_T_MAX/OFF_T_MINache2001-08-152-0/+6
|
* Style changes to commonize the various platforms.obrien2001-08-151-11/+11
|
* - Close races with signals and other AST's being triggered while we are injhb2001-08-103-4/+2
| | | | | | | | | | | | | | | | | | | | | | the process of exiting the kernel. The ast() function now loops as long as the PS_ASTPENDING or PS_NEEDRESCHED flags are set. It returns with preemption disabled so that any further AST's that arrive via an interrupt will be delayed until the low-level MD code returns to user mode. - Use u_int's to store the tick counts for profiling purposes so that we do not need sched_lock just to read p_sticks. This also closes a problem where the call to addupc_task() could screw up the arithmetic due to non-atomic reads of p_sticks. - Axe need_proftick(), aston(), astoff(), astpending(), need_resched(), clear_resched(), and resched_wanted() in favor of direct bit operations on p_sflag. - Fix up locking with sched_lock some. In addupc_intr(), use sched_lock to ensure pr_addr and pr_ticks are updated atomically with setting PS_OWEUPC. In ast() we clear pr_ticks atomically with clearing PS_OWEUPC. We also do not grab the lock just to test a flag. - Simplify the handling of Giant in ast() slightly. Reviewed by: bde (mostly)
* Zap 'ptrace(PT_READ_U, ...)' and 'ptrace(PT_WRITE_U, ...)' since theypeter2001-08-083-37/+0
| | | | | | | | | | | | are a really nasty interface that should have been killed long ago when 'ptrace(PT_[SG]ETREGS' etc came along. The entity that they operate on (struct user) will not be around much longer since it is part-per-process and part-per-thread in a post-KSE world. gdb does not actually use this except for the obscure 'info udot' command which does a hexdump of as much of the child's 'struct user' as it can get. It carries its own #defines so it doesn't break compiles.
* Axe unused and invalid astpending globaldata member.jhb2001-08-042-2/+0
|
* Axe unused and invalid GD_ASTPENDING symbol.jhb2001-08-041-1/+0
|
* Use a machine dependent type, Elf_Hashelt, for the elements of the elfjake2001-07-311-0/+11
| | | | | | | | dynamic symbol table buckets and chains. The sparc64 toolchain uses 32 bit .hash entries, unlike other 64 bits architectures (alpha), which use 64 bit entries. Discussed with: dfr, jdp
* Make PMAP_SHPGPERPROC tunable. One shouldn't need to recompile a kernelpeter2001-07-273-3/+15
| | | | | | | for this, since it is easy to run into with large systems with lots of shared mmap space. Obtained from: yahoo
* - Do not handle the per-CPU containers in mbuf code as though the cpuidsbmilekic2001-07-261-0/+1
| | | | | | | | | | | | | | | | | were indices in a dense array. The cpuids are a sparse set and treat them as such, setting up containers only for CPUs activated during mb_init(). - Fix netstat(1) and systat(1) to treat the per-CPU stats area as a sparse map, in accordance with the above. This allows us to properly boot with certain CPUs disactivated. However, if we later decide to re-activate said CPUs, we will barf until we decide to implement CPU spinon/spinoff callback hooks to allow for said CPUs' per-CPU containers to get configured on their activation. Reported by: mjacob Partially (sys/ diffs) Submitted by: mjacob
* Move vm_page_zero_idle() from machine-dependant sections to adillon2001-07-052-142/+0
| | | | | machine-independant source file, vm/vm_zeroidle.c. It was exactly the same for all platforms and updating them all was getting annoying.
* Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc).dillon2001-07-042-2/+2
| | | | | | | | | | | Also removed some spl's and added some VM mutexes, but they are not actually used yet, so this commit does not really make any operational changes to the system. vm_page.c relates to vm_page_t manipulation, including high level deactivation, activation, etc... vm_pageq.c relates to finding free pages and aquiring exclusive access to a page queue (exclusivity part not yet implemented). And the world still builds... :-)
OpenPOWER on IntegriCloud