aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha/include/param.h
Commit message (Collapse)AuthorAgeFilesLines
* First pass at removing Alpha kernel support.John Baldwin2006-05-111-125/+0
| | | | Notes: svn path=/head/; revision=158458
* By popular demand, move __HAVE_ACPI and __PCI_REROUTE_INTERRUPT intoWarner Losh2006-01-091-0/+2
| | | | | | | | | | | param.h. Per request, I've placed these just after the _NO_NAMESPACE_POLLUTION ifndef. I've not renamed anything yet, but may since we don't need the __. Submitted by: bde, jhb, scottl, many others. Notes: svn path=/head/; revision=154128
* Drop _MACHINE_ARCH and _MACHINE defines (not to be confused withRuslan Ermilov2005-12-061-7/+0
| | | | | | | | | | MACHINE_ARCH and MACHINE). Their purpose was to be able to test in cpp(1), but cpp(1) only understands integer type expressions. Using such unsupported expressions introduced a number of subtle bugs, which were discovered by compiling with -Wundef. Notes: svn path=/head/; revision=153168
* Eliminate unused definitions.Alan Cox2005-09-111-7/+0
| | | | Notes: svn path=/head/; revision=150008
* Begin all license/copyright comments with /*- or #-Warner Losh2005-01-051-1/+1
| | | | Notes: svn path=/head/; revision=139727
* Remove UAREA_PAGES.David Schultz2004-11-201-1/+0
| | | | | | | Reviewed by: arch@ Notes: svn path=/head/; revision=137914
* Turn PREEMPTION into a kernel option. Make sure that it's defined ifScott Long2004-09-021-5/+0
| | | | | | | | | FULL_PREEMPTION is defined. Add a runtime warning to ULE if PREEMPTION is enabled (code inspired by the PREEMPTION warning in kern_switch.c). This is a possible MT5 candidate. Notes: svn path=/head/; revision=134649
* Turn off PREEMPTION by default while it gets debugged. It's been causingScott Long2004-08-011-0/+3
| | | | | | | | 4 weeks of problems including deadlocks and instant panics. Note that the real bugs are likely in the scheduler. Notes: svn path=/head/; revision=132961
* Implement preemption of kernel threads natively in the scheduler ratherJohn Baldwin2004-07-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | than as one-off hacks in various other parts of the kernel: - Add a function maybe_preempt() that is called from sched_add() to determine if a thread about to be added to a run queue should be preempted to directly. If it is not safe to preempt or if the new thread does not have a high enough priority, then the function returns false and sched_add() adds the thread to the run queue. If the thread should be preempted to but the current thread is in a nested critical section, then the flag TDF_OWEPREEMPT is set and the thread is added to the run queue. Otherwise, mi_switch() is called immediately and the thread is never added to the run queue since it is switch to directly. When exiting an outermost critical section, if TDF_OWEPREEMPT is set, then clear it and call mi_switch() to perform the deferred preemption. - Remove explicit preemption from ithread_schedule() as calling setrunqueue() now does all the correct work. This also removes the do_switch argument from ithread_schedule(). - Do not use the manual preemption code in mtx_unlock if the architecture supports native preemption. - Don't call mi_switch() in a loop during shutdown to give ithreads a chance to run if the architecture supports native preemption since the ithreads will just preempt DELAY(). - Don't call mi_switch() from the page zeroing idle thread for architectures that support native preemption as it is unnecessary. - Native preemption is enabled on the same archs that supported ithread preemption, namely alpha, i386, and amd64. This change should largely be a NOP for the default case as committed except that we will do fewer context switches in a few cases and will avoid the run queues completely when preempting. Approved by: scottl (with his re@ hat) Notes: svn path=/head/; revision=131481
* Remove the advertsing clause, per the Regent's letter dated July 22, 1999.Warner Losh2004-04-051-4/+0
| | | | | | | Approved by: core Notes: svn path=/head/; revision=127910
* Deal with 'options KSTACK_PAGES' being a global option.Peter Wemm2003-07-311-0/+2
| | | | Notes: svn path=/head/; revision=118239
* Migrate the thread stack management functions from the machine-dependentAlan Cox2003-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(). Notes: svn path=/head/; revision=116355
* Fix the osf1 abi module on SMP systems by making the size ofAndrew Gallatin2003-03-291-1/+2
| | | | | | | | | | | | | | | | | | | a struct pmap be the same on both SMP and UP kernels. It turns out that the size of a struct pmap is much larger on alpha SMP systems due to the number of pm_asn's being dependant on MAX_CPU. Since modules are supposed to be SMP agnostic, this has the affect of moving around the "interesting bits" of the vmspace (daddr, dsize) that the osf1 module wants to frob. So the module ends up scribbling in a pmap struct, and the user either sees a panic, or an application failure. While here, I've also shrunk MAXCPU to 8 now that it affects the size of pmap structs on UP systesm. This should be plenty, as I'm unware of any hardware we currently run in which supports more than 8 CPUs. Notes: svn path=/head/; revision=112809
* Initiate deorbit burn for the i386-only a.out related support. Moves arePeter Wemm2002-09-171-7/+0
| | | | | | | | | | | | | | | | | | under way to move the remnants of the a.out toolchain to ports. As the comment in src/Makefile said, this stuff is deprecated and one should not expect this to remain beyond 4.0-REL. It has already lasted WAY beyond that. Notable exceptions: gcc - I have not touched the a.out generation stuff there. ldd/ldconfig - still have some code to interface with a.out rtld. old as/ld/etc - I have not removed these yet, pending their move to ports. some includes - necessary for ldd/ldconfig for now. Tested on: i386 (extensively), alpha Notes: svn path=/head/; revision=103436
* Move MI stuff out of MD param.h files.Poul-Henning Kamp2002-05-141-38/+0
| | | | | | | It can all still be overridden in the MD files should need suddenly arise. Notes: svn path=/head/; revision=96606
* Remove the unused definitions of ctod() and dotc().Poul-Henning Kamp2002-05-141-4/+0
| | | | Notes: svn path=/head/; revision=96604
* Whitespace fixes.John Baldwin2001-09-121-3/+3
| | | | Notes: svn path=/head/; revision=83379
* KSE Milestone 2Julian Elischer2001-09-121-2/+4
| | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=83366
* Follow Bruce's suggestions. They're probably wrong, but better than before.Matt Jacob2001-07-041-3/+10
| | | | Notes: svn path=/head/; revision=79176
* Fix CMSG and ALIGN macro usage.Jeroen Ruigrok van der Werven2000-11-081-17/+37
| | | | | | | | | | | | | | | | | | | | | | Previously we had to include <machine/param.h> or <sys/param.h> bogusly due to the fact that <sys/socket.h> CMSG macros needed the ALIGN macro, which was defined in param.h. However, including param.h was a disaster for namespace pollution. This solution, as contributed by shin a while ago, fixes it elegantly by wrapping the definitions around some namespace pollution preventer definitions. This patch was long overdue. This should allow any network programmer to use <sys/socket.h> as before. PR: 19971, 20530 Submitted by: Martin Kaeske <MartinKaeske@lausitz.net> Mark Andrews <Mark.Andrews@nominum.com> Patch submitted by: shin Reviewed by: bde Notes: svn path=/head/; revision=68498
* Implement write combining for crashdumps. This is useful whenPaul Saab2000-10-171-0/+1
| | | | | | | | | | | | | | | | | | | | | write caching is disabled on both SCSI and IDE disks where large memory dumps could take up to an hour to complete. Taking an i386 scsi based system with 512MB of ram and timing (in seconds) how long it took to complete a dump, the following results were obtained: Before: After: WCE TIME WCE TIME ------------------ ------------------ 1 141.820972 1 15.600111 0 797.265072 0 65.480465 Obtained from: Yahoo! Reviewed by: peter Notes: svn path=/head/; revision=67247
* Cleanup comment in machine/param.h regarding mbuf-related sizes, and get ridBosko Milekic2000-10-081-8/+6
| | | | | | | | of MCLOFSET, which does not appear to be used anywhere anymore, and if it is, it probably shouldn't be. Notes: svn path=/head/; revision=66802
* Move MAXCPU from machine/smp.h to machine/param.h to fix breakagePaul Saab2000-09-231-2/+2
| | | | | | | | with !SMP kernels. Also, replace NCPUS with MAXCPU since they are redundant. Notes: svn path=/head/; revision=66296
* Remove a few leftover CLBYTES related bits.Poul-Henning Kamp2000-09-161-7/+0
| | | | | | | | This was in the good old days to patch up a logical pagesize on hardware with stupid VM pagesize. Vaxen I belive. Notes: svn path=/head/; revision=65929
* Major update to the way synchronization is done in the kernel. HighlightsJason Evans2000-09-071-0/+4
| | | | | | | | | | | | | | | | | | include: * Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The alpha port is still in transition and currently uses both.) * Per-CPU idle processes. * Interrupts are run in their own separate kernel threads and can be preempted (i386 only). Partially contributed by: BSDi (BSD/OS) Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh Notes: svn path=/head/; revision=65557
* * Fix the memory probing code so that it sees all memory clusters, notDoug Rabson2000-02-291-4/+0
| | | | | | | | | | | | | | just the first one. * Don't reserve extra memory for the prom console unless the platform actually uses it. * Fix some historical confusion and a minor bug in the message buffer initialisation. Submitted by: gallatin for the prom console part Approved by: jkh Notes: svn path=/head/; revision=57612
* Zap some latent problems hidden by differences between KERNEL and _KERNEL.Peter Wemm1999-11-221-17/+0
| | | | | | | The KAME code intruduces _KERNEL, which exposes some of them. Notes: svn path=/head/; revision=53591
* bdbtofsb() appears to have been unused for quite some time, if ever.Peter Wemm1999-09-261-8/+0
| | | | | | | Appears to be a 4.4Lite relic. Notes: svn path=/head/; revision=51685
* Back out a portion of the last commit. DFLTPHYS and MAXPHYS cannotMatthew Dillon1999-09-221-5/+0
| | | | | | | | | | | | be set by a kernel conf option due to the struct buf structural dependancy (sizing of b_pages[]) creating a conflict with modules (which are not compiled with kernel config options overrides). We'll be able to sysctl these two later on when the buffer subsystem is revamped. Notes: svn path=/head/; revision=51532
* Change default block size for user VBLK device access from 2K to PAGE_SIZEMatthew Dillon1999-09-221-1/+8
| | | | | | | | | (4K on an i386, 8K on an alpha). Make BLKDEV_IOSIZE, DFLTPHYS, and MAXPHYS kernel-configurable. Notes: svn path=/head/; revision=51528
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50477
* alpha/include/param.h: #define NCPUS 1Dmitrij Tejblum1999-04-201-1/+3
| | | | | | | | | | alpha/include/lock.h: remove nop simplelock macros, which are defined in <sys/lock.h> if NCPUS == 1. As a result, NULL_SIMPLELOCK is defined, and a few warnings removed. Notes: svn path=/head/; revision=45886
* Don't define NMBCLUSTERS here.Hidetoshi Shimokawa1999-04-111-8/+1
| | | | | | | It will be defined as appropriate value depending on maxusers. Notes: svn path=/head/; revision=45589
* Don't define MACHINE, MACHINE_ARCH, _MACHINE or _MACHINE_ARCH ifWarner Losh1999-03-011-1/+9
| | | | | | | | | | | | already defined. This allows for cross building to work because we need to lie to make to tell it to use the target names rather than the host names. This should have no effect on either architecture. I've confirmed that the intel build by make buildworld's for the past 3 months. Notes: svn path=/head/; revision=44364
* Introduce machine-dependent macro pgtok() to convert page count to numberLuoqi Chen1999-02-191-1/+3
| | | | | | | | of kilobytes. Its definition for each architecture could be optimized to avoid potential numerical overflows. Notes: svn path=/head/; revision=44157
* Add a new library function getobjformat(). It checks all theJohn Polstra1998-09-091-1/+8
| | | | | | | | | | | | | | | | standard places ("/etc/objformat", ${OBJFORMAT}, argv) for an indication of the user's preferred object file format. This consolidates some code that was starting to be duplicated in more and more places. Use the new function in ldconfig. Note: I don't think that gcc should use getobjformat(), even though it could. The compiler should limit itself to functions that are widespread, to ease porting and cross-compilation. Notes: svn path=/head/; revision=38960
* Change load address to 0xfffffc0000300000 to help support AS200.Doug Rabson1998-07-301-2/+2
| | | | Notes: svn path=/head/; revision=37970
* Overhaul the spl system so that it actually works properly.Doug Rabson1998-07-121-3/+1
| | | | Notes: svn path=/head/; revision=37598
* Major changes to the generic device framework for FreeBSD/alpha:Doug Rabson1998-06-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. Notes: svn path=/head/; revision=36972
* Add initial support for the FreeBSD/alpha kernel. This is very much aDoug Rabson1998-06-101-26/+25
| | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=36849
* Updates to reflect differences in what NetBSD does and what FreeBSDJohn Birrell1998-03-091-1/+2
| | | | | | | userland expects. Notes: svn path=/head/; revision=34370
* These are a few of the alpha machine dependent header files - the firstJohn Birrell1998-01-101-0/+180
referenced by the build of user-space libraries. These files were obtained from NetBSD (with ansi.h being modified to reflect the FreeBSD off_t and pid_t implementation). Notes: svn path=/head/; revision=32387