]> granicus.if.org Git - php/commitdiff
Added missed header file
authorXinchen Hui <laruence@gmail.com>
Tue, 16 Jan 2018 06:56:43 +0000 (14:56 +0800)
committerXinchen Hui <laruence@gmail.com>
Tue, 16 Jan 2018 06:56:43 +0000 (14:56 +0800)
Zend/zend_cpuinfo.h [new file with mode: 0644]

diff --git a/Zend/zend_cpuinfo.h b/Zend/zend_cpuinfo.h
new file mode 100644 (file)
index 0000000..e44938f
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+   +----------------------------------------------------------------------+
+   | Zend Engine                                                          |
+   +----------------------------------------------------------------------+
+   | Copyright (c) 2018-2018 Zend Technologies Ltd. (http://www.zend.com) |
+   +----------------------------------------------------------------------+
+   | This source file is subject to version 2.00 of the Zend license,     |
+   | that is bundled with this package in the file LICENSE, and is        |
+   | available through the world-wide-web at the following url:           |
+   | http://www.zend.com/license/2_00.txt.                                |
+   | If you did not receive a copy of the Zend license and are unable to  |
+   | obtain it through the world-wide-web, please send a note to          |
+   | license@zend.com so we can mail you a copy immediately.              |
+   +----------------------------------------------------------------------+
+   | Authors: Xinchen Hui <xinchen.h@zend.com>                            |
+   +----------------------------------------------------------------------+
+*/
+
+#ifndef ZEND_CPU_INFO_H
+#define ZEND_CPU_INFO_H
+
+#define ZEND_CPU_EDX_MASK     (1<<31)
+
+typedef enum _zend_cpu_feature {
+       /* ECX */
+       ZEND_CPU_FEATURE_SSE3                   = (1<<0),
+       ZEND_CPU_FEATURE_PCLMULQDQ              = (1<<1),
+       ZEND_CPU_FEATURE_DTES64                 = (1<<2),
+       ZEND_CPU_FEATURE_MONITOR                = (1<<3),
+       ZEND_CPU_FEATURE_DSCPL                  = (1<<4),
+       ZEND_CPU_FEATURE_VMX                    = (1<<5),
+       ZEND_CPU_FEATURE_SMX                    = (1<<6),
+       ZEND_CPU_FEATURE_EST                    = (1<<7),
+       ZEND_CPU_FEATURE_TM2                    = (1<<8),
+       ZEND_CPU_FEATURE_SSSE3                  = (1<<9),
+       ZEND_CPU_FEATURE_CID                    = (1<<10),
+       ZEND_CPU_FEATURE_SDBG                   = (1<<11),
+       ZEND_CPU_FEATURE_FMA                    = (1<<12),
+       ZEND_CPU_FEATURE_CX16                   = (1<<13),
+       ZEND_CPU_FEATURE_XTPR                   = (1<<14),
+       ZEND_CPU_FEATURE_PDCM                   = (1<<15),
+       /* reserved                                             = (1<<16),*/
+       ZEND_CPU_FEATURE_PCID                   = (1<<17),
+       ZEND_CPU_FEATURE_DCA                    = (1<<18),
+       ZEND_CPU_FEATURE_SSE41                  = (1<<19),
+       ZEND_CPU_FEATURE_SSE42                  = (1<<20),
+       ZEND_CPU_FEATURE_X2APIC                 = (1<<21),
+       ZEND_CPU_FEATURE_MOVBE                  = (1<<22),
+       ZEND_CPU_FEATURE_POPCNT                 = (1<<23),
+       ZEND_CPU_FEATURE_TSC_DEADLINE   = (1<<24),
+       ZEND_CPU_FEATURE_AES                    = (1<<25),
+       ZEND_CPU_FEATURE_XSAVE                  = (1<<26),
+       ZEND_CPU_FEATURE_OSXSAVE                = (1<<27) ,
+       ZEND_CPU_FEATURE_AVX                    = (1<<28),
+       ZEND_CPU_FEATURE_F16C                   = (1<<29),
+       ZEND_CPU_FEATURE_RDRAND                 = (1<<30),
+       /* intentionally don't support  = (1<<31) */
+
+       /* EDX */
+       ZEND_CPU_FEATURE_FPU                    = (1<<0 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_VME                    = (1<<1 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_DE                             = (1<<2 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_PSE                    = (1<<3 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_TSC                    = (1<<4 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_MSR                    = (1<<5 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_PAE                    = (1<<6 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_MCE                    = (1<<7 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_CX8                    = (1<<8 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_APIC                   = (1<<9 | ZEND_CPU_EDX_MASK),
+       /* reserved                                             = (1<<10 | ZEND_CPU_EDX_MASK),*/
+       ZEND_CPU_FEATURE_SEP                    = (1<<11 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_MTRR                   = (1<<12 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_PGE                    = (1<<13 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_MCA                    = (1<<14 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_CMOV                   = (1<<15 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_PAT                    = (1<<16 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_PSE36                  = (1<<17 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_PN                             = (1<<18 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_CLFLUSH                = (1<<19 | ZEND_CPU_EDX_MASK),
+       /* reserved                                             = (1<<20 | ZEND_CPU_EDX_MASK),*/
+       ZEND_CPU_FEATURE_DS                             = (1<<21 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_ACPI                   = (1<<22 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_MMX                    = (1<<23 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_FXSR                   = (1<<24 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_SSE                    = (1<<25 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_SSE2                   = (1<<26 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_SS                             = (1<<27 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_HT                             = (1<<28 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_TM                             = (1<<29 | ZEND_CPU_EDX_MASK),
+       ZEND_CPU_FEATURE_IA64                   = (1<<30 | ZEND_CPU_EDX_MASK)
+       /*intentionally don't support   = (1<<31 | ZEND_CPU_EDX_MASK)*/
+} zend_cpu_feature;
+
+ZEND_API int zend_cpu_supports(zend_cpu_feature feature);
+
+#endif
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * indent-tabs-mode: t
+ * End:
+ */