From 318b37d8b556add13b3f156f31c9e72eca339a16 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 17 Aug 2012 02:14:07 +0000 Subject: Implement real logging system, LV2 log extension support, and purge evil/ugly/untranslatable C++ stream printing. Remove coloured log stuff from Raul. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4717 a436a847-0d15-0410-975c-d299462d15a1 --- src/server/util.hpp | 39 ++++----------------------------------- 1 file changed, 4 insertions(+), 35 deletions(-) (limited to 'src/server/util.hpp') diff --git a/src/server/util.hpp b/src/server/util.hpp index 8f5a39ee..106d09de 100644 --- a/src/server/util.hpp +++ b/src/server/util.hpp @@ -19,7 +19,7 @@ #include -#include "raul/log.hpp" +#include "ingen/Log.hpp" #include "raul/Path.hpp" #include "ingen_config.h" @@ -35,48 +35,17 @@ # define REALTIME #endif -#ifdef USE_ASSEMBLY -# if SIZEOF_VOID_P==8 -# define cpuid(a, b, c, d, n) asm("xchgq %%rbx, %1; cpuid; xchgq %%rbx, %1": "=a" (a), "=r" (b), "=c" (c), "=d" (d) : "a" (n)); -# else -# define cpuid(a, b, c, d, n) asm("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1": "=a" (a), "=r" (b), "=c" (c), "=d" (d) : "a" (n)); -# endif -#endif - namespace Ingen { namespace Server { /** Set flags to disable denormal processing. */ inline void -set_denormal_flags() +set_denormal_flags(Ingen::Log& log) { -#ifdef USE_ASSEMBLY #ifdef __SSE__ - unsigned long a, b, c, d0, d1; - cpuid(a, b, c, d1, 1); - if (d1 & 1<<25) { /* It has SSE support */ - _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON); - const int family = (a >> 8) & 0xF; - const int extfamily = (a >> 20) & 0xFF; - const int model = (a >> 4) & 0xF; - const int stepping = a & 0xF; - cpuid(a, b, c, d0, 0); - if (b == 0x756e6547) { /* It's an Intel */ - if (family == 15 && extfamily == 0 && model == 0 && stepping < 7) { - return; - } - } - if (d1 & 1<<26) { /* bit 26, SSE2 support */ - _mm_setcsr(_mm_getcsr() | 0x8040); // set DAZ and FZ bits of MXCSR - Raul::info << "Set SSE denormal fix flag" << endl; - } - } else { - Raul::warn << "This code has been built with SSE support, but your processor does" - << " not support the SSE instruction set, exiting." << std::endl; - exit(EXIT_FAILURE); - } -#endif + _mm_setcsr(_mm_getcsr() | 0x8040); + log.info("Set SSE denormal-are-zero and flush-to-zero flags\n"); #endif } -- cgit v1.2.1