Add cache related sysconf queries
Several cache related queries are added, such as _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE and etc. For the moment, we always return 0 for these queries. Change-Id: I36f67af8128672d8c1eef49d6f2431cca5a94719
This commit is contained in:
parent
6bec3484ee
commit
1f40be97b1
@ -178,6 +178,24 @@ long sysconf(int name) {
|
||||
case _SC_XOPEN_STREAMS: return -1; // Obsolescent in POSIX.1-2008.
|
||||
case _SC_XOPEN_UUCP: return -1;
|
||||
|
||||
// We do not have actual implementations for cache queries.
|
||||
// It's valid to return 0 as the result is unknown.
|
||||
case _SC_LEVEL1_ICACHE_SIZE: return 0;
|
||||
case _SC_LEVEL1_ICACHE_ASSOC: return 0;
|
||||
case _SC_LEVEL1_ICACHE_LINESIZE: return 0;
|
||||
case _SC_LEVEL1_DCACHE_SIZE: return 0;
|
||||
case _SC_LEVEL1_DCACHE_ASSOC: return 0;
|
||||
case _SC_LEVEL1_DCACHE_LINESIZE: return 0;
|
||||
case _SC_LEVEL2_CACHE_SIZE: return 0;
|
||||
case _SC_LEVEL2_CACHE_ASSOC: return 0;
|
||||
case _SC_LEVEL2_CACHE_LINESIZE: return 0;
|
||||
case _SC_LEVEL3_CACHE_SIZE: return 0;
|
||||
case _SC_LEVEL3_CACHE_ASSOC: return 0;
|
||||
case _SC_LEVEL3_CACHE_LINESIZE: return 0;
|
||||
case _SC_LEVEL4_CACHE_SIZE: return 0;
|
||||
case _SC_LEVEL4_CACHE_ASSOC: return 0;
|
||||
case _SC_LEVEL4_CACHE_LINESIZE: return 0;
|
||||
|
||||
default:
|
||||
// Posix says EINVAL is the only error that shall be returned,
|
||||
// but glibc uses ENOSYS.
|
||||
|
@ -172,6 +172,22 @@ __BEGIN_DECLS
|
||||
#define _SC_XOPEN_STREAMS 0x008d
|
||||
#define _SC_XOPEN_UUCP 0x008e
|
||||
|
||||
#define _SC_LEVEL1_ICACHE_SIZE 0x008f
|
||||
#define _SC_LEVEL1_ICACHE_ASSOC 0x0090
|
||||
#define _SC_LEVEL1_ICACHE_LINESIZE 0x0091
|
||||
#define _SC_LEVEL1_DCACHE_SIZE 0x0092
|
||||
#define _SC_LEVEL1_DCACHE_ASSOC 0x0093
|
||||
#define _SC_LEVEL1_DCACHE_LINESIZE 0x0094
|
||||
#define _SC_LEVEL2_CACHE_SIZE 0x0095
|
||||
#define _SC_LEVEL2_CACHE_ASSOC 0x0096
|
||||
#define _SC_LEVEL2_CACHE_LINESIZE 0x0097
|
||||
#define _SC_LEVEL3_CACHE_SIZE 0x0098
|
||||
#define _SC_LEVEL3_CACHE_ASSOC 0x0099
|
||||
#define _SC_LEVEL3_CACHE_LINESIZE 0x009a
|
||||
#define _SC_LEVEL4_CACHE_SIZE 0x009b
|
||||
#define _SC_LEVEL4_CACHE_ASSOC 0x009c
|
||||
#define _SC_LEVEL4_CACHE_LINESIZE 0x009d
|
||||
|
||||
long sysconf(int);
|
||||
|
||||
__END_DECLS
|
||||
|
Loading…
x
Reference in New Issue
Block a user