newlib-cygwin/winsup/cygwin/include/cygwin
Corinna Vinschen 38fd7ddb79 Allow sysconf to return CPU cache information
* include/sys/unistd.h (_SC_LEVEL*): Add cache-related variables as
        on Linux.

        * fhandler_proc.cc (format_proc_cpuinfo): Fetch cache information
        from new cache functions in sysconf.cc, get_cpu_cache_intel and
        get_cpu_cache_amd.
        * sysconf.cc (__nt_query_system): New local helper.
        (get_nproc_values): Utilize __nt_query_system on pre-Windows 7 systems.
        Use GetLogicalProcessorInformationEx otherwise to handle more than
        64 CPUs.  Only handle _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN.
        (get_phys_pages): New helper to handle _SC_PHYS_PAGES.
        (cpuid2_cache_descriptor): New array to map Intel CPUID 2 descriptor
        values to cache type, cache size, associativity and linesize.
        (cpuid2_cache_desc_compar): Comparision function for bsearch over
        cpuid2_cache_descriptor.
        (get_cpu_cache_intel_cpuid2): New function to fetch cache info from
        Intel CPUID 2.
        (get_cpu_cache_intel_cpuid4): Ditto from Intel CPUID 4.
        (get_cpu_cache_intel): New function as CPU-specific entry point.
        (assoc): New array to map associativity values from AMD CPUID
        0x80000006.
        (get_cpu_cache_amd): New function to fetch cache info from AMD CPUIDs
        0x80000005 and 0x80000006.
        (get_cpu_cache): New function to fetch cache info.
        (sca): Call get_phys_pages if _SC_PHYS_PAGES is requested.  Call
        get_cpu_cache for new _SC_* cache requests.
        (SC_MAX): Set to _SC_LEVEL4_CACHE_LINESIZE.
        (get_phys_pages(void)): Call get_phys_pages(int).
        * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.

        * new-features.xml (ov-new2.3): Document sysconf cache addition.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-08-29 09:16:47 +02:00
..
acl.h Remove __acl16 from official header 2015-04-23 21:57:12 +02:00
config.h * include/cygwin/config.h (__TM_GMTOFF): Define. 2014-03-05 12:50:29 +00:00
core_dump.h headers: properly decorate attributes 2014-08-01 15:48:37 +00:00
cygwin_dll.h headers: properly decorate attributes 2014-08-01 15:48:37 +00:00
fs.h * fhandler.h (class fhandler_dev_raw): Add members devbufalloc and 2012-10-13 12:34:18 +00:00
grp.h * Merge in cygwin-64bit-branch. 2013-04-23 09:44:36 +00:00
hdreg.h
icmp.h
if.h * include/cygwin/if.h: Include cygwin/socket.h rather than sys/socket.h 2013-05-31 08:40:35 +00:00
in.h * include/cygwin/in.h (struct in_addr): Guard with s_addr to avoid 2012-10-10 08:36:33 +00:00
in6.h * include/cygwin/in6.h (struct ipv6_rt_hdr): Define. 2014-01-20 17:25:54 +00:00
in_systm.h
ipc.h * Merge in cygwin-64bit-branch. 2013-04-23 09:44:36 +00:00
kd.h
msg.h * Merge in cygwin-64bit-branch. 2013-04-23 09:44:36 +00:00
mtio.h * fhandler_tape.cc (mtinfo_drive::create_partitions): Allow partitioning 2013-08-21 20:28:12 +00:00
rdevio.h Throughout, update copyrights to reflect dates which correspond to main-branch 2013-01-21 04:38:31 +00:00
sem.h * Merge in cygwin-64bit-branch. 2013-04-23 09:44:36 +00:00
shm.h * Merge in cygwin-64bit-branch. 2013-04-23 09:44:36 +00:00
signal.h Lower Cygwin's MINSIGSTKSZ and SIGSTKSZ 2015-07-19 22:40:29 +02:00
socket.h * include/cygwin/socket.h (struct cmsghdr): Redefine cmsg_len as type 2015-01-08 13:12:50 +00:00
sockios.h
stat.h Throughout, keep function definitions and declarations in sync with 2013-11-25 11:38:08 +00:00
stdlib.h 2015-02-19 Jon TURNEY <jon.turney@dronecode.org.uk> 2015-02-20 12:13:59 +00:00
sysproto.h * Merge in cygwin-64bit-branch. 2013-04-23 09:44:36 +00:00
time.h * common.din (stime): Export. 2014-10-22 19:03:02 +00:00
types.h Drop local stdint.h and inttypes.h in favor of newlib files 2015-04-23 21:57:11 +02:00
utmp.h
version.h Allow sysconf to return CPU cache information 2015-08-29 09:16:47 +02:00
wait.h Throughout, update copyrights to reflect dates which correspond to main-branch 2013-01-21 04:38:31 +00:00