summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* Various changes to support OSF1 emulation:dfr1998-12-302-10/+10
| | | | | | | | | | | * Move the user stack from VM_MAXUSER_ADDRESS to a place below the 32bit boundary (needed to support 32bit OSF programs). This should also save one pagetable per process. * Add cvtqlsv to the set of instructions handled by the floating point software completion code. * Disable all floating point exceptions by default. * A minor change to execve to allow the OSF1 image activator to support dynamic loading.
* Removed bogus casts of USRSTACK and/or the other operand in binarybde1998-12-162-8/+8
| | | | expressions involving USRSTACK.
* Implement 'software completion' for floating point arithmetic. On thedfr1998-12-042-2/+26
| | | | | | | | | | | | | | | | | | alpha, operations involving non-finite numbers or denormalised numbers or operations which should generate such numbers will cause an arithmetic exception. For programs which follow some strict code generation rules, the kernel trap handler can then 'complete' the operation by emulating the faulting instruction. To use software completion, a program must be compiled with the arguments '-mtrap-precision=i' and '-mfp-trap-mode=su' or '-mfp-trap-mode=sui'. Programs compiled in this way can use non-finite and denormalised numbers at the expense of slightly less efficient code generation of floating point instructions. Programs not compiled with these options will receive a SIGFPE signal when non-finite or denormalised numbers are used or generated. Reviewed by: John Polstra <jdp@polstra.com>
* * Add hooks to allow the X server to access I/O ports and memory.dfr1998-11-151-1/+7
| | | | | | | | | * Update drivers to the latest version of the bus interface. The ISA drivers' use of the new resource api is minimal. Garrett has some much cleaner drivers which should be more easily shared between i386 and alpha. This has only been tested on cia based machines. It should work on lca and apecs but I might have broken something.
* Add the ability to specify where on the at_shutdown queue a handler ismsmith1998-10-301-2/+1
| | | | | | | | | installed. Remove cpu_power_down, and replace it with an entry at the end of the SHUTDOWN_FINAL queue in the only place it's used (APM). Submitted by: Some ideas from Bruce Walter <walter@fortean.com>
* A small fragment of new ISA framework: manifest constants for the resourceswollman1998-10-291-0/+43
| | | | implemented by the i386 root nexus.
* R_ALPHA_RELATIVE relocations need to add the value to the existing memorydfr1998-10-181-3/+3
| | | | contents.
* *gulp*. Jordan specifically OK'ed this..peter1998-10-161-33/+41
| | | | | | | | This is the bulk of the support for doing kld modules. Two linker_sets were replaced by SYSINIT()'s. VFS's and exec handlers are self registered. kld is now a superset of lkm. I have converted most of them, they will follow as a seperate commit as samples. This all still works as a static a.out kernel using LKM's.
* Change a bogus cast to the correct one.dfr1998-10-152-4/+4
|
* Typo fix.peter1998-10-141-2/+2
|
* Initial attempt to update the Alpha loader and kernel to use the machinepeter1998-10-141-2/+8
| | | | | | | | | | | | | | | | | | | | independent elf loader and have access to kld modules. Jordan and I were not sure how to create boot floppies, and the things we tried just made SRM laugh in our faces - but it was upset at boot1 which was not touched by these changes. Essentially this has been untested. :-( What this does is to steal the last three slots from the nine spare longs in the bootinfo_v1 struct to pass the module base pointer through. The startup code now to set up and fills in the module and environment structures, hopefully close enough to the i386 layout to be able to use the same kernel code. We now pass though the updated end of the kernel space used, rather than _end. (like the i386). If this does not work, it needs to be beaten into shape pronto. Otherwise it should be backed out before 3.0. Pre-approved in principle by: dfr
* Add support for adjkerntz (largely untested).dfr1998-10-061-1/+2
|
* Automatically detect which disk was booted and change the root to that disk.dfr1998-09-261-1/+3
|
* Add new functions fill_fpregs() and set_fpregs(), like fill_regs()jdp1998-09-142-17/+10
| | | | | | | | and set_regs() but for the floating point register state. The code is stolen from procfs_machdep.c, and moved out of there into machdep.c. These functions are needed for generating ELF core dumps.
* Machine dependant relocations for KLD.dfr1998-09-111-0/+111
|
* Add declaration of {aquire,release}_timer2().dfr1998-07-221-1/+3
|
* Overhaul the spl system so that it actually works properly.dfr1998-07-121-1/+2
|
* Don't bother calling pmap_emulate_reference() from cpu_fork(). It isn'tdfr1998-07-122-22/+2
| | | | needed and it panics a DIAGNOSTIC kernel.
* Add definition of p_switchtime.dfr1998-07-121-1/+2
|
* Add declaration of the NetBSD/alpha bootinfo.dfr1998-07-051-0/+59
|
* Major changes to the generic device framework for FreeBSD/alpha:dfr1998-06-141-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Eliminate bus_t and make it possible for all devices to have attached children. * Support dynamically extendable interfaces for drivers to replace both the function pointers in driver_t and bus_ops_t (which has been removed entirely. Two system defined interfaces have been defined, 'device' which is mandatory for all devices and 'bus' which is recommended for all devices which support attached children. * In addition, the alpha port defines two simple interfaces 'clock' for attaching various real time clocks to the system and 'mcclock' for the many different variations of mc146818 clocks which can be attached to different alpha platforms. This eliminates two more function pointer tables in favour of the generic method dispatch system provided by the device framework. Future device interfaces may include: * cdev and bdev interfaces for devfs to use in replacement for specfs and the fixed interfaces bdevsw and cdevsw. * scsi interface to replace struct scsi_adapter (not sure how this works in CAM but I imagine there is something similar there). * various tailored interfaces for different bus types such as pci, isa, pccard etc.
* Add missing copyrights. Thanks to Jason Thorpe for politely noting thedfr1998-06-102-0/+1032
| | | | mistake...
* Add initial support for the FreeBSD/alpha kernel. This is very much adfr1998-06-105-0/+451
| | | | | | | | | | work in progress and has never booted a real machine. Initial development and testing was done using SimOS (see http://simos.stanford.edu for details). On the SimOS simulator, this port successfully reaches single-user mode and has been tested with loads as high as one copy of /bin/ls :-). Obtained from: partly from NetBSD/alpha
* Disallow reading the current kernel stack. Only the user structure andtegge1998-05-191-1/+5
| | | | | the current registers should be accessible. Reviewed by: David Greenman <dg@root.com>
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-223-3/+3
| | | | ready for it yet.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-143-3/+3
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Add commands for ptrace get/set registers.. (Same numbers as NetBSD)peter1996-01-241-3/+11
|
* Don't define CLK_TCK here.bde1995-02-032-12/+6
| | | | Uniformize idempotency ifdef.
* Added $Id$dg1994-08-023-0/+3
|
* The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.rgrimes1994-05-252-46/+86
| | | | | Reviewed by: Rodney W. Grimes Submitted by: John Dyson and David Greenman
* BSD 4.4 Lite Kernel Sourcesrgrimes1994-05-251-0/+40
|
* First pass at adding locale support. This code only deals with the LC_CTYPEwollman1994-04-042-6/+6
| | | | | | | | | | | | | | | | | | | | | class of locale data, but could be extended to handle other locale classes, as well as message catalogues and other non-locale i18n support. I have left the old _ctype_ array in place, and moved the ctype.h header to octype.h, so that existing shared binaries will still be able to find and use it as they require. See /usr/src/share/locale for information on how to create new locale data files (eventually this procedure will be improved). I'd like to have a family of locale files for various countries, languages, and character sets, so please contribute some. This code was originally written by Paul Borman and contributed to 4.4; I did the integration, and have somewhat tested it. crt0.c probably ought to call setlocale() if it doesn't already, but I'd like for people to create some locale files and try things manually first before I make every program do this.
* Bump CLK_TCK to more precise value (128)ache1994-02-262-4/+4
| | | | | If you want more precise, use directly getrusage(), because clock() emulated via it.
* adding libc/quad:alm1993-12-192-2/+16
| | | | | | added _QUAD_HIGH/LOW added (U_)QUAD_MAX/MIN (from NetBSD)
* Made all header files idempotent and moved incorrect common data fromwollman1993-11-072-2/+10
| | | | | headers into a related source file. Added cons.h as first step towards moving i386/i386/cons.h to machine/cons.h where it belongs.
* Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, somergrimes1993-10-162-2/+4
| | | | minor cleanup. Added $Id$ to files that did not have any version info, etc
* Initial import, 0.1 + pk 0.2.4-B1rgrimes1993-06-122-0/+114
OpenPOWER on IntegriCloud