static pixman_bool_t
have_feature (constchar *search_string)
{ #ifdefined (__linux__) /* linux ELF */ /* Simple detection of MIPS features at runtime for Linux. * It is based on /proc/cpuinfo, which reveals hardware configuration * to user-space applications. According to MIPS (early 2010), no similar * facility is universally available on the MIPS architectures, so it's up * to individual OSes to provide such.
*/ constchar *file_name = "/proc/cpuinfo"; char cpuinfo_line[256];
FILE *f = NULL;
if ((f = fopen (file_name, "r")) == NULL) returnFALSE;
#ifdefined (CI_HAS_ALL_MIPS_CPU_FEATURES) /* Used to force feature discovery in CI where /proc/cpuinfo is unreliable. * It can happen, e.g., if executed in qemu-user-static mode. * * For such a build, MIPS-specific features need to be manually disabled by * using `PIXMAN_DISABLE` env variable * * SHOULD NOT BE USED IN RELEASE BUILD!
*/ #warning"Building with disabled MIPS feature discovery. SHOULD NOT BE USED IN RELEASE BUILD!" returnTRUE; #endif
/* Did not find string in the proc file, or not Linux ELF. */ returnFALSE;
}
#endif
pixman_implementation_t *
_pixman_mips_get_implementations (pixman_implementation_t *imp)
{ #ifdef USE_LOONGSON_MMI /* I really don't know if some Loongson CPUs don't have MMI. */ if (!_pixman_disabled ("loongson-mmi") && have_feature ("Loongson"))
imp = _pixman_implementation_create_mmx (imp); #endif
#ifdef USE_MIPS_DSPR2 if (!_pixman_disabled ("mips-dspr2"))
{ int already_compiling_everything_for_dspr2 = 0; #ifdefined(__mips_dsp) && (__mips_dsp_rev >= 2)
already_compiling_everything_for_dspr2 = 1; #endif if (already_compiling_everything_for_dspr2 || /* Only currently available MIPS core that supports DSPr2 is 74K. */
have_feature ("MIPS 74K"))
{
imp = _pixman_implementation_create_mips_dspr2 (imp);
}
} #endif
return imp;
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.