aboutsummaryrefslogtreecommitdiff
path: root/sys/sun4v/include
Commit message (Collapse)AuthorAgeFilesLines
* Remove actual files supporting sun4v.Attilio Rao2011-05-1496-9928/+0
| | | | | | | Approved by: re Notes: svn path=/head/; revision=221870
* Move the ZERO_REGION_SIZE to a machine-dependent file, as on manyMatthew D Fleming2011-05-131-0/+2
| | | | | | | | | | | | | | | | | | | | | architectures (i386, for example) the virtual memory space may be constrained enough that 2MB is a large chunk. Use 64K for arches other than amd64 and ia64, with special handling for sparc64 due to differing hardware. Also commit the comment changes to kmem_init_zero_region() that I missed due to not saving the file. (Darn the unfamiliar development environment). Arch maintainers, please feel free to adjust ZERO_REGION_SIZE as you see fit. Requested by: alc MFC after: 1 week MFC with: r221853 Notes: svn path=/head/; revision=221855
* Correct spelling in comments.Marius Strobl2011-04-221-1/+1
| | | | | | | Submitted by: brucec Notes: svn path=/head/; revision=220949
* MF sparc64: r181701 (partial), r182020 (partial), r182730 (partial), r216628,Marius Strobl2011-04-221-31/+25
| | | | | | | | | | | | | | r216801 - cosmetic changes and style fixes - Trick GAS/GCC into compiling access to TICK/(S)TICK_COMPARE independently of the selected instruction set. Moreover, sun4v doesn't need the WAR for BlackBird CPUs. - Rename the "xor" parameter to "xorval" as the former is a reserved keyword in C++. Notes: svn path=/head/; revision=220948
* Remove the advertising clause from the UCB license according to theMarius Strobl2011-03-132-8/+0
| | | | | | | July 22, 1999 addendum. Notes: svn path=/head/; revision=219608
* Sync licenses and the corresponding RCS IDs with NetBSD, mainly switchingMarius Strobl2011-03-125-26/+30
| | | | | | | | | the licenses of Matthew R. Green and the TNF to 2-clause. Obtained from: NetBSD Notes: svn path=/head/; revision=219567
* Remove pmap fields that are either unused or not fully implemented.Alan Cox2011-02-171-2/+0
| | | | | | | Discussed with: kib Notes: svn path=/head/; revision=218773
* Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set().Jung-uk Kim2011-01-171-1/+4
| | | | | | | | | | | | Compile sys/dev/mem/memutil.c for all supported platforms and remove now unnecessary dev_mem_md_init(). Consistently define mem_range_softc from mem.c for all platforms. Add missing #include guards for machine/memdev.h and sys/memrange.h. Clean up some nearby style(9) nits. MFC after: 1 month Notes: svn path=/head/; revision=217515
* Move repeated MAXSLP definition from machine/vmparam.h to sys/vmmeter.h.Konstantin Belousov2011-01-091-11/+0
| | | | | | | | | | Update the outdated comments describing MAXSLP and the process selection algorithm for swap out. Comments wording and reviewed by: alc Notes: svn path=/head/; revision=217192
* Fix the value for DECIMAL_DIG on UltraSparcs. The previous value ofDavid Schultz2011-01-091-1/+1
| | | | | | | | 35 wasn't quite big enough to ensure correct rounding for very-close- to-halfway cases. Notes: svn path=/head/; revision=217182
* On mixed 32/64 bit architectures (mips, powerpc) use __LP64__ rather thanTijl Coosemans2011-01-081-2/+2
| | | | | | | | | | | | | | | | architecture macros (__mips_n64, __powerpc64__) when 64 bit types (and corresponding macros) are different from 32 bit. [1] Correct the type of INT64_MIN, INT64_MAX and UINT64_MAX. Define (U)INTMAX_C as an alias for (U)INT64_C matching the type definition for (u)intmax_t. Do this on all architectures for consistency. Suggested by: bde [1] Approved by: kib (mentor) Notes: svn path=/head/; revision=217147
* Fix types of some values in machine/_limits.h.Tijl Coosemans2011-01-081-9/+7
| | | | | | | | | | | | | | | | | | | | On some architectures UCHAR_MAX and USHRT_MAX had type unsigned int. However, lacking integer suffixes for types smaller than int, their type should correspond to that of an object of type unsigned char (or short) when used in an expression with objects of type int. In that case unsigned char (short) are promoted to int (i.e. signed) so the type of UCHAR_MAX and USHRT_MAX should also be int. Where MIN/MAX constants implicitly have the correct type the suffix has been removed. While here, correct some comments. Reviewed by: bde Approved by: kib (mentor) Notes: svn path=/head/; revision=217145
* Add AT_STACKPROT elf aux vector. Will be used to inform rtld about theKonstantin Belousov2011-01-071-1/+2
| | | | | | | initial stack protection set by the kernel image activator. Notes: svn path=/head/; revision=217097
* Revert r216134. This checkin broke platforms where bus_space are macros:Rebecca Cran2010-12-031-59/+56
| | | | | | | | they need to be a single statement, and do { } while (0) doesn't work in this situation so revert until a solution can be devised. Notes: svn path=/head/; revision=216143
* Disallow passing in a count of zero bytes to the bus_space(9) functions.Rebecca Cran2010-12-021-56/+59
| | | | | | | | | | | | Passing a count of zero on i386 and amd64 for [I386|AMD64]_BUS_SPACE_MEM causes a crash/hang since the 'loop' instruction decrements the counter before checking if it's zero. PR: kern/80980 Discussed with: jhb Notes: svn path=/head/; revision=216134
* Fix a few more places to use cpumask_t rather than 'u_int'. These areJohn Baldwin2010-11-112-9/+8
| | | | | | | just cosmetic. Notes: svn path=/head/; revision=215128
* - Remove <machine/mutex.h>. Most of the headers were empty, and theJohn Baldwin2010-11-091-32/+0
| | | | | | | | | | | | | | | contents of the ones that were not empty were stale and unused. - Now that <machine/mutex.h> no longer exists, there is no need to allow it to override various helper macros in <sys/mutex.h>. - Rename various helper macros for low-level operations on mutexes to live in the _mtx_* or __mtx_* namespaces. While here, change the names to more closely match the real API functions they are backing. - Drop support for including <sys/mutex.h> in assembly source files. Suggested by: bde (1, 2) Notes: svn path=/head/; revision=215054
* Just use the sparc64 version of this header rather than duplicating it.Marius Strobl2010-10-081-117/+2
| | | | Notes: svn path=/head/; revision=213575
* Refactor timer management code with priority to one-shot operation mode.Alexander Motin2010-09-132-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main goal of this is to generate timer interrupts only when there is some work to do. When CPU is busy interrupts are generating at full rate of hz + stathz to fullfill scheduler and timekeeping requirements. But when CPU is idle, only minimum set of interrupts (down to 8 interrupts per second per CPU now), needed to handle scheduled callouts is executed. This allows significantly increase idle CPU sleep time, increasing effect of static power-saving technologies. Also it should reduce host CPU load on virtualized systems, when guest system is idle. There is set of tunables, also available as writable sysctls, allowing to control wanted event timer subsystem behavior: kern.eventtimer.timer - allows to choose event timer hardware to use. On x86 there is up to 4 different kinds of timers. Depending on whether chosen timer is per-CPU, behavior of other options slightly differs. kern.eventtimer.periodic - allows to choose periodic and one-shot operation mode. In periodic mode, current timer hardware taken as the only source of time for time events. This mode is quite alike to previous kernel behavior. One-shot mode instead uses currently selected time counter hardware to schedule all needed events one by one and program timer to generate interrupt exactly in specified time. Default value depends of chosen timer capabilities, but one-shot mode is preferred, until other is forced by user or hardware. kern.eventtimer.singlemul - in periodic mode specifies how much times higher timer frequency should be, to not strictly alias hardclock() and statclock() events. Default values are 2 and 4, but could be reduced to 1 if extra interrupts are unwanted. kern.eventtimer.idletick - makes each CPU to receive every timer interrupt independently of whether they busy or not. By default this options is disabled. If chosen timer is per-CPU and runs in periodic mode, this option has no effect - all interrupts are generating. As soon as this patch modifies cpu_idle() on some platforms, I have also refactored one on x86. Now it makes use of MONITOR/MWAIT instrunctions (if supported) under high sleep/wakeup rate, as fast alternative to other methods. It allows SMP scheduler to wake up sleeping CPUs much faster without using IPI, significantly increasing performance on some highly task-switching loads. Tested by: many (on i386, amd64, sparc64 and powerc) H/W donated by: Gheorghe Ardelean Sponsored by: iXsystems, Inc. Notes: svn path=/head/; revision=212541
* Supply some useful information to the started image using ELF aux vectors.Konstantin Belousov2010-08-171-1/+7
| | | | | | | | | | | In particular, provide pagesize and pagesizes array, the canary value for SSP use, number of host CPUs and osreldate. Tested by: marius (sparc64) MFC after: 1 month Notes: svn path=/head/; revision=211412
* Update various places that store or manipulate CPU masks to use cpumask_tJohn Baldwin2010-08-111-2/+2
| | | | | | | | instead of int or u_int. Since cpumask_t is currently u_int on all platforms this should just be a cosmetic change. Notes: svn path=/head/; revision=211197
* Add a new ipi_cpu() function to the MI IPI API that can be used to send anJohn Baldwin2010-08-061-1/+2
| | | | | | | | | | | | | | | IPI to a specific CPU by its cpuid. Replace calls to ipi_selected() that constructed a mask for a single CPU with calls to ipi_cpu() instead. This will matter more in the future when we transition from cpumask_t to cpuset_t for CPU masks in which case building a CPU mask is more expensive. Submitted by: peter, sbruno Reviewed by: rookie Obtained from: Yahoo! (x86) MFC after: 1 month Notes: svn path=/head/; revision=210939
* Adapt sparc64 and sun4v timer code for the new event timers infrastructure.Alexander Motin2010-07-295-4/+7
| | | | | | | Reviewed by: marius@ Notes: svn path=/head/; revision=210601
* Very rough first cut at NUMA support for the physical page allocator. ForJohn Baldwin2010-07-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | now it uses a very dumb first-touch allocation policy. This will change in the future. - Each architecture indicates the maximum number of supported memory domains via a new VM_NDOMAIN parameter in <machine/vmparam.h>. - Each cpu now has a PCPU_GET(domain) member to indicate the memory domain a CPU belongs to. Domain values are dense and numbered from 0. - When a platform supports multiple domains, the default freelist (VM_FREELIST_DEFAULT) is split up into N freelists, one for each domain. The MD code is required to populate an array of mem_affinity structures. Each entry in the array defines a range of memory (start and end) and a domain for the range. Multiple entries may be present for a single domain. The list is terminated by an entry where all fields are zero. This array of structures is used to split up phys_avail[] regions that fall in VM_FREELIST_DEFAULT into per-domain freelists. - Each memory domain has a separate lookup-array of freelists that is used when fulfulling a physical memory allocation. Right now the per-domain freelists are listed in a round-robin order for each domain. In the future a table such as the ACPI SLIT table may be used to order the per-domain lookup lists based on the penalty for each memory domain relative to a specific domain. The lookup lists may be examined via a new vm.phys.lookup_lists sysctl. - The first-touch policy is implemented by using PCPU_GET(domain) to pick a lookup list when allocating memory. Reviewed by: alc Notes: svn path=/head/; revision=210550
* KTR_CTx are long time aliased by existing classes so they can't serveAttilio Rao2010-07-211-1/+1
| | | | | | | | | | | their purpose anymore. Axe them out. Sponsored by: Sandvine Incorporated Discussed with: jhb, emaste Possible MFC: TBD Notes: svn path=/head/; revision=210334
* Allocate proper ammount of memory for interrupt names on sparc64 andAlexander Motin2010-07-161-1/+0
| | | | | | | | | | sun4v, same as done on other architectures. This removes garbage from `vmstat -ia` output. Reviewed by: marius@ Notes: svn path=/head/; revision=210176
* Reorganize syscall entry and leave handling.Konstantin Belousov2010-05-231-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend struct sysvec with three new elements: sv_fetch_syscall_args - the method to fetch syscall arguments from usermode into struct syscall_args. The structure is machine-depended (this might be reconsidered after all architectures are converted). sv_set_syscall_retval - the method to set a return value for usermode from the syscall. It is a generalization of cpu_set_syscall_retval(9) to allow ABIs to override the way to set a return value. sv_syscallnames - the table of syscall names. Use sv_set_syscall_retval in kern_sigsuspend() instead of hardcoding the call to cpu_set_syscall_retval(). The new functions syscallenter(9) and syscallret(9) are provided that use sv_*syscall* pointers and contain the common repeated code from the syscall() implementations for the architecture-specific syscall trap handlers. Syscallenter() fetches arguments, calls syscall implementation from ABI sysent table, and set up return frame. The end of syscall bookkeeping is done by syscallret(). Take advantage of single place for MI syscall handling code and implement ptrace_lwpinfo pl_flags PL_FLAG_SCE, PL_FLAG_SCX and PL_FLAG_EXEC. The SCE and SCX flags notify the debugger that the thread is stopped at syscall entry or return point respectively. The EXEC flag augments SCX and notifies debugger that the process address space was changed by one of exec(2)-family syscalls. The i386, amd64, sparc64, sun4v, powerpc and ia64 syscall()s are changed to use syscallenter()/syscallret(). MIPS and arm are not converted and use the mostly unchanged syscall() implementation. Reviewed by: jhb, marcel, marius, nwhitehorn, stas Tested by: marcel (ia64), marius (sparc64), nwhitehorn (powerpc), stas (mips) MFC after: 1 month Notes: svn path=/head/; revision=208453
* On Alan's advice, rather than do a wholesale conversion on a singleKip Macy2010-04-301-0/+2
| | | | | | | | | | | | | | | architecture from page queue lock to a hashed array of page locks (based on a patch by Jeff Roberson), I've implemented page lock support in the MI code and have only moved vm_page's hold_count out from under page queue mutex to page lock. This changes pmap_extract_and_hold on all pmaps. Supported by: Bitgravity Inc. Discussed with: alc, jeffr, and kib Notes: svn path=/head/; revision=207410
* Style: use #define<TAB> instead of #define<SPACE>.Konstantin Belousov2010-04-271-1/+1
| | | | | | | | Noted by: bde, pluknet gmail com MFC after: 11 days Notes: svn path=/head/; revision=207269
* Add OF_getscsinitid(), a helper similar to OF_getetheraddr() but forMarius Strobl2010-04-261-0/+1
| | | | | | | | obtaining the initiator ID to be used for SPI controllers from the Open Firmware device tree. Notes: svn path=/head/; revision=207243
* Move the constants specifying the size of struct kinfo_proc intoKonstantin Belousov2010-04-241-0/+2
| | | | | | | | | | | | | machine-specific header files. Add KINFO_PROC32_SIZE for struct kinfo_proc32 for architectures providing COMPAT_FREEBSD32. Add CTASSERT for the size of struct kinfo_proc32. Submitted by: pluknet Reviewed by: imp, jhb, nwhitehorn MFC after: 2 weeks Notes: svn path=/head/; revision=207152
* The NetBSD Foundation has granted permission to remove clause 3 and 4 fromJoel Dahl2010-03-031-7/+0
| | | | | | | | | the software. Obtained from: NetBSD Notes: svn path=/head/; revision=204646
* - Assert that HEAPSZ is a multiple of PAGE_SIZE as at least the firmwareMarius Strobl2010-02-134-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of Sun Fire V1280 doesn't round up the size itself but instead lets claiming of non page-sized amounts of memory fail. - Change parameters and variables related to the TLB slots to unsigned which is more appropriate. - Search the whole OFW device tree instead of only the children of the root nexus device for the BSP as starting with UltraSPARC IV the 'cpu' nodes hang off of from 'cmp' (chip multi-threading processor) or 'core' or combinations thereof. Also in large UltraSPARC III based machines the 'cpu' nodes hang off of 'ssm' (scalable shared memory) nodes which group snooping-coherency domains together instead of directly from the nexus. - Add support for UltraSPARC IV and IV+ BSPs. Due to the fact that these are multi-core each CPU has two Fireplane config registers and thus the module/target ID has to be determined differently so the one specific to a certain core is used. Similarly, starting with UltraSPARC IV the individual cores use a different property in the OFW device tree to indicate the CPU/core ID as it no longer is in coincidence with the shared slot/socket ID. While at it additionally distinguish between CPUs with Fireplane and JBus interconnects as these also use slightly different sizes for the JBus/agent/module/target IDs. - Check the return value of init_heap(). This requires moving it after cons_probe() so we can panic when appropriate. This should be fine as the PowerPC OFW loader uses that order for quite some time now. Notes: svn path=/head/; revision=203829
* Merge r178860 from sparc64:Marius Strobl2010-02-011-81/+90
| | | | | | | | | | | - Remove the BUS_HANDLE_MIN checking in the __BUS_DEBUG_ACCESS macro; for UPA it should have fulfilled its purpose by now and Fireplane- and JBus-based machines are way to messy in organization to implement something equivalent. - Fix a bunch of style(9) bugs. Notes: svn path=/head/; revision=203341
* Merge r177565 from sparc64:Marius Strobl2010-02-011-2/+2
| | | | | | | | | - Const'ify the bus_stream_asi and bus_type_asi arrays. - Replace hard-coded functions names missed in bus_machdep.c with __func__. - Break some long lines. Notes: svn path=/head/; revision=203335
* Merge r157224 from sparc64:Marius Strobl2010-02-011-4/+4
| | | | | | | | Sync with the other archs and declare the memory location referenced by the address argument of the bus_space_write_multi_*() familiy as const. Notes: svn path=/head/; revision=203334
* Change the load base to below 2GB so PIE binaries work including whenMarius Strobl2009-10-181-1/+1
| | | | | | | | | | | | compiled to use the Medium/Low code model, which we currently default to for the userland. GNU/Linux has moved their default to Medium/Middle some time ago, which probably explains why the current GNU ld(1) uses a base in the range between 32 and 44 bits instead. Submitted by: kib Notes: svn path=/head/; revision=198203
* Define architectural load bases for PIE binaries. Addresses were selectedKonstantin Belousov2009-10-101-0/+2
| | | | | | | | | | | | | by looking at the bases used for non-relocatable executables by gnu ld(1), and adjusting it slightly. Discussed with: bz Reviewed by: kan Tested by: bz (i386, amd64), bsam (linux) MFC after: some time Notes: svn path=/head/; revision=197933
* Add a new sysctl for reporting all of the supported page sizes.Alan Cox2009-09-181-0/+2
| | | | | | | | Reviewed by: jhb MFC after: 3 weeks Notes: svn path=/head/; revision=197316
* Get rid of the _NO_NAMESPACE_POLLUTION kludge by creating anPoul-Henning Kamp2009-09-082-20/+49
| | | | | | | | architecture specific include file containing the _ALIGN* stuff which <sys/socket.h> needs. Notes: svn path=/head/; revision=196994
* * Completely Remove the option STOP_NMI from the kernel. This optionAttilio Rao2009-08-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | has proven to have a good effect when entering KDB by using a NMI, but it completely violates all the good rules about interrupts disabled while holding a spinlock in other occasions. This can be the cause of deadlocks on events where a normal IPI_STOP is expected. * Adds an new IPI called IPI_STOP_HARD on all the supported architectures. This IPI is responsible for sending a stop message among CPUs using a privileged channel when disponible. In other cases it just does match a normal IPI_STOP. Right now the IPI_STOP_HARD functionality uses a NMI on ia32 and amd64 architectures, while on the other has a normal IPI_STOP effect. It is responsibility of maintainers to eventually implement an hard stop when necessary and possible. * Use the new IPI facility in order to implement a new userend SMP kernel function called stop_cpus_hard(). That is specular to stop_cpu() but it does use the privileged channel for the stopping facility. * Let KDB use the newly introduced function stop_cpus_hard() and leave stop_cpus() for all the other cases * Disable interrupts on CPU0 when starting the process of APs suspension. * Style cleanup and comments adding This patch should fix the reboot/shutdown deadlocks many users are constantly reporting on mailing lists. Please don't forget to update your config file with the STOP_NMI option removal Reviewed by: jhb Tested by: pho, bz, rink Approved by: re (kib) Notes: svn path=/head/; revision=196196
* Add support to the virtual memory system for configuring machine-Alan Cox2009-07-122-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dependent memory attributes: Rename vm_cache_mode_t to vm_memattr_t. The new name reflects the fact that there are machine-dependent memory attributes that have nothing to do with controlling the cache's behavior. Introduce vm_object_set_memattr() for setting the default memory attributes that will be given to an object's pages. Introduce and use pmap_page_{get,set}_memattr() for getting and setting a page's machine-dependent memory attributes. Add full support for these functions on amd64 and i386 and stubs for them on the other architectures. The function pmap_page_set_memattr() is also responsible for any other machine-dependent aspects of changing a page's memory attributes, such as flushing the cache or updating the direct map. The uses include kmem_alloc_contig(), vm_page_alloc(), and the device pager: kmem_alloc_contig() can now be used to allocate kernel memory with non-default memory attributes on amd64 and i386. vm_page_alloc() and the device pager will set the memory attributes for the real or fictitious page according to the object's default memory attributes. Update the various pmap functions on amd64 and i386 that map pages to incorporate each page's memory attributes in the mapping. Notes: (1) Inherent to this design are safety features that prevent the specification of inconsistent memory attributes by different mappings on amd64 and i386. In addition, the device pager provides a warning when a device driver creates a fictitious page with memory attributes that are inconsistent with the real page that the fictitious page is an alias for. (2) Storing the machine-dependent memory attributes for amd64 and i386 as a dedicated "int" in "struct md_page" represents a compromise between space efficiency and the ease of MFCing these changes to RELENG_7. In collaboration with: jhb Approved by: re (kib) Notes: svn path=/head/; revision=195649
* Cleanup ALIGNED_POINTER:Sam Leffler2009-07-051-0/+7
| | | | | | | | | | | | | | o add to platforms where it was missing (arm, i386, powerpc, sparc64, sun4v) o define as "1" on amd64 and i386 where there is no restriction o make the type returned consistent with ALIGN o remove _ALIGNED_POINTER o make associated comments consistent Reviewed by: bde, imp, marcel Approved by: re (kensmith) Notes: svn path=/head/; revision=195376
* Correct the #endif comment.Alan Cox2009-06-261-1/+1
| | | | | | | | Noticed by: jmallett Approved by: re (kib) Notes: svn path=/head/; revision=195060
* This change is the next step in implementing the cache control functionalityAlan Cox2009-06-261-0/+35
| | | | | | | | | | | | | | required by video card drivers. Specifically, this change introduces vm_cache_mode_t with an appropriate VM_CACHE_DEFAULT definition on all architectures. In addition, this changes adds a vm_cache_mode_t parameter to kmem_alloc_contig() and vm_phys_alloc_contig(). These will be the interfaces for allocating mapped kernel memory and physical memory, respectively, with non-default cache modes. In collaboration with: jhb Notes: svn path=/head/; revision=195033
* Implement a facility for dynamic per-cpu variables.Jeff Roberson2009-06-231-0/+2
| | | | | | | | | | | | | | | | | | - Modules and kernel code alike may use DPCPU_DEFINE(), DPCPU_GET(), DPCPU_SET(), etc. akin to the statically defined PCPU_*. Requires only one extra instruction more than PCPU_* and is virtually the same as __thread for builtin and much faster for shared objects. DPCPU variables can be initialized when defined. - Modules are supported by relocating the module's per-cpu linker set over space reserved in the kernel. Modules may fail to load if there is insufficient space available. - Track space available for modules with a one-off extent allocator. Free may block for memory to allocate space for an extent. Reviewed by: jhb, rwatson, kan, sam, grehan, marius, marcel, stas Notes: svn path=/head/; revision=194784
* Adjust the padding of struct pcpu to r193219.Marius Strobl2009-06-031-2/+2
| | | | | | | Submitted by: Eygene Ryabinkin Notes: svn path=/head/; revision=193392
* Don't conditionally define CACHE_LINE_SHIFT, as we anticipate sizingRobert Watson2009-04-201-3/+1
| | | | | | | | | | | | | | | a fair number of static data structures, making this an unlikely option to try to change without also changing source code. [1] Change default cache line size on ia64, sparc64, and sun4v to 128 bytes, as this was what rtld-elf was already using on those platforms. [2] Suggested by: bde [1], jhb [2] MFC after: 2 weeks Notes: svn path=/head/; revision=191309
* Add description and cautionary note regarding CACHE_LINE_SIZE.Robert Watson2009-04-191-0/+4
| | | | | | | | MFC after: 2 weeks Suggested by: alc Notes: svn path=/head/; revision=191278
* For each architecture, define CACHE_LINE_SHIFT and a derivedRobert Watson2009-04-191-0/+5
| | | | | | | | | | | | | | | | CACHE_LINE_SIZE constant. These constants are intended to over-estimate the cache line size, and be used at compile-time when a run-time tuning alternative isn't appropriate or available. Defaults for all architectures are 64 bytes, except powerpc where it is 128 bytes (used on G5 systems). MFC after: 2 weeks Discussed on: arch@ Notes: svn path=/head/; revision=191276