]> git.wh0rd.org - ICEs.git/blobdiff - 434908/op_helper.i
more
[ICEs.git] / 434908 / op_helper.i
diff --git a/434908/op_helper.i b/434908/op_helper.i
new file mode 100644 (file)
index 0000000..1314a39
--- /dev/null
@@ -0,0 +1,30286 @@
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+# 20 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+# 1 "/usr/include/math.h" 1 3 4
+# 28 "/usr/include/math.h" 3 4
+# 1 "/usr/include/features.h" 1 3 4
+# 358 "/usr/include/features.h" 3 4
+# 1 "/usr/include/sys/cdefs.h" 1 3 4
+# 378 "/usr/include/sys/cdefs.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 379 "/usr/include/sys/cdefs.h" 2 3 4
+# 359 "/usr/include/features.h" 2 3 4
+# 382 "/usr/include/features.h" 3 4
+# 1 "/usr/include/gnu/stubs.h" 1 3 4
+
+
+
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 5 "/usr/include/gnu/stubs.h" 2 3 4
+
+
+# 1 "/usr/include/gnu/stubs-32.h" 1 3 4
+# 8 "/usr/include/gnu/stubs.h" 2 3 4
+# 383 "/usr/include/features.h" 2 3 4
+# 29 "/usr/include/math.h" 2 3 4
+
+
+
+
+
+# 1 "/usr/include/bits/huge_val.h" 1 3 4
+# 35 "/usr/include/math.h" 2 3 4
+
+# 1 "/usr/include/bits/huge_valf.h" 1 3 4
+# 37 "/usr/include/math.h" 2 3 4
+# 1 "/usr/include/bits/huge_vall.h" 1 3 4
+# 38 "/usr/include/math.h" 2 3 4
+
+
+# 1 "/usr/include/bits/inf.h" 1 3 4
+# 41 "/usr/include/math.h" 2 3 4
+
+
+# 1 "/usr/include/bits/nan.h" 1 3 4
+# 44 "/usr/include/math.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/mathdef.h" 1 3 4
+# 36 "/usr/include/bits/mathdef.h" 3 4
+typedef long double float_t;
+
+typedef long double double_t;
+# 48 "/usr/include/math.h" 2 3 4
+# 71 "/usr/include/math.h" 3 4
+# 1 "/usr/include/bits/mathcalls.h" 1 3 4
+# 53 "/usr/include/bits/mathcalls.h" 3 4
+
+
+extern double acos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __acos (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern double asin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __asin (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern double atan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atan (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern double atan2 (double __y, double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atan2 (double __y, double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double cos (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cos (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern double sin (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sin (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern double tan (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __tan (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern double cosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cosh (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern double sinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sinh (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern double tanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __tanh (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern void sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void __sincos (double __x, double *__sinx, double *__cosx) __attribute__ ((__nothrow__ , __leaf__))
+                                                           ;
+
+
+
+
+
+extern double acosh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __acosh (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern double asinh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __asinh (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern double atanh (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __atanh (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern double exp (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double frexp (double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double __frexp (double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double ldexp (double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern double __ldexp (double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double log (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double log10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log10 (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double modf (double __x, double *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern double __modf (double __x, double *__iptr) __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__nonnull__ (2)));
+
+
+
+
+extern double exp10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp10 (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern double pow10 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __pow10 (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern double expm1 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __expm1 (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double log1p (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log1p (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double logb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __logb (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern double exp2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __exp2 (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double log2 (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __log2 (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern double pow (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __pow (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double sqrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __sqrt (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern double hypot (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __hypot (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern double cbrt (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __cbrt (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern double ceil (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __ceil (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern double fabs (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern double floor (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __floor (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern double fmod (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __fmod (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int __isinf (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern int __finite (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int isinf (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern int finite (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern double drem (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __drem (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern double significand (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __significand (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern double copysign (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+
+
+extern double nan (__const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __nan (__const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int __isnan (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+extern int isnan (double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern double j0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __j0 (double) __attribute__ ((__nothrow__ , __leaf__));
+extern double j1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __j1 (double) __attribute__ ((__nothrow__ , __leaf__));
+extern double jn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double __jn (int, double) __attribute__ ((__nothrow__ , __leaf__));
+extern double y0 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __y0 (double) __attribute__ ((__nothrow__ , __leaf__));
+extern double y1 (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __y1 (double) __attribute__ ((__nothrow__ , __leaf__));
+extern double yn (int, double) __attribute__ ((__nothrow__ , __leaf__)); extern double __yn (int, double) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern double erf (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __erf (double) __attribute__ ((__nothrow__ , __leaf__));
+extern double erfc (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __erfc (double) __attribute__ ((__nothrow__ , __leaf__));
+extern double lgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __lgamma (double) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern double tgamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __tgamma (double) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern double gamma (double) __attribute__ ((__nothrow__ , __leaf__)); extern double __gamma (double) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern double lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern double __lgamma_r (double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern double rint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __rint (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double nextafter (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+extern double nexttoward (double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+extern double remainder (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __remainder (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern double scalbn (double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalbn (double __x, int __n) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int ilogb (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogb (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern double scalbln (double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalbln (double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern double nearbyint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern double __nearbyint (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern double round (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __round (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+extern double trunc (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+extern double remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern double __remquo (double __x, double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern long int lrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrint (double __x) __attribute__ ((__nothrow__ , __leaf__));
+extern long long int llrint (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrint (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern long int lround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lround (double __x) __attribute__ ((__nothrow__ , __leaf__));
+extern long long int llround (double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llround (double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern double fdim (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __fdim (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double fmax (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __fmax (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double fmin (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__)); extern double __fmin (double __x, double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int __fpclassify (double __value) __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__const__));
+
+
+extern int __signbit (double __value) __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__const__));
+
+
+
+extern double fma (double __x, double __y, double __z) __attribute__ ((__nothrow__ , __leaf__)); extern double __fma (double __x, double __y, double __z) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern double scalb (double __x, double __n) __attribute__ ((__nothrow__ , __leaf__)); extern double __scalb (double __x, double __n) __attribute__ ((__nothrow__ , __leaf__));
+# 72 "/usr/include/math.h" 2 3 4
+# 94 "/usr/include/math.h" 3 4
+# 1 "/usr/include/bits/mathcalls.h" 1 3 4
+# 53 "/usr/include/bits/mathcalls.h" 3 4
+
+
+extern float acosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __acosf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern float asinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __asinf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern float atanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atanf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern float atan2f (float __y, float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atan2f (float __y, float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float cosf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __cosf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern float sinf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sinf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern float tanf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __tanf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern float coshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __coshf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern float sinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sinhf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern float tanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __tanhf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern void
+ sincosf
+# 82 "/usr/include/bits/mathcalls.h" 3 4
+ (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void
+ __sincosf
+# 82 "/usr/include/bits/mathcalls.h" 3 4
+ (float __x, float *__sinx, float *__cosx) __attribute__ ((__nothrow__ , __leaf__))
+                                                           ;
+
+
+
+
+
+extern float acoshf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __acoshf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern float asinhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __asinhf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern float atanhf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __atanhf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern float expf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __expf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float __frexpf (float __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern float __ldexpf (float __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float logf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __logf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float log10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log10f (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float modff (float __x, float *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern float __modff (float __x, float *__iptr) __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__nonnull__ (2)));
+
+
+
+
+extern float exp10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __exp10f (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern float pow10f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __pow10f (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern float expm1f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __expm1f (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float log1pf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log1pf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float logbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __logbf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern float exp2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __exp2f (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float log2f (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __log2f (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern float powf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __powf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float sqrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __sqrtf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern float hypotf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __hypotf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern float cbrtf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __cbrtf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern float ceilf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __ceilf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern float fabsf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern float floorf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __floorf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern float fmodf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __fmodf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int __isinff (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern int __finitef (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int isinff (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern int finitef (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern float dremf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __dremf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern float significandf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __significandf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern float copysignf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+
+
+extern float nanf (__const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int __isnanf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+extern int isnanf (float __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern float j0f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __j0f (float) __attribute__ ((__nothrow__ , __leaf__));
+extern float j1f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __j1f (float) __attribute__ ((__nothrow__ , __leaf__));
+extern float jnf (int, float) __attribute__ ((__nothrow__ , __leaf__)); extern float __jnf (int, float) __attribute__ ((__nothrow__ , __leaf__));
+extern float y0f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __y0f (float) __attribute__ ((__nothrow__ , __leaf__));
+extern float y1f (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __y1f (float) __attribute__ ((__nothrow__ , __leaf__));
+extern float ynf (int, float) __attribute__ ((__nothrow__ , __leaf__)); extern float __ynf (int, float) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern float erff (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __erff (float) __attribute__ ((__nothrow__ , __leaf__));
+extern float erfcf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __erfcf (float) __attribute__ ((__nothrow__ , __leaf__));
+extern float lgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __lgammaf (float) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern float tgammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __tgammaf (float) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern float gammaf (float) __attribute__ ((__nothrow__ , __leaf__)); extern float __gammaf (float) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern float lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern float __lgammaf_r (float, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern float rintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __rintf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float nextafterf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+extern float nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+extern float remainderf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __remainderf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern float scalbnf (float __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalbnf (float __x, int __n) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int ilogbf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern float scalblnf (float __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalblnf (float __x, long int __n) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern float nearbyintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern float __nearbyintf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern float roundf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __roundf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+extern float truncf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+extern float remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern float __remquof (float __x, float __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern long int lrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+extern long long int llrintf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern long int lroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+extern long long int llroundf (float __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundf (float __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern float fdimf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __fdimf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float fmaxf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __fmaxf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern float fminf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__)); extern float __fminf (float __x, float __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int __fpclassifyf (float __value) __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__const__));
+
+
+extern int __signbitf (float __value) __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__const__));
+
+
+
+extern float fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__ , __leaf__)); extern float __fmaf (float __x, float __y, float __z) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern float scalbf (float __x, float __n) __attribute__ ((__nothrow__ , __leaf__)); extern float __scalbf (float __x, float __n) __attribute__ ((__nothrow__ , __leaf__));
+# 95 "/usr/include/math.h" 2 3 4
+# 143 "/usr/include/math.h" 3 4
+# 1 "/usr/include/bits/mathcalls.h" 1 3 4
+# 53 "/usr/include/bits/mathcalls.h" 3 4
+
+
+extern long double acosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __acosl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern long double asinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __asinl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern long double atanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atanl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern long double atan2l (long double __y, long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atan2l (long double __y, long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double cosl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __cosl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern long double sinl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sinl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern long double tanl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tanl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern long double coshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __coshl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern long double sinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern long double tanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern void
+ sincosl
+# 82 "/usr/include/bits/mathcalls.h" 3 4
+ (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__ , __leaf__)); extern void
+ __sincosl
+# 82 "/usr/include/bits/mathcalls.h" 3 4
+ (long double __x, long double *__sinx, long double *__cosx) __attribute__ ((__nothrow__ , __leaf__))
+                                                           ;
+
+
+
+
+
+extern long double acoshl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __acoshl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern long double asinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __asinhl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern long double atanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __atanhl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern long double expl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __expl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double __frexpl (long double __x, int *__exponent) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__)); extern long double __ldexpl (long double __x, int __exponent) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double logl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __logl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double log10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log10l (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__ , __leaf__)); extern long double __modfl (long double __x, long double *__iptr) __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__nonnull__ (2)));
+
+
+
+
+extern long double exp10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __exp10l (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+extern long double pow10l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __pow10l (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern long double expm1l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __expm1l (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double log1pl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log1pl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double logbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __logbl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern long double exp2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __exp2l (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double log2l (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __log2l (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern long double powl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __powl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double sqrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __sqrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern long double hypotl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __hypotl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern long double cbrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __cbrtl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern long double ceill (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __ceill (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern long double fabsl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __fabsl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern long double floorl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __floorl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern long double fmodl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fmodl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int __isinfl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern int __finitel (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int isinfl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern int finitel (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern long double dreml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __dreml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern long double significandl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __significandl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern long double copysignl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+
+
+extern long double nanl (__const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __nanl (__const char *__tagb) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+
+extern int __isnanl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+extern int isnanl (long double __value) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern long double j0l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __j0l (long double) __attribute__ ((__nothrow__ , __leaf__));
+extern long double j1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __j1l (long double) __attribute__ ((__nothrow__ , __leaf__));
+extern long double jnl (int, long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __jnl (int, long double) __attribute__ ((__nothrow__ , __leaf__));
+extern long double y0l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __y0l (long double) __attribute__ ((__nothrow__ , __leaf__));
+extern long double y1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __y1l (long double) __attribute__ ((__nothrow__ , __leaf__));
+extern long double ynl (int, long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __ynl (int, long double) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern long double erfl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __erfl (long double) __attribute__ ((__nothrow__ , __leaf__));
+extern long double erfcl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __erfcl (long double) __attribute__ ((__nothrow__ , __leaf__));
+extern long double lgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __lgammal (long double) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern long double tgammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __tgammal (long double) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern long double gammal (long double) __attribute__ ((__nothrow__ , __leaf__)); extern long double __gammal (long double) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern long double lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__)); extern long double __lgammal_r (long double, int *__signgamp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern long double rintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __rintl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __nextafterl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+extern long double nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __nexttowardl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+extern long double remainderl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __remainderl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern long double scalbnl (long double __x, int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalbnl (long double __x, int __n) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int ilogbl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern int __ilogbl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern long double scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalblnl (long double __x, long int __n) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern long double nearbyintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long double __nearbyintl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern long double roundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __roundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+extern long double truncl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)); extern long double __truncl (long double __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+extern long double remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__)); extern long double __remquol (long double __x, long double __y, int *__quo) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern long int lrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+extern long long int llrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llrintl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern long int lroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long int __lroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+extern long long int llroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__)); extern long long int __llroundl (long double __x) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern long double fdiml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fdiml (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fmaxl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long double fminl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fminl (long double __x, long double __y) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int __fpclassifyl (long double __value) __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__const__));
+
+
+extern int __signbitl (long double __value) __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__const__));
+
+
+
+extern long double fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ , __leaf__)); extern long double __fmal (long double __x, long double __y, long double __z) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern long double scalbl (long double __x, long double __n) __attribute__ ((__nothrow__ , __leaf__)); extern long double __scalbl (long double __x, long double __n) __attribute__ ((__nothrow__ , __leaf__));
+# 144 "/usr/include/math.h" 2 3 4
+# 159 "/usr/include/math.h" 3 4
+extern int signgam;
+# 200 "/usr/include/math.h" 3 4
+enum
+  {
+    FP_NAN,
+
+    FP_INFINITE,
+
+    FP_ZERO,
+
+    FP_SUBNORMAL,
+
+    FP_NORMAL
+
+  };
+# 293 "/usr/include/math.h" 3 4
+typedef enum
+{
+  _IEEE_ = -1,
+  _SVID_,
+  _XOPEN_,
+  _POSIX_,
+  _ISOC_
+} _LIB_VERSION_TYPE;
+
+
+
+
+extern _LIB_VERSION_TYPE _LIB_VERSION;
+# 318 "/usr/include/math.h" 3 4
+struct exception
+
+  {
+    int type;
+    char *name;
+    double arg1;
+    double arg2;
+    double retval;
+  };
+
+
+
+
+extern int matherr (struct exception *__exc);
+# 418 "/usr/include/math.h" 3 4
+# 1 "/usr/include/bits/mathinline.h" 1 3 4
+# 127 "/usr/include/bits/mathinline.h" 3 4
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) __signbitf (float __x)
+{
+  __extension__ union { float __f; int __i; } __u = { __f: __x };
+  return __u.__i < 0;
+}
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) __signbit (double __x)
+{
+  __extension__ union { double __d; int __i[2]; } __u = { __d: __x };
+  return __u.__i[1] < 0;
+}
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) __signbitl (long double __x)
+{
+  __extension__ union { long double __l; int __i[3]; } __u = { __l: __x };
+  return (__u.__i[2] & 0x8000) != 0;
+}
+# 295 "/usr/include/bits/mathinline.h" 3 4
+extern __inline double __sgn (double) __attribute__ ((__nothrow__ , __leaf__)); extern __inline double __attribute__ ((__nothrow__ , __leaf__)) __sgn (double __x) { return __x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0); } extern __inline float __sgnf (float) __attribute__ ((__nothrow__ , __leaf__)); extern __inline float __attribute__ ((__nothrow__ , __leaf__)) __sgnf (float __x) { return __x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0); } extern __inline long double __sgnl (long double) __attribute__ ((__nothrow__ , __leaf__)); extern __inline long double __attribute__ ((__nothrow__ , __leaf__)) __sgnl (long double __x) { return __x == 0.0 ? 0.0 : (__x > 0.0 ? 1.0 : -1.0); }
+# 437 "/usr/include/bits/mathinline.h" 3 4
+extern __inline long double __attribute__ ((__nothrow__ , __leaf__)) __atan2l (long double __y, long double __x) { return __builtin_atan2l (__y, __x); }
+# 477 "/usr/include/bits/mathinline.h" 3 4
+extern __inline double __attribute__ ((__nothrow__ , __leaf__)) fabs (double __x) { return __builtin_fabs (__x); }
+
+extern __inline float __attribute__ ((__nothrow__ , __leaf__)) fabsf (float __x) { return __builtin_fabsf (__x); }
+extern __inline long double __attribute__ ((__nothrow__ , __leaf__)) fabsl (long double __x) { return __builtin_fabsl (__x); }
+
+extern __inline long double __attribute__ ((__nothrow__ , __leaf__)) __fabsl (long double __x) { return __builtin_fabsl (__x); }
+# 510 "/usr/include/bits/mathinline.h" 3 4
+extern __inline long double __sgn1l (long double) __attribute__ ((__nothrow__ , __leaf__)); extern __inline long double __attribute__ ((__nothrow__ , __leaf__)) __sgn1l (long double __x) { __extension__ union { long double __xld; unsigned int __xi[3]; } __n = { __xld: __x }; __n.__xi[2] = (__n.__xi[2] & 0x8000) | 0x3fff; __n.__xi[1] = 0x80000000; __n.__xi[0] = 0; return __n.__xld; }
+# 534 "/usr/include/bits/mathinline.h" 3 4
+extern __inline double __attribute__ ((__nothrow__ , __leaf__)) floor (double __x) { register long double __value; register int __ignore; unsigned short int __cw; unsigned short int __cwtmp; __asm __volatile ("fnstcw %3\n\t" "movzwl %3, %1\n\t" "andl $0xf3ff, %1\n\t" "orl $0x0400, %1\n\t" "movw %w1, %2\n\t" "fldcw %2\n\t" "frndint\n\t" "fldcw %3" : "=t" (__value), "=&q" (__ignore), "=m" (__cwtmp), "=m" (__cw) : "0" (__x)); return __value; } extern __inline float __attribute__ ((__nothrow__ , __leaf__)) floorf (float __x) { register long double __value; register int __ignore; unsigned short int __cw; unsigned short int __cwtmp; __asm __volatile ("fnstcw %3\n\t" "movzwl %3, %1\n\t" "andl $0xf3ff, %1\n\t" "orl $0x0400, %1\n\t" "movw %w1, %2\n\t" "fldcw %2\n\t" "frndint\n\t" "fldcw %3" : "=t" (__value), "=&q" (__ignore), "=m" (__cwtmp), "=m" (__cw) : "0" (__x)); return __value; } extern __inline long double __attribute__ ((__nothrow__ , __leaf__)) floorl (long double __x) { register long double __value; register int __ignore; unsigned short int __cw; unsigned short int __cwtmp; __asm __volatile ("fnstcw %3\n\t" "movzwl %3, %1\n\t" "andl $0xf3ff, %1\n\t" "orl $0x0400, %1\n\t" "movw %w1, %2\n\t" "fldcw %2\n\t" "frndint\n\t" "fldcw %3" : "=t" (__value), "=&q" (__ignore), "=m" (__cwtmp), "=m" (__cw) : "0" (__x)); return __value; }
+# 552 "/usr/include/bits/mathinline.h" 3 4
+extern __inline double __attribute__ ((__nothrow__ , __leaf__)) ceil (double __x) { register long double __value; register int __ignore; unsigned short int __cw; unsigned short int __cwtmp; __asm __volatile ("fnstcw %3\n\t" "movzwl %3, %1\n\t" "andl $0xf3ff, %1\n\t" "orl $0x0800, %1\n\t" "movw %w1, %2\n\t" "fldcw %2\n\t" "frndint\n\t" "fldcw %3" : "=t" (__value), "=&q" (__ignore), "=m" (__cwtmp), "=m" (__cw) : "0" (__x)); return __value; } extern __inline float __attribute__ ((__nothrow__ , __leaf__)) ceilf (float __x) { register long double __value; register int __ignore; unsigned short int __cw; unsigned short int __cwtmp; __asm __volatile ("fnstcw %3\n\t" "movzwl %3, %1\n\t" "andl $0xf3ff, %1\n\t" "orl $0x0800, %1\n\t" "movw %w1, %2\n\t" "fldcw %2\n\t" "frndint\n\t" "fldcw %3" : "=t" (__value), "=&q" (__ignore), "=m" (__cwtmp), "=m" (__cw) : "0" (__x)); return __value; } extern __inline long double __attribute__ ((__nothrow__ , __leaf__)) ceill (long double __x) { register long double __value; register int __ignore; unsigned short int __cw; unsigned short int __cwtmp; __asm __volatile ("fnstcw %3\n\t" "movzwl %3, %1\n\t" "andl $0xf3ff, %1\n\t" "orl $0x0800, %1\n\t" "movw %w1, %2\n\t" "fldcw %2\n\t" "frndint\n\t" "fldcw %3" : "=t" (__value), "=&q" (__ignore), "=m" (__cwtmp), "=m" (__cw) : "0" (__x)); return __value; }
+# 669 "/usr/include/bits/mathinline.h" 3 4
+extern __inline long int
+__attribute__ ((__nothrow__ , __leaf__)) lrintf (float __x)
+{
+  long int __lrintres; __asm__ __volatile__ ("fistpl %0" : "=m" (__lrintres) : "t" (__x) : "st"); return __lrintres;
+}
+extern __inline long int
+__attribute__ ((__nothrow__ , __leaf__)) lrint (double __x)
+{
+  long int __lrintres; __asm__ __volatile__ ("fistpl %0" : "=m" (__lrintres) : "t" (__x) : "st"); return __lrintres;
+}
+extern __inline long int
+__attribute__ ((__nothrow__ , __leaf__)) lrintl (long double __x)
+{
+  long int __lrintres; __asm__ __volatile__ ("fistpl %0" : "=m" (__lrintres) : "t" (__x) : "st"); return __lrintres;
+}
+# 692 "/usr/include/bits/mathinline.h" 3 4
+extern __inline long long int
+__attribute__ ((__nothrow__ , __leaf__)) llrintf (float __x)
+{
+  long long int __llrintres; __asm__ __volatile__ ("fistpll %0" : "=m" (__llrintres) : "t" (__x) : "st"); return __llrintres;
+}
+extern __inline long long int
+__attribute__ ((__nothrow__ , __leaf__)) llrint (double __x)
+{
+  long long int __llrintres; __asm__ __volatile__ ("fistpll %0" : "=m" (__llrintres) : "t" (__x) : "st"); return __llrintres;
+}
+extern __inline long long int
+__attribute__ ((__nothrow__ , __leaf__)) llrintl (long double __x)
+{
+  long long int __llrintres; __asm__ __volatile__ ("fistpll %0" : "=m" (__llrintres) : "t" (__x) : "st"); return __llrintres;
+}
+# 729 "/usr/include/bits/mathinline.h" 3 4
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) __finite (double __x)
+{
+  return (__extension__
+   (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1]
+      | 0x800fffffu) + 1) >> 31));
+}
+# 419 "/usr/include/math.h" 2 3 4
+# 480 "/usr/include/math.h" 3 4
+
+# 21 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 1
+# 22 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config.h" 1
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config-host.h" 1
+# 2 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config.h" 2
+# 1 "./config-target.h" 1
+# 2 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config.h" 2
+# 23 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 1
+
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/compiler.h" 1
+
+
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config-host.h" 1
+# 7 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/compiler.h" 2
+# 6 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config-host.h" 1
+# 7 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+
+
+
+
+
+
+
+typedef struct QEMUTimer QEMUTimer;
+typedef struct QEMUFile QEMUFile;
+typedef struct DeviceState DeviceState;
+
+struct Monitor;
+typedef struct Monitor Monitor;
+
+
+# 1 "/usr/include/stdlib.h" 1 3 4
+# 33 "/usr/include/stdlib.h" 3 4
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 212 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 3 4
+typedef unsigned int size_t;
+# 324 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 3 4
+typedef int wchar_t;
+# 34 "/usr/include/stdlib.h" 2 3 4
+
+
+
+
+
+
+
+
+# 1 "/usr/include/bits/waitflags.h" 1 3 4
+# 43 "/usr/include/stdlib.h" 2 3 4
+# 1 "/usr/include/bits/waitstatus.h" 1 3 4
+# 65 "/usr/include/bits/waitstatus.h" 3 4
+# 1 "/usr/include/endian.h" 1 3 4
+# 37 "/usr/include/endian.h" 3 4
+# 1 "/usr/include/bits/endian.h" 1 3 4
+# 38 "/usr/include/endian.h" 2 3 4
+# 61 "/usr/include/endian.h" 3 4
+# 1 "/usr/include/bits/byteswap.h" 1 3 4
+# 62 "/usr/include/endian.h" 2 3 4
+# 66 "/usr/include/bits/waitstatus.h" 2 3 4
+
+union wait
+  {
+    int w_status;
+    struct
+      {
+
+ unsigned int __w_termsig:7;
+ unsigned int __w_coredump:1;
+ unsigned int __w_retcode:8;
+ unsigned int:16;
+
+
+
+
+
+
+
+      } __wait_terminated;
+    struct
+      {
+
+ unsigned int __w_stopval:8;
+ unsigned int __w_stopsig:8;
+ unsigned int:16;
+
+
+
+
+
+
+      } __wait_stopped;
+  };
+# 44 "/usr/include/stdlib.h" 2 3 4
+# 68 "/usr/include/stdlib.h" 3 4
+typedef union
+  {
+    union wait *__uptr;
+    int *__iptr;
+  } __WAIT_STATUS __attribute__ ((__transparent_union__));
+# 96 "/usr/include/stdlib.h" 3 4
+
+
+typedef struct
+  {
+    int quot;
+    int rem;
+  } div_t;
+
+
+
+typedef struct
+  {
+    long int quot;
+    long int rem;
+  } ldiv_t;
+
+
+
+
+
+
+
+__extension__ typedef struct
+  {
+    long long int quot;
+    long long int rem;
+  } lldiv_t;
+
+
+# 140 "/usr/include/stdlib.h" 3 4
+extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern double atof (__const char *__nptr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern int atoi (__const char *__nptr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern long int atol (__const char *__nptr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+__extension__ extern long long int atoll (__const char *__nptr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern double strtod (__const char *__restrict __nptr,
+        char **__restrict __endptr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern float strtof (__const char *__restrict __nptr,
+       char **__restrict __endptr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern long double strtold (__const char *__restrict __nptr,
+       char **__restrict __endptr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern long int strtol (__const char *__restrict __nptr,
+   char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern unsigned long int strtoul (__const char *__restrict __nptr,
+      char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+__extension__
+extern long long int strtoq (__const char *__restrict __nptr,
+        char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+__extension__
+extern unsigned long long int strtouq (__const char *__restrict __nptr,
+           char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+__extension__
+extern long long int strtoll (__const char *__restrict __nptr,
+         char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+__extension__
+extern unsigned long long int strtoull (__const char *__restrict __nptr,
+     char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+# 236 "/usr/include/stdlib.h" 3 4
+# 1 "/usr/include/xlocale.h" 1 3 4
+# 28 "/usr/include/xlocale.h" 3 4
+typedef struct __locale_struct
+{
+
+  struct __locale_data *__locales[13];
+
+
+  const unsigned short int *__ctype_b;
+  const int *__ctype_tolower;
+  const int *__ctype_toupper;
+
+
+  const char *__names[13];
+} *__locale_t;
+
+
+typedef __locale_t locale_t;
+# 237 "/usr/include/stdlib.h" 2 3 4
+
+
+
+extern long int strtol_l (__const char *__restrict __nptr,
+     char **__restrict __endptr, int __base,
+     __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__));
+
+extern unsigned long int strtoul_l (__const char *__restrict __nptr,
+        char **__restrict __endptr,
+        int __base, __locale_t __loc)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__));
+
+__extension__
+extern long long int strtoll_l (__const char *__restrict __nptr,
+    char **__restrict __endptr, int __base,
+    __locale_t __loc)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__));
+
+__extension__
+extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
+       char **__restrict __endptr,
+       int __base, __locale_t __loc)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 4))) __attribute__ ((__warn_unused_result__));
+
+extern double strtod_l (__const char *__restrict __nptr,
+   char **__restrict __endptr, __locale_t __loc)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__));
+
+extern float strtof_l (__const char *__restrict __nptr,
+         char **__restrict __endptr, __locale_t __loc)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__));
+
+extern long double strtold_l (__const char *__restrict __nptr,
+         char **__restrict __endptr,
+         __locale_t __loc)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern __inline double
+__attribute__ ((__nothrow__ , __leaf__)) atof (__const char *__nptr)
+{
+  return strtod (__nptr, (char **) ((void *)0));
+}
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) atoi (__const char *__nptr)
+{
+  return (int) strtol (__nptr, (char **) ((void *)0), 10);
+}
+extern __inline long int
+__attribute__ ((__nothrow__ , __leaf__)) atol (__const char *__nptr)
+{
+  return strtol (__nptr, (char **) ((void *)0), 10);
+}
+
+
+
+
+__extension__ extern __inline long long int
+__attribute__ ((__nothrow__ , __leaf__)) atoll (__const char *__nptr)
+{
+  return strtoll (__nptr, (char **) ((void *)0), 10);
+}
+
+# 311 "/usr/include/stdlib.h" 3 4
+extern char *l64a (long int __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+extern long int a64l (__const char *__s)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+# 1 "/usr/include/sys/types.h" 1 3 4
+# 28 "/usr/include/sys/types.h" 3 4
+
+
+# 1 "/usr/include/bits/types.h" 1 3 4
+# 28 "/usr/include/bits/types.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 29 "/usr/include/bits/types.h" 2 3 4
+
+
+typedef unsigned char __u_char;
+typedef unsigned short int __u_short;
+typedef unsigned int __u_int;
+typedef unsigned long int __u_long;
+
+
+typedef signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef signed short int __int16_t;
+typedef unsigned short int __uint16_t;
+typedef signed int __int32_t;
+typedef unsigned int __uint32_t;
+
+
+
+
+__extension__ typedef signed long long int __int64_t;
+__extension__ typedef unsigned long long int __uint64_t;
+
+
+
+
+
+
+
+__extension__ typedef long long int __quad_t;
+__extension__ typedef unsigned long long int __u_quad_t;
+# 131 "/usr/include/bits/types.h" 3 4
+# 1 "/usr/include/bits/typesizes.h" 1 3 4
+# 132 "/usr/include/bits/types.h" 2 3 4
+
+
+__extension__ typedef __u_quad_t __dev_t;
+__extension__ typedef unsigned int __uid_t;
+__extension__ typedef unsigned int __gid_t;
+__extension__ typedef unsigned long int __ino_t;
+__extension__ typedef __u_quad_t __ino64_t;
+__extension__ typedef unsigned int __mode_t;
+__extension__ typedef unsigned int __nlink_t;
+__extension__ typedef long int __off_t;
+__extension__ typedef __quad_t __off64_t;
+__extension__ typedef int __pid_t;
+__extension__ typedef struct { int __val[2]; } __fsid_t;
+__extension__ typedef long int __clock_t;
+__extension__ typedef unsigned long int __rlim_t;
+__extension__ typedef __u_quad_t __rlim64_t;
+__extension__ typedef unsigned int __id_t;
+__extension__ typedef long int __time_t;
+__extension__ typedef unsigned int __useconds_t;
+__extension__ typedef long int __suseconds_t;
+
+__extension__ typedef int __daddr_t;
+__extension__ typedef long int __swblk_t;
+__extension__ typedef int __key_t;
+
+
+__extension__ typedef int __clockid_t;
+
+
+__extension__ typedef void * __timer_t;
+
+
+__extension__ typedef long int __blksize_t;
+
+
+
+
+__extension__ typedef long int __blkcnt_t;
+__extension__ typedef __quad_t __blkcnt64_t;
+
+
+__extension__ typedef unsigned long int __fsblkcnt_t;
+__extension__ typedef __u_quad_t __fsblkcnt64_t;
+
+
+__extension__ typedef unsigned long int __fsfilcnt_t;
+__extension__ typedef __u_quad_t __fsfilcnt64_t;
+
+__extension__ typedef int __ssize_t;
+
+
+
+typedef __off64_t __loff_t;
+typedef __quad_t *__qaddr_t;
+typedef char *__caddr_t;
+
+
+__extension__ typedef int __intptr_t;
+
+
+__extension__ typedef unsigned int __socklen_t;
+# 31 "/usr/include/sys/types.h" 2 3 4
+
+
+
+typedef __u_char u_char;
+typedef __u_short u_short;
+typedef __u_int u_int;
+typedef __u_long u_long;
+typedef __quad_t quad_t;
+typedef __u_quad_t u_quad_t;
+typedef __fsid_t fsid_t;
+
+
+
+
+typedef __loff_t loff_t;
+
+
+
+
+
+typedef __ino64_t ino_t;
+
+
+
+
+typedef __ino64_t ino64_t;
+
+
+
+
+typedef __dev_t dev_t;
+
+
+
+
+typedef __gid_t gid_t;
+
+
+
+
+typedef __mode_t mode_t;
+
+
+
+
+typedef __nlink_t nlink_t;
+
+
+
+
+typedef __uid_t uid_t;
+
+
+
+
+
+
+
+typedef __off64_t off_t;
+
+
+
+
+typedef __off64_t off64_t;
+
+
+
+
+typedef __pid_t pid_t;
+
+
+
+
+
+typedef __id_t id_t;
+
+
+
+
+typedef __ssize_t ssize_t;
+
+
+
+
+
+typedef __daddr_t daddr_t;
+typedef __caddr_t caddr_t;
+
+
+
+
+
+typedef __key_t key_t;
+# 133 "/usr/include/sys/types.h" 3 4
+# 1 "/usr/include/time.h" 1 3 4
+# 58 "/usr/include/time.h" 3 4
+
+
+typedef __clock_t clock_t;
+
+
+
+# 74 "/usr/include/time.h" 3 4
+
+
+typedef __time_t time_t;
+
+
+
+# 92 "/usr/include/time.h" 3 4
+typedef __clockid_t clockid_t;
+# 104 "/usr/include/time.h" 3 4
+typedef __timer_t timer_t;
+# 134 "/usr/include/sys/types.h" 2 3 4
+
+
+
+typedef __useconds_t useconds_t;
+
+
+
+typedef __suseconds_t suseconds_t;
+
+
+
+
+
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 148 "/usr/include/sys/types.h" 2 3 4
+
+
+
+typedef unsigned long int ulong;
+typedef unsigned short int ushort;
+typedef unsigned int uint;
+# 195 "/usr/include/sys/types.h" 3 4
+typedef int int8_t __attribute__ ((__mode__ (__QI__)));
+typedef int int16_t __attribute__ ((__mode__ (__HI__)));
+typedef int int32_t __attribute__ ((__mode__ (__SI__)));
+typedef int int64_t __attribute__ ((__mode__ (__DI__)));
+
+
+typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
+typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
+typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
+typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
+
+typedef int register_t __attribute__ ((__mode__ (__word__)));
+# 220 "/usr/include/sys/types.h" 3 4
+# 1 "/usr/include/sys/select.h" 1 3 4
+# 31 "/usr/include/sys/select.h" 3 4
+# 1 "/usr/include/bits/select.h" 1 3 4
+# 32 "/usr/include/sys/select.h" 2 3 4
+
+
+# 1 "/usr/include/bits/sigset.h" 1 3 4
+# 24 "/usr/include/bits/sigset.h" 3 4
+typedef int __sig_atomic_t;
+
+
+
+
+typedef struct
+  {
+    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
+  } __sigset_t;
+# 35 "/usr/include/sys/select.h" 2 3 4
+
+
+
+typedef __sigset_t sigset_t;
+
+
+
+
+
+# 1 "/usr/include/time.h" 1 3 4
+# 120 "/usr/include/time.h" 3 4
+struct timespec
+  {
+    __time_t tv_sec;
+    long int tv_nsec;
+  };
+# 45 "/usr/include/sys/select.h" 2 3 4
+
+# 1 "/usr/include/bits/time.h" 1 3 4
+# 31 "/usr/include/bits/time.h" 3 4
+struct timeval
+  {
+    __time_t tv_sec;
+    __suseconds_t tv_usec;
+  };
+# 47 "/usr/include/sys/select.h" 2 3 4
+# 55 "/usr/include/sys/select.h" 3 4
+typedef long int __fd_mask;
+# 65 "/usr/include/sys/select.h" 3 4
+typedef struct
+  {
+
+
+
+    __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
+
+
+
+
+
+  } fd_set;
+
+
+
+
+
+
+typedef __fd_mask fd_mask;
+# 97 "/usr/include/sys/select.h" 3 4
+
+# 107 "/usr/include/sys/select.h" 3 4
+extern int select (int __nfds, fd_set *__restrict __readfds,
+     fd_set *__restrict __writefds,
+     fd_set *__restrict __exceptfds,
+     struct timeval *__restrict __timeout);
+# 119 "/usr/include/sys/select.h" 3 4
+extern int pselect (int __nfds, fd_set *__restrict __readfds,
+      fd_set *__restrict __writefds,
+      fd_set *__restrict __exceptfds,
+      const struct timespec *__restrict __timeout,
+      const __sigset_t *__restrict __sigmask);
+
+
+
+
+
+# 1 "/usr/include/bits/select2.h" 1 3 4
+# 25 "/usr/include/bits/select2.h" 3 4
+extern long int __fdelt_chk (long int __d);
+extern long int __fdelt_warn (long int __d)
+  __attribute__((__warning__ ("bit outside of fd_set selected")));
+# 130 "/usr/include/sys/select.h" 2 3 4
+
+
+
+# 221 "/usr/include/sys/types.h" 2 3 4
+
+
+# 1 "/usr/include/sys/sysmacros.h" 1 3 4
+# 30 "/usr/include/sys/sysmacros.h" 3 4
+
+
+__extension__
+extern unsigned int gnu_dev_major (unsigned long long int __dev)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+__extension__
+extern unsigned int gnu_dev_minor (unsigned long long int __dev)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+__extension__
+extern unsigned long long int gnu_dev_makedev (unsigned int __major,
+            unsigned int __minor)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+__extension__ extern __inline __attribute__ ((__const__)) unsigned int
+__attribute__ ((__nothrow__ , __leaf__)) gnu_dev_major (unsigned long long int __dev)
+{
+  return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
+}
+
+__extension__ extern __inline __attribute__ ((__const__)) unsigned int
+__attribute__ ((__nothrow__ , __leaf__)) gnu_dev_minor (unsigned long long int __dev)
+{
+  return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
+}
+
+__extension__ extern __inline __attribute__ ((__const__)) unsigned long long int
+__attribute__ ((__nothrow__ , __leaf__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
+{
+  return ((__minor & 0xff) | ((__major & 0xfff) << 8)
+   | (((unsigned long long int) (__minor & ~0xff)) << 12)
+   | (((unsigned long long int) (__major & ~0xfff)) << 32));
+}
+
+
+# 224 "/usr/include/sys/types.h" 2 3 4
+
+
+
+
+
+typedef __blksize_t blksize_t;
+# 249 "/usr/include/sys/types.h" 3 4
+typedef __blkcnt64_t blkcnt_t;
+
+
+
+typedef __fsblkcnt64_t fsblkcnt_t;
+
+
+
+typedef __fsfilcnt64_t fsfilcnt_t;
+
+
+
+
+
+typedef __blkcnt64_t blkcnt64_t;
+typedef __fsblkcnt64_t fsblkcnt64_t;
+typedef __fsfilcnt64_t fsfilcnt64_t;
+
+
+
+
+
+# 1 "/usr/include/bits/pthreadtypes.h" 1 3 4
+# 36 "/usr/include/bits/pthreadtypes.h" 3 4
+typedef unsigned long int pthread_t;
+
+
+typedef union
+{
+  char __size[36];
+  long int __align;
+} pthread_attr_t;
+
+
+typedef struct __pthread_internal_slist
+{
+  struct __pthread_internal_slist *__next;
+} __pthread_slist_t;
+
+
+
+
+typedef union
+{
+  struct __pthread_mutex_s
+  {
+    int __lock;
+    unsigned int __count;
+    int __owner;
+
+
+    int __kind;
+    unsigned int __nusers;
+    __extension__ union
+    {
+      int __spins;
+      __pthread_slist_t __list;
+    };
+  } __data;
+  char __size[24];
+  long int __align;
+} pthread_mutex_t;
+
+typedef union
+{
+  char __size[4];
+  long int __align;
+} pthread_mutexattr_t;
+
+
+
+
+typedef union
+{
+  struct
+  {
+    int __lock;
+    unsigned int __futex;
+    __extension__ unsigned long long int __total_seq;
+    __extension__ unsigned long long int __wakeup_seq;
+    __extension__ unsigned long long int __woken_seq;
+    void *__mutex;
+    unsigned int __nwaiters;
+    unsigned int __broadcast_seq;
+  } __data;
+  char __size[48];
+  __extension__ long long int __align;
+} pthread_cond_t;
+
+typedef union
+{
+  char __size[4];
+  long int __align;
+} pthread_condattr_t;
+
+
+
+typedef unsigned int pthread_key_t;
+
+
+
+typedef int pthread_once_t;
+
+
+
+
+
+typedef union
+{
+  struct
+  {
+    int __lock;
+    unsigned int __nr_readers;
+    unsigned int __readers_wakeup;
+    unsigned int __writer_wakeup;
+    unsigned int __nr_readers_queued;
+    unsigned int __nr_writers_queued;
+
+
+    unsigned char __flags;
+    unsigned char __shared;
+    unsigned char __pad1;
+    unsigned char __pad2;
+    int __writer;
+  } __data;
+  char __size[32];
+  long int __align;
+} pthread_rwlock_t;
+
+typedef union
+{
+  char __size[8];
+  long int __align;
+} pthread_rwlockattr_t;
+
+
+
+
+
+typedef volatile int pthread_spinlock_t;
+
+
+
+
+typedef union
+{
+  char __size[20];
+  long int __align;
+} pthread_barrier_t;
+
+typedef union
+{
+  char __size[4];
+  int __align;
+} pthread_barrierattr_t;
+# 272 "/usr/include/sys/types.h" 2 3 4
+
+
+
+# 321 "/usr/include/stdlib.h" 2 3 4
+
+
+
+
+
+
+extern long int random (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern char *initstate (unsigned int __seed, char *__statebuf,
+   size_t __statelen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+struct random_data
+  {
+    int32_t *fptr;
+    int32_t *rptr;
+    int32_t *state;
+    int rand_type;
+    int rand_deg;
+    int rand_sep;
+    int32_t *end_ptr;
+  };
+
+extern int random_r (struct random_data *__restrict __buf,
+       int32_t *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int srandom_r (unsigned int __seed, struct random_data *__buf)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
+   size_t __statelen,
+   struct random_data *__restrict __buf)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4)));
+
+extern int setstate_r (char *__restrict __statebuf,
+         struct random_data *__restrict __buf)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+extern int rand (void) __attribute__ ((__nothrow__ , __leaf__));
+
+extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern double drand48 (void) __attribute__ ((__nothrow__ , __leaf__));
+extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern long int lrand48 (void) __attribute__ ((__nothrow__ , __leaf__));
+extern long int nrand48 (unsigned short int __xsubi[3])
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern long int mrand48 (void) __attribute__ ((__nothrow__ , __leaf__));
+extern long int jrand48 (unsigned short int __xsubi[3])
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ , __leaf__));
+extern unsigned short int *seed48 (unsigned short int __seed16v[3])
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+struct drand48_data
+  {
+    unsigned short int __x[3];
+    unsigned short int __old_x[3];
+    unsigned short int __c;
+    unsigned short int __init;
+    unsigned long long int __a;
+  };
+
+
+extern int drand48_r (struct drand48_data *__restrict __buffer,
+        double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+extern int erand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        double *__restrict __result) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int lrand48_r (struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+extern int nrand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int mrand48_r (struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+extern int jrand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+extern int seed48_r (unsigned short int __seed16v[3],
+       struct drand48_data *__buffer) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int lcong48_r (unsigned short int __param[7],
+        struct drand48_data *__buffer)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+
+
+
+extern void *malloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
+
+extern void *calloc (size_t __nmemb, size_t __size)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+
+
+extern void *realloc (void *__ptr, size_t __size)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern void cfree (void *__ptr) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+# 1 "/usr/include/alloca.h" 1 3 4
+# 25 "/usr/include/alloca.h" 3 4
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 26 "/usr/include/alloca.h" 2 3 4
+
+
+
+
+
+
+
+extern void *alloca (size_t __size) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+# 498 "/usr/include/stdlib.h" 2 3 4
+
+
+
+
+
+extern void *valloc (size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern void abort (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
+
+
+
+extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+# 528 "/usr/include/stdlib.h" 3 4
+extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern void exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+
+extern void quick_exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+
+extern void _Exit (int __status) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+extern char *getenv (__const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern char *__secure_getenv (__const char *__name)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int putenv (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int setenv (__const char *__name, __const char *__value, int __replace)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int clearenv (void) __attribute__ ((__nothrow__ , __leaf__));
+# 606 "/usr/include/stdlib.h" 3 4
+extern char *mktemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 623 "/usr/include/stdlib.h" 3 4
+extern int mkstemp (char *__template) __asm__ ("" "mkstemp64")
+     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 645 "/usr/include/stdlib.h" 3 4
+extern int mkstemps (char *__template, int __suffixlen) __asm__ ("" "mkstemps64")
+                     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int mkstemps64 (char *__template, int __suffixlen)
+     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 663 "/usr/include/stdlib.h" 3 4
+extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 677 "/usr/include/stdlib.h" 3 4
+extern int mkostemp (char *__template, int __flags) __asm__ ("" "mkostemp64")
+     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 698 "/usr/include/stdlib.h" 3 4
+extern int mkostemps (char *__template, int __suffixlen, int __flags) __asm__ ("" "mkostemps64")
+
+     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
+     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+
+extern int system (__const char *__command) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern char *canonicalize_file_name (__const char *__name)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 734 "/usr/include/stdlib.h" 3 4
+extern char *realpath (__const char *__restrict __name,
+         char *__restrict __resolved) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+typedef int (*__compar_fn_t) (__const void *, __const void *);
+
+
+typedef __compar_fn_t comparison_fn_t;
+
+
+
+typedef int (*__compar_d_fn_t) (__const void *, __const void *, void *);
+
+
+
+
+
+extern void *bsearch (__const void *__key, __const void *__base,
+        size_t __nmemb, size_t __size, __compar_fn_t __compar)
+     __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__));
+
+
+
+extern void qsort (void *__base, size_t __nmemb, size_t __size,
+     __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
+
+extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
+       __compar_d_fn_t __compar, void *__arg)
+  __attribute__ ((__nonnull__ (1, 4)));
+
+
+
+
+extern int abs (int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+extern long int labs (long int __x) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+
+
+
+__extension__ extern long long int llabs (long long int __x)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+extern div_t div (int __numer, int __denom)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+extern ldiv_t ldiv (long int __numer, long int __denom)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+__extension__ extern lldiv_t lldiv (long long int __numer,
+        long long int __denom)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
+
+# 808 "/usr/include/stdlib.h" 3 4
+extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern char *gcvt (double __value, int __ndigit, char *__buf)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern char *qecvt (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
+extern char *qfcvt (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
+extern char *qgcvt (long double __value, int __ndigit, char *__buf)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign, char *__restrict __buf,
+     size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5)));
+extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
+     int *__restrict __sign, char *__restrict __buf,
+     size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5)));
+
+extern int qecvt_r (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign,
+      char *__restrict __buf, size_t __len)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5)));
+extern int qfcvt_r (long double __value, int __ndigit,
+      int *__restrict __decpt, int *__restrict __sign,
+      char *__restrict __buf, size_t __len)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4, 5)));
+
+
+
+
+
+
+
+extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+extern int mbtowc (wchar_t *__restrict __pwc,
+     __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+extern size_t mbstowcs (wchar_t *__restrict __pwcs,
+   __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ , __leaf__));
+
+extern size_t wcstombs (char *__restrict __s,
+   __const wchar_t *__restrict __pwcs, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 896 "/usr/include/stdlib.h" 3 4
+extern int getsubopt (char **__restrict __optionp,
+        char *__const *__restrict __tokens,
+        char **__restrict __valuep)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern void setkey (__const char *__key) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+extern int grantpt (int __fd) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int unlockpt (int __fd) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern char *ptsname (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+extern int getpt (void);
+
+
+
+
+
+
+extern int getloadavg (double __loadavg[], int __nelem)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+# 1 "/usr/include/bits/stdlib.h" 1 3 4
+# 24 "/usr/include/bits/stdlib.h" 3 4
+extern char *__realpath_chk (__const char *__restrict __name,
+        char *__restrict __resolved,
+        size_t __resolvedlen) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+extern char *__realpath_alias (__const char *__restrict __name, char *__restrict __resolved) __asm__ ("" "realpath") __attribute__ ((__nothrow__ , __leaf__))
+
+                                                 __attribute__ ((__warn_unused_result__));
+extern char *__realpath_chk_warn (__const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) __asm__ ("" "__realpath_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+                                                __attribute__ ((__warn_unused_result__))
+     __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer")))
+                                      ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
+__attribute__ ((__nothrow__ , __leaf__)) realpath (__const char *__restrict __name, char *__restrict __resolved)
+{
+  if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1)
+    {
+
+
+
+
+      return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1));
+    }
+
+  return __realpath_alias (__name, __resolved);
+}
+
+
+extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
+       size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ptsname_r") __attribute__ ((__nothrow__ , __leaf__))
+
+     __attribute__ ((__nonnull__ (2)));
+extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ptsname_r_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+     __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf")))
+                   ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen)
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__buflen))
+ return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+      if (__buflen > __builtin_object_size (__buf, 2 > 1))
+ return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+    }
+  return __ptsname_r_alias (__fd, __buf, __buflen);
+}
+
+
+extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
+  __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+extern int __wctomb_alias (char *__s, wchar_t __wchar) __asm__ ("" "wctomb") __attribute__ ((__nothrow__ , __leaf__))
+              __attribute__ ((__warn_unused_result__));
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int
+__attribute__ ((__nothrow__ , __leaf__)) wctomb (char *__s, wchar_t __wchar)
+{
+
+
+
+
+
+
+
+  if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1))
+    return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1));
+  return __wctomb_alias (__s, __wchar);
+}
+
+
+extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
+         __const char *__restrict __src,
+         size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__));
+extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len) __asm__ ("" "mbstowcs") __attribute__ ((__nothrow__ , __leaf__))
+
+
+                                  ;
+extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__mbstowcs_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+
+     __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
+                        ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) size_t
+__attribute__ ((__nothrow__ , __leaf__)) mbstowcs (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len)
+
+{
+  if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__len))
+ return __mbstowcs_chk (__dst, __src, __len,
+          __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t));
+
+      if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t))
+ return __mbstowcs_chk_warn (__dst, __src, __len,
+         __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t));
+    }
+  return __mbstowcs_alias (__dst, __src, __len);
+}
+
+
+extern size_t __wcstombs_chk (char *__restrict __dst,
+         __const wchar_t *__restrict __src,
+         size_t __len, size_t __dstlen) __attribute__ ((__nothrow__ , __leaf__));
+extern size_t __wcstombs_alias (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len) __asm__ ("" "wcstombs") __attribute__ ((__nothrow__ , __leaf__))
+
+
+                                  ;
+extern size_t __wcstombs_chk_warn (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len, size_t __dstlen) __asm__ ("" "__wcstombs_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+
+     __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len")));
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) size_t
+__attribute__ ((__nothrow__ , __leaf__)) wcstombs (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len)
+
+{
+  if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__len))
+ return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1));
+      if (__len > __builtin_object_size (__dst, 2 > 1))
+ return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1));
+    }
+  return __wcstombs_alias (__dst, __src, __len);
+}
+# 956 "/usr/include/stdlib.h" 2 3 4
+# 964 "/usr/include/stdlib.h" 3 4
+
+# 23 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/stdio.h" 1 3 4
+# 30 "/usr/include/stdio.h" 3 4
+
+
+
+
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 35 "/usr/include/stdio.h" 2 3 4
+# 45 "/usr/include/stdio.h" 3 4
+struct _IO_FILE;
+
+
+
+typedef struct _IO_FILE FILE;
+
+
+
+
+
+# 65 "/usr/include/stdio.h" 3 4
+typedef struct _IO_FILE __FILE;
+# 75 "/usr/include/stdio.h" 3 4
+# 1 "/usr/include/libio.h" 1 3 4
+# 32 "/usr/include/libio.h" 3 4
+# 1 "/usr/include/_G_config.h" 1 3 4
+# 15 "/usr/include/_G_config.h" 3 4
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 16 "/usr/include/_G_config.h" 2 3 4
+
+
+
+
+# 1 "/usr/include/wchar.h" 1 3 4
+# 83 "/usr/include/wchar.h" 3 4
+typedef struct
+{
+  int __count;
+  union
+  {
+
+    unsigned int __wch;
+
+
+
+    char __wchb[4];
+  } __value;
+} __mbstate_t;
+# 21 "/usr/include/_G_config.h" 2 3 4
+
+typedef struct
+{
+  __off_t __pos;
+  __mbstate_t __state;
+} _G_fpos_t;
+typedef struct
+{
+  __off64_t __pos;
+  __mbstate_t __state;
+} _G_fpos64_t;
+# 53 "/usr/include/_G_config.h" 3 4
+typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
+typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
+typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
+typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
+# 33 "/usr/include/libio.h" 2 3 4
+# 53 "/usr/include/libio.h" 3 4
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stdarg.h" 1 3 4
+# 40 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stdarg.h" 3 4
+typedef __builtin_va_list __gnuc_va_list;
+# 54 "/usr/include/libio.h" 2 3 4
+# 172 "/usr/include/libio.h" 3 4
+struct _IO_jump_t; struct _IO_FILE;
+# 182 "/usr/include/libio.h" 3 4
+typedef void _IO_lock_t;
+
+
+
+
+
+struct _IO_marker {
+  struct _IO_marker *_next;
+  struct _IO_FILE *_sbuf;
+
+
+
+  int _pos;
+# 205 "/usr/include/libio.h" 3 4
+};
+
+
+enum __codecvt_result
+{
+  __codecvt_ok,
+  __codecvt_partial,
+  __codecvt_error,
+  __codecvt_noconv
+};
+# 273 "/usr/include/libio.h" 3 4
+struct _IO_FILE {
+  int _flags;
+
+
+
+
+  char* _IO_read_ptr;
+  char* _IO_read_end;
+  char* _IO_read_base;
+  char* _IO_write_base;
+  char* _IO_write_ptr;
+  char* _IO_write_end;
+  char* _IO_buf_base;
+  char* _IO_buf_end;
+
+  char *_IO_save_base;
+  char *_IO_backup_base;
+  char *_IO_save_end;
+
+  struct _IO_marker *_markers;
+
+  struct _IO_FILE *_chain;
+
+  int _fileno;
+
+
+
+  int _flags2;
+
+  __off_t _old_offset;
+
+
+
+  unsigned short _cur_column;
+  signed char _vtable_offset;
+  char _shortbuf[1];
+
+
+
+  _IO_lock_t *_lock;
+# 321 "/usr/include/libio.h" 3 4
+  __off64_t _offset;
+# 330 "/usr/include/libio.h" 3 4
+  void *__pad1;
+  void *__pad2;
+  void *__pad3;
+  void *__pad4;
+  size_t __pad5;
+
+  int _mode;
+
+  char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
+
+};
+
+
+typedef struct _IO_FILE _IO_FILE;
+
+
+struct _IO_FILE_plus;
+
+extern struct _IO_FILE_plus _IO_2_1_stdin_;
+extern struct _IO_FILE_plus _IO_2_1_stdout_;
+extern struct _IO_FILE_plus _IO_2_1_stderr_;
+# 366 "/usr/include/libio.h" 3 4
+typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
+
+
+
+
+
+
+
+typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
+     size_t __n);
+
+
+
+
+
+
+
+typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
+
+
+typedef int __io_close_fn (void *__cookie);
+
+
+
+
+typedef __io_read_fn cookie_read_function_t;
+typedef __io_write_fn cookie_write_function_t;
+typedef __io_seek_fn cookie_seek_function_t;
+typedef __io_close_fn cookie_close_function_t;
+
+
+typedef struct
+{
+  __io_read_fn *read;
+  __io_write_fn *write;
+  __io_seek_fn *seek;
+  __io_close_fn *close;
+} _IO_cookie_io_functions_t;
+typedef _IO_cookie_io_functions_t cookie_io_functions_t;
+
+struct _IO_cookie_file;
+
+
+extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
+        void *__cookie, _IO_cookie_io_functions_t __fns);
+
+
+
+
+
+
+
+extern int __underflow (_IO_FILE *);
+extern int __uflow (_IO_FILE *);
+extern int __overflow (_IO_FILE *, int);
+# 462 "/usr/include/libio.h" 3 4
+extern int _IO_getc (_IO_FILE *__fp);
+extern int _IO_putc (int __c, _IO_FILE *__fp);
+extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__));
+extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__ , __leaf__));
+
+extern int _IO_peekc_locked (_IO_FILE *__fp);
+
+
+
+
+
+extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
+extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
+extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
+# 492 "/usr/include/libio.h" 3 4
+extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
+   __gnuc_va_list, int *__restrict);
+extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
+    __gnuc_va_list);
+extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t);
+extern size_t _IO_sgetn (_IO_FILE *, void *, size_t);
+
+extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int);
+extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int);
+
+extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__ , __leaf__));
+# 76 "/usr/include/stdio.h" 2 3 4
+
+
+
+
+typedef __gnuc_va_list va_list;
+# 109 "/usr/include/stdio.h" 3 4
+
+
+
+
+typedef _G_fpos64_t fpos_t;
+
+
+
+typedef _G_fpos64_t fpos64_t;
+# 165 "/usr/include/stdio.h" 3 4
+# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
+# 166 "/usr/include/stdio.h" 2 3 4
+
+
+
+extern struct _IO_FILE *stdin;
+extern struct _IO_FILE *stdout;
+extern struct _IO_FILE *stderr;
+
+
+
+
+
+
+
+extern int remove (__const char *__filename) __attribute__ ((__nothrow__ , __leaf__));
+
+extern int rename (__const char *__old, __const char *__new) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int renameat (int __oldfd, __const char *__old, int __newfd,
+       __const char *__new) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+# 199 "/usr/include/stdio.h" 3 4
+extern FILE *tmpfile (void) __asm__ ("" "tmpfile64") __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__));
+
+
+
+extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+# 228 "/usr/include/stdio.h" 3 4
+extern char *tempnam (__const char *__dir, __const char *__pfx)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+extern int fclose (FILE *__stream);
+
+
+
+
+extern int fflush (FILE *__stream);
+
+# 253 "/usr/include/stdio.h" 3 4
+extern int fflush_unlocked (FILE *__stream);
+# 263 "/usr/include/stdio.h" 3 4
+extern int fcloseall (void);
+
+
+
+
+# 284 "/usr/include/stdio.h" 3 4
+extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) __asm__ ("" "fopen64")
+
+  __attribute__ ((__warn_unused_result__));
+extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64")
+
+
+  __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+extern FILE *fopen64 (__const char *__restrict __filename,
+        __const char *__restrict __modes) __attribute__ ((__warn_unused_result__));
+extern FILE *freopen64 (__const char *__restrict __filename,
+   __const char *__restrict __modes,
+   FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern FILE *fdopen (int __fd, __const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern FILE *fopencookie (void *__restrict __magic_cookie,
+     __const char *__restrict __modes,
+     _IO_cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes)
+  __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
+      int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
+         size_t __size) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern int fprintf (FILE *__restrict __stream,
+      __const char *__restrict __format, ...);
+
+
+
+
+extern int printf (__const char *__restrict __format, ...);
+
+extern int sprintf (char *__restrict __s,
+      __const char *__restrict __format, ...) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
+       __gnuc_va_list __arg);
+
+
+
+
+extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg);
+
+extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
+       __gnuc_va_list __arg) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern int snprintf (char *__restrict __s, size_t __maxlen,
+       __const char *__restrict __format, ...)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
+
+extern int vsnprintf (char *__restrict __s, size_t __maxlen,
+        __const char *__restrict __format, __gnuc_va_list __arg)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
+
+
+
+
+
+
+extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
+        __gnuc_va_list __arg)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__));
+extern int __asprintf (char **__restrict __ptr,
+         __const char *__restrict __fmt, ...)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
+extern int asprintf (char **__restrict __ptr,
+       __const char *__restrict __fmt, ...)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
+# 418 "/usr/include/stdio.h" 3 4
+extern int vdprintf (int __fd, __const char *__restrict __fmt,
+       __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__printf__, 2, 0)));
+extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
+     __attribute__ ((__format__ (__printf__, 2, 3)));
+
+
+
+
+
+
+
+
+extern int fscanf (FILE *__restrict __stream,
+     __const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int scanf (__const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
+
+extern int sscanf (__const char *__restrict __s,
+     __const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__));
+# 469 "/usr/include/stdio.h" 3 4
+
+
+
+
+
+
+
+
+extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
+      __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
+
+
+extern int vsscanf (__const char *__restrict __s,
+      __const char *__restrict __format, __gnuc_va_list __arg)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
+# 528 "/usr/include/stdio.h" 3 4
+
+
+
+
+
+
+
+
+
+extern int fgetc (FILE *__stream);
+extern int getc (FILE *__stream);
+
+
+
+
+
+extern int getchar (void);
+
+# 556 "/usr/include/stdio.h" 3 4
+extern int getc_unlocked (FILE *__stream);
+extern int getchar_unlocked (void);
+# 567 "/usr/include/stdio.h" 3 4
+extern int fgetc_unlocked (FILE *__stream);
+
+
+
+
+
+
+
+
+
+
+
+extern int fputc (int __c, FILE *__stream);
+extern int putc (int __c, FILE *__stream);
+
+
+
+
+
+extern int putchar (int __c);
+
+# 600 "/usr/include/stdio.h" 3 4
+extern int fputc_unlocked (int __c, FILE *__stream);
+
+
+
+
+
+
+
+extern int putc_unlocked (int __c, FILE *__stream);
+extern int putchar_unlocked (int __c);
+
+
+
+
+
+
+extern int getw (FILE *__stream);
+
+
+extern int putw (int __w, FILE *__stream);
+
+
+
+
+
+
+
+
+extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
+     __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern char *gets (char *__s) __attribute__ ((__warn_unused_result__));
+
+# 646 "/usr/include/stdio.h" 3 4
+extern char *fgets_unlocked (char *__restrict __s, int __n,
+        FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+# 662 "/usr/include/stdio.h" 3 4
+extern __ssize_t __getdelim (char **__restrict __lineptr,
+          size_t *__restrict __n, int __delimiter,
+          FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern __ssize_t getdelim (char **__restrict __lineptr,
+        size_t *__restrict __n, int __delimiter,
+        FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+extern __ssize_t getline (char **__restrict __lineptr,
+       size_t *__restrict __n,
+       FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+extern int fputs (__const char *__restrict __s, FILE *__restrict __stream);
+
+
+
+
+
+extern int puts (__const char *__s);
+
+
+
+
+
+
+extern int ungetc (int __c, FILE *__stream);
+
+
+
+
+
+
+extern size_t fread (void *__restrict __ptr, size_t __size,
+       size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
+        size_t __n, FILE *__restrict __s) __attribute__ ((__warn_unused_result__));
+
+# 723 "/usr/include/stdio.h" 3 4
+extern int fputs_unlocked (__const char *__restrict __s,
+      FILE *__restrict __stream);
+# 734 "/usr/include/stdio.h" 3 4
+extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
+         size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
+          size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+extern int fseek (FILE *__stream, long int __off, int __whence);
+
+
+
+
+extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern void rewind (FILE *__stream);
+
+# 778 "/usr/include/stdio.h" 3 4
+extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64")
+
+                  ;
+extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64");
+
+
+
+
+
+
+
+
+# 803 "/usr/include/stdio.h" 3 4
+extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64")
+                                          ;
+extern int fsetpos (FILE *__stream, __const fpos_t *__pos) __asm__ ("" "fsetpos64")
+                                                            ;
+
+
+
+
+
+
+
+
+extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
+extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__));
+extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
+extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos);
+
+
+
+
+extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
+
+extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
+extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+
+extern void perror (__const char *__s);
+
+
+
+
+
+
+# 1 "/usr/include/bits/sys_errlist.h" 1 3 4
+# 27 "/usr/include/bits/sys_errlist.h" 3 4
+extern int sys_nerr;
+extern __const char *__const sys_errlist[];
+
+
+extern int _sys_nerr;
+extern __const char *__const _sys_errlist[];
+# 851 "/usr/include/stdio.h" 2 3 4
+
+
+
+
+extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+# 870 "/usr/include/stdio.h" 3 4
+extern FILE *popen (__const char *__command, __const char *__modes) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int pclose (FILE *__stream);
+
+
+
+
+
+extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern char *cuserid (char *__s);
+
+
+
+
+struct obstack;
+
+
+extern int obstack_printf (struct obstack *__restrict __obstack,
+      __const char *__restrict __format, ...)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3)));
+extern int obstack_vprintf (struct obstack *__restrict __obstack,
+       __const char *__restrict __format,
+       __gnuc_va_list __args)
+     __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0)));
+
+
+
+
+
+
+
+extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
+# 931 "/usr/include/stdio.h" 3 4
+# 1 "/usr/include/bits/stdio.h" 1 3 4
+# 44 "/usr/include/bits/stdio.h" 3 4
+extern __inline int
+getchar (void)
+{
+  return _IO_getc (stdin);
+}
+
+
+
+
+extern __inline int
+fgetc_unlocked (FILE *__fp)
+{
+  return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
+}
+
+
+
+
+
+extern __inline int
+getc_unlocked (FILE *__fp)
+{
+  return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
+}
+
+
+extern __inline int
+getchar_unlocked (void)
+{
+  return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
+}
+
+
+
+
+extern __inline int
+putchar (int __c)
+{
+  return _IO_putc (__c, stdout);
+}
+
+
+
+
+extern __inline int
+fputc_unlocked (int __c, FILE *__stream)
+{
+  return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
+}
+
+
+
+
+
+extern __inline int
+putc_unlocked (int __c, FILE *__stream)
+{
+  return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
+}
+
+
+extern __inline int
+putchar_unlocked (int __c)
+{
+  return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
+}
+
+
+
+
+
+extern __inline __ssize_t
+getline (char **__lineptr, size_t *__n, FILE *__stream)
+{
+  return __getdelim (__lineptr, __n, '\n', __stream);
+}
+
+
+
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) feof_unlocked (FILE *__stream)
+{
+  return (((__stream)->_flags & 0x10) != 0);
+}
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) ferror_unlocked (FILE *__stream)
+{
+  return (((__stream)->_flags & 0x20) != 0);
+}
+# 932 "/usr/include/stdio.h" 2 3 4
+
+
+# 1 "/usr/include/bits/stdio2.h" 1 3 4
+# 24 "/usr/include/bits/stdio2.h" 3 4
+extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
+     __const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__));
+extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
+      __const char *__restrict __format,
+      __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) sprintf (char *__restrict __s, __const char *__restrict __fmt, ...)
+{
+  return __builtin___sprintf_chk (__s, 2 - 1,
+      __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ());
+}
+
+
+
+
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) vsprintf (char *__restrict __s, __const char *__restrict __fmt, __gnuc_va_list __ap)
+
+{
+  return __builtin___vsprintf_chk (__s, 2 - 1,
+       __builtin_object_size (__s, 2 > 1), __fmt, __ap);
+}
+
+
+
+extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
+      size_t __slen, __const char *__restrict __format,
+      ...) __attribute__ ((__nothrow__ , __leaf__));
+extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
+       size_t __slen, __const char *__restrict __format,
+       __gnuc_va_list __ap) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) snprintf (char *__restrict __s, size_t __n, __const char *__restrict __fmt, ...)
+
+{
+  return __builtin___snprintf_chk (__s, __n, 2 - 1,
+       __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ());
+}
+
+
+
+
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) vsnprintf (char *__restrict __s, size_t __n, __const char *__restrict __fmt, __gnuc_va_list __ap)
+
+{
+  return __builtin___vsnprintf_chk (__s, __n, 2 - 1,
+        __builtin_object_size (__s, 2 > 1), __fmt, __ap);
+}
+
+
+
+
+
+extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
+     __const char *__restrict __format, ...);
+extern int __printf_chk (int __flag, __const char *__restrict __format, ...);
+extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
+      __const char *__restrict __format, __gnuc_va_list __ap);
+extern int __vprintf_chk (int __flag, __const char *__restrict __format,
+     __gnuc_va_list __ap);
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+fprintf (FILE *__restrict __stream, __const char *__restrict __fmt, ...)
+{
+  return __fprintf_chk (__stream, 2 - 1, __fmt,
+   __builtin_va_arg_pack ());
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+printf (__const char *__restrict __fmt, ...)
+{
+  return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
+}
+
+
+
+
+
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+vprintf (__const char *__restrict __fmt, __gnuc_va_list __ap)
+{
+
+  return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
+
+
+
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+vfprintf (FILE *__restrict __stream,
+   __const char *__restrict __fmt, __gnuc_va_list __ap)
+{
+  return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap);
+}
+
+
+
+extern int __asprintf_chk (char **__restrict __ptr, int __flag,
+      __const char *__restrict __fmt, ...)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__));
+extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
+       __const char *__restrict __fmt, __gnuc_va_list __arg)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__));
+extern int __dprintf_chk (int __fd, int __flag, __const char *__restrict __fmt,
+     ...) __attribute__ ((__format__ (__printf__, 3, 4)));
+extern int __vdprintf_chk (int __fd, int __flag,
+      __const char *__restrict __fmt, __gnuc_va_list __arg)
+     __attribute__ ((__format__ (__printf__, 3, 0)));
+extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
+     int __flag, __const char *__restrict __format,
+     ...)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 4)));
+extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
+      int __flag,
+      __const char *__restrict __format,
+      __gnuc_va_list __args)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__printf__, 3, 0)));
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...)
+{
+  return __asprintf_chk (__ptr, 2 - 1, __fmt,
+    __builtin_va_arg_pack ());
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...)
+
+{
+  return __asprintf_chk (__ptr, 2 - 1, __fmt,
+    __builtin_va_arg_pack ());
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+dprintf (int __fd, __const char *__restrict __fmt, ...)
+{
+  return __dprintf_chk (__fd, 2 - 1, __fmt,
+   __builtin_va_arg_pack ());
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __fmt, ...)
+
+{
+  return __obstack_printf_chk (__obstack, 2 - 1, __fmt,
+          __builtin_va_arg_pack ());
+}
+# 195 "/usr/include/bits/stdio2.h" 3 4
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) vasprintf (char **__restrict __ptr, __const char *__restrict __fmt, __gnuc_va_list __ap)
+
+{
+  return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap);
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __ap)
+{
+  return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap);
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __fmt, __gnuc_va_list __ap)
+
+{
+  return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt,
+    __ap);
+}
+
+
+
+
+
+extern char *__gets_chk (char *__str, size_t) __attribute__ ((__warn_unused_result__));
+extern char *__gets_warn (char *__str) __asm__ ("" "gets")
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use fgets or getline instead, gets can't " "specify buffer size")))
+                               ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
+gets (char *__str)
+{
+  if (__builtin_object_size (__str, 2 > 1) != (size_t) -1)
+    return __gets_chk (__str, __builtin_object_size (__str, 2 > 1));
+  return __gets_warn (__str);
+}
+
+extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
+     FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets")
+
+                                        __attribute__ ((__warn_unused_result__));
+extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk")
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer")))
+                                 ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
+fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
+{
+  if (__builtin_object_size (__s, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__n) || __n <= 0)
+ return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
+
+      if ((size_t) __n > __builtin_object_size (__s, 2 > 1))
+ return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
+    }
+  return __fgets_alias (__s, __n, __stream);
+}
+
+extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,
+      size_t __size, size_t __n,
+      FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread")
+
+
+            __attribute__ ((__warn_unused_result__));
+extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk")
+
+
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")))
+                                 ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
+fread (void *__restrict __ptr, size_t __size, size_t __n,
+       FILE *__restrict __stream)
+{
+  if (__builtin_object_size (__ptr, 0) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__size)
+   || !__builtin_constant_p (__n)
+   || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
+ return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream);
+
+      if (__size * __n > __builtin_object_size (__ptr, 0))
+ return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream);
+    }
+  return __fread_alias (__ptr, __size, __n, __stream);
+}
+
+
+extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
+       int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked")
+
+                                                 __attribute__ ((__warn_unused_result__));
+extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk")
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer")))
+                                 ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
+fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
+{
+  if (__builtin_object_size (__s, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__n) || __n <= 0)
+ return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
+
+      if ((size_t) __n > __builtin_object_size (__s, 2 > 1))
+ return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
+    }
+  return __fgets_unlocked_alias (__s, __n, __stream);
+}
+
+
+
+
+extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,
+        size_t __size, size_t __n,
+        FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
+extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked")
+
+
+                     __attribute__ ((__warn_unused_result__));
+extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk")
+
+
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer")))
+                                        ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
+fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
+  FILE *__restrict __stream)
+{
+  if (__builtin_object_size (__ptr, 0) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__size)
+   || !__builtin_constant_p (__n)
+   || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
+ return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n,
+         __stream);
+
+      if (__size * __n > __builtin_object_size (__ptr, 0))
+ return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n,
+       __stream);
+    }
+
+
+  if (__builtin_constant_p (__size)
+      && __builtin_constant_p (__n)
+      && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2))
+      && __size * __n <= 8)
+    {
+      size_t __cnt = __size * __n;
+      char *__cptr = (char *) __ptr;
+      if (__cnt == 0)
+ return 0;
+
+      for (; __cnt > 0; --__cnt)
+ {
+   int __c = (__builtin_expect (((__stream)->_IO_read_ptr >= (__stream)->_IO_read_end), 0) ? __uflow (__stream) : *(unsigned char *) (__stream)->_IO_read_ptr++);
+   if (__c == (-1))
+     break;
+   *__cptr++ = __c;
+ }
+      return (__cptr - (char *) __ptr) / __size;
+    }
+
+  return __fread_unlocked_alias (__ptr, __size, __n, __stream);
+}
+# 935 "/usr/include/stdio.h" 2 3 4
+
+
+
+
+
+
+# 24 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stdarg.h" 1 3 4
+# 25 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stdbool.h" 1 3 4
+# 26 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/string.h" 1 3 4
+# 29 "/usr/include/string.h" 3 4
+
+
+
+
+
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 35 "/usr/include/string.h" 2 3 4
+
+
+
+
+
+
+
+
+
+extern void *memcpy (void *__restrict __dest,
+       __const void *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern void *memmove (void *__dest, __const void *__src, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
+        int __c, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+# 95 "/usr/include/string.h" 3 4
+extern void *memchr (__const void *__s, int __c, size_t __n)
+      __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+# 109 "/usr/include/string.h" 3 4
+extern void *rawmemchr (__const void *__s, int __c)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+# 120 "/usr/include/string.h" 3 4
+extern void *memrchr (__const void *__s, int __c, size_t __n)
+      __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern char *strncpy (char *__restrict __dest,
+        __const char *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
+        size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int strcmp (__const char *__s1, __const char *__s2)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int strcoll (__const char *__s1, __const char *__s2)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern size_t strxfrm (char *__restrict __dest,
+         __const char *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+# 165 "/usr/include/string.h" 3 4
+extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
+    __locale_t __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4)));
+
+
+
+
+
+extern char *strdup (__const char *__s)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern char *strndup (__const char *__string, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
+# 210 "/usr/include/string.h" 3 4
+
+# 235 "/usr/include/string.h" 3 4
+extern char *strchr (__const char *__s, int __c)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+# 262 "/usr/include/string.h" 3 4
+extern char *strrchr (__const char *__s, int __c)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+# 276 "/usr/include/string.h" 3 4
+extern char *strchrnul (__const char *__s, int __c)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern size_t strcspn (__const char *__s, __const char *__reject)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern size_t strspn (__const char *__s, __const char *__accept)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+# 314 "/usr/include/string.h" 3 4
+extern char *strpbrk (__const char *__s, __const char *__accept)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+# 342 "/usr/include/string.h" 3 4
+extern char *strstr (__const char *__haystack, __const char *__needle)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+extern char *__strtok_r (char *__restrict __s,
+    __const char *__restrict __delim,
+    char **__restrict __save_ptr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
+
+extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
+         char **__restrict __save_ptr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
+# 373 "/usr/include/string.h" 3 4
+extern char *strcasestr (__const char *__haystack, __const char *__needle)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+
+extern void *memmem (__const void *__haystack, size_t __haystacklen,
+       __const void *__needle, size_t __needlelen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+extern void *__mempcpy (void *__restrict __dest,
+   __const void *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+extern void *mempcpy (void *__restrict __dest,
+        __const void *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+extern size_t strlen (__const char *__s)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern size_t strnlen (__const char *__string, size_t __maxlen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern char *strerror (int __errnum) __attribute__ ((__nothrow__ , __leaf__));
+
+# 438 "/usr/include/string.h" 3 4
+extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern void bcopy (__const void *__src, void *__dest, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+# 489 "/usr/include/string.h" 3 4
+extern char *index (__const char *__s, int __c)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+# 517 "/usr/include/string.h" 3 4
+extern char *rindex (__const char *__s, int __c)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int ffs (int __i) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+extern int ffsl (long int __l) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+__extension__ extern int ffsll (long long int __ll)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+extern int strcasecmp (__const char *__s1, __const char *__s2)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+extern int strcasecmp_l (__const char *__s1, __const char *__s2,
+    __locale_t __loc)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+extern int strncasecmp_l (__const char *__s1, __const char *__s2,
+     size_t __n, __locale_t __loc)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
+
+
+
+
+
+extern char *strsep (char **__restrict __stringp,
+       __const char *__restrict __delim)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern char *strsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern char *__stpncpy (char *__restrict __dest,
+   __const char *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+extern char *stpncpy (char *__restrict __dest,
+        __const char *__restrict __src, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int strverscmp (__const char *__s1, __const char *__s2)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern char *strfry (char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+# 606 "/usr/include/string.h" 3 4
+extern char *basename (__const char *__filename) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+# 634 "/usr/include/string.h" 3 4
+# 1 "/usr/include/bits/string.h" 1 3 4
+# 635 "/usr/include/string.h" 2 3 4
+
+
+# 1 "/usr/include/bits/string2.h" 1 3 4
+# 394 "/usr/include/bits/string2.h" 3 4
+extern void *__rawmemchr (const void *__s, int __c);
+# 969 "/usr/include/bits/string2.h" 3 4
+extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
+extern __inline size_t
+__strcspn_c1 (__const char *__s, int __reject)
+{
+  register size_t __result = 0;
+  while (__s[__result] != '\0' && __s[__result] != __reject)
+    ++__result;
+  return __result;
+}
+
+extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1,
+         int __reject2);
+extern __inline size_t
+__strcspn_c2 (__const char *__s, int __reject1, int __reject2)
+{
+  register size_t __result = 0;
+  while (__s[__result] != '\0' && __s[__result] != __reject1
+  && __s[__result] != __reject2)
+    ++__result;
+  return __result;
+}
+
+extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1,
+         int __reject2, int __reject3);
+extern __inline size_t
+__strcspn_c3 (__const char *__s, int __reject1, int __reject2,
+       int __reject3)
+{
+  register size_t __result = 0;
+  while (__s[__result] != '\0' && __s[__result] != __reject1
+  && __s[__result] != __reject2 && __s[__result] != __reject3)
+    ++__result;
+  return __result;
+}
+# 1045 "/usr/include/bits/string2.h" 3 4
+extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
+extern __inline size_t
+__strspn_c1 (__const char *__s, int __accept)
+{
+  register size_t __result = 0;
+
+  while (__s[__result] == __accept)
+    ++__result;
+  return __result;
+}
+
+extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
+        int __accept2);
+extern __inline size_t
+__strspn_c2 (__const char *__s, int __accept1, int __accept2)
+{
+  register size_t __result = 0;
+
+  while (__s[__result] == __accept1 || __s[__result] == __accept2)
+    ++__result;
+  return __result;
+}
+
+extern __inline size_t __strspn_c3 (__const char *__s, int __accept1,
+        int __accept2, int __accept3);
+extern __inline size_t
+__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
+{
+  register size_t __result = 0;
+
+  while (__s[__result] == __accept1 || __s[__result] == __accept2
+  || __s[__result] == __accept3)
+    ++__result;
+  return __result;
+}
+# 1121 "/usr/include/bits/string2.h" 3 4
+extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1,
+         int __accept2);
+extern __inline char *
+__strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
+{
+
+  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
+    ++__s;
+  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
+}
+
+extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1,
+         int __accept2, int __accept3);
+extern __inline char *
+__strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
+       int __accept3)
+{
+
+  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
+  && *__s != __accept3)
+    ++__s;
+  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
+}
+# 1172 "/usr/include/bits/string2.h" 3 4
+extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
+extern __inline char *
+__strtok_r_1c (char *__s, char __sep, char **__nextp)
+{
+  char *__result;
+  if (__s == ((void *)0))
+    __s = *__nextp;
+  while (*__s == __sep)
+    ++__s;
+  __result = ((void *)0);
+  if (*__s != '\0')
+    {
+      __result = __s++;
+      while (*__s != '\0')
+ if (*__s++ == __sep)
+   {
+     __s[-1] = '\0';
+     break;
+   }
+    }
+  *__nextp = __s;
+  return __result;
+}
+# 1204 "/usr/include/bits/string2.h" 3 4
+extern char *__strsep_g (char **__stringp, __const char *__delim);
+# 1222 "/usr/include/bits/string2.h" 3 4
+extern __inline char *__strsep_1c (char **__s, char __reject);
+extern __inline char *
+__strsep_1c (char **__s, char __reject)
+{
+  register char *__retval = *__s;
+  if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0))
+    *(*__s)++ = '\0';
+  return __retval;
+}
+
+extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
+extern __inline char *
+__strsep_2c (char **__s, char __reject1, char __reject2)
+{
+  register char *__retval = *__s;
+  if (__retval != ((void *)0))
+    {
+      register char *__cp = __retval;
+      while (1)
+ {
+   if (*__cp == '\0')
+     {
+       __cp = ((void *)0);
+   break;
+     }
+   if (*__cp == __reject1 || *__cp == __reject2)
+     {
+       *__cp++ = '\0';
+       break;
+     }
+   ++__cp;
+ }
+      *__s = __cp;
+    }
+  return __retval;
+}
+
+extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
+       char __reject3);
+extern __inline char *
+__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
+{
+  register char *__retval = *__s;
+  if (__retval != ((void *)0))
+    {
+      register char *__cp = __retval;
+      while (1)
+ {
+   if (*__cp == '\0')
+     {
+       __cp = ((void *)0);
+   break;
+     }
+   if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
+     {
+       *__cp++ = '\0';
+       break;
+     }
+   ++__cp;
+ }
+      *__s = __cp;
+    }
+  return __retval;
+}
+# 1303 "/usr/include/bits/string2.h" 3 4
+extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__));
+# 1322 "/usr/include/bits/string2.h" 3 4
+extern char *__strndup (__const char *__string, size_t __n)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__));
+# 638 "/usr/include/string.h" 2 3 4
+
+
+
+
+# 1 "/usr/include/bits/string3.h" 1 3 4
+# 23 "/usr/include/bits/string3.h" 3 4
+extern void __warn_memset_zero_len (void) __attribute__((__warning__ ("memset used with constant zero length parameter; this could be due to transposed parameters")))
+                                                                                                   ;
+# 48 "/usr/include/bits/string3.h" 3 4
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) void *
+__attribute__ ((__nothrow__ , __leaf__)) memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __len)
+
+{
+  return __builtin___memcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0));
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) void *
+__attribute__ ((__nothrow__ , __leaf__)) memmove (void *__dest, __const void *__src, size_t __len)
+{
+  return __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0));
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) void *
+__attribute__ ((__nothrow__ , __leaf__)) mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __len)
+
+{
+  return __builtin___mempcpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 0));
+}
+# 76 "/usr/include/bits/string3.h" 3 4
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) void *
+__attribute__ ((__nothrow__ , __leaf__)) memset (void *__dest, int __ch, size_t __len)
+{
+  if (__builtin_constant_p (__len) && __len == 0
+      && (!__builtin_constant_p (__ch) || __ch != 0))
+    {
+      __warn_memset_zero_len ();
+      return __dest;
+    }
+  return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0));
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) void
+__attribute__ ((__nothrow__ , __leaf__)) bcopy (__const void *__src, void *__dest, size_t __len)
+{
+  (void) __builtin___memmove_chk (__dest, __src, __len, __builtin_object_size (__dest, 0));
+}
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) void
+__attribute__ ((__nothrow__ , __leaf__)) bzero (void *__dest, size_t __len)
+{
+  (void) __builtin___memset_chk (__dest, '\0', __len, __builtin_object_size (__dest, 0));
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) char *
+__attribute__ ((__nothrow__ , __leaf__)) strcpy (char *__restrict __dest, __const char *__restrict __src)
+{
+  return __builtin___strcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) char *
+__attribute__ ((__nothrow__ , __leaf__)) stpcpy (char *__restrict __dest, __const char *__restrict __src)
+{
+  return __builtin___stpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
+}
+
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) char *
+__attribute__ ((__nothrow__ , __leaf__)) strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __len)
+
+{
+  return __builtin___strncpy_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1));
+}
+
+
+extern char *__stpncpy_chk (char *__dest, __const char *__src, size_t __n,
+       size_t __destlen) __attribute__ ((__nothrow__ , __leaf__));
+extern char *__stpncpy_alias (char *__dest, __const char *__src, size_t __n) __asm__ ("" "stpncpy") __attribute__ ((__nothrow__ , __leaf__))
+
+                                 ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) char *
+__attribute__ ((__nothrow__ , __leaf__)) stpncpy (char *__dest, __const char *__src, size_t __n)
+{
+  if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1
+      && (!__builtin_constant_p (__n) || __n <= __builtin_object_size (__dest, 2 > 1)))
+    return __stpncpy_chk (__dest, __src, __n, __builtin_object_size (__dest, 2 > 1));
+  return __stpncpy_alias (__dest, __src, __n);
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) char *
+__attribute__ ((__nothrow__ , __leaf__)) strcat (char *__restrict __dest, __const char *__restrict __src)
+{
+  return __builtin___strcat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1));
+}
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) char *
+__attribute__ ((__nothrow__ , __leaf__)) strncat (char *__restrict __dest, __const char *__restrict __src, size_t __len)
+
+{
+  return __builtin___strncat_chk (__dest, __src, __len, __builtin_object_size (__dest, 2 > 1));
+}
+# 643 "/usr/include/string.h" 2 3 4
+
+
+
+
+# 27 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/strings.h" 1 3 4
+# 28 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/inttypes.h" 1 3 4
+# 28 "/usr/include/inttypes.h" 3 4
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stdint.h" 1 3 4
+
+
+# 1 "/usr/include/stdint.h" 1 3 4
+# 27 "/usr/include/stdint.h" 3 4
+# 1 "/usr/include/bits/wchar.h" 1 3 4
+# 28 "/usr/include/stdint.h" 2 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 29 "/usr/include/stdint.h" 2 3 4
+# 49 "/usr/include/stdint.h" 3 4
+typedef unsigned char uint8_t;
+typedef unsigned short int uint16_t;
+
+typedef unsigned int uint32_t;
+
+
+
+
+
+__extension__
+typedef unsigned long long int uint64_t;
+
+
+
+
+
+
+typedef signed char int_least8_t;
+typedef short int int_least16_t;
+typedef int int_least32_t;
+
+
+
+__extension__
+typedef long long int int_least64_t;
+
+
+
+typedef unsigned char uint_least8_t;
+typedef unsigned short int uint_least16_t;
+typedef unsigned int uint_least32_t;
+
+
+
+__extension__
+typedef unsigned long long int uint_least64_t;
+
+
+
+
+
+
+typedef signed char int_fast8_t;
+
+
+
+
+
+typedef int int_fast16_t;
+typedef int int_fast32_t;
+__extension__
+typedef long long int int_fast64_t;
+
+
+
+typedef unsigned char uint_fast8_t;
+
+
+
+
+
+typedef unsigned int uint_fast16_t;
+typedef unsigned int uint_fast32_t;
+__extension__
+typedef unsigned long long int uint_fast64_t;
+# 126 "/usr/include/stdint.h" 3 4
+typedef int intptr_t;
+
+
+typedef unsigned int uintptr_t;
+# 138 "/usr/include/stdint.h" 3 4
+__extension__
+typedef long long int intmax_t;
+__extension__
+typedef unsigned long long int uintmax_t;
+# 4 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stdint.h" 2 3 4
+# 29 "/usr/include/inttypes.h" 2 3 4
+
+
+
+
+
+
+typedef int __gwchar_t;
+# 274 "/usr/include/inttypes.h" 3 4
+
+# 288 "/usr/include/inttypes.h" 3 4
+typedef struct
+  {
+    long long int quot;
+    long long int rem;
+  } imaxdiv_t;
+
+
+
+
+
+extern intmax_t imaxabs (intmax_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
+      __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern intmax_t strtoimax (__const char *__restrict __nptr,
+      char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern uintmax_t strtoumax (__const char *__restrict __nptr,
+       char ** __restrict __endptr, int __base) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr,
+      __gwchar_t **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr,
+       __gwchar_t ** __restrict __endptr, int __base)
+     __attribute__ ((__nothrow__ , __leaf__));
+# 379 "/usr/include/inttypes.h" 3 4
+__extension__
+extern long long int __strtoll_internal (__const char *__restrict __nptr,
+      char **__restrict __endptr,
+      int __base, int __group)
+  __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern __inline intmax_t
+__attribute__ ((__nothrow__ , __leaf__)) strtoimax (__const char *__restrict nptr, char **__restrict endptr, int base)
+
+{
+  return __strtoll_internal (nptr, endptr, base, 0);
+}
+
+__extension__
+extern unsigned long long int __strtoull_internal (__const char *
+         __restrict __nptr,
+         char **
+         __restrict __endptr,
+         int __base,
+         int __group)
+  __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern __inline uintmax_t
+__attribute__ ((__nothrow__ , __leaf__)) strtoumax (__const char *__restrict nptr, char **__restrict endptr, int base)
+
+{
+  return __strtoull_internal (nptr, endptr, base, 0);
+}
+
+__extension__
+extern long long int __wcstoll_internal (__const __gwchar_t *
+      __restrict __nptr,
+      __gwchar_t **__restrict __endptr,
+      int __base, int __group)
+  __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern __inline intmax_t
+__attribute__ ((__nothrow__ , __leaf__)) wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)
+
+{
+  return __wcstoll_internal (nptr, endptr, base, 0);
+}
+
+
+__extension__
+extern unsigned long long int __wcstoull_internal (__const __gwchar_t *
+         __restrict __nptr,
+         __gwchar_t **
+         __restrict __endptr,
+         int __base,
+         int __group)
+  __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+extern __inline uintmax_t
+__attribute__ ((__nothrow__ , __leaf__)) wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)
+
+{
+  return __wcstoull_internal (nptr, endptr, base, 0);
+}
+
+
+
+
+
+# 29 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include-fixed/limits.h" 1 3 4
+# 34 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include-fixed/limits.h" 3 4
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include-fixed/syslimits.h" 1 3 4
+
+
+
+
+
+
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include-fixed/limits.h" 1 3 4
+# 169 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include-fixed/limits.h" 3 4
+# 1 "/usr/include/limits.h" 1 3 4
+# 145 "/usr/include/limits.h" 3 4
+# 1 "/usr/include/bits/posix1_lim.h" 1 3 4
+# 157 "/usr/include/bits/posix1_lim.h" 3 4
+# 1 "/usr/include/bits/local_lim.h" 1 3 4
+# 39 "/usr/include/bits/local_lim.h" 3 4
+# 1 "/usr/include/linux/limits.h" 1 3 4
+# 40 "/usr/include/bits/local_lim.h" 2 3 4
+# 158 "/usr/include/bits/posix1_lim.h" 2 3 4
+# 146 "/usr/include/limits.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/posix2_lim.h" 1 3 4
+# 150 "/usr/include/limits.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/xopen_lim.h" 1 3 4
+# 34 "/usr/include/bits/xopen_lim.h" 3 4
+# 1 "/usr/include/bits/stdio_lim.h" 1 3 4
+# 35 "/usr/include/bits/xopen_lim.h" 2 3 4
+# 154 "/usr/include/limits.h" 2 3 4
+# 170 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include-fixed/limits.h" 2 3 4
+# 8 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include-fixed/syslimits.h" 2 3 4
+# 35 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include-fixed/limits.h" 2 3 4
+# 30 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/time.h" 1 3 4
+# 30 "/usr/include/time.h" 3 4
+
+
+
+
+
+
+
+
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 39 "/usr/include/time.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/time.h" 1 3 4
+# 86 "/usr/include/bits/time.h" 3 4
+# 1 "/usr/include/bits/timex.h" 1 3 4
+# 24 "/usr/include/bits/timex.h" 3 4
+struct timex
+{
+  unsigned int modes;
+  long int offset;
+  long int freq;
+  long int maxerror;
+  long int esterror;
+  int status;
+  long int constant;
+  long int precision;
+  long int tolerance;
+  struct timeval time;
+  long int tick;
+
+  long int ppsfreq;
+  long int jitter;
+  int shift;
+  long int stabil;
+  long int jitcnt;
+  long int calcnt;
+  long int errcnt;
+  long int stbcnt;
+
+  int tai;
+
+
+  int :32; int :32; int :32; int :32;
+  int :32; int :32; int :32; int :32;
+  int :32; int :32; int :32;
+};
+# 87 "/usr/include/bits/time.h" 2 3 4
+
+
+
+
+extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __attribute__ ((__nothrow__ , __leaf__));
+
+
+# 43 "/usr/include/time.h" 2 3 4
+# 131 "/usr/include/time.h" 3 4
+
+
+struct tm
+{
+  int tm_sec;
+  int tm_min;
+  int tm_hour;
+  int tm_mday;
+  int tm_mon;
+  int tm_year;
+  int tm_wday;
+  int tm_yday;
+  int tm_isdst;
+
+
+  long int tm_gmtoff;
+  __const char *tm_zone;
+
+
+
+
+};
+
+
+
+
+
+
+
+
+struct itimerspec
+  {
+    struct timespec it_interval;
+    struct timespec it_value;
+  };
+
+
+struct sigevent;
+# 180 "/usr/include/time.h" 3 4
+
+
+
+extern clock_t clock (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern double difftime (time_t __time1, time_t __time0)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern size_t strftime (char *__restrict __s, size_t __maxsize,
+   __const char *__restrict __format,
+   __const struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern char *strptime (__const char *__restrict __s,
+         __const char *__restrict __fmt, struct tm *__tp)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
+     __const char *__restrict __format,
+     __const struct tm *__restrict __tp,
+     __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern char *strptime_l (__const char *__restrict __s,
+    __const char *__restrict __fmt, struct tm *__tp,
+    __locale_t __loc) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern struct tm *gmtime_r (__const time_t *__restrict __timer,
+       struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern struct tm *localtime_r (__const time_t *__restrict __timer,
+          struct tm *__restrict __tp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern char *asctime_r (__const struct tm *__restrict __tp,
+   char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern char *ctime_r (__const time_t *__restrict __timer,
+        char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern char *__tzname[2];
+extern int __daylight;
+extern long int __timezone;
+
+
+
+
+extern char *tzname[2];
+
+
+
+extern void tzset (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int daylight;
+extern long int timezone;
+
+
+
+
+
+extern int stime (__const time_t *__when) __attribute__ ((__nothrow__ , __leaf__));
+# 313 "/usr/include/time.h" 3 4
+extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int dysize (int __year) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+# 328 "/usr/include/time.h" 3 4
+extern int nanosleep (__const struct timespec *__requested_time,
+        struct timespec *__remaining);
+
+
+
+extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int clock_nanosleep (clockid_t __clock_id, int __flags,
+       __const struct timespec *__req,
+       struct timespec *__rem);
+
+
+extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int timer_create (clockid_t __clock_id,
+    struct sigevent *__restrict __evp,
+    timer_t *__restrict __timerid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int timer_settime (timer_t __timerid, int __flags,
+     __const struct itimerspec *__restrict __value,
+     struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ , __leaf__));
+# 390 "/usr/include/time.h" 3 4
+extern int getdate_err;
+# 399 "/usr/include/time.h" 3 4
+extern struct tm *getdate (__const char *__string);
+# 413 "/usr/include/time.h" 3 4
+extern int getdate_r (__const char *__restrict __string,
+        struct tm *__restrict __resbufp);
+
+
+
+# 31 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/ctype.h" 1 3 4
+# 30 "/usr/include/ctype.h" 3 4
+
+# 48 "/usr/include/ctype.h" 3 4
+enum
+{
+  _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
+  _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
+  _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
+  _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
+  _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
+  _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
+  _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
+  _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
+  _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
+  _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
+  _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
+  _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
+};
+# 81 "/usr/include/ctype.h" 3 4
+extern __const unsigned short int **__ctype_b_loc (void)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const));
+extern __const __int32_t **__ctype_tolower_loc (void)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const));
+extern __const __int32_t **__ctype_toupper_loc (void)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const));
+# 106 "/usr/include/ctype.h" 3 4
+
+
+
+
+
+
+extern int isalnum (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int isalpha (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int iscntrl (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int isdigit (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int islower (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int isgraph (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int isprint (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int ispunct (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int isspace (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int isupper (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int isxdigit (int) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int tolower (int __c) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int toupper (int __c) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+extern int isblank (int) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int isctype (int __c, int __mask) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int isascii (int __c) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int toascii (int __c) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int _toupper (int) __attribute__ ((__nothrow__ , __leaf__));
+extern int _tolower (int) __attribute__ ((__nothrow__ , __leaf__));
+# 216 "/usr/include/ctype.h" 3 4
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) tolower (int __c)
+{
+  return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
+}
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) toupper (int __c)
+{
+  return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c;
+}
+# 273 "/usr/include/ctype.h" 3 4
+extern int isalnum_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+extern int isalpha_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+extern int iscntrl_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+extern int isdigit_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+extern int islower_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+extern int isgraph_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+extern int isprint_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+extern int ispunct_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+extern int isspace_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+extern int isupper_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+extern int isxdigit_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+
+extern int isblank_l (int, __locale_t) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int __tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
+extern int tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int __toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
+extern int toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ , __leaf__));
+# 349 "/usr/include/ctype.h" 3 4
+
+# 32 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/errno.h" 1 3 4
+# 32 "/usr/include/errno.h" 3 4
+
+
+
+
+# 1 "/usr/include/bits/errno.h" 1 3 4
+# 25 "/usr/include/bits/errno.h" 3 4
+# 1 "/usr/include/linux/errno.h" 1 3 4
+
+
+
+# 1 "/usr/include/asm/errno.h" 1 3 4
+# 1 "/usr/include/asm-generic/errno.h" 1 3 4
+
+
+
+# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
+# 5 "/usr/include/asm-generic/errno.h" 2 3 4
+# 1 "/usr/include/asm/errno.h" 2 3 4
+# 5 "/usr/include/linux/errno.h" 2 3 4
+# 26 "/usr/include/bits/errno.h" 2 3 4
+# 47 "/usr/include/bits/errno.h" 3 4
+extern int *__errno_location (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+# 37 "/usr/include/errno.h" 2 3 4
+# 55 "/usr/include/errno.h" 3 4
+extern char *program_invocation_name, *program_invocation_short_name;
+
+
+
+
+# 69 "/usr/include/errno.h" 3 4
+typedef int error_t;
+# 33 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/unistd.h" 1 3 4
+# 28 "/usr/include/unistd.h" 3 4
+
+# 203 "/usr/include/unistd.h" 3 4
+# 1 "/usr/include/bits/posix_opt.h" 1 3 4
+# 204 "/usr/include/unistd.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/environments.h" 1 3 4
+# 208 "/usr/include/unistd.h" 2 3 4
+# 227 "/usr/include/unistd.h" 3 4
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 228 "/usr/include/unistd.h" 2 3 4
+# 275 "/usr/include/unistd.h" 3 4
+typedef __socklen_t socklen_t;
+# 288 "/usr/include/unistd.h" 3 4
+extern int access (__const char *__name, int __type) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int euidaccess (__const char *__name, int __type)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int eaccess (__const char *__name, int __type)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int faccessat (int __fd, __const char *__file, int __type, int __flag)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__));
+# 338 "/usr/include/unistd.h" 3 4
+extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) __asm__ ("" "lseek64") __attribute__ ((__nothrow__ , __leaf__))
+
+             ;
+
+
+
+
+
+extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int close (int __fd);
+
+
+
+
+
+
+extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern ssize_t write (int __fd, __const void *__buf, size_t __n) __attribute__ ((__warn_unused_result__));
+# 389 "/usr/include/unistd.h" 3 4
+extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64")
+
+               __attribute__ ((__warn_unused_result__));
+extern ssize_t pwrite (int __fd, __const void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pwrite64")
+
+                __attribute__ ((__warn_unused_result__));
+# 405 "/usr/include/unistd.h" 3 4
+extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
+   __off64_t __offset) __attribute__ ((__warn_unused_result__));
+
+
+extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
+    __off64_t __offset) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int pipe2 (int __pipedes[2], int __flags) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+# 433 "/usr/include/unistd.h" 3 4
+extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__ , __leaf__));
+# 445 "/usr/include/unistd.h" 3 4
+extern unsigned int sleep (unsigned int __seconds);
+
+
+
+
+
+
+
+extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int usleep (__useconds_t __useconds);
+# 470 "/usr/include/unistd.h" 3 4
+extern int pause (void);
+
+
+
+extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern int fchownat (int __fd, __const char *__file, __uid_t __owner,
+       __gid_t __group, int __flag)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__));
+
+
+
+extern int chdir (__const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+extern int fchdir (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+# 512 "/usr/include/unistd.h" 3 4
+extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern char *get_current_dir_name (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern char *getwd (char *__buf)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int dup (int __fd) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int dup3 (int __fd, int __fd2, int __flags) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern char **__environ;
+
+extern char **environ;
+
+
+
+
+
+extern int execve (__const char *__path, char *__const __argv[],
+     char *__const __envp[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[])
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+extern int execv (__const char *__path, char *__const __argv[])
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int execle (__const char *__path, __const char *__arg, ...)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int execl (__const char *__path, __const char *__arg, ...)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int execvp (__const char *__file, char *__const __argv[])
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int execlp (__const char *__file, __const char *__arg, ...)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int execvpe (__const char *__file, char *__const __argv[],
+      char *__const __envp[])
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+extern int nice (int __inc) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern void _exit (int __status) __attribute__ ((__noreturn__));
+
+
+
+
+
+# 1 "/usr/include/bits/confname.h" 1 3 4
+# 26 "/usr/include/bits/confname.h" 3 4
+enum
+  {
+    _PC_LINK_MAX,
+
+    _PC_MAX_CANON,
+
+    _PC_MAX_INPUT,
+
+    _PC_NAME_MAX,
+
+    _PC_PATH_MAX,
+
+    _PC_PIPE_BUF,
+
+    _PC_CHOWN_RESTRICTED,
+
+    _PC_NO_TRUNC,
+
+    _PC_VDISABLE,
+
+    _PC_SYNC_IO,
+
+    _PC_ASYNC_IO,
+
+    _PC_PRIO_IO,
+
+    _PC_SOCK_MAXBUF,
+
+    _PC_FILESIZEBITS,
+
+    _PC_REC_INCR_XFER_SIZE,
+
+    _PC_REC_MAX_XFER_SIZE,
+
+    _PC_REC_MIN_XFER_SIZE,
+
+    _PC_REC_XFER_ALIGN,
+
+    _PC_ALLOC_SIZE_MIN,
+
+    _PC_SYMLINK_MAX,
+
+    _PC_2_SYMLINKS
+
+  };
+
+
+enum
+  {
+    _SC_ARG_MAX,
+
+    _SC_CHILD_MAX,
+
+    _SC_CLK_TCK,
+
+    _SC_NGROUPS_MAX,
+
+    _SC_OPEN_MAX,
+
+    _SC_STREAM_MAX,
+
+    _SC_TZNAME_MAX,
+
+    _SC_JOB_CONTROL,
+
+    _SC_SAVED_IDS,
+
+    _SC_REALTIME_SIGNALS,
+
+    _SC_PRIORITY_SCHEDULING,
+
+    _SC_TIMERS,
+
+    _SC_ASYNCHRONOUS_IO,
+
+    _SC_PRIORITIZED_IO,
+
+    _SC_SYNCHRONIZED_IO,
+
+    _SC_FSYNC,
+
+    _SC_MAPPED_FILES,
+
+    _SC_MEMLOCK,
+
+    _SC_MEMLOCK_RANGE,
+
+    _SC_MEMORY_PROTECTION,
+
+    _SC_MESSAGE_PASSING,
+
+    _SC_SEMAPHORES,
+
+    _SC_SHARED_MEMORY_OBJECTS,
+
+    _SC_AIO_LISTIO_MAX,
+
+    _SC_AIO_MAX,
+
+    _SC_AIO_PRIO_DELTA_MAX,
+
+    _SC_DELAYTIMER_MAX,
+
+    _SC_MQ_OPEN_MAX,
+
+    _SC_MQ_PRIO_MAX,
+
+    _SC_VERSION,
+
+    _SC_PAGESIZE,
+
+
+    _SC_RTSIG_MAX,
+
+    _SC_SEM_NSEMS_MAX,
+
+    _SC_SEM_VALUE_MAX,
+
+    _SC_SIGQUEUE_MAX,
+
+    _SC_TIMER_MAX,
+
+
+
+
+    _SC_BC_BASE_MAX,
+
+    _SC_BC_DIM_MAX,
+
+    _SC_BC_SCALE_MAX,
+
+    _SC_BC_STRING_MAX,
+
+    _SC_COLL_WEIGHTS_MAX,
+
+    _SC_EQUIV_CLASS_MAX,
+
+    _SC_EXPR_NEST_MAX,
+
+    _SC_LINE_MAX,
+
+    _SC_RE_DUP_MAX,
+
+    _SC_CHARCLASS_NAME_MAX,
+
+
+    _SC_2_VERSION,
+
+    _SC_2_C_BIND,
+
+    _SC_2_C_DEV,
+
+    _SC_2_FORT_DEV,
+
+    _SC_2_FORT_RUN,
+
+    _SC_2_SW_DEV,
+
+    _SC_2_LOCALEDEF,
+
+
+    _SC_PII,
+
+    _SC_PII_XTI,
+
+    _SC_PII_SOCKET,
+
+    _SC_PII_INTERNET,
+
+    _SC_PII_OSI,
+
+    _SC_POLL,
+
+    _SC_SELECT,
+
+    _SC_UIO_MAXIOV,
+
+    _SC_IOV_MAX = _SC_UIO_MAXIOV,
+
+    _SC_PII_INTERNET_STREAM,
+
+    _SC_PII_INTERNET_DGRAM,
+
+    _SC_PII_OSI_COTS,
+
+    _SC_PII_OSI_CLTS,
+
+    _SC_PII_OSI_M,
+
+    _SC_T_IOV_MAX,
+
+
+
+    _SC_THREADS,
+
+    _SC_THREAD_SAFE_FUNCTIONS,
+
+    _SC_GETGR_R_SIZE_MAX,
+
+    _SC_GETPW_R_SIZE_MAX,
+
+    _SC_LOGIN_NAME_MAX,
+
+    _SC_TTY_NAME_MAX,
+
+    _SC_THREAD_DESTRUCTOR_ITERATIONS,
+
+    _SC_THREAD_KEYS_MAX,
+
+    _SC_THREAD_STACK_MIN,
+
+    _SC_THREAD_THREADS_MAX,
+
+    _SC_THREAD_ATTR_STACKADDR,
+
+    _SC_THREAD_ATTR_STACKSIZE,
+
+    _SC_THREAD_PRIORITY_SCHEDULING,
+
+    _SC_THREAD_PRIO_INHERIT,
+
+    _SC_THREAD_PRIO_PROTECT,
+
+    _SC_THREAD_PROCESS_SHARED,
+
+
+    _SC_NPROCESSORS_CONF,
+
+    _SC_NPROCESSORS_ONLN,
+
+    _SC_PHYS_PAGES,
+
+    _SC_AVPHYS_PAGES,
+
+    _SC_ATEXIT_MAX,
+
+    _SC_PASS_MAX,
+
+
+    _SC_XOPEN_VERSION,
+
+    _SC_XOPEN_XCU_VERSION,
+
+    _SC_XOPEN_UNIX,
+
+    _SC_XOPEN_CRYPT,
+
+    _SC_XOPEN_ENH_I18N,
+
+    _SC_XOPEN_SHM,
+
+
+    _SC_2_CHAR_TERM,
+
+    _SC_2_C_VERSION,
+
+    _SC_2_UPE,
+
+
+    _SC_XOPEN_XPG2,
+
+    _SC_XOPEN_XPG3,
+
+    _SC_XOPEN_XPG4,
+
+
+    _SC_CHAR_BIT,
+
+    _SC_CHAR_MAX,
+
+    _SC_CHAR_MIN,
+
+    _SC_INT_MAX,
+
+    _SC_INT_MIN,
+
+    _SC_LONG_BIT,
+
+    _SC_WORD_BIT,
+
+    _SC_MB_LEN_MAX,
+
+    _SC_NZERO,
+
+    _SC_SSIZE_MAX,
+
+    _SC_SCHAR_MAX,
+
+    _SC_SCHAR_MIN,
+
+    _SC_SHRT_MAX,
+
+    _SC_SHRT_MIN,
+
+    _SC_UCHAR_MAX,
+
+    _SC_UINT_MAX,
+
+    _SC_ULONG_MAX,
+
+    _SC_USHRT_MAX,
+
+
+    _SC_NL_ARGMAX,
+
+    _SC_NL_LANGMAX,
+
+    _SC_NL_MSGMAX,
+
+    _SC_NL_NMAX,
+
+    _SC_NL_SETMAX,
+
+    _SC_NL_TEXTMAX,
+
+
+    _SC_XBS5_ILP32_OFF32,
+
+    _SC_XBS5_ILP32_OFFBIG,
+
+    _SC_XBS5_LP64_OFF64,
+
+    _SC_XBS5_LPBIG_OFFBIG,
+
+
+    _SC_XOPEN_LEGACY,
+
+    _SC_XOPEN_REALTIME,
+
+    _SC_XOPEN_REALTIME_THREADS,
+
+
+    _SC_ADVISORY_INFO,
+
+    _SC_BARRIERS,
+
+    _SC_BASE,
+
+    _SC_C_LANG_SUPPORT,
+
+    _SC_C_LANG_SUPPORT_R,
+
+    _SC_CLOCK_SELECTION,
+
+    _SC_CPUTIME,
+
+    _SC_THREAD_CPUTIME,
+
+    _SC_DEVICE_IO,
+
+    _SC_DEVICE_SPECIFIC,
+
+    _SC_DEVICE_SPECIFIC_R,
+
+    _SC_FD_MGMT,
+
+    _SC_FIFO,
+
+    _SC_PIPE,
+
+    _SC_FILE_ATTRIBUTES,
+
+    _SC_FILE_LOCKING,
+
+    _SC_FILE_SYSTEM,
+
+    _SC_MONOTONIC_CLOCK,
+
+    _SC_MULTI_PROCESS,
+
+    _SC_SINGLE_PROCESS,
+
+    _SC_NETWORKING,
+
+    _SC_READER_WRITER_LOCKS,
+
+    _SC_SPIN_LOCKS,
+
+    _SC_REGEXP,
+
+    _SC_REGEX_VERSION,
+
+    _SC_SHELL,
+
+    _SC_SIGNALS,
+
+    _SC_SPAWN,
+
+    _SC_SPORADIC_SERVER,
+
+    _SC_THREAD_SPORADIC_SERVER,
+
+    _SC_SYSTEM_DATABASE,
+
+    _SC_SYSTEM_DATABASE_R,
+
+    _SC_TIMEOUTS,
+
+    _SC_TYPED_MEMORY_OBJECTS,
+
+    _SC_USER_GROUPS,
+
+    _SC_USER_GROUPS_R,
+
+    _SC_2_PBS,
+
+    _SC_2_PBS_ACCOUNTING,
+
+    _SC_2_PBS_LOCATE,
+
+    _SC_2_PBS_MESSAGE,
+
+    _SC_2_PBS_TRACK,
+
+    _SC_SYMLOOP_MAX,
+
+    _SC_STREAMS,
+
+    _SC_2_PBS_CHECKPOINT,
+
+
+    _SC_V6_ILP32_OFF32,
+
+    _SC_V6_ILP32_OFFBIG,
+
+    _SC_V6_LP64_OFF64,
+
+    _SC_V6_LPBIG_OFFBIG,
+
+
+    _SC_HOST_NAME_MAX,
+
+    _SC_TRACE,
+
+    _SC_TRACE_EVENT_FILTER,
+
+    _SC_TRACE_INHERIT,
+
+    _SC_TRACE_LOG,
+
+
+    _SC_LEVEL1_ICACHE_SIZE,
+
+    _SC_LEVEL1_ICACHE_ASSOC,
+
+    _SC_LEVEL1_ICACHE_LINESIZE,
+
+    _SC_LEVEL1_DCACHE_SIZE,
+
+    _SC_LEVEL1_DCACHE_ASSOC,
+
+    _SC_LEVEL1_DCACHE_LINESIZE,
+
+    _SC_LEVEL2_CACHE_SIZE,
+
+    _SC_LEVEL2_CACHE_ASSOC,
+
+    _SC_LEVEL2_CACHE_LINESIZE,
+
+    _SC_LEVEL3_CACHE_SIZE,
+
+    _SC_LEVEL3_CACHE_ASSOC,
+
+    _SC_LEVEL3_CACHE_LINESIZE,
+
+    _SC_LEVEL4_CACHE_SIZE,
+
+    _SC_LEVEL4_CACHE_ASSOC,
+
+    _SC_LEVEL4_CACHE_LINESIZE,
+
+
+
+    _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
+
+    _SC_RAW_SOCKETS,
+
+
+    _SC_V7_ILP32_OFF32,
+
+    _SC_V7_ILP32_OFFBIG,
+
+    _SC_V7_LP64_OFF64,
+
+    _SC_V7_LPBIG_OFFBIG,
+
+
+    _SC_SS_REPL_MAX,
+
+
+    _SC_TRACE_EVENT_NAME_MAX,
+
+    _SC_TRACE_NAME_MAX,
+
+    _SC_TRACE_SYS_MAX,
+
+    _SC_TRACE_USER_EVENT_MAX,
+
+
+    _SC_XOPEN_STREAMS,
+
+
+    _SC_THREAD_ROBUST_PRIO_INHERIT,
+
+    _SC_THREAD_ROBUST_PRIO_PROTECT
+
+  };
+
+
+enum
+  {
+    _CS_PATH,
+
+
+    _CS_V6_WIDTH_RESTRICTED_ENVS,
+
+
+
+    _CS_GNU_LIBC_VERSION,
+
+    _CS_GNU_LIBPTHREAD_VERSION,
+
+
+    _CS_V5_WIDTH_RESTRICTED_ENVS,
+
+
+
+    _CS_V7_WIDTH_RESTRICTED_ENVS,
+
+
+
+    _CS_LFS_CFLAGS = 1000,
+
+    _CS_LFS_LDFLAGS,
+
+    _CS_LFS_LIBS,
+
+    _CS_LFS_LINTFLAGS,
+
+    _CS_LFS64_CFLAGS,
+
+    _CS_LFS64_LDFLAGS,
+
+    _CS_LFS64_LIBS,
+
+    _CS_LFS64_LINTFLAGS,
+
+
+    _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
+
+    _CS_XBS5_ILP32_OFF32_LDFLAGS,
+
+    _CS_XBS5_ILP32_OFF32_LIBS,
+
+    _CS_XBS5_ILP32_OFF32_LINTFLAGS,
+
+    _CS_XBS5_ILP32_OFFBIG_CFLAGS,
+
+    _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
+
+    _CS_XBS5_ILP32_OFFBIG_LIBS,
+
+    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
+
+    _CS_XBS5_LP64_OFF64_CFLAGS,
+
+    _CS_XBS5_LP64_OFF64_LDFLAGS,
+
+    _CS_XBS5_LP64_OFF64_LIBS,
+
+    _CS_XBS5_LP64_OFF64_LINTFLAGS,
+
+    _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
+
+    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
+
+    _CS_XBS5_LPBIG_OFFBIG_LIBS,
+
+    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
+
+
+    _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
+
+    _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
+
+    _CS_POSIX_V6_ILP32_OFF32_LIBS,
+
+    _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
+
+    _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
+
+    _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
+
+    _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
+
+    _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
+
+    _CS_POSIX_V6_LP64_OFF64_CFLAGS,
+
+    _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
+
+    _CS_POSIX_V6_LP64_OFF64_LIBS,
+
+    _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
+
+    _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
+
+    _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
+
+    _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
+
+    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
+
+
+    _CS_POSIX_V7_ILP32_OFF32_CFLAGS,
+
+    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
+
+    _CS_POSIX_V7_ILP32_OFF32_LIBS,
+
+    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
+
+    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
+
+    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
+
+    _CS_POSIX_V7_ILP32_OFFBIG_LIBS,
+
+    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
+
+    _CS_POSIX_V7_LP64_OFF64_CFLAGS,
+
+    _CS_POSIX_V7_LP64_OFF64_LDFLAGS,
+
+    _CS_POSIX_V7_LP64_OFF64_LIBS,
+
+    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
+
+    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
+
+    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
+
+    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
+
+    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS,
+
+
+    _CS_V6_ENV,
+
+    _CS_V7_ENV
+
+  };
+# 611 "/usr/include/unistd.h" 2 3 4
+
+
+extern long int pathconf (__const char *__path, int __name)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern long int sysconf (int __name) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern __pid_t getpid (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern __pid_t getppid (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern __pid_t getpgrp (void) __attribute__ ((__nothrow__ , __leaf__));
+# 647 "/usr/include/unistd.h" 3 4
+extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__));
+
+extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__ , __leaf__));
+# 673 "/usr/include/unistd.h" 3 4
+extern int setpgrp (void) __attribute__ ((__nothrow__ , __leaf__));
+# 690 "/usr/include/unistd.h" 3 4
+extern __pid_t setsid (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern __uid_t getuid (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern __uid_t geteuid (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern __gid_t getgid (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern __gid_t getegid (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+extern int group_member (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern __pid_t fork (void) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+extern __pid_t vfork (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern char *ttyname (int __fd) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__));
+
+
+
+extern int isatty (int __fd) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern int ttyslot (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int link (__const char *__from, __const char *__to)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int linkat (int __fromfd, __const char *__from, int __tofd,
+     __const char *__to, int __flags)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int symlink (__const char *__from, __const char *__to)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern ssize_t readlink (__const char *__restrict __path,
+    char *__restrict __buf, size_t __len)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+extern int symlinkat (__const char *__from, int __tofd,
+        __const char *__to) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3))) __attribute__ ((__warn_unused_result__));
+
+
+extern ssize_t readlinkat (int __fd, __const char *__restrict __path,
+      char *__restrict __buf, size_t __len)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__));
+
+
+
+extern int unlink (__const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int unlinkat (int __fd, __const char *__name, int __flag)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+extern int rmdir (__const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern char *getlogin (void);
+
+
+
+
+
+
+
+extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int setlogin (__const char *__name) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+# 894 "/usr/include/unistd.h" 3 4
+# 1 "/usr/include/getopt.h" 1 3 4
+# 59 "/usr/include/getopt.h" 3 4
+extern char *optarg;
+# 73 "/usr/include/getopt.h" 3 4
+extern int optind;
+
+
+
+
+extern int opterr;
+
+
+
+extern int optopt;
+# 152 "/usr/include/getopt.h" 3 4
+extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
+       __attribute__ ((__nothrow__ , __leaf__));
+# 895 "/usr/include/unistd.h" 2 3 4
+
+
+
+
+
+
+
+extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int sethostname (__const char *__name, size_t __len)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+extern int sethostid (long int __id) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int getdomainname (char *__name, size_t __len)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+extern int setdomainname (__const char *__name, size_t __len)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int vhangup (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int revoke (__const char *__file) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+
+extern int profil (unsigned short int *__sample_buffer, size_t __size,
+     size_t __offset, unsigned int __scale)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int acct (__const char *__name) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern char *getusershell (void) __attribute__ ((__nothrow__ , __leaf__));
+extern void endusershell (void) __attribute__ ((__nothrow__ , __leaf__));
+extern void setusershell (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern int chroot (__const char *__path) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1)));
+# 980 "/usr/include/unistd.h" 3 4
+extern int fsync (int __fd);
+
+
+
+
+
+
+extern int syncfs (int __fd) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern long int gethostid (void);
+
+
+extern void sync (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern int getpagesize (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+
+
+extern int getdtablesize (void) __attribute__ ((__nothrow__ , __leaf__));
+# 1022 "/usr/include/unistd.h" 3 4
+extern int truncate (__const char *__file, __off64_t __length) __asm__ ("" "truncate64") __attribute__ ((__nothrow__ , __leaf__))
+
+                  __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int truncate64 (__const char *__file, __off64_t __length)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+# 1043 "/usr/include/unistd.h" 3 4
+extern int ftruncate (int __fd, __off64_t __length) __asm__ ("" "ftruncate64") __attribute__ ((__nothrow__ , __leaf__))
+                   __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int ftruncate64 (int __fd, __off64_t __length) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+# 1061 "/usr/include/unistd.h" 3 4
+extern int brk (void *__addr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__ , __leaf__));
+# 1082 "/usr/include/unistd.h" 3 4
+extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__ , __leaf__));
+# 1108 "/usr/include/unistd.h" 3 4
+extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64")
+                  __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+extern int lockf64 (int __fd, int __cmd, __off64_t __len) __attribute__ ((__warn_unused_result__));
+# 1136 "/usr/include/unistd.h" 3 4
+extern int fdatasync (int __fildes);
+
+
+
+
+
+
+
+extern char *crypt (__const char *__key, __const char *__salt)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern void encrypt (char *__block, int __edflag) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern void swab (__const void *__restrict __from, void *__restrict __to,
+    ssize_t __n) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+
+extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+# 1 "/usr/include/bits/unistd.h" 1 3 4
+# 24 "/usr/include/bits/unistd.h" 3 4
+extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes,
+      size_t __buflen) __attribute__ ((__warn_unused_result__));
+extern ssize_t __read_alias (int __fd, void *__buf, size_t __nbytes) __asm__ ("" "read")
+                               __attribute__ ((__warn_unused_result__));
+extern ssize_t __read_chk_warn (int __fd, void *__buf, size_t __nbytes, size_t __buflen) __asm__ ("" "__read_chk")
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("read called with bigger length than size of " "the destination buffer")))
+                                  ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t
+read (int __fd, void *__buf, size_t __nbytes)
+{
+  if (__builtin_object_size (__buf, 0) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__nbytes))
+ return __read_chk (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0));
+
+      if (__nbytes > __builtin_object_size (__buf, 0))
+ return __read_chk_warn (__fd, __buf, __nbytes, __builtin_object_size (__buf, 0));
+    }
+  return __read_alias (__fd, __buf, __nbytes);
+}
+
+
+extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes,
+       __off_t __offset, size_t __bufsize) __attribute__ ((__warn_unused_result__));
+extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes,
+         __off64_t __offset, size_t __bufsize) __attribute__ ((__warn_unused_result__));
+extern ssize_t __pread_alias (int __fd, void *__buf, size_t __nbytes, __off_t __offset) __asm__ ("" "pread")
+
+                                 __attribute__ ((__warn_unused_result__));
+extern ssize_t __pread64_alias (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64")
+
+                                     __attribute__ ((__warn_unused_result__));
+extern ssize_t __pread_chk_warn (int __fd, void *__buf, size_t __nbytes, __off_t __offset, size_t __bufsize) __asm__ ("" "__pread_chk")
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread called with bigger length than size of " "the destination buffer")))
+                                  ;
+extern ssize_t __pread64_chk_warn (int __fd, void *__buf, size_t __nbytes, __off64_t __offset, size_t __bufsize) __asm__ ("" "__pread64_chk")
+
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("pread64 called with bigger length than size of " "the destination buffer")))
+                                  ;
+# 87 "/usr/include/bits/unistd.h" 3 4
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t
+pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
+{
+  if (__builtin_object_size (__buf, 0) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__nbytes))
+ return __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0));
+
+      if ( __nbytes > __builtin_object_size (__buf, 0))
+ return __pread64_chk_warn (__fd, __buf, __nbytes, __offset,
+       __builtin_object_size (__buf, 0));
+    }
+
+  return __pread64_alias (__fd, __buf, __nbytes, __offset);
+}
+
+
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) ssize_t
+pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
+{
+  if (__builtin_object_size (__buf, 0) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__nbytes))
+ return __pread64_chk (__fd, __buf, __nbytes, __offset, __builtin_object_size (__buf, 0));
+
+      if ( __nbytes > __builtin_object_size (__buf, 0))
+ return __pread64_chk_warn (__fd, __buf, __nbytes, __offset,
+       __builtin_object_size (__buf, 0));
+    }
+
+  return __pread64_alias (__fd, __buf, __nbytes, __offset);
+}
+
+
+
+
+extern ssize_t __readlink_chk (__const char *__restrict __path,
+          char *__restrict __buf, size_t __len,
+          size_t __buflen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__));
+extern ssize_t __readlink_alias (__const char *__restrict __path, char *__restrict __buf, size_t __len) __asm__ ("" "readlink") __attribute__ ((__nothrow__ , __leaf__))
+
+
+     __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__));
+extern ssize_t __readlink_chk_warn (__const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) __asm__ ("" "__readlink_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+
+     __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlink called with bigger length " "than size of destination buffer")))
+                                         ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__warn_unused_result__)) ssize_t
+__attribute__ ((__nothrow__ , __leaf__)) readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len)
+
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__len))
+ return __readlink_chk (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1));
+
+      if ( __len > __builtin_object_size (__buf, 2 > 1))
+ return __readlink_chk_warn (__path, __buf, __len, __builtin_object_size (__buf, 2 > 1));
+    }
+  return __readlink_alias (__path, __buf, __len);
+}
+
+
+
+extern ssize_t __readlinkat_chk (int __fd, __const char *__restrict __path,
+     char *__restrict __buf, size_t __len,
+     size_t __buflen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__));
+extern ssize_t __readlinkat_alias (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len) __asm__ ("" "readlinkat") __attribute__ ((__nothrow__ , __leaf__))
+
+
+
+     __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__));
+extern ssize_t __readlinkat_chk_warn (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len, size_t __buflen) __asm__ ("" "__readlinkat_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+
+     __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("readlinkat called with bigger " "length than size of destination " "buffer")))
+
+                ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (2, 3))) __attribute__ ((__warn_unused_result__)) ssize_t
+__attribute__ ((__nothrow__ , __leaf__)) readlinkat (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len)
+
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__len))
+ return __readlinkat_chk (__fd, __path, __buf, __len, __builtin_object_size (__buf, 2 > 1));
+
+      if (__len > __builtin_object_size (__buf, 2 > 1))
+ return __readlinkat_chk_warn (__fd, __path, __buf, __len,
+          __builtin_object_size (__buf, 2 > 1));
+    }
+  return __readlinkat_alias (__fd, __path, __buf, __len);
+}
+
+
+extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+extern char *__getcwd_alias (char *__buf, size_t __size) __asm__ ("" "getcwd") __attribute__ ((__nothrow__ , __leaf__))
+                                              __attribute__ ((__warn_unused_result__));
+extern char *__getcwd_chk_warn (char *__buf, size_t __size, size_t __buflen) __asm__ ("" "__getcwd_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getcwd caller with bigger length than size of " "destination buffer")))
+                              ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
+__attribute__ ((__nothrow__ , __leaf__)) getcwd (char *__buf, size_t __size)
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__size))
+ return __getcwd_chk (__buf, __size, __builtin_object_size (__buf, 2 > 1));
+
+      if (__size > __builtin_object_size (__buf, 2 > 1))
+ return __getcwd_chk_warn (__buf, __size, __builtin_object_size (__buf, 2 > 1));
+    }
+  return __getcwd_alias (__buf, __size);
+}
+
+
+extern char *__getwd_chk (char *__buf, size_t buflen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+extern char *__getwd_warn (char *__buf) __asm__ ("" "getwd") __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use getcwd instead, as getwd " "doesn't specify buffer size")))
+                                         ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) __attribute__ ((__warn_unused_result__)) char *
+__attribute__ ((__nothrow__ , __leaf__)) getwd (char *__buf)
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    return __getwd_chk (__buf, __builtin_object_size (__buf, 2 > 1));
+  return __getwd_warn (__buf);
+}
+
+
+extern size_t __confstr_chk (int __name, char *__buf, size_t __len,
+        size_t __buflen) __attribute__ ((__nothrow__ , __leaf__));
+extern size_t __confstr_alias (int __name, char *__buf, size_t __len) __asm__ ("" "confstr") __attribute__ ((__nothrow__ , __leaf__))
+                             ;
+extern size_t __confstr_chk_warn (int __name, char *__buf, size_t __len, size_t __buflen) __asm__ ("" "__confstr_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+     __attribute__((__warning__ ("confstr called with bigger length than size of destination " "buffer")))
+            ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) size_t
+__attribute__ ((__nothrow__ , __leaf__)) confstr (int __name, char *__buf, size_t __len)
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__len))
+ return __confstr_chk (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1));
+
+      if (__builtin_object_size (__buf, 2 > 1) < __len)
+ return __confstr_chk_warn (__name, __buf, __len, __builtin_object_size (__buf, 2 > 1));
+    }
+  return __confstr_alias (__name, __buf, __len);
+}
+
+
+extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+extern int __getgroups_alias (int __size, __gid_t __list[]) __asm__ ("" "getgroups") __attribute__ ((__nothrow__ , __leaf__))
+                 __attribute__ ((__warn_unused_result__));
+extern int __getgroups_chk_warn (int __size, __gid_t __list[], size_t __listlen) __asm__ ("" "__getgroups_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+     __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getgroups called with bigger group count than what " "can fit into destination buffer")))
+                                           ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) getgroups (int __size, __gid_t __list[])
+{
+  if (__builtin_object_size (__list, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__size) || __size < 0)
+ return __getgroups_chk (__size, __list, __builtin_object_size (__list, 2 > 1));
+
+      if (__size * sizeof (__gid_t) > __builtin_object_size (__list, 2 > 1))
+ return __getgroups_chk_warn (__size, __list, __builtin_object_size (__list, 2 > 1));
+    }
+  return __getgroups_alias (__size, __list);
+}
+
+
+extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen,
+       size_t __nreal) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+extern int __ttyname_r_alias (int __fd, char *__buf, size_t __buflen) __asm__ ("" "ttyname_r") __attribute__ ((__nothrow__ , __leaf__))
+
+     __attribute__ ((__nonnull__ (2)));
+extern int __ttyname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__ttyname_r_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+     __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ttyname_r called with bigger buflen than " "size of destination buffer")))
+                                  ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) ttyname_r (int __fd, char *__buf, size_t __buflen)
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__buflen))
+ return __ttyname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+
+      if (__buflen > __builtin_object_size (__buf, 2 > 1))
+ return __ttyname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+    }
+  return __ttyname_r_alias (__fd, __buf, __buflen);
+}
+
+
+
+extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)
+     __attribute__ ((__nonnull__ (1)));
+extern int __getlogin_r_alias (char *__buf, size_t __buflen) __asm__ ("" "getlogin_r")
+                     __attribute__ ((__nonnull__ (1)));
+extern int __getlogin_r_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__getlogin_r_chk")
+
+
+     __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("getlogin_r called with bigger buflen than " "size of destination buffer")))
+                                  ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+getlogin_r (char *__buf, size_t __buflen)
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__buflen))
+ return __getlogin_r_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+
+      if (__buflen > __builtin_object_size (__buf, 2 > 1))
+ return __getlogin_r_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+    }
+  return __getlogin_r_alias (__buf, __buflen);
+}
+
+
+
+
+extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+extern int __gethostname_alias (char *__buf, size_t __buflen) __asm__ ("" "gethostname") __attribute__ ((__nothrow__ , __leaf__))
+                   __attribute__ ((__nonnull__ (1)));
+extern int __gethostname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__gethostname_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+     __attribute__ ((__nonnull__ (1))) __attribute__((__warning__ ("gethostname called with bigger buflen than " "size of destination buffer")))
+                                  ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) gethostname (char *__buf, size_t __buflen)
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__buflen))
+ return __gethostname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+
+      if (__buflen > __builtin_object_size (__buf, 2 > 1))
+ return __gethostname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+    }
+  return __gethostname_alias (__buf, __buflen);
+}
+
+
+
+
+extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+extern int __getdomainname_alias (char *__buf, size_t __buflen) __asm__ ("" "getdomainname") __attribute__ ((__nothrow__ , __leaf__))
+
+                     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
+extern int __getdomainname_chk_warn (char *__buf, size_t __buflen, size_t __nreal) __asm__ ("" "__getdomainname_chk") __attribute__ ((__nothrow__ , __leaf__))
+
+
+     __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("getdomainname called with bigger " "buflen than size of destination " "buffer")))
+
+                    ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+__attribute__ ((__nothrow__ , __leaf__)) getdomainname (char *__buf, size_t __buflen)
+{
+  if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
+    {
+      if (!__builtin_constant_p (__buflen))
+ return __getdomainname_chk (__buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+
+      if (__buflen > __builtin_object_size (__buf, 2 > 1))
+ return __getdomainname_chk_warn (__buf, __buflen, __builtin_object_size (__buf, 2 > 1));
+    }
+  return __getdomainname_alias (__buf, __buflen);
+}
+# 1172 "/usr/include/unistd.h" 2 3 4
+
+
+
+# 34 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/fcntl.h" 1 3 4
+# 30 "/usr/include/fcntl.h" 3 4
+
+
+
+
+# 1 "/usr/include/bits/fcntl.h" 1 3 4
+# 27 "/usr/include/bits/fcntl.h" 3 4
+# 1 "/usr/include/bits/uio.h" 1 3 4
+# 44 "/usr/include/bits/uio.h" 3 4
+struct iovec
+  {
+    void *iov_base;
+    size_t iov_len;
+  };
+# 28 "/usr/include/bits/fcntl.h" 2 3 4
+# 153 "/usr/include/bits/fcntl.h" 3 4
+struct flock
+  {
+    short int l_type;
+    short int l_whence;
+
+
+
+
+    __off64_t l_start;
+    __off64_t l_len;
+
+    __pid_t l_pid;
+  };
+
+
+struct flock64
+  {
+    short int l_type;
+    short int l_whence;
+    __off64_t l_start;
+    __off64_t l_len;
+    __pid_t l_pid;
+  };
+
+
+
+
+enum __pid_type
+  {
+    F_OWNER_TID = 0,
+    F_OWNER_PID,
+    F_OWNER_PGRP,
+    F_OWNER_GID = F_OWNER_PGRP
+  };
+
+
+struct f_owner_ex
+  {
+    enum __pid_type type;
+    __pid_t pid;
+  };
+# 239 "/usr/include/bits/fcntl.h" 3 4
+struct file_handle
+{
+  unsigned int handle_bytes;
+  int handle_type;
+
+  unsigned char f_handle[0];
+};
+
+
+
+
+
+
+
+
+
+
+extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
+    __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
+       unsigned int __flags);
+
+
+
+
+
+
+extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
+    size_t __count, unsigned int __flags);
+
+
+
+
+
+extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
+         __off64_t *__offout, size_t __len,
+         unsigned int __flags);
+
+
+
+
+
+extern ssize_t tee (int __fdin, int __fdout, size_t __len,
+      unsigned int __flags);
+# 295 "/usr/include/bits/fcntl.h" 3 4
+extern int fallocate (int __fd, int __mode, __off64_t __offset, __off64_t __len) __asm__ ("" "fallocate64")
+
+                     ;
+
+
+
+
+
+extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
+   __off64_t __len);
+
+
+
+
+extern int name_to_handle_at (int __dfd, const char *__name,
+         struct file_handle *__handle, int *__mnt_id,
+         int __flags) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
+         int __flags);
+
+
+
+
+# 35 "/usr/include/fcntl.h" 2 3 4
+
+
+
+
+
+
+# 1 "/usr/include/bits/stat.h" 1 3 4
+# 39 "/usr/include/bits/stat.h" 3 4
+struct stat
+  {
+    __dev_t st_dev;
+    unsigned short int __pad1;
+
+
+
+    __ino_t __st_ino;
+
+    __mode_t st_mode;
+    __nlink_t st_nlink;
+    __uid_t st_uid;
+    __gid_t st_gid;
+    __dev_t st_rdev;
+    unsigned short int __pad2;
+
+
+
+    __off64_t st_size;
+
+    __blksize_t st_blksize;
+
+
+
+
+    __blkcnt64_t st_blocks;
+# 73 "/usr/include/bits/stat.h" 3 4
+    struct timespec st_atim;
+    struct timespec st_mtim;
+    struct timespec st_ctim;
+# 91 "/usr/include/bits/stat.h" 3 4
+    __ino64_t st_ino;
+
+  };
+
+
+struct stat64
+  {
+    __dev_t st_dev;
+    unsigned int __pad1;
+
+    __ino_t __st_ino;
+    __mode_t st_mode;
+    __nlink_t st_nlink;
+    __uid_t st_uid;
+    __gid_t st_gid;
+    __dev_t st_rdev;
+    unsigned int __pad2;
+    __off64_t st_size;
+    __blksize_t st_blksize;
+
+    __blkcnt64_t st_blocks;
+
+
+
+
+
+
+
+    struct timespec st_atim;
+    struct timespec st_mtim;
+    struct timespec st_ctim;
+# 130 "/usr/include/bits/stat.h" 3 4
+    __ino64_t st_ino;
+  };
+# 42 "/usr/include/fcntl.h" 2 3 4
+# 125 "/usr/include/fcntl.h" 3 4
+extern int fcntl (int __fd, int __cmd, ...);
+# 137 "/usr/include/fcntl.h" 3 4
+extern int open (__const char *__file, int __oflag, ...) __asm__ ("" "open64")
+     __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int open64 (__const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));
+# 162 "/usr/include/fcntl.h" 3 4
+extern int openat (int __fd, __const char *__file, int __oflag, ...) __asm__ ("" "openat64")
+                    __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+extern int openat64 (int __fd, __const char *__file, int __oflag, ...)
+     __attribute__ ((__nonnull__ (2)));
+# 183 "/usr/include/fcntl.h" 3 4
+extern int creat (__const char *__file, __mode_t __mode) __asm__ ("" "creat64")
+                  __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int creat64 (__const char *__file, __mode_t __mode) __attribute__ ((__nonnull__ (1)));
+# 230 "/usr/include/fcntl.h" 3 4
+extern int posix_fadvise (int __fd, __off64_t __offset, __off64_t __len, int __advise) __asm__ ("" "posix_fadvise64") __attribute__ ((__nothrow__ , __leaf__))
+
+                      ;
+
+
+
+
+
+extern int posix_fadvise64 (int __fd, __off64_t __offset, __off64_t __len,
+       int __advise) __attribute__ ((__nothrow__ , __leaf__));
+# 251 "/usr/include/fcntl.h" 3 4
+extern int posix_fallocate (int __fd, __off64_t __offset, __off64_t __len) __asm__ ("" "posix_fallocate64")
+
+                           ;
+
+
+
+
+
+extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len);
+
+
+
+
+
+
+
+# 1 "/usr/include/bits/fcntl2.h" 1 3 4
+# 31 "/usr/include/bits/fcntl2.h" 3 4
+extern int __open_2 (__const char *__path, int __oflag) __asm__ ("" "__open64_2")
+                     __attribute__ ((__nonnull__ (1)));
+extern int __open_alias (__const char *__path, int __oflag, ...) __asm__ ("" "open64")
+                 __attribute__ ((__nonnull__ (1)));
+
+extern void __open_too_many_args (void) __attribute__((__error__ ("open can be called either with 2 or 3 arguments, not more")))
+                                                                  ;
+extern void __open_missing_mode (void) __attribute__((__error__ ("open with O_CREAT in second argument needs 3 arguments")))
+                                                               ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+open (__const char *__path, int __oflag, ...)
+{
+  if (__builtin_va_arg_pack_len () > 1)
+    __open_too_many_args ();
+
+  if (__builtin_constant_p (__oflag))
+    {
+      if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1)
+ {
+   __open_missing_mode ();
+   return __open_2 (__path, __oflag);
+ }
+      return __open_alias (__path, __oflag, __builtin_va_arg_pack ());
+    }
+
+  if (__builtin_va_arg_pack_len () < 1)
+    return __open_2 (__path, __oflag);
+
+  return __open_alias (__path, __oflag, __builtin_va_arg_pack ());
+}
+
+
+
+extern int __open64_2 (__const char *__path, int __oflag) __attribute__ ((__nonnull__ (1)));
+extern int __open64_alias (__const char *__path, int __oflag, ...) __asm__ ("" "open64")
+                   __attribute__ ((__nonnull__ (1)));
+extern void __open64_too_many_args (void) __attribute__((__error__ ("open64 can be called either with 2 or 3 arguments, not more")))
+                                                                    ;
+extern void __open64_missing_mode (void) __attribute__((__error__ ("open64 with O_CREAT in second argument needs 3 arguments")))
+                                                                 ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+open64 (__const char *__path, int __oflag, ...)
+{
+  if (__builtin_va_arg_pack_len () > 1)
+    __open64_too_many_args ();
+
+  if (__builtin_constant_p (__oflag))
+    {
+      if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1)
+ {
+   __open64_missing_mode ();
+   return __open64_2 (__path, __oflag);
+ }
+      return __open64_alias (__path, __oflag, __builtin_va_arg_pack ());
+    }
+
+  if (__builtin_va_arg_pack_len () < 1)
+    return __open64_2 (__path, __oflag);
+
+  return __open64_alias (__path, __oflag, __builtin_va_arg_pack ());
+}
+# 105 "/usr/include/bits/fcntl2.h" 3 4
+extern int __openat_2 (int __fd, __const char *__path, int __oflag) __asm__ ("" "__openat64_2")
+
+     __attribute__ ((__nonnull__ (2)));
+extern int __openat_alias (int __fd, __const char *__path, int __oflag, ...) __asm__ ("" "openat64")
+
+     __attribute__ ((__nonnull__ (2)));
+
+extern void __openat_too_many_args (void) __attribute__((__error__ ("openat can be called either with 3 or 4 arguments, not more")))
+                                                                    ;
+extern void __openat_missing_mode (void) __attribute__((__error__ ("openat with O_CREAT in third argument needs 4 arguments")))
+                                                                ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+openat (int __fd, __const char *__path, int __oflag, ...)
+{
+  if (__builtin_va_arg_pack_len () > 1)
+    __openat_too_many_args ();
+
+  if (__builtin_constant_p (__oflag))
+    {
+      if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1)
+ {
+   __openat_missing_mode ();
+   return __openat_2 (__fd, __path, __oflag);
+ }
+      return __openat_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
+    }
+
+  if (__builtin_va_arg_pack_len () < 1)
+    return __openat_2 (__fd, __path, __oflag);
+
+  return __openat_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
+}
+
+
+
+extern int __openat64_2 (int __fd, __const char *__path, int __oflag)
+     __attribute__ ((__nonnull__ (2)));
+extern int __openat64_alias (int __fd, __const char *__path, int __oflag, ...) __asm__ ("" "openat64")
+
+     __attribute__ ((__nonnull__ (2)));
+extern void __openat64_too_many_args (void) __attribute__((__error__ ("openat64 can be called either with 3 or 4 arguments, not more")))
+                                                                      ;
+extern void __openat64_missing_mode (void) __attribute__((__error__ ("openat64 with O_CREAT in third argument needs 4 arguments")))
+                                                                  ;
+
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__artificial__)) int
+openat64 (int __fd, __const char *__path, int __oflag, ...)
+{
+  if (__builtin_va_arg_pack_len () > 1)
+    __openat64_too_many_args ();
+
+  if (__builtin_constant_p (__oflag))
+    {
+      if ((__oflag & 0100) != 0 && __builtin_va_arg_pack_len () < 1)
+ {
+   __openat64_missing_mode ();
+   return __openat64_2 (__fd, __path, __oflag);
+ }
+      return __openat64_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
+    }
+
+  if (__builtin_va_arg_pack_len () < 1)
+    return __openat64_2 (__fd, __path, __oflag);
+
+  return __openat64_alias (__fd, __path, __oflag, __builtin_va_arg_pack ());
+}
+# 268 "/usr/include/fcntl.h" 2 3 4
+
+
+
+# 35 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/sys/stat.h" 1 3 4
+# 105 "/usr/include/sys/stat.h" 3 4
+
+
+# 1 "/usr/include/bits/stat.h" 1 3 4
+# 108 "/usr/include/sys/stat.h" 2 3 4
+# 219 "/usr/include/sys/stat.h" 3 4
+extern int stat (__const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "stat64") __attribute__ ((__nothrow__ , __leaf__))
+
+     __attribute__ ((__nonnull__ (1, 2)));
+extern int fstat (int __fd, struct stat *__buf) __asm__ ("" "fstat64") __attribute__ ((__nothrow__ , __leaf__))
+     __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+
+extern int stat64 (__const char *__restrict __file,
+     struct stat64 *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+extern int fstat64 (int __fd, struct stat64 *__buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+# 245 "/usr/include/sys/stat.h" 3 4
+extern int fstatat (int __fd, __const char *__restrict __file, struct stat *__restrict __buf, int __flag) __asm__ ("" "fstatat64") __attribute__ ((__nothrow__ , __leaf__))
+
+
+                 __attribute__ ((__nonnull__ (2, 3)));
+
+
+
+
+
+
+extern int fstatat64 (int __fd, __const char *__restrict __file,
+        struct stat64 *__restrict __buf, int __flag)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
+# 269 "/usr/include/sys/stat.h" 3 4
+extern int lstat (__const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "lstat64") __attribute__ ((__nothrow__ , __leaf__))
+
+
+     __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+extern int lstat64 (__const char *__restrict __file,
+      struct stat64 *__restrict __buf)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+extern int chmod (__const char *__file, __mode_t __mode)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int lchmod (__const char *__file, __mode_t __mode)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern int fchmodat (int __fd, __const char *__file, __mode_t __mode,
+       int __flag)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2))) __attribute__ ((__warn_unused_result__));
+
+
+
+
+
+
+extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern __mode_t getumask (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int mkdir (__const char *__path, __mode_t __mode)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int mkdirat (int __fd, __const char *__path, __mode_t __mode)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+
+extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int mknodat (int __fd, __const char *__path, __mode_t __mode,
+      __dev_t __dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+extern int mkfifo (__const char *__path, __mode_t __mode)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int mkfifoat (int __fd, __const char *__path, __mode_t __mode)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+extern int utimensat (int __fd, __const char *__path,
+        __const struct timespec __times[2],
+        int __flags)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+extern int futimens (int __fd, __const struct timespec __times[2]) __attribute__ ((__nothrow__ , __leaf__));
+# 412 "/usr/include/sys/stat.h" 3 4
+extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) __asm__ ("" "__fxstat64") __attribute__ ((__nothrow__ , __leaf__))
+
+     __attribute__ ((__nonnull__ (3)));
+extern int __xstat (int __ver, __const char *__filename, struct stat *__stat_buf) __asm__ ("" "__xstat64") __attribute__ ((__nothrow__ , __leaf__))
+
+     __attribute__ ((__nonnull__ (2, 3)));
+extern int __lxstat (int __ver, __const char *__filename, struct stat *__stat_buf) __asm__ ("" "__lxstat64") __attribute__ ((__nothrow__ , __leaf__))
+
+     __attribute__ ((__nonnull__ (2, 3)));
+extern int __fxstatat (int __ver, int __fildes, __const char *__filename, struct stat *__stat_buf, int __flag) __asm__ ("" "__fxstatat64") __attribute__ ((__nothrow__ , __leaf__))
+
+
+                    __attribute__ ((__nonnull__ (3, 4)));
+# 434 "/usr/include/sys/stat.h" 3 4
+extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
+extern int __xstat64 (int __ver, __const char *__filename,
+        struct stat64 *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
+extern int __lxstat64 (int __ver, __const char *__filename,
+         struct stat64 *__stat_buf) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
+extern int __fxstatat64 (int __ver, int __fildes, __const char *__filename,
+    struct stat64 *__stat_buf, int __flag)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 4)));
+
+extern int __xmknod (int __ver, __const char *__path, __mode_t __mode,
+       __dev_t *__dev) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 4)));
+
+extern int __xmknodat (int __ver, int __fd, __const char *__path,
+         __mode_t __mode, __dev_t *__dev)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3, 5)));
+
+
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) stat (__const char *__path, struct stat *__statbuf)
+{
+  return __xstat (3, __path, __statbuf);
+}
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) lstat (__const char *__path, struct stat *__statbuf)
+{
+  return __lxstat (3, __path, __statbuf);
+}
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) fstat (int __fd, struct stat *__statbuf)
+{
+  return __fxstat (3, __fd, __statbuf);
+}
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) fstatat (int __fd, __const char *__filename, struct stat *__statbuf, int __flag)
+
+{
+  return __fxstatat (3, __fd, __filename, __statbuf, __flag);
+}
+
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
+{
+  return __xmknod (1, __path, __mode, &__dev);
+}
+
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) mknodat (int __fd, __const char *__path, __mode_t __mode, __dev_t __dev)
+
+{
+  return __xmknodat (1, __fd, __path, __mode, &__dev);
+}
+
+
+
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) stat64 (__const char *__path, struct stat64 *__statbuf)
+{
+  return __xstat64 (3, __path, __statbuf);
+}
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) lstat64 (__const char *__path, struct stat64 *__statbuf)
+{
+  return __lxstat64 (3, __path, __statbuf);
+}
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) fstat64 (int __fd, struct stat64 *__statbuf)
+{
+  return __fxstat64 (3, __fd, __statbuf);
+}
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) fstatat64 (int __fd, __const char *__filename, struct stat64 *__statbuf, int __flag)
+
+{
+  return __fxstatat64 (3, __fd, __filename, __statbuf, __flag);
+}
+
+
+
+
+
+
+
+# 36 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/sys/time.h" 1 3 4
+# 29 "/usr/include/sys/time.h" 3 4
+# 1 "/usr/include/bits/time.h" 1 3 4
+# 30 "/usr/include/sys/time.h" 2 3 4
+# 39 "/usr/include/sys/time.h" 3 4
+
+# 57 "/usr/include/sys/time.h" 3 4
+struct timezone
+  {
+    int tz_minuteswest;
+    int tz_dsttime;
+  };
+
+typedef struct timezone *__restrict __timezone_ptr_t;
+# 73 "/usr/include/sys/time.h" 3 4
+extern int gettimeofday (struct timeval *__restrict __tv,
+    __timezone_ptr_t __tz) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+extern int settimeofday (__const struct timeval *__tv,
+    __const struct timezone *__tz)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int adjtime (__const struct timeval *__delta,
+      struct timeval *__olddelta) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+enum __itimer_which
+  {
+
+    ITIMER_REAL = 0,
+
+
+    ITIMER_VIRTUAL = 1,
+
+
+
+    ITIMER_PROF = 2
+
+  };
+
+
+
+struct itimerval
+  {
+
+    struct timeval it_interval;
+
+    struct timeval it_value;
+  };
+
+
+
+
+typedef enum __itimer_which __itimer_which_t;
+
+
+
+
+
+
+extern int getitimer (__itimer_which_t __which,
+        struct itimerval *__value) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int setitimer (__itimer_which_t __which,
+        __const struct itimerval *__restrict __new,
+        struct itimerval *__restrict __old) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int utimes (__const char *__file, __const struct timeval __tvp[2])
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int lutimes (__const char *__file, __const struct timeval __tvp[2])
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int futimes (int __fd, __const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int futimesat (int __fd, __const char *__file,
+        __const struct timeval __tvp[2]) __attribute__ ((__nothrow__ , __leaf__));
+# 191 "/usr/include/sys/time.h" 3 4
+
+# 37 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/assert.h" 1 3 4
+# 66 "/usr/include/assert.h" 3 4
+
+
+
+extern void __assert_fail (__const char *__assertion, __const char *__file,
+      unsigned int __line, __const char *__function)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
+
+
+extern void __assert_perror_fail (int __errnum, __const char *__file,
+      unsigned int __line,
+      __const char *__function)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
+
+
+
+
+extern void __assert (const char *__assertion, const char *__file, int __line)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__noreturn__));
+
+
+
+# 38 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/signal.h" 1 3 4
+# 31 "/usr/include/signal.h" 3 4
+
+
+# 1 "/usr/include/bits/sigset.h" 1 3 4
+# 104 "/usr/include/bits/sigset.h" 3 4
+extern int __sigismember (__const __sigset_t *, int);
+extern int __sigaddset (__sigset_t *, int);
+extern int __sigdelset (__sigset_t *, int);
+# 118 "/usr/include/bits/sigset.h" 3 4
+extern __inline int __sigismember (__const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; }
+extern __inline int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); }
+extern __inline int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); }
+# 34 "/usr/include/signal.h" 2 3 4
+
+
+
+
+
+
+
+typedef __sig_atomic_t sig_atomic_t;
+
+# 58 "/usr/include/signal.h" 3 4
+# 1 "/usr/include/bits/signum.h" 1 3 4
+# 59 "/usr/include/signal.h" 2 3 4
+# 79 "/usr/include/signal.h" 3 4
+# 1 "/usr/include/bits/siginfo.h" 1 3 4
+# 25 "/usr/include/bits/siginfo.h" 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 26 "/usr/include/bits/siginfo.h" 2 3 4
+
+
+
+
+
+
+
+typedef union sigval
+  {
+    int sival_int;
+    void *sival_ptr;
+  } sigval_t;
+# 51 "/usr/include/bits/siginfo.h" 3 4
+typedef struct siginfo
+  {
+    int si_signo;
+    int si_errno;
+
+    int si_code;
+
+    union
+      {
+ int _pad[((128 / sizeof (int)) - 3)];
+
+
+ struct
+   {
+     __pid_t si_pid;
+     __uid_t si_uid;
+   } _kill;
+
+
+ struct
+   {
+     int si_tid;
+     int si_overrun;
+     sigval_t si_sigval;
+   } _timer;
+
+
+ struct
+   {
+     __pid_t si_pid;
+     __uid_t si_uid;
+     sigval_t si_sigval;
+   } _rt;
+
+
+ struct
+   {
+     __pid_t si_pid;
+     __uid_t si_uid;
+     int si_status;
+     __clock_t si_utime;
+     __clock_t si_stime;
+   } _sigchld;
+
+
+ struct
+   {
+     void *si_addr;
+   } _sigfault;
+
+
+ struct
+   {
+     long int si_band;
+     int si_fd;
+   } _sigpoll;
+      } _sifields;
+  } siginfo_t;
+# 129 "/usr/include/bits/siginfo.h" 3 4
+enum
+{
+  SI_ASYNCNL = -60,
+
+  SI_TKILL = -6,
+
+  SI_SIGIO,
+
+  SI_ASYNCIO,
+
+  SI_MESGQ,
+
+  SI_TIMER,
+
+  SI_QUEUE,
+
+  SI_USER,
+
+  SI_KERNEL = 0x80
+
+};
+
+
+
+enum
+{
+  ILL_ILLOPC = 1,
+
+  ILL_ILLOPN,
+
+  ILL_ILLADR,
+
+  ILL_ILLTRP,
+
+  ILL_PRVOPC,
+
+  ILL_PRVREG,
+
+  ILL_COPROC,
+
+  ILL_BADSTK
+
+};
+
+
+enum
+{
+  FPE_INTDIV = 1,
+
+  FPE_INTOVF,
+
+  FPE_FLTDIV,
+
+  FPE_FLTOVF,
+
+  FPE_FLTUND,
+
+  FPE_FLTRES,
+
+  FPE_FLTINV,
+
+  FPE_FLTSUB
+
+};
+
+
+enum
+{
+  SEGV_MAPERR = 1,
+
+  SEGV_ACCERR
+
+};
+
+
+enum
+{
+  BUS_ADRALN = 1,
+
+  BUS_ADRERR,
+
+  BUS_OBJERR
+
+};
+
+
+enum
+{
+  TRAP_BRKPT = 1,
+
+  TRAP_TRACE
+
+};
+
+
+enum
+{
+  CLD_EXITED = 1,
+
+  CLD_KILLED,
+
+  CLD_DUMPED,
+
+  CLD_TRAPPED,
+
+  CLD_STOPPED,
+
+  CLD_CONTINUED
+
+};
+
+
+enum
+{
+  POLL_IN = 1,
+
+  POLL_OUT,
+
+  POLL_MSG,
+
+  POLL_ERR,
+
+  POLL_PRI,
+
+  POLL_HUP
+
+};
+# 273 "/usr/include/bits/siginfo.h" 3 4
+typedef struct sigevent
+  {
+    sigval_t sigev_value;
+    int sigev_signo;
+    int sigev_notify;
+
+    union
+      {
+ int _pad[((64 / sizeof (int)) - 3)];
+
+
+
+ __pid_t _tid;
+
+ struct
+   {
+     void (*_function) (sigval_t);
+     void *_attribute;
+   } _sigev_thread;
+      } _sigev_un;
+  } sigevent_t;
+
+
+
+
+
+
+enum
+{
+  SIGEV_SIGNAL = 0,
+
+  SIGEV_NONE,
+
+  SIGEV_THREAD,
+
+
+  SIGEV_THREAD_ID = 4
+
+};
+# 80 "/usr/include/signal.h" 2 3 4
+
+
+
+
+typedef void (*__sighandler_t) (int);
+
+
+
+
+extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern __sighandler_t signal (int __sig, __sighandler_t __handler)
+     __attribute__ ((__nothrow__ , __leaf__));
+# 113 "/usr/include/signal.h" 3 4
+
+
+
+
+
+extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int raise (int __sig) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern __sighandler_t ssignal (int __sig, __sighandler_t __handler)
+     __attribute__ ((__nothrow__ , __leaf__));
+extern int gsignal (int __sig) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern void psignal (int __sig, __const char *__s);
+
+
+
+
+extern void psiginfo (__const siginfo_t *__pinfo, __const char *__s);
+# 168 "/usr/include/signal.h" 3 4
+extern int __sigpause (int __sig_or_mask, int __is_sig);
+# 177 "/usr/include/signal.h" 3 4
+extern int sigpause (int __sig) __asm__ ("__xpg_sigpause");
+# 196 "/usr/include/signal.h" 3 4
+extern int sigblock (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
+
+
+extern int sigsetmask (int __mask) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
+
+
+extern int siggetmask (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
+# 211 "/usr/include/signal.h" 3 4
+typedef __sighandler_t sighandler_t;
+
+
+
+
+typedef __sighandler_t sig_t;
+
+
+
+
+
+extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int sigismember (__const sigset_t *__set, int __signo)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int sigisemptyset (__const sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int sigandset (sigset_t *__set, __const sigset_t *__left,
+        __const sigset_t *__right) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+
+extern int sigorset (sigset_t *__set, __const sigset_t *__left,
+       __const sigset_t *__right) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+
+
+
+# 1 "/usr/include/bits/sigaction.h" 1 3 4
+# 25 "/usr/include/bits/sigaction.h" 3 4
+struct sigaction
+  {
+
+
+    union
+      {
+
+ __sighandler_t sa_handler;
+
+ void (*sa_sigaction) (int, siginfo_t *, void *);
+      }
+    __sigaction_handler;
+
+
+
+
+
+
+
+    __sigset_t sa_mask;
+
+
+    int sa_flags;
+
+
+    void (*sa_restorer) (void);
+  };
+# 253 "/usr/include/signal.h" 2 3 4
+
+
+extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
+   sigset_t *__restrict __oset) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+extern int sigsuspend (__const sigset_t *__set) __attribute__ ((__nonnull__ (1)));
+
+
+extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
+        struct sigaction *__restrict __oact) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
+     __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+extern int sigwaitinfo (__const sigset_t *__restrict __set,
+   siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int sigtimedwait (__const sigset_t *__restrict __set,
+    siginfo_t *__restrict __info,
+    __const struct timespec *__restrict __timeout)
+     __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
+     __attribute__ ((__nothrow__ , __leaf__));
+# 310 "/usr/include/signal.h" 3 4
+extern __const char *__const _sys_siglist[65];
+extern __const char *__const sys_siglist[65];
+
+
+struct sigvec
+  {
+    __sighandler_t sv_handler;
+    int sv_mask;
+
+    int sv_flags;
+
+  };
+# 334 "/usr/include/signal.h" 3 4
+extern int sigvec (int __sig, __const struct sigvec *__vec,
+     struct sigvec *__ovec) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+# 1 "/usr/include/bits/sigcontext.h" 1 3 4
+# 28 "/usr/include/bits/sigcontext.h" 3 4
+# 1 "/usr/include/asm/sigcontext.h" 1 3 4
+
+
+
+
+# 1 "/usr/include/linux/types.h" 1 3 4
+
+
+
+# 1 "/usr/include/asm/types.h" 1 3 4
+
+
+
+# 1 "/usr/include/asm-generic/types.h" 1 3 4
+
+
+
+
+
+
+# 1 "/usr/include/asm-generic/int-ll64.h" 1 3 4
+# 11 "/usr/include/asm-generic/int-ll64.h" 3 4
+# 1 "/usr/include/asm/bitsperlong.h" 1 3 4
+# 10 "/usr/include/asm/bitsperlong.h" 3 4
+# 1 "/usr/include/asm-generic/bitsperlong.h" 1 3 4
+# 11 "/usr/include/asm/bitsperlong.h" 2 3 4
+# 12 "/usr/include/asm-generic/int-ll64.h" 2 3 4
+
+
+
+
+
+
+
+typedef __signed__ char __s8;
+typedef unsigned char __u8;
+
+typedef __signed__ short __s16;
+typedef unsigned short __u16;
+
+typedef __signed__ int __s32;
+typedef unsigned int __u32;
+
+
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
+# 8 "/usr/include/asm-generic/types.h" 2 3 4
+
+
+
+typedef unsigned short umode_t;
+# 5 "/usr/include/asm/types.h" 2 3 4
+# 5 "/usr/include/linux/types.h" 2 3 4
+
+
+
+# 1 "/usr/include/linux/posix_types.h" 1 3 4
+
+
+
+# 1 "/usr/include/linux/stddef.h" 1 3 4
+# 14 "/usr/include/linux/stddef.h" 3 4
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 150 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 3 4
+typedef int ptrdiff_t;
+# 15 "/usr/include/linux/stddef.h" 2 3 4
+# 5 "/usr/include/linux/posix_types.h" 2 3 4
+# 36 "/usr/include/linux/posix_types.h" 3 4
+typedef struct {
+ unsigned long fds_bits [(1024/(8 * sizeof(unsigned long)))];
+} __kernel_fd_set;
+
+
+typedef void (*__kernel_sighandler_t)(int);
+
+
+typedef int __kernel_key_t;
+typedef int __kernel_mqd_t;
+
+# 1 "/usr/include/asm/posix_types.h" 1 3 4
+
+# 1 "/usr/include/asm/posix_types_32.h" 1 3 4
+# 10 "/usr/include/asm/posix_types_32.h" 3 4
+typedef unsigned long __kernel_ino_t;
+typedef unsigned short __kernel_mode_t;
+typedef unsigned short __kernel_nlink_t;
+typedef long __kernel_off_t;
+typedef int __kernel_pid_t;
+typedef unsigned short __kernel_ipc_pid_t;
+typedef unsigned short __kernel_uid_t;
+typedef unsigned short __kernel_gid_t;
+typedef unsigned int __kernel_size_t;
+typedef int __kernel_ssize_t;
+typedef int __kernel_ptrdiff_t;
+typedef long __kernel_time_t;
+typedef long __kernel_suseconds_t;
+typedef long __kernel_clock_t;
+typedef int __kernel_timer_t;
+typedef int __kernel_clockid_t;
+typedef int __kernel_daddr_t;
+typedef char * __kernel_caddr_t;
+typedef unsigned short __kernel_uid16_t;
+typedef unsigned short __kernel_gid16_t;
+typedef unsigned int __kernel_uid32_t;
+typedef unsigned int __kernel_gid32_t;
+
+typedef unsigned short __kernel_old_uid_t;
+typedef unsigned short __kernel_old_gid_t;
+typedef unsigned short __kernel_old_dev_t;
+
+
+typedef long long __kernel_loff_t;
+
+
+typedef struct {
+ int val[2];
+} __kernel_fsid_t;
+# 3 "/usr/include/asm/posix_types.h" 2 3 4
+# 48 "/usr/include/linux/posix_types.h" 2 3 4
+# 9 "/usr/include/linux/types.h" 2 3 4
+# 27 "/usr/include/linux/types.h" 3 4
+typedef __u16 __le16;
+typedef __u16 __be16;
+typedef __u32 __le32;
+typedef __u32 __be32;
+typedef __u64 __le64;
+typedef __u64 __be64;
+
+typedef __u16 __sum16;
+typedef __u32 __wsum;
+# 6 "/usr/include/asm/sigcontext.h" 2 3 4
+# 23 "/usr/include/asm/sigcontext.h" 3 4
+struct _fpx_sw_bytes {
+ __u32 magic1;
+ __u32 extended_size;
+
+
+ __u64 xstate_bv;
+
+
+
+
+ __u32 xstate_size;
+
+
+
+
+ __u32 padding[7];
+};
+# 56 "/usr/include/asm/sigcontext.h" 3 4
+struct _fpreg {
+ unsigned short significand[4];
+ unsigned short exponent;
+};
+
+struct _fpxreg {
+ unsigned short significand[4];
+ unsigned short exponent;
+ unsigned short padding[3];
+};
+
+struct _xmmreg {
+ unsigned long element[4];
+};
+
+struct _fpstate {
+
+ unsigned long cw;
+ unsigned long sw;
+ unsigned long tag;
+ unsigned long ipoff;
+ unsigned long cssel;
+ unsigned long dataoff;
+ unsigned long datasel;
+ struct _fpreg _st[8];
+ unsigned short status;
+ unsigned short magic;
+
+
+ unsigned long _fxsr_env[6];
+ unsigned long mxcsr;
+ unsigned long reserved;
+ struct _fpxreg _fxsr_st[8];
+ struct _xmmreg _xmm[8];
+ unsigned long padding1[44];
+
+ union {
+  unsigned long padding2[12];
+  struct _fpx_sw_bytes sw_reserved;
+
+ };
+};
+
+
+
+
+
+
+struct sigcontext {
+ unsigned short gs, __gsh;
+ unsigned short fs, __fsh;
+ unsigned short es, __esh;
+ unsigned short ds, __dsh;
+ unsigned long edi;
+ unsigned long esi;
+ unsigned long ebp;
+ unsigned long esp;
+ unsigned long ebx;
+ unsigned long edx;
+ unsigned long ecx;
+ unsigned long eax;
+ unsigned long trapno;
+ unsigned long err;
+ unsigned long eip;
+ unsigned short cs, __csh;
+ unsigned long eflags;
+ unsigned long esp_at_signal;
+ unsigned short ss, __ssh;
+ struct _fpstate *fpstate;
+ unsigned long oldmask;
+ unsigned long cr2;
+};
+# 190 "/usr/include/asm/sigcontext.h" 3 4
+struct _xsave_hdr {
+ __u64 xstate_bv;
+ __u64 reserved1[2];
+ __u64 reserved2[5];
+};
+
+struct _ymmh_state {
+
+ __u32 ymmh_space[64];
+};
+
+
+
+
+
+
+
+struct _xstate {
+ struct _fpstate fpstate;
+ struct _xsave_hdr xstate_hdr;
+ struct _ymmh_state ymmh;
+
+};
+# 29 "/usr/include/bits/sigcontext.h" 2 3 4
+
+
+
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 33 "/usr/include/bits/sigcontext.h" 2 3 4
+# 340 "/usr/include/signal.h" 2 3 4
+
+
+extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 350 "/usr/include/signal.h" 2 3 4
+
+
+
+
+extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__ , __leaf__));
+
+# 1 "/usr/include/bits/sigstack.h" 1 3 4
+# 26 "/usr/include/bits/sigstack.h" 3 4
+struct sigstack
+  {
+    void *ss_sp;
+    int ss_onstack;
+  };
+
+
+
+enum
+{
+  SS_ONSTACK = 1,
+
+  SS_DISABLE
+
+};
+# 50 "/usr/include/bits/sigstack.h" 3 4
+typedef struct sigaltstack
+  {
+    void *ss_sp;
+    int ss_flags;
+    size_t ss_size;
+  } stack_t;
+# 357 "/usr/include/signal.h" 2 3 4
+
+
+# 1 "/usr/include/sys/ucontext.h" 1 3 4
+# 23 "/usr/include/sys/ucontext.h" 3 4
+# 1 "/usr/include/signal.h" 1 3 4
+# 24 "/usr/include/sys/ucontext.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/sigcontext.h" 1 3 4
+# 28 "/usr/include/sys/ucontext.h" 2 3 4
+
+
+
+typedef int greg_t;
+
+
+
+
+
+typedef greg_t gregset_t[19];
+
+
+
+enum
+{
+  REG_GS = 0,
+
+  REG_FS,
+
+  REG_ES,
+
+  REG_DS,
+
+  REG_EDI,
+
+  REG_ESI,
+
+  REG_EBP,
+
+  REG_ESP,
+
+  REG_EBX,
+
+  REG_EDX,
+
+  REG_ECX,
+
+  REG_EAX,
+
+  REG_TRAPNO,
+
+  REG_ERR,
+
+  REG_EIP,
+
+  REG_CS,
+
+  REG_EFL,
+
+  REG_UESP,
+
+  REG_SS
+
+};
+
+
+
+struct _libc_fpreg
+{
+  unsigned short int significand[4];
+  unsigned short int exponent;
+};
+
+struct _libc_fpstate
+{
+  unsigned long int cw;
+  unsigned long int sw;
+  unsigned long int tag;
+  unsigned long int ipoff;
+  unsigned long int cssel;
+  unsigned long int dataoff;
+  unsigned long int datasel;
+  struct _libc_fpreg _st[8];
+  unsigned long int status;
+};
+
+
+typedef struct _libc_fpstate *fpregset_t;
+
+
+typedef struct
+  {
+    gregset_t gregs;
+
+
+    fpregset_t fpregs;
+    unsigned long int oldmask;
+    unsigned long int cr2;
+  } mcontext_t;
+
+
+typedef struct ucontext
+  {
+    unsigned long int uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    __sigset_t uc_sigmask;
+    struct _libc_fpstate __fpregs_mem;
+  } ucontext_t;
+# 360 "/usr/include/signal.h" 2 3 4
+
+
+
+
+
+extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__deprecated__));
+
+
+
+extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
+   struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern int sighold (int __sig) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sigrelse (int __sig) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sigignore (int __sig) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+# 1 "/usr/include/bits/sigthread.h" 1 3 4
+# 31 "/usr/include/bits/sigthread.h" 3 4
+extern int pthread_sigmask (int __how,
+       __const __sigset_t *__restrict __newmask,
+       __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern int pthread_sigqueue (pthread_t __threadid, int __signo,
+        const union sigval __value) __attribute__ ((__nothrow__ , __leaf__));
+# 396 "/usr/include/signal.h" 2 3 4
+
+
+
+
+
+
+extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__ , __leaf__));
+
+extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+# 39 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 1 "/usr/include/glib-2.0/glib.h" 1
+# 32 "/usr/include/glib-2.0/glib.h"
+# 1 "/usr/include/glib-2.0/glib/galloca.h" 1
+# 34 "/usr/include/glib-2.0/glib/galloca.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 34 "/usr/include/glib-2.0/glib/gtypes.h"
+# 1 "/usr/lib/glib-2.0/include/glibconfig.h" 1
+# 9 "/usr/lib/glib-2.0/include/glibconfig.h"
+# 1 "/usr/include/glib-2.0/glib/gmacros.h" 1
+# 40 "/usr/include/glib-2.0/glib/gmacros.h"
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 41 "/usr/include/glib-2.0/glib/gmacros.h" 2
+# 10 "/usr/lib/glib-2.0/include/glibconfig.h" 2
+
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include-fixed/limits.h" 1 3 4
+# 12 "/usr/lib/glib-2.0/include/glibconfig.h" 2
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/float.h" 1 3 4
+# 13 "/usr/lib/glib-2.0/include/glibconfig.h" 2
+# 22 "/usr/lib/glib-2.0/include/glibconfig.h"
+
+# 38 "/usr/lib/glib-2.0/include/glibconfig.h"
+typedef signed char gint8;
+typedef unsigned char guint8;
+typedef signed short gint16;
+typedef unsigned short guint16;
+
+
+
+typedef signed int gint32;
+typedef unsigned int guint32;
+
+
+
+
+
+__extension__ typedef signed long long gint64;
+__extension__ typedef unsigned long long guint64;
+# 65 "/usr/lib/glib-2.0/include/glibconfig.h"
+typedef signed int gssize;
+typedef unsigned int gsize;
+# 75 "/usr/lib/glib-2.0/include/glibconfig.h"
+typedef gint64 goffset;
+# 90 "/usr/lib/glib-2.0/include/glibconfig.h"
+typedef signed int gintptr;
+typedef unsigned int guintptr;
+# 197 "/usr/lib/glib-2.0/include/glibconfig.h"
+typedef int GPid;
+# 207 "/usr/lib/glib-2.0/include/glibconfig.h"
+
+# 35 "/usr/include/glib-2.0/glib/gtypes.h" 2
+# 1 "/usr/include/glib-2.0/glib/gmacros.h" 1
+# 36 "/usr/include/glib-2.0/glib/gtypes.h" 2
+# 1 "/usr/include/glib-2.0/glib/gversionmacros.h" 1
+# 37 "/usr/include/glib-2.0/glib/gtypes.h" 2
+
+
+
+# 48 "/usr/include/glib-2.0/glib/gtypes.h"
+typedef char gchar;
+typedef short gshort;
+typedef long glong;
+typedef int gint;
+typedef gint gboolean;
+
+typedef unsigned char guchar;
+typedef unsigned short gushort;
+typedef unsigned long gulong;
+typedef unsigned int guint;
+
+typedef float gfloat;
+typedef double gdouble;
+# 79 "/usr/include/glib-2.0/glib/gtypes.h"
+typedef void* gpointer;
+typedef const void *gconstpointer;
+
+typedef gint (*GCompareFunc) (gconstpointer a,
+                                                 gconstpointer b);
+typedef gint (*GCompareDataFunc) (gconstpointer a,
+                                                 gconstpointer b,
+       gpointer user_data);
+typedef gboolean (*GEqualFunc) (gconstpointer a,
+                                                 gconstpointer b);
+typedef void (*GDestroyNotify) (gpointer data);
+typedef void (*GFunc) (gpointer data,
+                                                 gpointer user_data);
+typedef guint (*GHashFunc) (gconstpointer key);
+typedef void (*GHFunc) (gpointer key,
+                                                 gpointer value,
+                                                 gpointer user_data);
+# 105 "/usr/include/glib-2.0/glib/gtypes.h"
+typedef void (*GFreeFunc) (gpointer data);
+# 119 "/usr/include/glib-2.0/glib/gtypes.h"
+typedef const gchar * (*GTranslateFunc) (const gchar *str,
+       gpointer data);
+# 401 "/usr/include/glib-2.0/glib/gtypes.h"
+typedef union _GDoubleIEEE754 GDoubleIEEE754;
+typedef union _GFloatIEEE754 GFloatIEEE754;
+
+
+
+
+
+union _GFloatIEEE754
+{
+  gfloat v_float;
+  struct {
+    guint mantissa : 23;
+    guint biased_exponent : 8;
+    guint sign : 1;
+  } mpn;
+};
+union _GDoubleIEEE754
+{
+  gdouble v_double;
+  struct {
+    guint mantissa_low : 32;
+    guint mantissa_high : 20;
+    guint biased_exponent : 11;
+    guint sign : 1;
+  } mpn;
+};
+# 451 "/usr/include/glib-2.0/glib/gtypes.h"
+typedef struct _GTimeVal GTimeVal;
+
+struct _GTimeVal
+{
+  glong tv_sec;
+  glong tv_usec;
+};
+
+
+# 35 "/usr/include/glib-2.0/glib/galloca.h" 2
+# 33 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/garray.h" 1
+# 34 "/usr/include/glib-2.0/glib/garray.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/garray.h" 2
+
+
+
+typedef struct _GBytes GBytes;
+typedef struct _GArray GArray;
+typedef struct _GByteArray GByteArray;
+typedef struct _GPtrArray GPtrArray;
+
+struct _GArray
+{
+  gchar *data;
+  guint len;
+};
+
+struct _GByteArray
+{
+  guint8 *data;
+  guint len;
+};
+
+struct _GPtrArray
+{
+  gpointer *pdata;
+  guint len;
+};
+# 71 "/usr/include/glib-2.0/glib/garray.h"
+GArray* g_array_new (gboolean zero_terminated,
+       gboolean clear_,
+       guint element_size);
+GArray* g_array_sized_new (gboolean zero_terminated,
+       gboolean clear_,
+       guint element_size,
+       guint reserved_size);
+gchar* g_array_free (GArray *array,
+       gboolean free_segment);
+GArray *g_array_ref (GArray *array);
+void g_array_unref (GArray *array);
+guint g_array_get_element_size (GArray *array);
+GArray* g_array_append_vals (GArray *array,
+       gconstpointer data,
+       guint len);
+GArray* g_array_prepend_vals (GArray *array,
+       gconstpointer data,
+       guint len);
+GArray* g_array_insert_vals (GArray *array,
+       guint index_,
+       gconstpointer data,
+       guint len);
+GArray* g_array_set_size (GArray *array,
+       guint length);
+GArray* g_array_remove_index (GArray *array,
+       guint index_);
+GArray* g_array_remove_index_fast (GArray *array,
+       guint index_);
+GArray* g_array_remove_range (GArray *array,
+       guint index_,
+       guint length);
+void g_array_sort (GArray *array,
+       GCompareFunc compare_func);
+void g_array_sort_with_data (GArray *array,
+       GCompareDataFunc compare_func,
+       gpointer user_data);
+void g_array_set_clear_func (GArray *array,
+                                   GDestroyNotify clear_func);
+
+
+
+
+
+
+GPtrArray* g_ptr_array_new (void);
+GPtrArray* g_ptr_array_new_with_free_func (GDestroyNotify element_free_func);
+GPtrArray* g_ptr_array_sized_new (guint reserved_size);
+GPtrArray* g_ptr_array_new_full (guint reserved_size,
+        GDestroyNotify element_free_func);
+gpointer* g_ptr_array_free (GPtrArray *array,
+        gboolean free_seg);
+GPtrArray* g_ptr_array_ref (GPtrArray *array);
+void g_ptr_array_unref (GPtrArray *array);
+void g_ptr_array_set_free_func (GPtrArray *array,
+                                           GDestroyNotify element_free_func);
+void g_ptr_array_set_size (GPtrArray *array,
+        gint length);
+gpointer g_ptr_array_remove_index (GPtrArray *array,
+        guint index_);
+gpointer g_ptr_array_remove_index_fast (GPtrArray *array,
+        guint index_);
+gboolean g_ptr_array_remove (GPtrArray *array,
+        gpointer data);
+gboolean g_ptr_array_remove_fast (GPtrArray *array,
+        gpointer data);
+void g_ptr_array_remove_range (GPtrArray *array,
+        guint index_,
+        guint length);
+void g_ptr_array_add (GPtrArray *array,
+        gpointer data);
+void g_ptr_array_sort (GPtrArray *array,
+        GCompareFunc compare_func);
+void g_ptr_array_sort_with_data (GPtrArray *array,
+        GCompareDataFunc compare_func,
+        gpointer user_data);
+void g_ptr_array_foreach (GPtrArray *array,
+        GFunc func,
+        gpointer user_data);
+
+
+
+
+
+
+GByteArray* g_byte_array_new (void);
+GByteArray* g_byte_array_new_take (guint8 *data,
+                                            gsize len);
+GByteArray* g_byte_array_sized_new (guint reserved_size);
+guint8* g_byte_array_free (GByteArray *array,
+         gboolean free_segment);
+GBytes* g_byte_array_free_to_bytes (GByteArray *array);
+GByteArray *g_byte_array_ref (GByteArray *array);
+void g_byte_array_unref (GByteArray *array);
+GByteArray* g_byte_array_append (GByteArray *array,
+         const guint8 *data,
+         guint len);
+GByteArray* g_byte_array_prepend (GByteArray *array,
+         const guint8 *data,
+         guint len);
+GByteArray* g_byte_array_set_size (GByteArray *array,
+         guint length);
+GByteArray* g_byte_array_remove_index (GByteArray *array,
+         guint index_);
+GByteArray* g_byte_array_remove_index_fast (GByteArray *array,
+         guint index_);
+GByteArray* g_byte_array_remove_range (GByteArray *array,
+         guint index_,
+         guint length);
+void g_byte_array_sort (GByteArray *array,
+         GCompareFunc compare_func);
+void g_byte_array_sort_with_data (GByteArray *array,
+         GCompareDataFunc compare_func,
+         gpointer user_data);
+
+
+# 34 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gasyncqueue.h" 1
+# 34 "/usr/include/glib-2.0/glib/gasyncqueue.h"
+# 1 "/usr/include/glib-2.0/glib/gthread.h" 1
+# 34 "/usr/include/glib-2.0/glib/gthread.h"
+# 1 "/usr/include/glib-2.0/glib/gatomic.h" 1
+# 29 "/usr/include/glib-2.0/glib/gatomic.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 30 "/usr/include/glib-2.0/glib/gatomic.h" 2
+
+
+
+gint g_atomic_int_get (volatile gint *atomic);
+void g_atomic_int_set (volatile gint *atomic,
+                                                               gint newval);
+void g_atomic_int_inc (volatile gint *atomic);
+gboolean g_atomic_int_dec_and_test (volatile gint *atomic);
+gboolean g_atomic_int_compare_and_exchange (volatile gint *atomic,
+                                                               gint oldval,
+                                                               gint newval);
+gint g_atomic_int_add (volatile gint *atomic,
+                                                               gint val);
+
+guint g_atomic_int_and (volatile guint *atomic,
+                                                               guint val);
+
+guint g_atomic_int_or (volatile guint *atomic,
+                                                               guint val);
+guint g_atomic_int_xor (volatile guint *atomic,
+                                                               guint val);
+
+gpointer g_atomic_pointer_get (volatile void *atomic);
+void g_atomic_pointer_set (volatile void *atomic,
+                                                               gpointer newval);
+gboolean g_atomic_pointer_compare_and_exchange (volatile void *atomic,
+                                                               gpointer oldval,
+                                                               gpointer newval);
+gssize g_atomic_pointer_add (volatile void *atomic,
+                                                               gssize val);
+
+gsize g_atomic_pointer_and (volatile void *atomic,
+                                                               gsize val);
+
+gsize g_atomic_pointer_or (volatile void *atomic,
+                                                               gsize val);
+gsize g_atomic_pointer_xor (volatile void *atomic,
+                                                               gsize val);
+
+__attribute__((__deprecated__("Use '" "g_atomic_add" "' instead")))
+gint g_atomic_int_exchange_and_add (volatile gint *atomic,
+                                                               gint val);
+
+
+# 35 "/usr/include/glib-2.0/glib/gthread.h" 2
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 30 "/usr/include/glib-2.0/glib/gerror.h"
+# 1 "/usr/include/glib-2.0/glib/gquark.h" 1
+# 34 "/usr/include/glib-2.0/glib/gquark.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/gquark.h" 2
+
+
+
+typedef guint32 GQuark;
+
+
+
+GQuark g_quark_try_string (const gchar *string);
+GQuark g_quark_from_static_string (const gchar *string);
+GQuark g_quark_from_string (const gchar *string);
+const gchar * g_quark_to_string (GQuark quark) __attribute__((__const__));
+
+const gchar * g_intern_string (const gchar *string);
+const gchar * g_intern_static_string (const gchar *string);
+
+
+# 31 "/usr/include/glib-2.0/glib/gerror.h" 2
+
+
+# 43 "/usr/include/glib-2.0/glib/gerror.h"
+typedef struct _GError GError;
+
+struct _GError
+{
+  GQuark domain;
+  gint code;
+  gchar *message;
+};
+
+GError* g_error_new (GQuark domain,
+                                gint code,
+                                const gchar *format,
+                                ...) __attribute__((__format__ (__printf__, 3, 4)));
+
+GError* g_error_new_literal (GQuark domain,
+                                gint code,
+                                const gchar *message);
+GError* g_error_new_valist (GQuark domain,
+                                gint code,
+                                const gchar *format,
+                                va_list args);
+
+void g_error_free (GError *error);
+GError* g_error_copy (const GError *error);
+
+gboolean g_error_matches (const GError *error,
+                                GQuark domain,
+                                gint code);
+
+
+
+
+void g_set_error (GError **err,
+                                GQuark domain,
+                                gint code,
+                                const gchar *format,
+                                ...) __attribute__((__format__ (__printf__, 4, 5)));
+
+void g_set_error_literal (GError **err,
+                                GQuark domain,
+                                gint code,
+                                const gchar *message);
+
+
+
+void g_propagate_error (GError **dest,
+    GError *src);
+
+
+void g_clear_error (GError **err);
+
+
+void g_prefix_error (GError **err,
+                                       const gchar *format,
+                                       ...) __attribute__((__format__ (__printf__, 2, 3)));
+
+
+void g_propagate_prefixed_error (GError **dest,
+                                       GError *src,
+                                       const gchar *format,
+                                       ...) __attribute__((__format__ (__printf__, 3, 4)));
+
+
+# 36 "/usr/include/glib-2.0/glib/gthread.h" 2
+
+
+
+
+GQuark g_thread_error_quark (void);
+
+typedef enum
+{
+  G_THREAD_ERROR_AGAIN
+} GThreadError;
+
+typedef gpointer (*GThreadFunc) (gpointer data);
+
+typedef struct _GThread GThread;
+
+typedef union _GMutex GMutex;
+typedef struct _GRecMutex GRecMutex;
+typedef struct _GRWLock GRWLock;
+typedef struct _GCond GCond;
+typedef struct _GPrivate GPrivate;
+typedef struct _GOnce GOnce;
+
+union _GMutex
+{
+
+  gpointer p;
+  guint i[2];
+};
+
+struct _GRWLock
+{
+
+  gpointer p;
+  guint i[2];
+};
+
+struct _GCond
+{
+
+  gpointer p;
+  guint i[2];
+};
+
+struct _GRecMutex
+{
+
+  gpointer p;
+  guint i[2];
+};
+
+
+struct _GPrivate
+{
+
+  gpointer p;
+  GDestroyNotify notify;
+  gpointer future[2];
+};
+
+typedef enum
+{
+  G_ONCE_STATUS_NOTCALLED,
+  G_ONCE_STATUS_PROGRESS,
+  G_ONCE_STATUS_READY
+} GOnceStatus;
+
+
+struct _GOnce
+{
+  volatile GOnceStatus status;
+  volatile gpointer retval;
+};
+# 140 "/usr/include/glib-2.0/glib/gthread.h"
+GThread * g_thread_ref (GThread *thread);
+void g_thread_unref (GThread *thread);
+GThread * g_thread_new (const gchar *name,
+                                                 GThreadFunc func,
+                                                 gpointer data);
+GThread * g_thread_try_new (const gchar *name,
+                                                 GThreadFunc func,
+                                                 gpointer data,
+                                                 GError **error);
+GThread * g_thread_self (void);
+void g_thread_exit (gpointer retval);
+gpointer g_thread_join (GThread *thread);
+void g_thread_yield (void);
+
+
+void g_mutex_init (GMutex *mutex);
+void g_mutex_clear (GMutex *mutex);
+void g_mutex_lock (GMutex *mutex);
+gboolean g_mutex_trylock (GMutex *mutex);
+void g_mutex_unlock (GMutex *mutex);
+
+void g_rw_lock_init (GRWLock *rw_lock);
+void g_rw_lock_clear (GRWLock *rw_lock);
+void g_rw_lock_writer_lock (GRWLock *rw_lock);
+gboolean g_rw_lock_writer_trylock (GRWLock *rw_lock);
+void g_rw_lock_writer_unlock (GRWLock *rw_lock);
+void g_rw_lock_reader_lock (GRWLock *rw_lock);
+gboolean g_rw_lock_reader_trylock (GRWLock *rw_lock);
+void g_rw_lock_reader_unlock (GRWLock *rw_lock);
+
+void g_rec_mutex_init (GRecMutex *rec_mutex);
+void g_rec_mutex_clear (GRecMutex *rec_mutex);
+void g_rec_mutex_lock (GRecMutex *rec_mutex);
+gboolean g_rec_mutex_trylock (GRecMutex *rec_mutex);
+void g_rec_mutex_unlock (GRecMutex *rec_mutex);
+
+void g_cond_init (GCond *cond);
+void g_cond_clear (GCond *cond);
+void g_cond_wait (GCond *cond,
+                                                 GMutex *mutex);
+void g_cond_signal (GCond *cond);
+void g_cond_broadcast (GCond *cond);
+gboolean g_cond_wait_until (GCond *cond,
+                                                 GMutex *mutex,
+                                                 gint64 end_time);
+
+gpointer g_private_get (GPrivate *key);
+void g_private_set (GPrivate *key,
+                                                 gpointer value);
+void g_private_replace (GPrivate *key,
+                                                 gpointer value);
+
+gpointer g_once_impl (GOnce *once,
+                                                 GThreadFunc func,
+                                                 gpointer arg);
+gboolean g_once_init_enter (volatile void *location);
+void g_once_init_leave (volatile void *location,
+                                                 gsize result);
+# 229 "/usr/include/glib-2.0/glib/gthread.h"
+
+# 35 "/usr/include/glib-2.0/glib/gasyncqueue.h" 2
+
+
+
+typedef struct _GAsyncQueue GAsyncQueue;
+
+GAsyncQueue *g_async_queue_new (void);
+GAsyncQueue *g_async_queue_new_full (GDestroyNotify item_free_func);
+void g_async_queue_lock (GAsyncQueue *queue);
+void g_async_queue_unlock (GAsyncQueue *queue);
+GAsyncQueue *g_async_queue_ref (GAsyncQueue *queue);
+void g_async_queue_unref (GAsyncQueue *queue);
+
+__attribute__((__deprecated__("Use '" "g_async_queue_ref" "' instead")))
+void g_async_queue_ref_unlocked (GAsyncQueue *queue);
+
+__attribute__((__deprecated__("Use '" "g_async_queue_unref" "' instead")))
+void g_async_queue_unref_and_unlock (GAsyncQueue *queue);
+
+void g_async_queue_push (GAsyncQueue *queue,
+                                                 gpointer data);
+void g_async_queue_push_unlocked (GAsyncQueue *queue,
+                                                 gpointer data);
+void g_async_queue_push_sorted (GAsyncQueue *queue,
+                                                 gpointer data,
+                                                 GCompareDataFunc func,
+                                                 gpointer user_data);
+void g_async_queue_push_sorted_unlocked (GAsyncQueue *queue,
+                                                 gpointer data,
+                                                 GCompareDataFunc func,
+                                                 gpointer user_data);
+gpointer g_async_queue_pop (GAsyncQueue *queue);
+gpointer g_async_queue_pop_unlocked (GAsyncQueue *queue);
+gpointer g_async_queue_try_pop (GAsyncQueue *queue);
+gpointer g_async_queue_try_pop_unlocked (GAsyncQueue *queue);
+gpointer g_async_queue_timeout_pop (GAsyncQueue *queue,
+                                                 guint64 timeout);
+gpointer g_async_queue_timeout_pop_unlocked (GAsyncQueue *queue,
+                                                 guint64 timeout);
+gint g_async_queue_length (GAsyncQueue *queue);
+gint g_async_queue_length_unlocked (GAsyncQueue *queue);
+void g_async_queue_sort (GAsyncQueue *queue,
+                                                 GCompareDataFunc func,
+                                                 gpointer user_data);
+void g_async_queue_sort_unlocked (GAsyncQueue *queue,
+                                                 GCompareDataFunc func,
+                                                 gpointer user_data);
+
+__attribute__((__deprecated__("Use '" "g_async_queue_timeout_pop" "' instead")))
+gpointer g_async_queue_timed_pop (GAsyncQueue *queue,
+                                                 GTimeVal *end_time);
+__attribute__((__deprecated__("Use '" "g_async_queue_timeout_pop_unlocked" "' instead")))
+gpointer g_async_queue_timed_pop_unlocked (GAsyncQueue *queue,
+                                                 GTimeVal *end_time);
+
+
+# 35 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gatomic.h" 1
+# 36 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gbacktrace.h" 1
+# 34 "/usr/include/glib-2.0/glib/gbacktrace.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/gbacktrace.h" 2
+
+
+
+
+void g_on_error_query (const gchar *prg_name);
+void g_on_error_stack_trace (const gchar *prg_name);
+# 62 "/usr/include/glib-2.0/glib/gbacktrace.h"
+
+# 37 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gbase64.h" 1
+# 28 "/usr/include/glib-2.0/glib/gbase64.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 29 "/usr/include/glib-2.0/glib/gbase64.h" 2
+
+
+
+gsize g_base64_encode_step (const guchar *in,
+                                 gsize len,
+                                 gboolean break_lines,
+                                 gchar *out,
+                                 gint *state,
+                                 gint *save);
+gsize g_base64_encode_close (gboolean break_lines,
+                                 gchar *out,
+                                 gint *state,
+                                 gint *save);
+gchar* g_base64_encode (const guchar *data,
+                                 gsize len) __attribute__((__malloc__));
+gsize g_base64_decode_step (const gchar *in,
+                                 gsize len,
+                                 guchar *out,
+                                 gint *state,
+                                 guint *save);
+guchar *g_base64_decode (const gchar *text,
+                                 gsize *out_len) __attribute__((__malloc__));
+guchar *g_base64_decode_inplace (gchar *text,
+                                 gsize *out_len);
+
+
+
+# 38 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gbitlock.h" 1
+# 26 "/usr/include/glib-2.0/glib/gbitlock.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 27 "/usr/include/glib-2.0/glib/gbitlock.h" 2
+
+
+
+
+
+
+
+void g_bit_lock (volatile gint *address,
+                                           gint lock_bit);
+gboolean g_bit_trylock (volatile gint *address,
+                                           gint lock_bit);
+void g_bit_unlock (volatile gint *address,
+                                           gint lock_bit);
+
+void g_pointer_bit_lock (volatile void *address,
+                                           gint lock_bit);
+gboolean g_pointer_bit_trylock (volatile void *address,
+                                           gint lock_bit);
+void g_pointer_bit_unlock (volatile void *address,
+                                           gint lock_bit);
+# 70 "/usr/include/glib-2.0/glib/gbitlock.h"
+
+# 39 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gbookmarkfile.h" 1
+# 27 "/usr/include/glib-2.0/glib/gbookmarkfile.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 28 "/usr/include/glib-2.0/glib/gbookmarkfile.h" 2
+
+
+
+# 57 "/usr/include/glib-2.0/glib/gbookmarkfile.h"
+typedef enum
+{
+  G_BOOKMARK_FILE_ERROR_INVALID_URI,
+  G_BOOKMARK_FILE_ERROR_INVALID_VALUE,
+  G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED,
+  G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND,
+  G_BOOKMARK_FILE_ERROR_READ,
+  G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING,
+  G_BOOKMARK_FILE_ERROR_WRITE,
+  G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND
+} GBookmarkFileError;
+
+GQuark g_bookmark_file_error_quark (void);
+
+
+
+
+
+
+
+typedef struct _GBookmarkFile GBookmarkFile;
+
+GBookmarkFile *g_bookmark_file_new (void);
+void g_bookmark_file_free (GBookmarkFile *bookmark);
+
+gboolean g_bookmark_file_load_from_file (GBookmarkFile *bookmark,
+          const gchar *filename,
+          GError **error);
+gboolean g_bookmark_file_load_from_data (GBookmarkFile *bookmark,
+          const gchar *data,
+          gsize length,
+          GError **error);
+gboolean g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark,
+          const gchar *file,
+          gchar **full_path,
+          GError **error);
+gchar * g_bookmark_file_to_data (GBookmarkFile *bookmark,
+          gsize *length,
+          GError **error) __attribute__((__malloc__));
+gboolean g_bookmark_file_to_file (GBookmarkFile *bookmark,
+          const gchar *filename,
+          GError **error);
+
+void g_bookmark_file_set_title (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *title);
+gchar * g_bookmark_file_get_title (GBookmarkFile *bookmark,
+          const gchar *uri,
+          GError **error) __attribute__((__malloc__));
+void g_bookmark_file_set_description (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *description);
+gchar * g_bookmark_file_get_description (GBookmarkFile *bookmark,
+          const gchar *uri,
+          GError **error) __attribute__((__malloc__));
+void g_bookmark_file_set_mime_type (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *mime_type);
+gchar * g_bookmark_file_get_mime_type (GBookmarkFile *bookmark,
+          const gchar *uri,
+          GError **error) __attribute__((__malloc__));
+void g_bookmark_file_set_groups (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar **groups,
+          gsize length);
+void g_bookmark_file_add_group (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *group);
+gboolean g_bookmark_file_has_group (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *group,
+          GError **error);
+gchar ** g_bookmark_file_get_groups (GBookmarkFile *bookmark,
+          const gchar *uri,
+          gsize *length,
+          GError **error) __attribute__((__malloc__));
+void g_bookmark_file_add_application (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *name,
+          const gchar *exec);
+gboolean g_bookmark_file_has_application (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *name,
+          GError **error);
+gchar ** g_bookmark_file_get_applications (GBookmarkFile *bookmark,
+          const gchar *uri,
+          gsize *length,
+          GError **error) __attribute__((__malloc__));
+gboolean g_bookmark_file_set_app_info (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *name,
+          const gchar *exec,
+          gint count,
+          time_t stamp,
+          GError **error);
+gboolean g_bookmark_file_get_app_info (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *name,
+          gchar **exec,
+          guint *count,
+          time_t *stamp,
+          GError **error);
+void g_bookmark_file_set_is_private (GBookmarkFile *bookmark,
+          const gchar *uri,
+          gboolean is_private);
+gboolean g_bookmark_file_get_is_private (GBookmarkFile *bookmark,
+          const gchar *uri,
+          GError **error);
+void g_bookmark_file_set_icon (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *href,
+          const gchar *mime_type);
+gboolean g_bookmark_file_get_icon (GBookmarkFile *bookmark,
+          const gchar *uri,
+          gchar **href,
+          gchar **mime_type,
+          GError **error);
+void g_bookmark_file_set_added (GBookmarkFile *bookmark,
+          const gchar *uri,
+          time_t added);
+time_t g_bookmark_file_get_added (GBookmarkFile *bookmark,
+          const gchar *uri,
+          GError **error);
+void g_bookmark_file_set_modified (GBookmarkFile *bookmark,
+          const gchar *uri,
+          time_t modified);
+time_t g_bookmark_file_get_modified (GBookmarkFile *bookmark,
+          const gchar *uri,
+          GError **error);
+void g_bookmark_file_set_visited (GBookmarkFile *bookmark,
+          const gchar *uri,
+          time_t visited);
+time_t g_bookmark_file_get_visited (GBookmarkFile *bookmark,
+          const gchar *uri,
+          GError **error);
+gboolean g_bookmark_file_has_item (GBookmarkFile *bookmark,
+          const gchar *uri);
+gint g_bookmark_file_get_size (GBookmarkFile *bookmark);
+gchar ** g_bookmark_file_get_uris (GBookmarkFile *bookmark,
+          gsize *length) __attribute__((__malloc__));
+gboolean g_bookmark_file_remove_group (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *group,
+          GError **error);
+gboolean g_bookmark_file_remove_application (GBookmarkFile *bookmark,
+          const gchar *uri,
+          const gchar *name,
+          GError **error);
+gboolean g_bookmark_file_remove_item (GBookmarkFile *bookmark,
+          const gchar *uri,
+          GError **error);
+gboolean g_bookmark_file_move_item (GBookmarkFile *bookmark,
+          const gchar *old_uri,
+          const gchar *new_uri,
+          GError **error);
+
+
+# 40 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gbytes.h" 1
+# 31 "/usr/include/glib-2.0/glib/gbytes.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 32 "/usr/include/glib-2.0/glib/gbytes.h" 2
+# 1 "/usr/include/glib-2.0/glib/garray.h" 1
+# 33 "/usr/include/glib-2.0/glib/gbytes.h" 2
+
+
+
+GBytes * g_bytes_new (gconstpointer data,
+                                                 gsize size);
+
+GBytes * g_bytes_new_take (gpointer data,
+                                                 gsize size);
+
+GBytes * g_bytes_new_static (gconstpointer data,
+                                                 gsize size);
+
+GBytes * g_bytes_new_with_free_func (gconstpointer data,
+                                                 gsize size,
+                                                 GDestroyNotify free_func,
+                                                 gpointer user_data);
+
+GBytes * g_bytes_new_from_bytes (GBytes *bytes,
+                                                 gsize offset,
+                                                 gsize length);
+
+gconstpointer g_bytes_get_data (GBytes *bytes,
+                                                 gsize *size);
+
+gsize g_bytes_get_size (GBytes *bytes);
+
+GBytes * g_bytes_ref (GBytes *bytes);
+
+void g_bytes_unref (GBytes *bytes);
+
+gpointer g_bytes_unref_to_data (GBytes *bytes,
+                                                 gsize *size);
+
+GByteArray * g_bytes_unref_to_array (GBytes *bytes);
+
+guint g_bytes_hash (gconstpointer bytes);
+
+gboolean g_bytes_equal (gconstpointer bytes1,
+                                                 gconstpointer bytes2);
+
+gint g_bytes_compare (gconstpointer bytes1,
+                                                 gconstpointer bytes2);
+
+
+# 41 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gcharset.h" 1
+# 28 "/usr/include/glib-2.0/glib/gcharset.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 29 "/usr/include/glib-2.0/glib/gcharset.h" 2
+
+
+
+gboolean g_get_charset (const char **charset);
+gchar * g_get_codeset (void);
+
+const gchar * const * g_get_language_names (void);
+gchar ** g_get_locale_variants (const gchar *locale);
+
+
+# 42 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gchecksum.h" 1
+# 28 "/usr/include/glib-2.0/glib/gchecksum.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 29 "/usr/include/glib-2.0/glib/gchecksum.h" 2
+
+
+# 46 "/usr/include/glib-2.0/glib/gchecksum.h"
+typedef enum {
+  G_CHECKSUM_MD5,
+  G_CHECKSUM_SHA1,
+  G_CHECKSUM_SHA256
+} GChecksumType;
+# 61 "/usr/include/glib-2.0/glib/gchecksum.h"
+typedef struct _GChecksum GChecksum;
+
+gssize g_checksum_type_get_length (GChecksumType checksum_type);
+
+GChecksum * g_checksum_new (GChecksumType checksum_type);
+void g_checksum_reset (GChecksum *checksum);
+GChecksum * g_checksum_copy (const GChecksum *checksum);
+void g_checksum_free (GChecksum *checksum);
+void g_checksum_update (GChecksum *checksum,
+                                                     const guchar *data,
+                                                     gssize length);
+const gchar * g_checksum_get_string (GChecksum *checksum);
+void g_checksum_get_digest (GChecksum *checksum,
+                                                     guint8 *buffer,
+                                                     gsize *digest_len);
+
+gchar *g_compute_checksum_for_data (GChecksumType checksum_type,
+                                                     const guchar *data,
+                                                     gsize length);
+gchar *g_compute_checksum_for_string (GChecksumType checksum_type,
+                                                     const gchar *str,
+                                                     gssize length);
+
+
+# 43 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gconvert.h" 1
+# 34 "/usr/include/glib-2.0/glib/gconvert.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 35 "/usr/include/glib-2.0/glib/gconvert.h" 2
+
+
+# 50 "/usr/include/glib-2.0/glib/gconvert.h"
+typedef enum
+{
+  G_CONVERT_ERROR_NO_CONVERSION,
+  G_CONVERT_ERROR_ILLEGAL_SEQUENCE,
+  G_CONVERT_ERROR_FAILED,
+  G_CONVERT_ERROR_PARTIAL_INPUT,
+  G_CONVERT_ERROR_BAD_URI,
+  G_CONVERT_ERROR_NOT_ABSOLUTE_PATH
+} GConvertError;
+# 68 "/usr/include/glib-2.0/glib/gconvert.h"
+GQuark g_convert_error_quark (void);
+# 77 "/usr/include/glib-2.0/glib/gconvert.h"
+typedef struct _GIConv *GIConv;
+
+GIConv g_iconv_open (const gchar *to_codeset,
+         const gchar *from_codeset);
+gsize g_iconv (GIConv converter,
+         gchar **inbuf,
+         gsize *inbytes_left,
+         gchar **outbuf,
+         gsize *outbytes_left);
+gint g_iconv_close (GIConv converter);
+
+
+gchar* g_convert (const gchar *str,
+    gssize len,
+    const gchar *to_codeset,
+    const gchar *from_codeset,
+    gsize *bytes_read,
+    gsize *bytes_written,
+    GError **error) __attribute__((__malloc__));
+gchar* g_convert_with_iconv (const gchar *str,
+    gssize len,
+    GIConv converter,
+    gsize *bytes_read,
+    gsize *bytes_written,
+    GError **error) __attribute__((__malloc__));
+gchar* g_convert_with_fallback (const gchar *str,
+    gssize len,
+    const gchar *to_codeset,
+    const gchar *from_codeset,
+    const gchar *fallback,
+    gsize *bytes_read,
+    gsize *bytes_written,
+    GError **error) __attribute__((__malloc__));
+
+
+
+
+gchar* g_locale_to_utf8 (const gchar *opsysstring,
+      gssize len,
+      gsize *bytes_read,
+      gsize *bytes_written,
+      GError **error) __attribute__((__malloc__));
+gchar* g_locale_from_utf8 (const gchar *utf8string,
+      gssize len,
+      gsize *bytes_read,
+      gsize *bytes_written,
+      GError **error) __attribute__((__malloc__));
+# 137 "/usr/include/glib-2.0/glib/gconvert.h"
+gchar* g_filename_to_utf8 (const gchar *opsysstring,
+        gssize len,
+        gsize *bytes_read,
+        gsize *bytes_written,
+        GError **error) __attribute__((__malloc__));
+gchar* g_filename_from_utf8 (const gchar *utf8string,
+        gssize len,
+        gsize *bytes_read,
+        gsize *bytes_written,
+        GError **error) __attribute__((__malloc__));
+
+gchar *g_filename_from_uri (const gchar *uri,
+       gchar **hostname,
+       GError **error) __attribute__((__malloc__));
+
+gchar *g_filename_to_uri (const gchar *filename,
+       const gchar *hostname,
+       GError **error) __attribute__((__malloc__));
+gchar *g_filename_display_name (const gchar *filename) __attribute__((__malloc__));
+gboolean g_get_filename_charsets (const gchar ***charsets);
+
+gchar *g_filename_display_basename (const gchar *filename) __attribute__((__malloc__));
+
+gchar **g_uri_list_extract_uris (const gchar *uri_list) __attribute__((__malloc__));
+
+
+# 44 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gdataset.h" 1
+# 34 "/usr/include/glib-2.0/glib/gdataset.h"
+# 1 "/usr/include/glib-2.0/glib/gquark.h" 1
+# 35 "/usr/include/glib-2.0/glib/gdataset.h" 2
+
+
+
+typedef struct _GData GData;
+
+typedef void (*GDataForeachFunc) (GQuark key_id,
+                                                 gpointer data,
+                                                 gpointer user_data);
+
+
+
+void g_datalist_init (GData **datalist);
+void g_datalist_clear (GData **datalist);
+gpointer g_datalist_id_get_data (GData **datalist,
+      GQuark key_id);
+void g_datalist_id_set_data_full (GData **datalist,
+      GQuark key_id,
+      gpointer data,
+      GDestroyNotify destroy_func);
+gpointer g_datalist_id_remove_no_notify (GData **datalist,
+      GQuark key_id);
+void g_datalist_foreach (GData **datalist,
+      GDataForeachFunc func,
+      gpointer user_data);
+# 69 "/usr/include/glib-2.0/glib/gdataset.h"
+void g_datalist_set_flags (GData **datalist,
+      guint flags);
+void g_datalist_unset_flags (GData **datalist,
+      guint flags);
+guint g_datalist_get_flags (GData **datalist);
+# 91 "/usr/include/glib-2.0/glib/gdataset.h"
+void g_dataset_destroy (gconstpointer dataset_location);
+gpointer g_dataset_id_get_data (gconstpointer dataset_location,
+                                         GQuark key_id);
+gpointer g_datalist_get_data (GData **datalist,
+       const gchar *key);
+void g_dataset_id_set_data_full (gconstpointer dataset_location,
+                                         GQuark key_id,
+                                         gpointer data,
+                                         GDestroyNotify destroy_func);
+gpointer g_dataset_id_remove_no_notify (gconstpointer dataset_location,
+                                         GQuark key_id);
+void g_dataset_foreach (gconstpointer dataset_location,
+                                         GDataForeachFunc func,
+                                         gpointer user_data);
+# 120 "/usr/include/glib-2.0/glib/gdataset.h"
+
+# 45 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gdate.h" 1
+# 36 "/usr/include/glib-2.0/glib/gdate.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 37 "/usr/include/glib-2.0/glib/gdate.h" 2
+# 1 "/usr/include/glib-2.0/glib/gquark.h" 1
+# 38 "/usr/include/glib-2.0/glib/gdate.h" 2
+
+
+# 50 "/usr/include/glib-2.0/glib/gdate.h"
+typedef gint32 GTime;
+typedef guint16 GDateYear;
+typedef guint8 GDateDay;
+typedef struct _GDate GDate;
+
+
+typedef enum
+{
+  G_DATE_DAY = 0,
+  G_DATE_MONTH = 1,
+  G_DATE_YEAR = 2
+} GDateDMY;
+
+
+typedef enum
+{
+  G_DATE_BAD_WEEKDAY = 0,
+  G_DATE_MONDAY = 1,
+  G_DATE_TUESDAY = 2,
+  G_DATE_WEDNESDAY = 3,
+  G_DATE_THURSDAY = 4,
+  G_DATE_FRIDAY = 5,
+  G_DATE_SATURDAY = 6,
+  G_DATE_SUNDAY = 7
+} GDateWeekday;
+typedef enum
+{
+  G_DATE_BAD_MONTH = 0,
+  G_DATE_JANUARY = 1,
+  G_DATE_FEBRUARY = 2,
+  G_DATE_MARCH = 3,
+  G_DATE_APRIL = 4,
+  G_DATE_MAY = 5,
+  G_DATE_JUNE = 6,
+  G_DATE_JULY = 7,
+  G_DATE_AUGUST = 8,
+  G_DATE_SEPTEMBER = 9,
+  G_DATE_OCTOBER = 10,
+  G_DATE_NOVEMBER = 11,
+  G_DATE_DECEMBER = 12
+} GDateMonth;
+# 101 "/usr/include/glib-2.0/glib/gdate.h"
+struct _GDate
+{
+  guint julian_days : 32;
+
+
+
+
+
+  guint julian : 1;
+  guint dmy : 1;
+
+
+  guint day : 6;
+  guint month : 4;
+  guint year : 16;
+};
+
+
+
+
+
+GDate* g_date_new (void);
+GDate* g_date_new_dmy (GDateDay day,
+                                           GDateMonth month,
+                                           GDateYear year);
+GDate* g_date_new_julian (guint32 julian_day);
+void g_date_free (GDate *date);
+
+
+
+
+
+
+gboolean g_date_valid (const GDate *date);
+gboolean g_date_valid_day (GDateDay day) __attribute__((__const__));
+gboolean g_date_valid_month (GDateMonth month) __attribute__((__const__));
+gboolean g_date_valid_year (GDateYear year) __attribute__((__const__));
+gboolean g_date_valid_weekday (GDateWeekday weekday) __attribute__((__const__));
+gboolean g_date_valid_julian (guint32 julian_date) __attribute__((__const__));
+gboolean g_date_valid_dmy (GDateDay day,
+                                           GDateMonth month,
+                                           GDateYear year) __attribute__((__const__));
+
+GDateWeekday g_date_get_weekday (const GDate *date);
+GDateMonth g_date_get_month (const GDate *date);
+GDateYear g_date_get_year (const GDate *date);
+GDateDay g_date_get_day (const GDate *date);
+guint32 g_date_get_julian (const GDate *date);
+guint g_date_get_day_of_year (const GDate *date);
+
+
+
+
+
+
+guint g_date_get_monday_week_of_year (const GDate *date);
+guint g_date_get_sunday_week_of_year (const GDate *date);
+guint g_date_get_iso8601_week_of_year (const GDate *date);
+
+
+
+
+
+void g_date_clear (GDate *date,
+                                           guint n_dates);
+
+
+
+
+
+void g_date_set_parse (GDate *date,
+                                           const gchar *str);
+void g_date_set_time_t (GDate *date,
+        time_t timet);
+void g_date_set_time_val (GDate *date,
+        GTimeVal *timeval);
+
+__attribute__((__deprecated__("Use '" "g_date_set_time_t" "' instead")))
+void g_date_set_time (GDate *date,
+                                           GTime time_);
+
+void g_date_set_month (GDate *date,
+                                           GDateMonth month);
+void g_date_set_day (GDate *date,
+                                           GDateDay day);
+void g_date_set_year (GDate *date,
+                                           GDateYear year);
+void g_date_set_dmy (GDate *date,
+                                           GDateDay day,
+                                           GDateMonth month,
+                                           GDateYear y);
+void g_date_set_julian (GDate *date,
+                                           guint32 julian_date);
+gboolean g_date_is_first_of_month (const GDate *date);
+gboolean g_date_is_last_of_month (const GDate *date);
+
+
+void g_date_add_days (GDate *date,
+                                           guint n_days);
+void g_date_subtract_days (GDate *date,
+                                           guint n_days);
+
+
+void g_date_add_months (GDate *date,
+                                           guint n_months);
+void g_date_subtract_months (GDate *date,
+                                           guint n_months);
+
+
+void g_date_add_years (GDate *date,
+                                           guint n_years);
+void g_date_subtract_years (GDate *date,
+                                           guint n_years);
+gboolean g_date_is_leap_year (GDateYear year) __attribute__((__const__));
+guint8 g_date_get_days_in_month (GDateMonth month,
+                                           GDateYear year) __attribute__((__const__));
+guint8 g_date_get_monday_weeks_in_year (GDateYear year) __attribute__((__const__));
+guint8 g_date_get_sunday_weeks_in_year (GDateYear year) __attribute__((__const__));
+
+
+
+gint g_date_days_between (const GDate *date1,
+        const GDate *date2);
+
+
+gint g_date_compare (const GDate *lhs,
+                                           const GDate *rhs);
+void g_date_to_struct_tm (const GDate *date,
+                                           struct tm *tm);
+
+void g_date_clamp (GDate *date,
+        const GDate *min_date,
+        const GDate *max_date);
+
+
+void g_date_order (GDate *date1, GDate *date2);
+
+
+
+
+gsize g_date_strftime (gchar *s,
+                                           gsize slen,
+                                           const gchar *format,
+                                           const GDate *date);
+# 262 "/usr/include/glib-2.0/glib/gdate.h"
+
+# 46 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gdatetime.h" 1
+# 33 "/usr/include/glib-2.0/glib/gdatetime.h"
+# 1 "/usr/include/glib-2.0/glib/gtimezone.h" 1
+# 29 "/usr/include/glib-2.0/glib/gtimezone.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 30 "/usr/include/glib-2.0/glib/gtimezone.h" 2
+
+
+
+typedef struct _GTimeZone GTimeZone;
+# 50 "/usr/include/glib-2.0/glib/gtimezone.h"
+typedef enum
+{
+  G_TIME_TYPE_STANDARD,
+  G_TIME_TYPE_DAYLIGHT,
+  G_TIME_TYPE_UNIVERSAL
+} GTimeType;
+
+GTimeZone * g_time_zone_new (const gchar *identifier);
+GTimeZone * g_time_zone_new_utc (void);
+GTimeZone * g_time_zone_new_local (void);
+
+GTimeZone * g_time_zone_ref (GTimeZone *tz);
+void g_time_zone_unref (GTimeZone *tz);
+
+gint g_time_zone_find_interval (GTimeZone *tz,
+                                                                         GTimeType type,
+                                                                         gint64 time_);
+
+gint g_time_zone_adjust_time (GTimeZone *tz,
+                                                                         GTimeType type,
+                                                                         gint64 *time_);
+
+const gchar * g_time_zone_get_abbreviation (GTimeZone *tz,
+                                                                         gint interval);
+gint32 g_time_zone_get_offset (GTimeZone *tz,
+                                                                         gint interval);
+gboolean g_time_zone_is_dst (GTimeZone *tz,
+                                                                         gint interval);
+
+
+# 34 "/usr/include/glib-2.0/glib/gdatetime.h" 2
+
+
+# 89 "/usr/include/glib-2.0/glib/gdatetime.h"
+typedef gint64 GTimeSpan;
+# 99 "/usr/include/glib-2.0/glib/gdatetime.h"
+typedef struct _GDateTime GDateTime;
+
+void g_date_time_unref (GDateTime *datetime);
+GDateTime * g_date_time_ref (GDateTime *datetime);
+
+GDateTime * g_date_time_new_now (GTimeZone *tz);
+GDateTime * g_date_time_new_now_local (void);
+GDateTime * g_date_time_new_now_utc (void);
+
+GDateTime * g_date_time_new_from_unix_local (gint64 t);
+GDateTime * g_date_time_new_from_unix_utc (gint64 t);
+
+GDateTime * g_date_time_new_from_timeval_local (const GTimeVal *tv);
+GDateTime * g_date_time_new_from_timeval_utc (const GTimeVal *tv);
+
+GDateTime * g_date_time_new (GTimeZone *tz,
+                                                                         gint year,
+                                                                         gint month,
+                                                                         gint day,
+                                                                         gint hour,
+                                                                         gint minute,
+                                                                         gdouble seconds);
+GDateTime * g_date_time_new_local (gint year,
+                                                                         gint month,
+                                                                         gint day,
+                                                                         gint hour,
+                                                                         gint minute,
+                                                                         gdouble seconds);
+GDateTime * g_date_time_new_utc (gint year,
+                                                                         gint month,
+                                                                         gint day,
+                                                                         gint hour,
+                                                                         gint minute,
+                                                                         gdouble seconds);
+
+__attribute__((warn_unused_result))
+GDateTime * g_date_time_add (GDateTime *datetime,
+                                                                         GTimeSpan timespan);
+
+__attribute__((warn_unused_result))
+GDateTime * g_date_time_add_years (GDateTime *datetime,
+                                                                         gint years);
+__attribute__((warn_unused_result))
+GDateTime * g_date_time_add_months (GDateTime *datetime,
+                                                                         gint months);
+__attribute__((warn_unused_result))
+GDateTime * g_date_time_add_weeks (GDateTime *datetime,
+                                                                         gint weeks);
+__attribute__((warn_unused_result))
+GDateTime * g_date_time_add_days (GDateTime *datetime,
+                                                                         gint days);
+
+__attribute__((warn_unused_result))
+GDateTime * g_date_time_add_hours (GDateTime *datetime,
+                                                                         gint hours);
+__attribute__((warn_unused_result))
+GDateTime * g_date_time_add_minutes (GDateTime *datetime,
+                                                                         gint minutes);
+__attribute__((warn_unused_result))
+GDateTime * g_date_time_add_seconds (GDateTime *datetime,
+                                                                         gdouble seconds);
+
+__attribute__((warn_unused_result))
+GDateTime * g_date_time_add_full (GDateTime *datetime,
+                                                                         gint years,
+                                                                         gint months,
+                                                                         gint days,
+                                                                         gint hours,
+                                                                         gint minutes,
+                                                                         gdouble seconds);
+
+gint g_date_time_compare (gconstpointer dt1,
+                                                                         gconstpointer dt2);
+GTimeSpan g_date_time_difference (GDateTime *end,
+                                                                         GDateTime *begin);
+guint g_date_time_hash (gconstpointer datetime);
+gboolean g_date_time_equal (gconstpointer dt1,
+                                                                         gconstpointer dt2);
+
+void g_date_time_get_ymd (GDateTime *datetime,
+                                                                         gint *year,
+                                                                         gint *month,
+                                                                         gint *day);
+
+gint g_date_time_get_year (GDateTime *datetime);
+gint g_date_time_get_month (GDateTime *datetime);
+gint g_date_time_get_day_of_month (GDateTime *datetime);
+
+gint g_date_time_get_week_numbering_year (GDateTime *datetime);
+gint g_date_time_get_week_of_year (GDateTime *datetime);
+gint g_date_time_get_day_of_week (GDateTime *datetime);
+
+gint g_date_time_get_day_of_year (GDateTime *datetime);
+
+gint g_date_time_get_hour (GDateTime *datetime);
+gint g_date_time_get_minute (GDateTime *datetime);
+gint g_date_time_get_second (GDateTime *datetime);
+gint g_date_time_get_microsecond (GDateTime *datetime);
+gdouble g_date_time_get_seconds (GDateTime *datetime);
+
+gint64 g_date_time_to_unix (GDateTime *datetime);
+gboolean g_date_time_to_timeval (GDateTime *datetime,
+                                                                         GTimeVal *tv);
+
+GTimeSpan g_date_time_get_utc_offset (GDateTime *datetime);
+const gchar * g_date_time_get_timezone_abbreviation (GDateTime *datetime);
+gboolean g_date_time_is_daylight_savings (GDateTime *datetime);
+
+GDateTime * g_date_time_to_timezone (GDateTime *datetime,
+                                                                         GTimeZone *tz);
+GDateTime * g_date_time_to_local (GDateTime *datetime);
+GDateTime * g_date_time_to_utc (GDateTime *datetime);
+
+gchar * g_date_time_format (GDateTime *datetime,
+                                                                         const gchar *format) __attribute__((__malloc__));
+
+
+# 47 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gdir.h" 1
+# 31 "/usr/include/glib-2.0/glib/gdir.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 32 "/usr/include/glib-2.0/glib/gdir.h" 2
+
+
+
+typedef struct _GDir GDir;
+# 45 "/usr/include/glib-2.0/glib/gdir.h"
+GDir * g_dir_open (const gchar *path,
+            guint flags,
+            GError **error);
+const gchar * g_dir_read_name (GDir *dir);
+void g_dir_rewind (GDir *dir);
+void g_dir_close (GDir *dir);
+
+
+# 48 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/genviron.h" 1
+# 34 "/usr/include/glib-2.0/glib/genviron.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/genviron.h" 2
+
+
+# 46 "/usr/include/glib-2.0/glib/genviron.h"
+const gchar * g_getenv (const gchar *variable);
+gboolean g_setenv (const gchar *variable,
+                                  const gchar *value,
+                                  gboolean overwrite);
+void g_unsetenv (const gchar *variable);
+gchar ** g_listenv (void);
+
+gchar ** g_get_environ (void);
+const gchar * g_environ_getenv (gchar **envp,
+                                  const gchar *variable);
+gchar ** g_environ_setenv (gchar **envp,
+                                  const gchar *variable,
+                                  const gchar *value,
+                                  gboolean overwrite) __attribute__((warn_unused_result));
+gchar ** g_environ_unsetenv (gchar **envp,
+                                  const gchar *variable) __attribute__((warn_unused_result));
+
+
+# 49 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 50 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gfileutils.h" 1
+# 28 "/usr/include/glib-2.0/glib/gfileutils.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 29 "/usr/include/glib-2.0/glib/gfileutils.h" 2
+
+
+
+
+
+typedef enum
+{
+  G_FILE_ERROR_EXIST,
+  G_FILE_ERROR_ISDIR,
+  G_FILE_ERROR_ACCES,
+  G_FILE_ERROR_NAMETOOLONG,
+  G_FILE_ERROR_NOENT,
+  G_FILE_ERROR_NOTDIR,
+  G_FILE_ERROR_NXIO,
+  G_FILE_ERROR_NODEV,
+  G_FILE_ERROR_ROFS,
+  G_FILE_ERROR_TXTBSY,
+  G_FILE_ERROR_FAULT,
+  G_FILE_ERROR_LOOP,
+  G_FILE_ERROR_NOSPC,
+  G_FILE_ERROR_NOMEM,
+  G_FILE_ERROR_MFILE,
+  G_FILE_ERROR_NFILE,
+  G_FILE_ERROR_BADF,
+  G_FILE_ERROR_INVAL,
+  G_FILE_ERROR_PIPE,
+  G_FILE_ERROR_AGAIN,
+  G_FILE_ERROR_INTR,
+  G_FILE_ERROR_IO,
+  G_FILE_ERROR_PERM,
+  G_FILE_ERROR_NOSYS,
+  G_FILE_ERROR_FAILED
+} GFileError;
+
+
+
+
+
+typedef enum
+{
+  G_FILE_TEST_IS_REGULAR = 1 << 0,
+  G_FILE_TEST_IS_SYMLINK = 1 << 1,
+  G_FILE_TEST_IS_DIR = 1 << 2,
+  G_FILE_TEST_IS_EXECUTABLE = 1 << 3,
+  G_FILE_TEST_EXISTS = 1 << 4
+} GFileTest;
+
+GQuark g_file_error_quark (void);
+
+GFileError g_file_error_from_errno (gint err_no);
+# 89 "/usr/include/glib-2.0/glib/gfileutils.h"
+gboolean g_file_test (const gchar *filename,
+                              GFileTest test);
+gboolean g_file_get_contents (const gchar *filename,
+                              gchar **contents,
+                              gsize *length,
+                              GError **error);
+gboolean g_file_set_contents (const gchar *filename,
+                              const gchar *contents,
+                              gssize length,
+                              GError **error);
+gchar *g_file_read_link (const gchar *filename,
+                              GError **error);
+
+
+
+gchar *g_mkdtemp (gchar *tmpl);
+
+gchar *g_mkdtemp_full (gchar *tmpl,
+                               gint mode);
+
+
+gint g_mkstemp (gchar *tmpl);
+gint g_mkstemp_full (gchar *tmpl,
+                               gint flags,
+                               gint mode);
+
+
+gint g_file_open_tmp (const gchar *tmpl,
+                               gchar **name_used,
+                               GError **error);
+
+gchar *g_dir_make_tmp (const gchar *tmpl,
+                               GError **error);
+
+gchar *g_build_path (const gchar *separator,
+                               const gchar *first_element,
+                               ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
+gchar *g_build_pathv (const gchar *separator,
+                               gchar **args) __attribute__((__malloc__));
+
+gchar *g_build_filename (const gchar *first_element,
+                               ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
+gchar *g_build_filenamev (gchar **args) __attribute__((__malloc__));
+
+gint g_mkdir_with_parents (const gchar *pathname,
+                               gint mode);
+# 158 "/usr/include/glib-2.0/glib/gfileutils.h"
+gboolean g_path_is_absolute (const gchar *file_name);
+const gchar *g_path_skip_root (const gchar *file_name);
+
+__attribute__((__deprecated__("Use '" "g_path_get_basename" "' instead")))
+const gchar *g_basename (const gchar *file_name);
+# 173 "/usr/include/glib-2.0/glib/gfileutils.h"
+gchar *g_get_current_dir (void);
+gchar *g_path_get_basename (const gchar *file_name) __attribute__((__malloc__));
+gchar *g_path_get_dirname (const gchar *file_name) __attribute__((__malloc__));
+
+
+# 51 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/ggettext.h" 1
+# 34 "/usr/include/glib-2.0/glib/ggettext.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/ggettext.h" 2
+
+
+
+const gchar *g_strip_context (const gchar *msgid,
+                              const gchar *msgval) __attribute__((__format_arg__ (1)));
+
+const gchar *g_dgettext (const gchar *domain,
+                              const gchar *msgid) __attribute__((__format_arg__ (2)));
+const gchar *g_dcgettext (const gchar *domain,
+                              const gchar *msgid,
+                              gint category) __attribute__((__format_arg__ (2)));
+const gchar *g_dngettext (const gchar *domain,
+                              const gchar *msgid,
+                              const gchar *msgid_plural,
+                              gulong n) __attribute__((__format_arg__ (3)));
+const gchar *g_dpgettext (const gchar *domain,
+                              const gchar *msgctxtid,
+                              gsize msgidoffset) __attribute__((__format_arg__ (2)));
+const gchar *g_dpgettext2 (const gchar *domain,
+                              const gchar *context,
+                              const gchar *msgid) __attribute__((__format_arg__ (3)));
+
+
+# 52 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/ghash.h" 1
+# 34 "/usr/include/glib-2.0/glib/ghash.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/ghash.h" 2
+# 1 "/usr/include/glib-2.0/glib/glist.h" 1
+# 34 "/usr/include/glib-2.0/glib/glist.h"
+# 1 "/usr/include/glib-2.0/glib/gmem.h" 1
+# 34 "/usr/include/glib-2.0/glib/gmem.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/gmem.h" 2
+
+
+# 51 "/usr/include/glib-2.0/glib/gmem.h"
+typedef struct _GMemVTable GMemVTable;
+# 70 "/usr/include/glib-2.0/glib/gmem.h"
+void g_free (gpointer mem);
+
+gpointer g_malloc (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
+gpointer g_malloc0 (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
+gpointer g_realloc (gpointer mem,
+      gsize n_bytes) __attribute__((warn_unused_result));
+gpointer g_try_malloc (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
+gpointer g_try_malloc0 (gsize n_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
+gpointer g_try_realloc (gpointer mem,
+      gsize n_bytes) __attribute__((warn_unused_result));
+
+gpointer g_malloc_n (gsize n_blocks,
+      gsize n_block_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1,2)));
+gpointer g_malloc0_n (gsize n_blocks,
+      gsize n_block_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1,2)));
+gpointer g_realloc_n (gpointer mem,
+      gsize n_blocks,
+      gsize n_block_bytes) __attribute__((warn_unused_result));
+gpointer g_try_malloc_n (gsize n_blocks,
+      gsize n_block_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1,2)));
+gpointer g_try_malloc0_n (gsize n_blocks,
+      gsize n_block_bytes) __attribute__((__malloc__)) __attribute__((__alloc_size__(1,2)));
+gpointer g_try_realloc_n (gpointer mem,
+      gsize n_blocks,
+      gsize n_block_bytes) __attribute__((warn_unused_result));
+# 240 "/usr/include/glib-2.0/glib/gmem.h"
+struct _GMemVTable {
+  gpointer (*malloc) (gsize n_bytes);
+  gpointer (*realloc) (gpointer mem,
+      gsize n_bytes);
+  void (*free) (gpointer mem);
+
+  gpointer (*calloc) (gsize n_blocks,
+      gsize n_block_bytes);
+  gpointer (*try_malloc) (gsize n_bytes);
+  gpointer (*try_realloc) (gpointer mem,
+      gsize n_bytes);
+};
+void g_mem_set_vtable (GMemVTable *vtable);
+gboolean g_mem_is_system_malloc (void);
+
+extern gboolean g_mem_gc_friendly;
+
+
+
+extern GMemVTable *glib_mem_profiler_table;
+void g_mem_profile (void);
+
+
+# 35 "/usr/include/glib-2.0/glib/glist.h" 2
+
+
+
+typedef struct _GList GList;
+
+struct _GList
+{
+  gpointer data;
+  GList *next;
+  GList *prev;
+};
+
+
+
+GList* g_list_alloc (void) __attribute__((warn_unused_result));
+void g_list_free (GList *list);
+void g_list_free_1 (GList *list);
+
+void g_list_free_full (GList *list,
+      GDestroyNotify free_func);
+GList* g_list_append (GList *list,
+      gpointer data) __attribute__((warn_unused_result));
+GList* g_list_prepend (GList *list,
+      gpointer data) __attribute__((warn_unused_result));
+GList* g_list_insert (GList *list,
+      gpointer data,
+      gint position) __attribute__((warn_unused_result));
+GList* g_list_insert_sorted (GList *list,
+      gpointer data,
+      GCompareFunc func) __attribute__((warn_unused_result));
+GList* g_list_insert_sorted_with_data (GList *list,
+      gpointer data,
+      GCompareDataFunc func,
+      gpointer user_data) __attribute__((warn_unused_result));
+GList* g_list_insert_before (GList *list,
+      GList *sibling,
+      gpointer data) __attribute__((warn_unused_result));
+GList* g_list_concat (GList *list1,
+      GList *list2) __attribute__((warn_unused_result));
+GList* g_list_remove (GList *list,
+      gconstpointer data) __attribute__((warn_unused_result));
+GList* g_list_remove_all (GList *list,
+      gconstpointer data) __attribute__((warn_unused_result));
+GList* g_list_remove_link (GList *list,
+      GList *llink) __attribute__((warn_unused_result));
+GList* g_list_delete_link (GList *list,
+      GList *link_) __attribute__((warn_unused_result));
+GList* g_list_reverse (GList *list) __attribute__((warn_unused_result));
+GList* g_list_copy (GList *list) __attribute__((warn_unused_result));
+GList* g_list_nth (GList *list,
+      guint n);
+GList* g_list_nth_prev (GList *list,
+      guint n);
+GList* g_list_find (GList *list,
+      gconstpointer data);
+GList* g_list_find_custom (GList *list,
+      gconstpointer data,
+      GCompareFunc func);
+gint g_list_position (GList *list,
+      GList *llink);
+gint g_list_index (GList *list,
+      gconstpointer data);
+GList* g_list_last (GList *list);
+GList* g_list_first (GList *list);
+guint g_list_length (GList *list);
+void g_list_foreach (GList *list,
+      GFunc func,
+      gpointer user_data);
+GList* g_list_sort (GList *list,
+      GCompareFunc compare_func) __attribute__((warn_unused_result));
+GList* g_list_sort_with_data (GList *list,
+      GCompareDataFunc compare_func,
+      gpointer user_data) __attribute__((warn_unused_result));
+gpointer g_list_nth_data (GList *list,
+      guint n);
+
+
+
+
+
+
+# 36 "/usr/include/glib-2.0/glib/ghash.h" 2
+
+
+
+typedef struct _GHashTable GHashTable;
+
+typedef gboolean (*GHRFunc) (gpointer key,
+                               gpointer value,
+                               gpointer user_data);
+
+typedef struct _GHashTableIter GHashTableIter;
+
+struct _GHashTableIter
+{
+
+  gpointer dummy1;
+  gpointer dummy2;
+  gpointer dummy3;
+  int dummy4;
+  gboolean dummy5;
+  gpointer dummy6;
+};
+
+GHashTable* g_hash_table_new (GHashFunc hash_func,
+                                            GEqualFunc key_equal_func);
+GHashTable* g_hash_table_new_full (GHashFunc hash_func,
+                                            GEqualFunc key_equal_func,
+                                            GDestroyNotify key_destroy_func,
+                                            GDestroyNotify value_destroy_func);
+void g_hash_table_destroy (GHashTable *hash_table);
+void g_hash_table_insert (GHashTable *hash_table,
+                                            gpointer key,
+                                            gpointer value);
+void g_hash_table_replace (GHashTable *hash_table,
+                                            gpointer key,
+                                            gpointer value);
+void g_hash_table_add (GHashTable *hash_table,
+                                            gpointer key);
+gboolean g_hash_table_remove (GHashTable *hash_table,
+                                            gconstpointer key);
+void g_hash_table_remove_all (GHashTable *hash_table);
+gboolean g_hash_table_steal (GHashTable *hash_table,
+                                            gconstpointer key);
+void g_hash_table_steal_all (GHashTable *hash_table);
+gpointer g_hash_table_lookup (GHashTable *hash_table,
+                                            gconstpointer key);
+gboolean g_hash_table_contains (GHashTable *hash_table,
+                                            gconstpointer key);
+gboolean g_hash_table_lookup_extended (GHashTable *hash_table,
+                                            gconstpointer lookup_key,
+                                            gpointer *orig_key,
+                                            gpointer *value);
+void g_hash_table_foreach (GHashTable *hash_table,
+                                            GHFunc func,
+                                            gpointer user_data);
+gpointer g_hash_table_find (GHashTable *hash_table,
+                                            GHRFunc predicate,
+                                            gpointer user_data);
+guint g_hash_table_foreach_remove (GHashTable *hash_table,
+                                            GHRFunc func,
+                                            gpointer user_data);
+guint g_hash_table_foreach_steal (GHashTable *hash_table,
+                                            GHRFunc func,
+                                            gpointer user_data);
+guint g_hash_table_size (GHashTable *hash_table);
+GList * g_hash_table_get_keys (GHashTable *hash_table);
+GList * g_hash_table_get_values (GHashTable *hash_table);
+
+void g_hash_table_iter_init (GHashTableIter *iter,
+                                            GHashTable *hash_table);
+gboolean g_hash_table_iter_next (GHashTableIter *iter,
+                                            gpointer *key,
+                                            gpointer *value);
+GHashTable* g_hash_table_iter_get_hash_table (GHashTableIter *iter);
+void g_hash_table_iter_remove (GHashTableIter *iter);
+
+void g_hash_table_iter_replace (GHashTableIter *iter,
+                                            gpointer value);
+void g_hash_table_iter_steal (GHashTableIter *iter);
+
+GHashTable* g_hash_table_ref (GHashTable *hash_table);
+void g_hash_table_unref (GHashTable *hash_table);
+# 125 "/usr/include/glib-2.0/glib/ghash.h"
+gboolean g_str_equal (gconstpointer v1,
+                         gconstpointer v2);
+guint g_str_hash (gconstpointer v);
+
+gboolean g_int_equal (gconstpointer v1,
+                         gconstpointer v2);
+guint g_int_hash (gconstpointer v);
+
+gboolean g_int64_equal (gconstpointer v1,
+                         gconstpointer v2);
+guint g_int64_hash (gconstpointer v);
+
+gboolean g_double_equal (gconstpointer v1,
+                         gconstpointer v2);
+guint g_double_hash (gconstpointer v);
+
+guint g_direct_hash (gconstpointer v) __attribute__((__const__));
+gboolean g_direct_equal (gconstpointer v1,
+                         gconstpointer v2) __attribute__((__const__));
+
+
+# 53 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/ghmac.h" 1
+# 28 "/usr/include/glib-2.0/glib/ghmac.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 29 "/usr/include/glib-2.0/glib/ghmac.h" 2
+# 1 "/usr/include/glib-2.0/glib/gchecksum.h" 1
+# 30 "/usr/include/glib-2.0/glib/ghmac.h" 2
+
+
+# 42 "/usr/include/glib-2.0/glib/ghmac.h"
+typedef struct _GHmac GHmac;
+
+
+GHmac * g_hmac_new (GChecksumType digest_type,
+                                                     const guchar *key,
+                                                     gsize key_len);
+
+GHmac * g_hmac_copy (const GHmac *hmac);
+
+GHmac * g_hmac_ref (GHmac *hmac);
+
+void g_hmac_unref (GHmac *hmac);
+
+void g_hmac_update (GHmac *hmac,
+                                                     const guchar *data,
+                                                     gssize length);
+
+const gchar * g_hmac_get_string (GHmac *hmac);
+
+void g_hmac_get_digest (GHmac *hmac,
+                                                     guint8 *buffer,
+                                                     gsize *digest_len);
+
+
+gchar *g_compute_hmac_for_data (GChecksumType digest_type,
+                                                     const guchar *key,
+                                                     gsize key_len,
+                                                     const guchar *data,
+                                                     gsize length);
+
+gchar *g_compute_hmac_for_string (GChecksumType digest_type,
+                                                     const guchar *key,
+                                                     gsize key_len,
+                                                     const gchar *str,
+                                                     gssize length);
+
+
+# 54 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/ghook.h" 1
+# 34 "/usr/include/glib-2.0/glib/ghook.h"
+# 1 "/usr/include/glib-2.0/glib/gmem.h" 1
+# 35 "/usr/include/glib-2.0/glib/ghook.h" 2
+
+
+
+
+
+typedef struct _GHook GHook;
+typedef struct _GHookList GHookList;
+
+typedef gint (*GHookCompareFunc) (GHook *new_hook,
+       GHook *sibling);
+typedef gboolean (*GHookFindFunc) (GHook *hook,
+       gpointer data);
+typedef void (*GHookMarshaller) (GHook *hook,
+       gpointer marshal_data);
+typedef gboolean (*GHookCheckMarshaller) (GHook *hook,
+       gpointer marshal_data);
+typedef void (*GHookFunc) (gpointer data);
+typedef gboolean (*GHookCheckFunc) (gpointer data);
+typedef void (*GHookFinalizeFunc) (GHookList *hook_list,
+       GHook *hook);
+typedef enum
+{
+  G_HOOK_FLAG_ACTIVE = 1 << 0,
+  G_HOOK_FLAG_IN_CALL = 1 << 1,
+  G_HOOK_FLAG_MASK = 0x0f
+} GHookFlagMask;
+
+
+
+
+struct _GHookList
+{
+  gulong seq_id;
+  guint hook_size : 16;
+  guint is_setup : 1;
+  GHook *hooks;
+  gpointer dummy3;
+  GHookFinalizeFunc finalize_hook;
+  gpointer dummy[2];
+};
+struct _GHook
+{
+  gpointer data;
+  GHook *next;
+  GHook *prev;
+  guint ref_count;
+  gulong hook_id;
+  guint flags;
+  gpointer func;
+  GDestroyNotify destroy;
+};
+# 106 "/usr/include/glib-2.0/glib/ghook.h"
+void g_hook_list_init (GHookList *hook_list,
+      guint hook_size);
+void g_hook_list_clear (GHookList *hook_list);
+GHook* g_hook_alloc (GHookList *hook_list);
+void g_hook_free (GHookList *hook_list,
+      GHook *hook);
+GHook * g_hook_ref (GHookList *hook_list,
+      GHook *hook);
+void g_hook_unref (GHookList *hook_list,
+      GHook *hook);
+gboolean g_hook_destroy (GHookList *hook_list,
+      gulong hook_id);
+void g_hook_destroy_link (GHookList *hook_list,
+      GHook *hook);
+void g_hook_prepend (GHookList *hook_list,
+      GHook *hook);
+void g_hook_insert_before (GHookList *hook_list,
+      GHook *sibling,
+      GHook *hook);
+void g_hook_insert_sorted (GHookList *hook_list,
+      GHook *hook,
+      GHookCompareFunc func);
+GHook* g_hook_get (GHookList *hook_list,
+      gulong hook_id);
+GHook* g_hook_find (GHookList *hook_list,
+      gboolean need_valids,
+      GHookFindFunc func,
+      gpointer data);
+GHook* g_hook_find_data (GHookList *hook_list,
+      gboolean need_valids,
+      gpointer data);
+GHook* g_hook_find_func (GHookList *hook_list,
+      gboolean need_valids,
+      gpointer func);
+GHook* g_hook_find_func_data (GHookList *hook_list,
+      gboolean need_valids,
+      gpointer func,
+      gpointer data);
+
+GHook* g_hook_first_valid (GHookList *hook_list,
+      gboolean may_be_in_call);
+
+
+
+GHook* g_hook_next_valid (GHookList *hook_list,
+      GHook *hook,
+      gboolean may_be_in_call);
+
+gint g_hook_compare_ids (GHook *new_hook,
+      GHook *sibling);
+
+
+
+
+
+void g_hook_list_invoke (GHookList *hook_list,
+      gboolean may_recurse);
+
+
+
+void g_hook_list_invoke_check (GHookList *hook_list,
+      gboolean may_recurse);
+
+
+void g_hook_list_marshal (GHookList *hook_list,
+      gboolean may_recurse,
+      GHookMarshaller marshaller,
+      gpointer marshal_data);
+void g_hook_list_marshal_check (GHookList *hook_list,
+      gboolean may_recurse,
+      GHookCheckMarshaller marshaller,
+      gpointer marshal_data);
+
+
+# 55 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/ghostutils.h" 1
+# 27 "/usr/include/glib-2.0/glib/ghostutils.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 28 "/usr/include/glib-2.0/glib/ghostutils.h" 2
+
+
+
+gboolean g_hostname_is_non_ascii (const gchar *hostname);
+gboolean g_hostname_is_ascii_encoded (const gchar *hostname);
+gboolean g_hostname_is_ip_address (const gchar *hostname);
+
+gchar *g_hostname_to_ascii (const gchar *hostname);
+gchar *g_hostname_to_unicode (const gchar *hostname);
+
+
+# 56 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/giochannel.h" 1
+# 34 "/usr/include/glib-2.0/glib/giochannel.h"
+# 1 "/usr/include/glib-2.0/glib/gconvert.h" 1
+# 35 "/usr/include/glib-2.0/glib/giochannel.h" 2
+# 1 "/usr/include/glib-2.0/glib/gmain.h" 1
+# 27 "/usr/include/glib-2.0/glib/gmain.h"
+# 1 "/usr/include/glib-2.0/glib/gpoll.h" 1
+# 27 "/usr/include/glib-2.0/glib/gpoll.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 28 "/usr/include/glib-2.0/glib/gpoll.h" 2
+
+
+# 61 "/usr/include/glib-2.0/glib/gpoll.h"
+typedef struct _GPollFD GPollFD;
+# 76 "/usr/include/glib-2.0/glib/gpoll.h"
+typedef gint (*GPollFunc) (GPollFD *ufds,
+                                 guint nfsd,
+                                 gint timeout_);
+# 93 "/usr/include/glib-2.0/glib/gpoll.h"
+struct _GPollFD
+{
+
+
+
+  gint fd;
+
+  gushort events;
+  gushort revents;
+};
+# 114 "/usr/include/glib-2.0/glib/gpoll.h"
+gint g_poll (GPollFD *fds,
+      guint nfds,
+      gint timeout);
+
+
+# 28 "/usr/include/glib-2.0/glib/gmain.h" 2
+# 1 "/usr/include/glib-2.0/glib/gslist.h" 1
+# 34 "/usr/include/glib-2.0/glib/gslist.h"
+# 1 "/usr/include/glib-2.0/glib/gmem.h" 1
+# 35 "/usr/include/glib-2.0/glib/gslist.h" 2
+
+
+
+typedef struct _GSList GSList;
+
+struct _GSList
+{
+  gpointer data;
+  GSList *next;
+};
+
+
+
+GSList* g_slist_alloc (void) __attribute__((warn_unused_result));
+void g_slist_free (GSList *list);
+void g_slist_free_1 (GSList *list);
+
+void g_slist_free_full (GSList *list,
+       GDestroyNotify free_func);
+GSList* g_slist_append (GSList *list,
+       gpointer data) __attribute__((warn_unused_result));
+GSList* g_slist_prepend (GSList *list,
+       gpointer data) __attribute__((warn_unused_result));
+GSList* g_slist_insert (GSList *list,
+       gpointer data,
+       gint position) __attribute__((warn_unused_result));
+GSList* g_slist_insert_sorted (GSList *list,
+       gpointer data,
+       GCompareFunc func) __attribute__((warn_unused_result));
+GSList* g_slist_insert_sorted_with_data (GSList *list,
+       gpointer data,
+       GCompareDataFunc func,
+       gpointer user_data) __attribute__((warn_unused_result));
+GSList* g_slist_insert_before (GSList *slist,
+       GSList *sibling,
+       gpointer data) __attribute__((warn_unused_result));
+GSList* g_slist_concat (GSList *list1,
+       GSList *list2) __attribute__((warn_unused_result));
+GSList* g_slist_remove (GSList *list,
+       gconstpointer data) __attribute__((warn_unused_result));
+GSList* g_slist_remove_all (GSList *list,
+       gconstpointer data) __attribute__((warn_unused_result));
+GSList* g_slist_remove_link (GSList *list,
+       GSList *link_) __attribute__((warn_unused_result));
+GSList* g_slist_delete_link (GSList *list,
+       GSList *link_) __attribute__((warn_unused_result));
+GSList* g_slist_reverse (GSList *list) __attribute__((warn_unused_result));
+GSList* g_slist_copy (GSList *list) __attribute__((warn_unused_result));
+GSList* g_slist_nth (GSList *list,
+       guint n);
+GSList* g_slist_find (GSList *list,
+       gconstpointer data);
+GSList* g_slist_find_custom (GSList *list,
+       gconstpointer data,
+       GCompareFunc func);
+gint g_slist_position (GSList *list,
+       GSList *llink);
+gint g_slist_index (GSList *list,
+       gconstpointer data);
+GSList* g_slist_last (GSList *list);
+guint g_slist_length (GSList *list);
+void g_slist_foreach (GSList *list,
+       GFunc func,
+       gpointer user_data);
+GSList* g_slist_sort (GSList *list,
+       GCompareFunc compare_func) __attribute__((warn_unused_result));
+GSList* g_slist_sort_with_data (GSList *list,
+       GCompareDataFunc compare_func,
+       gpointer user_data) __attribute__((warn_unused_result));
+gpointer g_slist_nth_data (GSList *list,
+       guint n);
+
+
+
+
+# 29 "/usr/include/glib-2.0/glib/gmain.h" 2
+# 1 "/usr/include/glib-2.0/glib/gthread.h" 1
+# 30 "/usr/include/glib-2.0/glib/gmain.h" 2
+
+
+
+
+
+
+
+
+
+typedef struct _GMainContext GMainContext;
+
+
+
+
+
+
+
+typedef struct _GMainLoop GMainLoop;
+
+
+
+
+
+
+
+typedef struct _GSource GSource;
+typedef struct _GSourcePrivate GSourcePrivate;
+# 68 "/usr/include/glib-2.0/glib/gmain.h"
+typedef struct _GSourceCallbackFuncs GSourceCallbackFuncs;
+# 113 "/usr/include/glib-2.0/glib/gmain.h"
+typedef struct _GSourceFuncs GSourceFuncs;
+# 137 "/usr/include/glib-2.0/glib/gmain.h"
+typedef gboolean (*GSourceFunc) (gpointer user_data);
+# 148 "/usr/include/glib-2.0/glib/gmain.h"
+typedef void (*GChildWatchFunc) (GPid pid,
+                                       gint status,
+                                       gpointer user_data);
+struct _GSource
+{
+
+  gpointer callback_data;
+  GSourceCallbackFuncs *callback_funcs;
+
+  GSourceFuncs *source_funcs;
+  guint ref_count;
+
+  GMainContext *context;
+
+  gint priority;
+  guint flags;
+  guint source_id;
+
+  GSList *poll_fds;
+
+  GSource *prev;
+  GSource *next;
+
+  char *name;
+
+  GSourcePrivate *priv;
+};
+
+struct _GSourceCallbackFuncs
+{
+  void (*ref) (gpointer cb_data);
+  void (*unref) (gpointer cb_data);
+  void (*get) (gpointer cb_data,
+                 GSource *source,
+                 GSourceFunc *func,
+                 gpointer *data);
+};
+
+
+
+
+
+
+
+typedef void (*GSourceDummyMarshal) (void);
+
+struct _GSourceFuncs
+{
+  gboolean (*prepare) (GSource *source,
+                        gint *timeout_);
+  gboolean (*check) (GSource *source);
+  gboolean (*dispatch) (GSource *source,
+                        GSourceFunc callback,
+                        gpointer user_data);
+  void (*finalize) (GSource *source);
+
+
+
+  GSourceFunc closure_callback;
+  GSourceDummyMarshal closure_marshal;
+};
+# 285 "/usr/include/glib-2.0/glib/gmain.h"
+GMainContext *g_main_context_new (void);
+GMainContext *g_main_context_ref (GMainContext *context);
+void g_main_context_unref (GMainContext *context);
+GMainContext *g_main_context_default (void);
+
+gboolean g_main_context_iteration (GMainContext *context,
+                                        gboolean may_block);
+gboolean g_main_context_pending (GMainContext *context);
+
+
+
+GSource *g_main_context_find_source_by_id (GMainContext *context,
+                                                             guint source_id);
+GSource *g_main_context_find_source_by_user_data (GMainContext *context,
+                                                             gpointer user_data);
+GSource *g_main_context_find_source_by_funcs_user_data (GMainContext *context,
+                                                             GSourceFuncs *funcs,
+                                                             gpointer user_data);
+
+
+
+void g_main_context_wakeup (GMainContext *context);
+gboolean g_main_context_acquire (GMainContext *context);
+void g_main_context_release (GMainContext *context);
+gboolean g_main_context_is_owner (GMainContext *context);
+gboolean g_main_context_wait (GMainContext *context,
+                                 GCond *cond,
+                                 GMutex *mutex);
+
+gboolean g_main_context_prepare (GMainContext *context,
+                                  gint *priority);
+gint g_main_context_query (GMainContext *context,
+                                  gint max_priority,
+                                  gint *timeout_,
+                                  GPollFD *fds,
+                                  gint n_fds);
+gint g_main_context_check (GMainContext *context,
+                                  gint max_priority,
+                                  GPollFD *fds,
+                                  gint n_fds);
+void g_main_context_dispatch (GMainContext *context);
+
+void g_main_context_set_poll_func (GMainContext *context,
+                                       GPollFunc func);
+GPollFunc g_main_context_get_poll_func (GMainContext *context);
+
+
+
+void g_main_context_add_poll (GMainContext *context,
+                                     GPollFD *fd,
+                                     gint priority);
+void g_main_context_remove_poll (GMainContext *context,
+                                     GPollFD *fd);
+
+gint g_main_depth (void);
+GSource *g_main_current_source (void);
+
+
+
+void g_main_context_push_thread_default (GMainContext *context);
+void g_main_context_pop_thread_default (GMainContext *context);
+GMainContext *g_main_context_get_thread_default (void);
+GMainContext *g_main_context_ref_thread_default (void);
+
+
+
+GMainLoop *g_main_loop_new (GMainContext *context,
+                                   gboolean is_running);
+void g_main_loop_run (GMainLoop *loop);
+void g_main_loop_quit (GMainLoop *loop);
+GMainLoop *g_main_loop_ref (GMainLoop *loop);
+void g_main_loop_unref (GMainLoop *loop);
+gboolean g_main_loop_is_running (GMainLoop *loop);
+GMainContext *g_main_loop_get_context (GMainLoop *loop);
+
+
+
+GSource *g_source_new (GSourceFuncs *source_funcs,
+                                   guint struct_size);
+GSource *g_source_ref (GSource *source);
+void g_source_unref (GSource *source);
+
+guint g_source_attach (GSource *source,
+                                   GMainContext *context);
+void g_source_destroy (GSource *source);
+
+void g_source_set_priority (GSource *source,
+                                   gint priority);
+gint g_source_get_priority (GSource *source);
+void g_source_set_can_recurse (GSource *source,
+                                   gboolean can_recurse);
+gboolean g_source_get_can_recurse (GSource *source);
+guint g_source_get_id (GSource *source);
+
+GMainContext *g_source_get_context (GSource *source);
+
+void g_source_set_callback (GSource *source,
+                                   GSourceFunc func,
+                                   gpointer data,
+                                   GDestroyNotify notify);
+
+void g_source_set_funcs (GSource *source,
+                                   GSourceFuncs *funcs);
+gboolean g_source_is_destroyed (GSource *source);
+
+void g_source_set_name (GSource *source,
+                                              const char *name);
+const char * g_source_get_name (GSource *source);
+void g_source_set_name_by_id (guint tag,
+                                              const char *name);
+
+
+
+void g_source_set_callback_indirect (GSource *source,
+                                     gpointer callback_data,
+                                     GSourceCallbackFuncs *callback_funcs);
+
+void g_source_add_poll (GSource *source,
+           GPollFD *fd);
+void g_source_remove_poll (GSource *source,
+           GPollFD *fd);
+
+void g_source_add_child_source (GSource *source,
+           GSource *child_source);
+void g_source_remove_child_source (GSource *source,
+           GSource *child_source);
+
+__attribute__((__deprecated__("Use '" "g_source_get_time" "' instead")))
+void g_source_get_current_time (GSource *source,
+                                    GTimeVal *timeval);
+
+gint64 g_source_get_time (GSource *source);
+
+
+
+
+
+
+
+GSource *g_idle_source_new (void);
+GSource *g_child_watch_source_new (GPid pid);
+GSource *g_timeout_source_new (guint interval);
+GSource *g_timeout_source_new_seconds (guint interval);
+
+
+
+void g_get_current_time (GTimeVal *result);
+gint64 g_get_monotonic_time (void);
+gint64 g_get_real_time (void);
+
+
+
+gboolean g_source_remove (guint tag);
+gboolean g_source_remove_by_user_data (gpointer user_data);
+gboolean g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
+                                              gpointer user_data);
+
+
+guint g_timeout_add_full (gint priority,
+                                     guint interval,
+                                     GSourceFunc function,
+                                     gpointer data,
+                                     GDestroyNotify notify);
+guint g_timeout_add (guint interval,
+                                     GSourceFunc function,
+                                     gpointer data);
+guint g_timeout_add_seconds_full (gint priority,
+                                     guint interval,
+                                     GSourceFunc function,
+                                     gpointer data,
+                                     GDestroyNotify notify);
+guint g_timeout_add_seconds (guint interval,
+                                     GSourceFunc function,
+                                     gpointer data);
+guint g_child_watch_add_full (gint priority,
+                                     GPid pid,
+                                     GChildWatchFunc function,
+                                     gpointer data,
+                                     GDestroyNotify notify);
+guint g_child_watch_add (GPid pid,
+                                     GChildWatchFunc function,
+                                     gpointer data);
+guint g_idle_add (GSourceFunc function,
+                                     gpointer data);
+guint g_idle_add_full (gint priority,
+                                     GSourceFunc function,
+                                     gpointer data,
+                                     GDestroyNotify notify);
+gboolean g_idle_remove_by_data (gpointer data);
+
+void g_main_context_invoke_full (GMainContext *context,
+                                     gint priority,
+                                     GSourceFunc function,
+                                     gpointer data,
+                                     GDestroyNotify notify);
+void g_main_context_invoke (GMainContext *context,
+                                     GSourceFunc function,
+                                     gpointer data);
+
+
+extern GSourceFuncs g_timeout_funcs;
+extern GSourceFuncs g_child_watch_funcs;
+extern GSourceFuncs g_idle_funcs;
+
+
+# 36 "/usr/include/glib-2.0/glib/giochannel.h" 2
+# 1 "/usr/include/glib-2.0/glib/gstring.h" 1
+# 34 "/usr/include/glib-2.0/glib/gstring.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/gstring.h" 2
+# 1 "/usr/include/glib-2.0/glib/gunicode.h" 1
+# 29 "/usr/include/glib-2.0/glib/gunicode.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 30 "/usr/include/glib-2.0/glib/gunicode.h" 2
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 31 "/usr/include/glib-2.0/glib/gunicode.h" 2
+
+
+# 61 "/usr/include/glib-2.0/glib/gunicode.h"
+typedef guint32 gunichar;
+# 79 "/usr/include/glib-2.0/glib/gunicode.h"
+typedef guint16 gunichar2;
+# 118 "/usr/include/glib-2.0/glib/gunicode.h"
+typedef enum
+{
+  G_UNICODE_CONTROL,
+  G_UNICODE_FORMAT,
+  G_UNICODE_UNASSIGNED,
+  G_UNICODE_PRIVATE_USE,
+  G_UNICODE_SURROGATE,
+  G_UNICODE_LOWERCASE_LETTER,
+  G_UNICODE_MODIFIER_LETTER,
+  G_UNICODE_OTHER_LETTER,
+  G_UNICODE_TITLECASE_LETTER,
+  G_UNICODE_UPPERCASE_LETTER,
+  G_UNICODE_SPACING_MARK,
+  G_UNICODE_ENCLOSING_MARK,
+  G_UNICODE_NON_SPACING_MARK,
+  G_UNICODE_DECIMAL_NUMBER,
+  G_UNICODE_LETTER_NUMBER,
+  G_UNICODE_OTHER_NUMBER,
+  G_UNICODE_CONNECT_PUNCTUATION,
+  G_UNICODE_DASH_PUNCTUATION,
+  G_UNICODE_CLOSE_PUNCTUATION,
+  G_UNICODE_FINAL_PUNCTUATION,
+  G_UNICODE_INITIAL_PUNCTUATION,
+  G_UNICODE_OTHER_PUNCTUATION,
+  G_UNICODE_OPEN_PUNCTUATION,
+  G_UNICODE_CURRENCY_SYMBOL,
+  G_UNICODE_MODIFIER_SYMBOL,
+  G_UNICODE_MATH_SYMBOL,
+  G_UNICODE_OTHER_SYMBOL,
+  G_UNICODE_LINE_SEPARATOR,
+  G_UNICODE_PARAGRAPH_SEPARATOR,
+  G_UNICODE_SPACE_SEPARATOR
+} GUnicodeType;
+# 214 "/usr/include/glib-2.0/glib/gunicode.h"
+typedef enum
+{
+  G_UNICODE_BREAK_MANDATORY,
+  G_UNICODE_BREAK_CARRIAGE_RETURN,
+  G_UNICODE_BREAK_LINE_FEED,
+  G_UNICODE_BREAK_COMBINING_MARK,
+  G_UNICODE_BREAK_SURROGATE,
+  G_UNICODE_BREAK_ZERO_WIDTH_SPACE,
+  G_UNICODE_BREAK_INSEPARABLE,
+  G_UNICODE_BREAK_NON_BREAKING_GLUE,
+  G_UNICODE_BREAK_CONTINGENT,
+  G_UNICODE_BREAK_SPACE,
+  G_UNICODE_BREAK_AFTER,
+  G_UNICODE_BREAK_BEFORE,
+  G_UNICODE_BREAK_BEFORE_AND_AFTER,
+  G_UNICODE_BREAK_HYPHEN,
+  G_UNICODE_BREAK_NON_STARTER,
+  G_UNICODE_BREAK_OPEN_PUNCTUATION,
+  G_UNICODE_BREAK_CLOSE_PUNCTUATION,
+  G_UNICODE_BREAK_QUOTATION,
+  G_UNICODE_BREAK_EXCLAMATION,
+  G_UNICODE_BREAK_IDEOGRAPHIC,
+  G_UNICODE_BREAK_NUMERIC,
+  G_UNICODE_BREAK_INFIX_SEPARATOR,
+  G_UNICODE_BREAK_SYMBOL,
+  G_UNICODE_BREAK_ALPHABETIC,
+  G_UNICODE_BREAK_PREFIX,
+  G_UNICODE_BREAK_POSTFIX,
+  G_UNICODE_BREAK_COMPLEX_CONTEXT,
+  G_UNICODE_BREAK_AMBIGUOUS,
+  G_UNICODE_BREAK_UNKNOWN,
+  G_UNICODE_BREAK_NEXT_LINE,
+  G_UNICODE_BREAK_WORD_JOINER,
+  G_UNICODE_BREAK_HANGUL_L_JAMO,
+  G_UNICODE_BREAK_HANGUL_V_JAMO,
+  G_UNICODE_BREAK_HANGUL_T_JAMO,
+  G_UNICODE_BREAK_HANGUL_LV_SYLLABLE,
+  G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE,
+  G_UNICODE_BREAK_CLOSE_PARANTHESIS,
+  G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER,
+  G_UNICODE_BREAK_HEBREW_LETTER
+} GUnicodeBreakType;
+# 387 "/usr/include/glib-2.0/glib/gunicode.h"
+typedef enum
+{
+  G_UNICODE_SCRIPT_INVALID_CODE = -1,
+  G_UNICODE_SCRIPT_COMMON = 0,
+  G_UNICODE_SCRIPT_INHERITED,
+  G_UNICODE_SCRIPT_ARABIC,
+  G_UNICODE_SCRIPT_ARMENIAN,
+  G_UNICODE_SCRIPT_BENGALI,
+  G_UNICODE_SCRIPT_BOPOMOFO,
+  G_UNICODE_SCRIPT_CHEROKEE,
+  G_UNICODE_SCRIPT_COPTIC,
+  G_UNICODE_SCRIPT_CYRILLIC,
+  G_UNICODE_SCRIPT_DESERET,
+  G_UNICODE_SCRIPT_DEVANAGARI,
+  G_UNICODE_SCRIPT_ETHIOPIC,
+  G_UNICODE_SCRIPT_GEORGIAN,
+  G_UNICODE_SCRIPT_GOTHIC,
+  G_UNICODE_SCRIPT_GREEK,
+  G_UNICODE_SCRIPT_GUJARATI,
+  G_UNICODE_SCRIPT_GURMUKHI,
+  G_UNICODE_SCRIPT_HAN,
+  G_UNICODE_SCRIPT_HANGUL,
+  G_UNICODE_SCRIPT_HEBREW,
+  G_UNICODE_SCRIPT_HIRAGANA,
+  G_UNICODE_SCRIPT_KANNADA,
+  G_UNICODE_SCRIPT_KATAKANA,
+  G_UNICODE_SCRIPT_KHMER,
+  G_UNICODE_SCRIPT_LAO,
+  G_UNICODE_SCRIPT_LATIN,
+  G_UNICODE_SCRIPT_MALAYALAM,
+  G_UNICODE_SCRIPT_MONGOLIAN,
+  G_UNICODE_SCRIPT_MYANMAR,
+  G_UNICODE_SCRIPT_OGHAM,
+  G_UNICODE_SCRIPT_OLD_ITALIC,
+  G_UNICODE_SCRIPT_ORIYA,
+  G_UNICODE_SCRIPT_RUNIC,
+  G_UNICODE_SCRIPT_SINHALA,
+  G_UNICODE_SCRIPT_SYRIAC,
+  G_UNICODE_SCRIPT_TAMIL,
+  G_UNICODE_SCRIPT_TELUGU,
+  G_UNICODE_SCRIPT_THAANA,
+  G_UNICODE_SCRIPT_THAI,
+  G_UNICODE_SCRIPT_TIBETAN,
+  G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL,
+  G_UNICODE_SCRIPT_YI,
+  G_UNICODE_SCRIPT_TAGALOG,
+  G_UNICODE_SCRIPT_HANUNOO,
+  G_UNICODE_SCRIPT_BUHID,
+  G_UNICODE_SCRIPT_TAGBANWA,
+
+
+  G_UNICODE_SCRIPT_BRAILLE,
+  G_UNICODE_SCRIPT_CYPRIOT,
+  G_UNICODE_SCRIPT_LIMBU,
+  G_UNICODE_SCRIPT_OSMANYA,
+  G_UNICODE_SCRIPT_SHAVIAN,
+  G_UNICODE_SCRIPT_LINEAR_B,
+  G_UNICODE_SCRIPT_TAI_LE,
+  G_UNICODE_SCRIPT_UGARITIC,
+
+
+  G_UNICODE_SCRIPT_NEW_TAI_LUE,
+  G_UNICODE_SCRIPT_BUGINESE,
+  G_UNICODE_SCRIPT_GLAGOLITIC,
+  G_UNICODE_SCRIPT_TIFINAGH,
+  G_UNICODE_SCRIPT_SYLOTI_NAGRI,
+  G_UNICODE_SCRIPT_OLD_PERSIAN,
+  G_UNICODE_SCRIPT_KHAROSHTHI,
+
+
+  G_UNICODE_SCRIPT_UNKNOWN,
+  G_UNICODE_SCRIPT_BALINESE,
+  G_UNICODE_SCRIPT_CUNEIFORM,
+  G_UNICODE_SCRIPT_PHOENICIAN,
+  G_UNICODE_SCRIPT_PHAGS_PA,
+  G_UNICODE_SCRIPT_NKO,
+
+
+  G_UNICODE_SCRIPT_KAYAH_LI,
+  G_UNICODE_SCRIPT_LEPCHA,
+  G_UNICODE_SCRIPT_REJANG,
+  G_UNICODE_SCRIPT_SUNDANESE,
+  G_UNICODE_SCRIPT_SAURASHTRA,
+  G_UNICODE_SCRIPT_CHAM,
+  G_UNICODE_SCRIPT_OL_CHIKI,
+  G_UNICODE_SCRIPT_VAI,
+  G_UNICODE_SCRIPT_CARIAN,
+  G_UNICODE_SCRIPT_LYCIAN,
+  G_UNICODE_SCRIPT_LYDIAN,
+
+
+  G_UNICODE_SCRIPT_AVESTAN,
+  G_UNICODE_SCRIPT_BAMUM,
+  G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS,
+  G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC,
+  G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI,
+  G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN,
+  G_UNICODE_SCRIPT_JAVANESE,
+  G_UNICODE_SCRIPT_KAITHI,
+  G_UNICODE_SCRIPT_LISU,
+  G_UNICODE_SCRIPT_MEETEI_MAYEK,
+  G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN,
+  G_UNICODE_SCRIPT_OLD_TURKIC,
+  G_UNICODE_SCRIPT_SAMARITAN,
+  G_UNICODE_SCRIPT_TAI_THAM,
+  G_UNICODE_SCRIPT_TAI_VIET,
+
+
+  G_UNICODE_SCRIPT_BATAK,
+  G_UNICODE_SCRIPT_BRAHMI,
+  G_UNICODE_SCRIPT_MANDAIC,
+
+
+  G_UNICODE_SCRIPT_CHAKMA,
+  G_UNICODE_SCRIPT_MEROITIC_CURSIVE,
+  G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS,
+  G_UNICODE_SCRIPT_MIAO,
+  G_UNICODE_SCRIPT_SHARADA,
+  G_UNICODE_SCRIPT_SORA_SOMPENG,
+  G_UNICODE_SCRIPT_TAKRI
+} GUnicodeScript;
+
+guint32 g_unicode_script_to_iso15924 (GUnicodeScript script);
+GUnicodeScript g_unicode_script_from_iso15924 (guint32 iso15924);
+
+
+
+gboolean g_unichar_isalnum (gunichar c) __attribute__((__const__));
+gboolean g_unichar_isalpha (gunichar c) __attribute__((__const__));
+gboolean g_unichar_iscntrl (gunichar c) __attribute__((__const__));
+gboolean g_unichar_isdigit (gunichar c) __attribute__((__const__));
+gboolean g_unichar_isgraph (gunichar c) __attribute__((__const__));
+gboolean g_unichar_islower (gunichar c) __attribute__((__const__));
+gboolean g_unichar_isprint (gunichar c) __attribute__((__const__));
+gboolean g_unichar_ispunct (gunichar c) __attribute__((__const__));
+gboolean g_unichar_isspace (gunichar c) __attribute__((__const__));
+gboolean g_unichar_isupper (gunichar c) __attribute__((__const__));
+gboolean g_unichar_isxdigit (gunichar c) __attribute__((__const__));
+gboolean g_unichar_istitle (gunichar c) __attribute__((__const__));
+gboolean g_unichar_isdefined (gunichar c) __attribute__((__const__));
+gboolean g_unichar_iswide (gunichar c) __attribute__((__const__));
+gboolean g_unichar_iswide_cjk(gunichar c) __attribute__((__const__));
+gboolean g_unichar_iszerowidth(gunichar c) __attribute__((__const__));
+gboolean g_unichar_ismark (gunichar c) __attribute__((__const__));
+
+
+
+gunichar g_unichar_toupper (gunichar c) __attribute__((__const__));
+gunichar g_unichar_tolower (gunichar c) __attribute__((__const__));
+gunichar g_unichar_totitle (gunichar c) __attribute__((__const__));
+
+
+
+gint g_unichar_digit_value (gunichar c) __attribute__((__const__));
+
+gint g_unichar_xdigit_value (gunichar c) __attribute__((__const__));
+
+
+GUnicodeType g_unichar_type (gunichar c) __attribute__((__const__));
+
+
+GUnicodeBreakType g_unichar_break_type (gunichar c) __attribute__((__const__));
+
+
+gint g_unichar_combining_class (gunichar uc) __attribute__((__const__));
+
+gboolean g_unichar_get_mirror_char (gunichar ch,
+                                    gunichar *mirrored_ch);
+
+GUnicodeScript g_unichar_get_script (gunichar ch) __attribute__((__const__));
+
+
+gboolean g_unichar_validate (gunichar ch) __attribute__((__const__));
+
+
+gboolean g_unichar_compose (gunichar a,
+                            gunichar b,
+                            gunichar *ch);
+gboolean g_unichar_decompose (gunichar ch,
+                              gunichar *a,
+                              gunichar *b);
+
+gsize g_unichar_fully_decompose (gunichar ch,
+                                 gboolean compat,
+                                 gunichar *result,
+                                 gsize result_len);
+# 589 "/usr/include/glib-2.0/glib/gunicode.h"
+void g_unicode_canonical_ordering (gunichar *string,
+                                   gsize len);
+
+
+__attribute__((__deprecated__))
+gunichar *g_unicode_canonical_decomposition (gunichar ch,
+                                             gsize *result_len) __attribute__((__malloc__));
+
+
+
+extern const gchar * const g_utf8_skip;
+# 614 "/usr/include/glib-2.0/glib/gunicode.h"
+gunichar g_utf8_get_char (const gchar *p) __attribute__((__pure__));
+gunichar g_utf8_get_char_validated (const gchar *p,
+                                    gssize max_len) __attribute__((__pure__));
+
+gchar* g_utf8_offset_to_pointer (const gchar *str,
+                                   glong offset) __attribute__((__pure__));
+glong g_utf8_pointer_to_offset (const gchar *str,
+                                   const gchar *pos) __attribute__((__pure__));
+gchar* g_utf8_prev_char (const gchar *p) __attribute__((__pure__));
+gchar* g_utf8_find_next_char (const gchar *p,
+                                   const gchar *end) __attribute__((__pure__));
+gchar* g_utf8_find_prev_char (const gchar *str,
+                                   const gchar *p) __attribute__((__pure__));
+
+glong g_utf8_strlen (const gchar *p,
+                                   gssize max) __attribute__((__pure__));
+
+
+gchar *g_utf8_substring (const gchar *str,
+                                   glong start_pos,
+                                   glong end_pos) __attribute__((__malloc__));
+
+gchar *g_utf8_strncpy (gchar *dest,
+                                   const gchar *src,
+                                   gsize n);
+
+
+
+gchar* g_utf8_strchr (const gchar *p,
+                       gssize len,
+                       gunichar c);
+gchar* g_utf8_strrchr (const gchar *p,
+                       gssize len,
+                       gunichar c);
+gchar* g_utf8_strreverse (const gchar *str,
+                          gssize len);
+
+gunichar2 *g_utf8_to_utf16 (const gchar *str,
+                                glong len,
+                                glong *items_read,
+                                glong *items_written,
+                                GError **error) __attribute__((__malloc__));
+gunichar * g_utf8_to_ucs4 (const gchar *str,
+                                glong len,
+                                glong *items_read,
+                                glong *items_written,
+                                GError **error) __attribute__((__malloc__));
+gunichar * g_utf8_to_ucs4_fast (const gchar *str,
+                                glong len,
+                                glong *items_written) __attribute__((__malloc__));
+gunichar * g_utf16_to_ucs4 (const gunichar2 *str,
+                                glong len,
+                                glong *items_read,
+                                glong *items_written,
+                                GError **error) __attribute__((__malloc__));
+gchar* g_utf16_to_utf8 (const gunichar2 *str,
+                                glong len,
+                                glong *items_read,
+                                glong *items_written,
+                                GError **error) __attribute__((__malloc__));
+gunichar2 *g_ucs4_to_utf16 (const gunichar *str,
+                                glong len,
+                                glong *items_read,
+                                glong *items_written,
+                                GError **error) __attribute__((__malloc__));
+gchar* g_ucs4_to_utf8 (const gunichar *str,
+                                glong len,
+                                glong *items_read,
+                                glong *items_written,
+                                GError **error) __attribute__((__malloc__));
+
+gint g_unichar_to_utf8 (gunichar c,
+                             gchar *outbuf);
+
+gboolean g_utf8_validate (const gchar *str,
+                          gssize max_len,
+                          const gchar **end);
+
+gchar *g_utf8_strup (const gchar *str,
+                       gssize len) __attribute__((__malloc__));
+gchar *g_utf8_strdown (const gchar *str,
+                       gssize len) __attribute__((__malloc__));
+gchar *g_utf8_casefold (const gchar *str,
+                        gssize len) __attribute__((__malloc__));
+# 723 "/usr/include/glib-2.0/glib/gunicode.h"
+typedef enum {
+  G_NORMALIZE_DEFAULT,
+  G_NORMALIZE_NFD = G_NORMALIZE_DEFAULT,
+  G_NORMALIZE_DEFAULT_COMPOSE,
+  G_NORMALIZE_NFC = G_NORMALIZE_DEFAULT_COMPOSE,
+  G_NORMALIZE_ALL,
+  G_NORMALIZE_NFKD = G_NORMALIZE_ALL,
+  G_NORMALIZE_ALL_COMPOSE,
+  G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE
+} GNormalizeMode;
+
+gchar *g_utf8_normalize (const gchar *str,
+                         gssize len,
+                         GNormalizeMode mode) __attribute__((__malloc__));
+
+gint g_utf8_collate (const gchar *str1,
+                           const gchar *str2) __attribute__((__pure__));
+gchar *g_utf8_collate_key (const gchar *str,
+                           gssize len) __attribute__((__malloc__));
+gchar *g_utf8_collate_key_for_filename (const gchar *str,
+                                        gssize len) __attribute__((__malloc__));
+
+
+
+
+gchar *_g_utf8_make_valid (const gchar *name);
+
+
+# 36 "/usr/include/glib-2.0/glib/gstring.h" 2
+# 1 "/usr/include/glib-2.0/glib/gutils.h" 1
+# 34 "/usr/include/glib-2.0/glib/gutils.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/gutils.h" 2
+
+
+
+# 96 "/usr/include/glib-2.0/glib/gutils.h"
+const gchar * g_get_user_name (void);
+const gchar * g_get_real_name (void);
+const gchar * g_get_home_dir (void);
+const gchar * g_get_tmp_dir (void);
+const gchar * g_get_host_name (void);
+gchar * g_get_prgname (void);
+void g_set_prgname (const gchar *prgname);
+const gchar * g_get_application_name (void);
+void g_set_application_name (const gchar *application_name);
+
+void g_reload_user_special_dirs_cache (void);
+const gchar * g_get_user_data_dir (void);
+const gchar * g_get_user_config_dir (void);
+const gchar * g_get_user_cache_dir (void);
+const gchar * const * g_get_system_data_dirs (void);
+# 130 "/usr/include/glib-2.0/glib/gutils.h"
+const gchar * const * g_get_system_config_dirs (void);
+
+const gchar * g_get_user_runtime_dir (void);
+# 156 "/usr/include/glib-2.0/glib/gutils.h"
+typedef enum {
+  G_USER_DIRECTORY_DESKTOP,
+  G_USER_DIRECTORY_DOCUMENTS,
+  G_USER_DIRECTORY_DOWNLOAD,
+  G_USER_DIRECTORY_MUSIC,
+  G_USER_DIRECTORY_PICTURES,
+  G_USER_DIRECTORY_PUBLIC_SHARE,
+  G_USER_DIRECTORY_TEMPLATES,
+  G_USER_DIRECTORY_VIDEOS,
+
+  G_USER_N_DIRECTORIES
+} GUserDirectory;
+
+const gchar * g_get_user_special_dir (GUserDirectory directory);
+# 179 "/usr/include/glib-2.0/glib/gutils.h"
+typedef struct _GDebugKey GDebugKey;
+struct _GDebugKey
+{
+  const gchar *key;
+  guint value;
+};
+
+
+
+guint g_parse_debug_string (const gchar *string,
+         const GDebugKey *keys,
+         guint nkeys);
+
+gint g_snprintf (gchar *string,
+         gulong n,
+         gchar const *format,
+         ...) __attribute__((__format__ (__printf__, 3, 4)));
+gint g_vsnprintf (gchar *string,
+         gulong n,
+         gchar const *format,
+         va_list args);
+
+void g_nullify_pointer (gpointer *nullify_location);
+
+typedef enum
+{
+  G_FORMAT_SIZE_DEFAULT = 0,
+  G_FORMAT_SIZE_LONG_FORMAT = 1 << 0,
+  G_FORMAT_SIZE_IEC_UNITS = 1 << 1
+} GFormatSizeFlags;
+
+
+gchar *g_format_size_full (guint64 size,
+                             GFormatSizeFlags flags);
+
+gchar *g_format_size (guint64 size);
+
+__attribute__((__deprecated__("Use '" "g_format_size" "' instead")))
+gchar *g_format_size_for_display (goffset size);
+# 227 "/usr/include/glib-2.0/glib/gutils.h"
+typedef void (*GVoidFunc) (void);
+# 238 "/usr/include/glib-2.0/glib/gutils.h"
+__attribute__((__deprecated__))
+void g_atexit (GVoidFunc func);
+# 263 "/usr/include/glib-2.0/glib/gutils.h"
+gchar* g_find_program_in_path (const gchar *program);
+
+
+
+static __inline __attribute__ ((unused)) gint g_bit_nth_lsf (gulong mask,
+           gint nth_bit) __attribute__((__const__));
+static __inline __attribute__ ((unused)) gint g_bit_nth_msf (gulong mask,
+           gint nth_bit) __attribute__((__const__));
+static __inline __attribute__ ((unused)) guint g_bit_storage (gulong number) __attribute__((__const__));
+
+
+
+
+static __inline __attribute__ ((unused)) gint
+g_bit_nth_lsf (gulong mask,
+        gint nth_bit)
+{
+  if ((__builtin_expect (__extension__ ({ int _g_boolean_var_; if (nth_bit < -1) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 0)))
+    nth_bit = -1;
+  while (nth_bit < ((4 * 8) - 1))
+    {
+      nth_bit++;
+      if (mask & (1UL << nth_bit))
+ return nth_bit;
+    }
+  return -1;
+}
+static __inline __attribute__ ((unused)) gint
+g_bit_nth_msf (gulong mask,
+        gint nth_bit)
+{
+  if (nth_bit < 0 || (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (nth_bit > 4 * 8) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 0)))
+    nth_bit = 4 * 8;
+  while (nth_bit > 0)
+    {
+      nth_bit--;
+      if (mask & (1UL << nth_bit))
+ return nth_bit;
+    }
+  return -1;
+}
+static __inline __attribute__ ((unused)) guint
+g_bit_storage (gulong number)
+{
+
+  return (__builtin_expect (__extension__ ({ int _g_boolean_var_; if (number) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_; }), 1)) ?
+    ((4 * 8U - 1) ^ (guint) __builtin_clzl(number)) + 1 : 1;
+# 321 "/usr/include/glib-2.0/glib/gutils.h"
+}
+
+
+
+# 37 "/usr/include/glib-2.0/glib/gstring.h" 2
+
+
+
+typedef struct _GString GString;
+
+struct _GString
+{
+  gchar *str;
+  gsize len;
+  gsize allocated_len;
+};
+
+GString* g_string_new (const gchar *init);
+GString* g_string_new_len (const gchar *init,
+                                         gssize len);
+GString* g_string_sized_new (gsize dfl_size);
+gchar* g_string_free (GString *string,
+                                         gboolean free_segment);
+gboolean g_string_equal (const GString *v,
+                                         const GString *v2);
+guint g_string_hash (const GString *str);
+GString* g_string_assign (GString *string,
+                                         const gchar *rval);
+GString* g_string_truncate (GString *string,
+                                         gsize len);
+GString* g_string_set_size (GString *string,
+                                         gsize len);
+GString* g_string_insert_len (GString *string,
+                                         gssize pos,
+                                         const gchar *val,
+                                         gssize len);
+GString* g_string_append (GString *string,
+                                         const gchar *val);
+GString* g_string_append_len (GString *string,
+                                         const gchar *val,
+                                         gssize len);
+GString* g_string_append_c (GString *string,
+                                         gchar c);
+GString* g_string_append_unichar (GString *string,
+                                         gunichar wc);
+GString* g_string_prepend (GString *string,
+                                         const gchar *val);
+GString* g_string_prepend_c (GString *string,
+                                         gchar c);
+GString* g_string_prepend_unichar (GString *string,
+                                         gunichar wc);
+GString* g_string_prepend_len (GString *string,
+                                         const gchar *val,
+                                         gssize len);
+GString* g_string_insert (GString *string,
+                                         gssize pos,
+                                         const gchar *val);
+GString* g_string_insert_c (GString *string,
+                                         gssize pos,
+                                         gchar c);
+GString* g_string_insert_unichar (GString *string,
+                                         gssize pos,
+                                         gunichar wc);
+GString* g_string_overwrite (GString *string,
+                                         gsize pos,
+                                         const gchar *val);
+GString* g_string_overwrite_len (GString *string,
+                                         gsize pos,
+                                         const gchar *val,
+                                         gssize len);
+GString* g_string_erase (GString *string,
+                                         gssize pos,
+                                         gssize len);
+GString* g_string_ascii_down (GString *string);
+GString* g_string_ascii_up (GString *string);
+void g_string_vprintf (GString *string,
+                                         const gchar *format,
+                                         va_list args);
+void g_string_printf (GString *string,
+                                         const gchar *format,
+                                         ...) __attribute__((__format__ (__printf__, 2, 3)));
+void g_string_append_vprintf (GString *string,
+                                         const gchar *format,
+                                         va_list args);
+void g_string_append_printf (GString *string,
+                                         const gchar *format,
+                                         ...) __attribute__((__format__ (__printf__, 2, 3)));
+GString* g_string_append_uri_escaped (GString *string,
+                                          const gchar *unescaped,
+                                          const gchar *reserved_chars_allowed,
+                                          gboolean allow_utf8);
+
+
+
+static inline GString*
+g_string_append_c_inline (GString *gstring,
+                          gchar c)
+{
+  if (gstring->len + 1 < gstring->allocated_len)
+    {
+      gstring->str[gstring->len++] = c;
+      gstring->str[gstring->len] = 0;
+    }
+  else
+    g_string_insert_c (gstring, -1, c);
+  return gstring;
+}
+
+
+
+
+__attribute__((__deprecated__))
+GString *g_string_down (GString *string);
+__attribute__((__deprecated__))
+GString *g_string_up (GString *string);
+
+
+
+
+
+
+
+# 37 "/usr/include/glib-2.0/glib/giochannel.h" 2
+
+
+
+
+
+
+typedef struct _GIOChannel GIOChannel;
+typedef struct _GIOFuncs GIOFuncs;
+
+typedef enum
+{
+  G_IO_ERROR_NONE,
+  G_IO_ERROR_AGAIN,
+  G_IO_ERROR_INVAL,
+  G_IO_ERROR_UNKNOWN
+} GIOError;
+
+
+
+typedef enum
+{
+
+  G_IO_CHANNEL_ERROR_FBIG,
+  G_IO_CHANNEL_ERROR_INVAL,
+  G_IO_CHANNEL_ERROR_IO,
+  G_IO_CHANNEL_ERROR_ISDIR,
+  G_IO_CHANNEL_ERROR_NOSPC,
+  G_IO_CHANNEL_ERROR_NXIO,
+  G_IO_CHANNEL_ERROR_OVERFLOW,
+  G_IO_CHANNEL_ERROR_PIPE,
+
+  G_IO_CHANNEL_ERROR_FAILED
+} GIOChannelError;
+
+typedef enum
+{
+  G_IO_STATUS_ERROR,
+  G_IO_STATUS_NORMAL,
+  G_IO_STATUS_EOF,
+  G_IO_STATUS_AGAIN
+} GIOStatus;
+
+typedef enum
+{
+  G_SEEK_CUR,
+  G_SEEK_SET,
+  G_SEEK_END
+} GSeekType;
+
+typedef enum
+{
+  G_IO_IN =1,
+  G_IO_OUT =4,
+  G_IO_PRI =2,
+  G_IO_ERR =8,
+  G_IO_HUP =16,
+  G_IO_NVAL =32
+} GIOCondition;
+
+typedef enum
+{
+  G_IO_FLAG_APPEND = 1 << 0,
+  G_IO_FLAG_NONBLOCK = 1 << 1,
+  G_IO_FLAG_IS_READABLE = 1 << 2,
+  G_IO_FLAG_IS_WRITABLE = 1 << 3,
+  G_IO_FLAG_IS_SEEKABLE = 1 << 4,
+  G_IO_FLAG_MASK = (1 << 5) - 1,
+  G_IO_FLAG_GET_MASK = G_IO_FLAG_MASK,
+  G_IO_FLAG_SET_MASK = G_IO_FLAG_APPEND | G_IO_FLAG_NONBLOCK
+} GIOFlags;
+
+
+
+
+struct _GIOChannel
+{
+
+  gint ref_count;
+  GIOFuncs *funcs;
+
+  gchar *encoding;
+  GIConv read_cd;
+  GIConv write_cd;
+  gchar *line_term;
+  guint line_term_len;
+
+  gsize buf_size;
+  GString *read_buf;
+  GString *encoded_read_buf;
+  GString *write_buf;
+  gchar partial_write_buf[6];
+
+
+
+  guint use_buffer : 1;
+  guint do_encode : 1;
+  guint close_on_unref : 1;
+  guint is_readable : 1;
+  guint is_writeable : 1;
+  guint is_seekable : 1;
+
+  gpointer reserved1;
+  gpointer reserved2;
+};
+
+typedef gboolean (*GIOFunc) (GIOChannel *source,
+        GIOCondition condition,
+        gpointer data);
+struct _GIOFuncs
+{
+  GIOStatus (*io_read) (GIOChannel *channel,
+             gchar *buf,
+      gsize count,
+      gsize *bytes_read,
+      GError **err);
+  GIOStatus (*io_write) (GIOChannel *channel,
+      const gchar *buf,
+      gsize count,
+      gsize *bytes_written,
+      GError **err);
+  GIOStatus (*io_seek) (GIOChannel *channel,
+      gint64 offset,
+      GSeekType type,
+      GError **err);
+  GIOStatus (*io_close) (GIOChannel *channel,
+      GError **err);
+  GSource* (*io_create_watch) (GIOChannel *channel,
+      GIOCondition condition);
+  void (*io_free) (GIOChannel *channel);
+  GIOStatus (*io_set_flags) (GIOChannel *channel,
+                                  GIOFlags flags,
+      GError **err);
+  GIOFlags (*io_get_flags) (GIOChannel *channel);
+};
+
+void g_io_channel_init (GIOChannel *channel);
+GIOChannel *g_io_channel_ref (GIOChannel *channel);
+void g_io_channel_unref (GIOChannel *channel);
+
+__attribute__((__deprecated__("Use '" "g_io_channel_read_for" "' instead")))
+GIOError g_io_channel_read (GIOChannel *channel,
+                                 gchar *buf,
+                                 gsize count,
+                                 gsize *bytes_read);
+
+__attribute__((__deprecated__("Use '" "g_io_channel_write_chars" "' instead")))
+GIOError g_io_channel_write (GIOChannel *channel,
+                                 const gchar *buf,
+                                 gsize count,
+                                 gsize *bytes_written);
+
+__attribute__((__deprecated__("Use '" "g_io_channel_seek_position" "' instead")))
+GIOError g_io_channel_seek (GIOChannel *channel,
+                                 gint64 offset,
+                                 GSeekType type);
+
+__attribute__((__deprecated__("Use '" "g_io_channel_shutdown" "' instead")))
+void g_io_channel_close (GIOChannel *channel);
+
+GIOStatus g_io_channel_shutdown (GIOChannel *channel,
+     gboolean flush,
+     GError **err);
+guint g_io_add_watch_full (GIOChannel *channel,
+     gint priority,
+     GIOCondition condition,
+     GIOFunc func,
+     gpointer user_data,
+     GDestroyNotify notify);
+GSource * g_io_create_watch (GIOChannel *channel,
+     GIOCondition condition);
+guint g_io_add_watch (GIOChannel *channel,
+     GIOCondition condition,
+     GIOFunc func,
+     gpointer user_data);
+
+
+
+
+void g_io_channel_set_buffer_size (GIOChannel *channel,
+        gsize size);
+gsize g_io_channel_get_buffer_size (GIOChannel *channel);
+GIOCondition g_io_channel_get_buffer_condition (GIOChannel *channel);
+GIOStatus g_io_channel_set_flags (GIOChannel *channel,
+        GIOFlags flags,
+        GError **error);
+GIOFlags g_io_channel_get_flags (GIOChannel *channel);
+void g_io_channel_set_line_term (GIOChannel *channel,
+        const gchar *line_term,
+        gint length);
+const gchar * g_io_channel_get_line_term (GIOChannel *channel,
+        gint *length);
+void g_io_channel_set_buffered (GIOChannel *channel,
+        gboolean buffered);
+gboolean g_io_channel_get_buffered (GIOChannel *channel);
+GIOStatus g_io_channel_set_encoding (GIOChannel *channel,
+        const gchar *encoding,
+        GError **error);
+const gchar * g_io_channel_get_encoding (GIOChannel *channel);
+void g_io_channel_set_close_on_unref (GIOChannel *channel,
+        gboolean do_close);
+gboolean g_io_channel_get_close_on_unref (GIOChannel *channel);
+
+
+GIOStatus g_io_channel_flush (GIOChannel *channel,
+        GError **error);
+GIOStatus g_io_channel_read_line (GIOChannel *channel,
+        gchar **str_return,
+        gsize *length,
+        gsize *terminator_pos,
+        GError **error);
+GIOStatus g_io_channel_read_line_string (GIOChannel *channel,
+        GString *buffer,
+        gsize *terminator_pos,
+        GError **error);
+GIOStatus g_io_channel_read_to_end (GIOChannel *channel,
+        gchar **str_return,
+        gsize *length,
+        GError **error);
+GIOStatus g_io_channel_read_chars (GIOChannel *channel,
+        gchar *buf,
+        gsize count,
+        gsize *bytes_read,
+        GError **error);
+GIOStatus g_io_channel_read_unichar (GIOChannel *channel,
+        gunichar *thechar,
+        GError **error);
+GIOStatus g_io_channel_write_chars (GIOChannel *channel,
+        const gchar *buf,
+        gssize count,
+        gsize *bytes_written,
+        GError **error);
+GIOStatus g_io_channel_write_unichar (GIOChannel *channel,
+        gunichar thechar,
+        GError **error);
+GIOStatus g_io_channel_seek_position (GIOChannel *channel,
+        gint64 offset,
+        GSeekType type,
+        GError **error);
+
+
+
+
+GIOChannel* g_io_channel_new_file (const gchar *filename,
+        const gchar *mode,
+        GError **error);
+
+
+
+GQuark g_io_channel_error_quark (void);
+GIOChannelError g_io_channel_error_from_errno (gint en);
+# 306 "/usr/include/glib-2.0/glib/giochannel.h"
+GIOChannel* g_io_channel_unix_new (int fd);
+gint g_io_channel_unix_get_fd (GIOChannel *channel);
+
+
+
+extern GSourceFuncs g_io_watch_funcs;
+# 372 "/usr/include/glib-2.0/glib/giochannel.h"
+
+# 57 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gkeyfile.h" 1
+# 30 "/usr/include/glib-2.0/glib/gkeyfile.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 31 "/usr/include/glib-2.0/glib/gkeyfile.h" 2
+
+
+
+typedef enum
+{
+  G_KEY_FILE_ERROR_UNKNOWN_ENCODING,
+  G_KEY_FILE_ERROR_PARSE,
+  G_KEY_FILE_ERROR_NOT_FOUND,
+  G_KEY_FILE_ERROR_KEY_NOT_FOUND,
+  G_KEY_FILE_ERROR_GROUP_NOT_FOUND,
+  G_KEY_FILE_ERROR_INVALID_VALUE
+} GKeyFileError;
+
+
+
+GQuark g_key_file_error_quark (void);
+
+typedef struct _GKeyFile GKeyFile;
+
+typedef enum
+{
+  G_KEY_FILE_NONE = 0,
+  G_KEY_FILE_KEEP_COMMENTS = 1 << 0,
+  G_KEY_FILE_KEEP_TRANSLATIONS = 1 << 1
+} GKeyFileFlags;
+
+GKeyFile *g_key_file_new (void);
+GKeyFile *g_key_file_ref (GKeyFile *key_file);
+void g_key_file_unref (GKeyFile *key_file);
+void g_key_file_free (GKeyFile *key_file);
+void g_key_file_set_list_separator (GKeyFile *key_file,
+          gchar separator);
+gboolean g_key_file_load_from_file (GKeyFile *key_file,
+          const gchar *file,
+          GKeyFileFlags flags,
+          GError **error);
+gboolean g_key_file_load_from_data (GKeyFile *key_file,
+          const gchar *data,
+          gsize length,
+          GKeyFileFlags flags,
+          GError **error);
+gboolean g_key_file_load_from_dirs (GKeyFile *key_file,
+          const gchar *file,
+          const gchar **search_dirs,
+          gchar **full_path,
+          GKeyFileFlags flags,
+          GError **error);
+gboolean g_key_file_load_from_data_dirs (GKeyFile *key_file,
+          const gchar *file,
+          gchar **full_path,
+          GKeyFileFlags flags,
+          GError **error);
+gchar *g_key_file_to_data (GKeyFile *key_file,
+          gsize *length,
+          GError **error) __attribute__((__malloc__));
+gchar *g_key_file_get_start_group (GKeyFile *key_file) __attribute__((__malloc__));
+gchar **g_key_file_get_groups (GKeyFile *key_file,
+          gsize *length) __attribute__((__malloc__));
+gchar **g_key_file_get_keys (GKeyFile *key_file,
+          const gchar *group_name,
+          gsize *length,
+          GError **error) __attribute__((__malloc__));
+gboolean g_key_file_has_group (GKeyFile *key_file,
+          const gchar *group_name);
+gboolean g_key_file_has_key (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          GError **error);
+gchar *g_key_file_get_value (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          GError **error) __attribute__((__malloc__));
+void g_key_file_set_value (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          const gchar *value);
+gchar *g_key_file_get_string (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          GError **error) __attribute__((__malloc__));
+void g_key_file_set_string (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          const gchar *string);
+gchar *g_key_file_get_locale_string (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          const gchar *locale,
+          GError **error) __attribute__((__malloc__));
+void g_key_file_set_locale_string (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          const gchar *locale,
+          const gchar *string);
+gboolean g_key_file_get_boolean (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          GError **error);
+void g_key_file_set_boolean (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          gboolean value);
+gint g_key_file_get_integer (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          GError **error);
+void g_key_file_set_integer (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          gint value);
+gint64 g_key_file_get_int64 (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          GError **error);
+void g_key_file_set_int64 (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          gint64 value);
+guint64 g_key_file_get_uint64 (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          GError **error);
+void g_key_file_set_uint64 (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          guint64 value);
+gdouble g_key_file_get_double (GKeyFile *key_file,
+                                             const gchar *group_name,
+                                             const gchar *key,
+                                             GError **error);
+void g_key_file_set_double (GKeyFile *key_file,
+                                             const gchar *group_name,
+                                             const gchar *key,
+                                             gdouble value);
+gchar **g_key_file_get_string_list (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          gsize *length,
+          GError **error) __attribute__((__malloc__));
+void g_key_file_set_string_list (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          const gchar * const list[],
+          gsize length);
+gchar **g_key_file_get_locale_string_list (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          const gchar *locale,
+          gsize *length,
+          GError **error) __attribute__((__malloc__));
+void g_key_file_set_locale_string_list (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          const gchar *locale,
+          const gchar * const list[],
+          gsize length);
+gboolean *g_key_file_get_boolean_list (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          gsize *length,
+          GError **error) __attribute__((__malloc__));
+void g_key_file_set_boolean_list (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          gboolean list[],
+          gsize length);
+gint *g_key_file_get_integer_list (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          gsize *length,
+          GError **error) __attribute__((__malloc__));
+void g_key_file_set_double_list (GKeyFile *key_file,
+                                             const gchar *group_name,
+                                             const gchar *key,
+                                             gdouble list[],
+                                             gsize length);
+gdouble *g_key_file_get_double_list (GKeyFile *key_file,
+                                             const gchar *group_name,
+                                             const gchar *key,
+                                             gsize *length,
+                                             GError **error) __attribute__((__malloc__));
+void g_key_file_set_integer_list (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          gint list[],
+          gsize length);
+gboolean g_key_file_set_comment (GKeyFile *key_file,
+                                             const gchar *group_name,
+                                             const gchar *key,
+                                             const gchar *comment,
+                                             GError **error);
+gchar *g_key_file_get_comment (GKeyFile *key_file,
+                                             const gchar *group_name,
+                                             const gchar *key,
+                                             GError **error) __attribute__((__malloc__));
+
+gboolean g_key_file_remove_comment (GKeyFile *key_file,
+                                             const gchar *group_name,
+                                             const gchar *key,
+          GError **error);
+gboolean g_key_file_remove_key (GKeyFile *key_file,
+          const gchar *group_name,
+          const gchar *key,
+          GError **error);
+gboolean g_key_file_remove_group (GKeyFile *key_file,
+          const gchar *group_name,
+          GError **error);
+# 266 "/usr/include/glib-2.0/glib/gkeyfile.h"
+
+# 58 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/glist.h" 1
+# 59 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gmacros.h" 1
+# 60 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gmain.h" 1
+# 61 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gmappedfile.h" 1
+# 29 "/usr/include/glib-2.0/glib/gmappedfile.h"
+# 1 "/usr/include/glib-2.0/glib/gbytes.h" 1
+# 30 "/usr/include/glib-2.0/glib/gmappedfile.h" 2
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 31 "/usr/include/glib-2.0/glib/gmappedfile.h" 2
+
+
+
+typedef struct _GMappedFile GMappedFile;
+
+GMappedFile *g_mapped_file_new (const gchar *filename,
+             gboolean writable,
+             GError **error) __attribute__((__malloc__));
+GMappedFile *g_mapped_file_new_from_fd (gint fd,
+      gboolean writable,
+      GError **error) __attribute__((__malloc__));
+gsize g_mapped_file_get_length (GMappedFile *file);
+gchar *g_mapped_file_get_contents (GMappedFile *file);
+GMappedFile *g_mapped_file_ref (GMappedFile *file);
+void g_mapped_file_unref (GMappedFile *file);
+
+__attribute__((__deprecated__("Use '" "g_mapped_file_unref" "' instead")))
+void g_mapped_file_free (GMappedFile *file);
+
+
+# 62 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gmarkup.h" 1
+# 30 "/usr/include/glib-2.0/glib/gmarkup.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 31 "/usr/include/glib-2.0/glib/gmarkup.h" 2
+# 1 "/usr/include/glib-2.0/glib/gslist.h" 1
+# 32 "/usr/include/glib-2.0/glib/gmarkup.h" 2
+
+
+# 51 "/usr/include/glib-2.0/glib/gmarkup.h"
+typedef enum
+{
+  G_MARKUP_ERROR_BAD_UTF8,
+  G_MARKUP_ERROR_EMPTY,
+  G_MARKUP_ERROR_PARSE,
+
+
+
+  G_MARKUP_ERROR_UNKNOWN_ELEMENT,
+  G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
+  G_MARKUP_ERROR_INVALID_CONTENT,
+  G_MARKUP_ERROR_MISSING_ATTRIBUTE
+} GMarkupError;
+# 74 "/usr/include/glib-2.0/glib/gmarkup.h"
+GQuark g_markup_error_quark (void);
+# 92 "/usr/include/glib-2.0/glib/gmarkup.h"
+typedef enum
+{
+  G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1 << 0,
+  G_MARKUP_TREAT_CDATA_AS_TEXT = 1 << 1,
+  G_MARKUP_PREFIX_ERROR_POSITION = 1 << 2
+} GMarkupParseFlags;
+# 108 "/usr/include/glib-2.0/glib/gmarkup.h"
+typedef struct _GMarkupParseContext GMarkupParseContext;
+typedef struct _GMarkupParser GMarkupParser;
+# 138 "/usr/include/glib-2.0/glib/gmarkup.h"
+struct _GMarkupParser
+{
+
+  void (*start_element) (GMarkupParseContext *context,
+                          const gchar *element_name,
+                          const gchar **attribute_names,
+                          const gchar **attribute_values,
+                          gpointer user_data,
+                          GError **error);
+
+
+  void (*end_element) (GMarkupParseContext *context,
+                          const gchar *element_name,
+                          gpointer user_data,
+                          GError **error);
+
+
+
+  void (*text) (GMarkupParseContext *context,
+                          const gchar *text,
+                          gsize text_len,
+                          gpointer user_data,
+                          GError **error);
+
+
+
+
+
+
+  void (*passthrough) (GMarkupParseContext *context,
+                          const gchar *passthrough_text,
+                          gsize text_len,
+                          gpointer user_data,
+                          GError **error);
+
+
+
+
+  void (*error) (GMarkupParseContext *context,
+                          GError *error,
+                          gpointer user_data);
+};
+
+GMarkupParseContext *g_markup_parse_context_new (const GMarkupParser *parser,
+                                                   GMarkupParseFlags flags,
+                                                   gpointer user_data,
+                                                   GDestroyNotify user_data_dnotify);
+void g_markup_parse_context_free (GMarkupParseContext *context);
+gboolean g_markup_parse_context_parse (GMarkupParseContext *context,
+                                                   const gchar *text,
+                                                   gssize text_len,
+                                                   GError **error);
+void g_markup_parse_context_push (GMarkupParseContext *context,
+                                                   const GMarkupParser *parser,
+                                                   gpointer user_data);
+gpointer g_markup_parse_context_pop (GMarkupParseContext *context);
+
+gboolean g_markup_parse_context_end_parse (GMarkupParseContext *context,
+                                                       GError **error);
+const gchar * g_markup_parse_context_get_element (GMarkupParseContext *context);
+const GSList * g_markup_parse_context_get_element_stack (GMarkupParseContext *context);
+
+
+void g_markup_parse_context_get_position (GMarkupParseContext *context,
+                                                          gint *line_number,
+                                                          gint *char_number);
+gpointer g_markup_parse_context_get_user_data (GMarkupParseContext *context);
+
+
+gchar* g_markup_escape_text (const gchar *text,
+                             gssize length);
+
+gchar *g_markup_printf_escaped (const char *format,
+    ...) __attribute__((__format__ (__printf__, 1, 2)));
+gchar *g_markup_vprintf_escaped (const char *format,
+     va_list args);
+
+typedef enum
+{
+  G_MARKUP_COLLECT_INVALID,
+  G_MARKUP_COLLECT_STRING,
+  G_MARKUP_COLLECT_STRDUP,
+  G_MARKUP_COLLECT_BOOLEAN,
+  G_MARKUP_COLLECT_TRISTATE,
+
+  G_MARKUP_COLLECT_OPTIONAL = (1 << 16)
+} GMarkupCollectType;
+
+
+
+gboolean g_markup_collect_attributes (const gchar *element_name,
+                                        const gchar **attribute_names,
+                                        const gchar **attribute_values,
+                                        GError **error,
+                                        GMarkupCollectType first_type,
+                                        const gchar *first_attr,
+                                        ...);
+
+
+# 63 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gmem.h" 1
+# 64 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gmessages.h" 1
+# 35 "/usr/include/glib-2.0/glib/gmessages.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 36 "/usr/include/glib-2.0/glib/gmessages.h" 2
+# 1 "/usr/include/glib-2.0/glib/gmacros.h" 1
+# 37 "/usr/include/glib-2.0/glib/gmessages.h" 2
+
+
+
+
+       
+# 42 "/usr/include/glib-2.0/glib/gmessages.h" 3
+
+
+
+
+
+
+gsize g_printf_string_upper_bound (const gchar* format,
+         va_list args);
+# 58 "/usr/include/glib-2.0/glib/gmessages.h" 3
+typedef enum
+{
+
+  G_LOG_FLAG_RECURSION = 1 << 0,
+  G_LOG_FLAG_FATAL = 1 << 1,
+
+
+  G_LOG_LEVEL_ERROR = 1 << 2,
+  G_LOG_LEVEL_CRITICAL = 1 << 3,
+  G_LOG_LEVEL_WARNING = 1 << 4,
+  G_LOG_LEVEL_MESSAGE = 1 << 5,
+  G_LOG_LEVEL_INFO = 1 << 6,
+  G_LOG_LEVEL_DEBUG = 1 << 7,
+
+  G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL)
+} GLogLevelFlags;
+
+
+
+
+typedef void (*GLogFunc) (const gchar *log_domain,
+                                                 GLogLevelFlags log_level,
+                                                 const gchar *message,
+                                                 gpointer user_data);
+
+
+
+guint g_log_set_handler (const gchar *log_domain,
+                                         GLogLevelFlags log_levels,
+                                         GLogFunc log_func,
+                                         gpointer user_data);
+void g_log_remove_handler (const gchar *log_domain,
+                                         guint handler_id);
+void g_log_default_handler (const gchar *log_domain,
+                                         GLogLevelFlags log_level,
+                                         const gchar *message,
+                                         gpointer unused_data);
+GLogFunc g_log_set_default_handler (GLogFunc log_func,
+        gpointer user_data);
+void g_log (const gchar *log_domain,
+                                         GLogLevelFlags log_level,
+                                         const gchar *format,
+                                         ...) __attribute__((__format__ (__printf__, 3, 4)));
+void g_logv (const gchar *log_domain,
+                                         GLogLevelFlags log_level,
+                                         const gchar *format,
+                                         va_list args);
+GLogLevelFlags g_log_set_fatal_mask (const gchar *log_domain,
+                                         GLogLevelFlags fatal_mask);
+GLogLevelFlags g_log_set_always_fatal (GLogLevelFlags fatal_mask);
+
+
+__attribute__((visibility("hidden"))) void _g_log_fallback_handler (const gchar *log_domain,
+       GLogLevelFlags log_level,
+       const gchar *message,
+       gpointer unused_data);
+
+
+void g_return_if_fail_warning (const char *log_domain,
+          const char *pretty_function,
+          const char *expression);
+void g_warn_message (const char *domain,
+                               const char *file,
+                               int line,
+                               const char *func,
+                               const char *warnexpr);
+__attribute__((__deprecated__))
+void g_assert_warning (const char *log_domain,
+          const char *file,
+          const int line,
+                 const char *pretty_function,
+                 const char *expression) __attribute__((__noreturn__));
+# 235 "/usr/include/glib-2.0/glib/gmessages.h" 3
+typedef void (*GPrintFunc) (const gchar *string);
+void g_print (const gchar *format,
+                                         ...) __attribute__((__format__ (__printf__, 1, 2)));
+GPrintFunc g_set_print_handler (GPrintFunc func);
+void g_printerr (const gchar *format,
+                                         ...) __attribute__((__format__ (__printf__, 1, 2)));
+GPrintFunc g_set_printerr_handler (GPrintFunc func);
+# 402 "/usr/include/glib-2.0/glib/gmessages.h" 3
+
+# 65 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gnode.h" 1
+# 34 "/usr/include/glib-2.0/glib/gnode.h"
+# 1 "/usr/include/glib-2.0/glib/gmem.h" 1
+# 35 "/usr/include/glib-2.0/glib/gnode.h" 2
+
+
+
+typedef struct _GNode GNode;
+
+
+typedef enum
+{
+  G_TRAVERSE_LEAVES = 1 << 0,
+  G_TRAVERSE_NON_LEAVES = 1 << 1,
+  G_TRAVERSE_ALL = G_TRAVERSE_LEAVES | G_TRAVERSE_NON_LEAVES,
+  G_TRAVERSE_MASK = 0x03,
+  G_TRAVERSE_LEAFS = G_TRAVERSE_LEAVES,
+  G_TRAVERSE_NON_LEAFS = G_TRAVERSE_NON_LEAVES
+} GTraverseFlags;
+
+
+typedef enum
+{
+  G_IN_ORDER,
+  G_PRE_ORDER,
+  G_POST_ORDER,
+  G_LEVEL_ORDER
+} GTraverseType;
+
+typedef gboolean (*GNodeTraverseFunc) (GNode *node,
+       gpointer data);
+typedef void (*GNodeForeachFunc) (GNode *node,
+       gpointer data);
+# 77 "/usr/include/glib-2.0/glib/gnode.h"
+typedef gpointer (*GCopyFunc) (gconstpointer src,
+                                                 gpointer data);
+
+
+
+struct _GNode
+{
+  gpointer data;
+  GNode *next;
+  GNode *prev;
+  GNode *parent;
+  GNode *children;
+};
+# 115 "/usr/include/glib-2.0/glib/gnode.h"
+GNode* g_node_new (gpointer data);
+void g_node_destroy (GNode *root);
+void g_node_unlink (GNode *node);
+GNode* g_node_copy_deep (GNode *node,
+     GCopyFunc copy_func,
+     gpointer data);
+GNode* g_node_copy (GNode *node);
+GNode* g_node_insert (GNode *parent,
+     gint position,
+     GNode *node);
+GNode* g_node_insert_before (GNode *parent,
+     GNode *sibling,
+     GNode *node);
+GNode* g_node_insert_after (GNode *parent,
+     GNode *sibling,
+     GNode *node);
+GNode* g_node_prepend (GNode *parent,
+     GNode *node);
+guint g_node_n_nodes (GNode *root,
+     GTraverseFlags flags);
+GNode* g_node_get_root (GNode *node);
+gboolean g_node_is_ancestor (GNode *node,
+     GNode *descendant);
+guint g_node_depth (GNode *node);
+GNode* g_node_find (GNode *root,
+     GTraverseType order,
+     GTraverseFlags flags,
+     gpointer data);
+# 226 "/usr/include/glib-2.0/glib/gnode.h"
+void g_node_traverse (GNode *root,
+     GTraverseType order,
+     GTraverseFlags flags,
+     gint max_depth,
+     GNodeTraverseFunc func,
+     gpointer data);
+
+
+
+
+
+
+guint g_node_max_height (GNode *root);
+
+void g_node_children_foreach (GNode *node,
+      GTraverseFlags flags,
+      GNodeForeachFunc func,
+      gpointer data);
+void g_node_reverse_children (GNode *node);
+guint g_node_n_children (GNode *node);
+GNode* g_node_nth_child (GNode *node,
+      guint n);
+GNode* g_node_last_child (GNode *node);
+GNode* g_node_find_child (GNode *node,
+      GTraverseFlags flags,
+      gpointer data);
+gint g_node_child_position (GNode *node,
+      GNode *child);
+gint g_node_child_index (GNode *node,
+      gpointer data);
+
+GNode* g_node_first_sibling (GNode *node);
+GNode* g_node_last_sibling (GNode *node);
+# 296 "/usr/include/glib-2.0/glib/gnode.h"
+
+# 66 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/goption.h" 1
+# 28 "/usr/include/glib-2.0/glib/goption.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 29 "/usr/include/glib-2.0/glib/goption.h" 2
+# 1 "/usr/include/glib-2.0/glib/gquark.h" 1
+# 30 "/usr/include/glib-2.0/glib/goption.h" 2
+
+
+# 40 "/usr/include/glib-2.0/glib/goption.h"
+typedef struct _GOptionContext GOptionContext;
+# 53 "/usr/include/glib-2.0/glib/goption.h"
+typedef struct _GOptionGroup GOptionGroup;
+typedef struct _GOptionEntry GOptionEntry;
+# 82 "/usr/include/glib-2.0/glib/goption.h"
+typedef enum
+{
+  G_OPTION_FLAG_HIDDEN = 1 << 0,
+  G_OPTION_FLAG_IN_MAIN = 1 << 1,
+  G_OPTION_FLAG_REVERSE = 1 << 2,
+  G_OPTION_FLAG_NO_ARG = 1 << 3,
+  G_OPTION_FLAG_FILENAME = 1 << 4,
+  G_OPTION_FLAG_OPTIONAL_ARG = 1 << 5,
+  G_OPTION_FLAG_NOALIAS = 1 << 6
+} GOptionFlags;
+# 118 "/usr/include/glib-2.0/glib/goption.h"
+typedef enum
+{
+  G_OPTION_ARG_NONE,
+  G_OPTION_ARG_STRING,
+  G_OPTION_ARG_INT,
+  G_OPTION_ARG_CALLBACK,
+  G_OPTION_ARG_FILENAME,
+  G_OPTION_ARG_STRING_ARRAY,
+  G_OPTION_ARG_FILENAME_ARRAY,
+  G_OPTION_ARG_DOUBLE,
+  G_OPTION_ARG_INT64
+} GOptionArg;
+# 148 "/usr/include/glib-2.0/glib/goption.h"
+typedef gboolean (*GOptionArgFunc) (const gchar *option_name,
+        const gchar *value,
+        gpointer data,
+        GError **error);
+# 166 "/usr/include/glib-2.0/glib/goption.h"
+typedef gboolean (*GOptionParseFunc) (GOptionContext *context,
+          GOptionGroup *group,
+          gpointer data,
+          GError **error);
+# 181 "/usr/include/glib-2.0/glib/goption.h"
+typedef void (*GOptionErrorFunc) (GOptionContext *context,
+      GOptionGroup *group,
+      gpointer data,
+      GError **error);
+# 205 "/usr/include/glib-2.0/glib/goption.h"
+typedef enum
+{
+  G_OPTION_ERROR_UNKNOWN_OPTION,
+  G_OPTION_ERROR_BAD_VALUE,
+  G_OPTION_ERROR_FAILED
+} GOptionError;
+
+GQuark g_option_error_quark (void);
+# 279 "/usr/include/glib-2.0/glib/goption.h"
+struct _GOptionEntry
+{
+  const gchar *long_name;
+  gchar short_name;
+  gint flags;
+
+  GOptionArg arg;
+  gpointer arg_data;
+
+  const gchar *description;
+  const gchar *arg_description;
+};
+# 310 "/usr/include/glib-2.0/glib/goption.h"
+GOptionContext *g_option_context_new (const gchar *parameter_string);
+void g_option_context_set_summary (GOptionContext *context,
+                                                   const gchar *summary);
+const gchar * g_option_context_get_summary (GOptionContext *context);
+void g_option_context_set_description (GOptionContext *context,
+                                                   const gchar *description);
+const gchar * g_option_context_get_description (GOptionContext *context);
+void g_option_context_free (GOptionContext *context);
+void g_option_context_set_help_enabled (GOptionContext *context,
+         gboolean help_enabled);
+gboolean g_option_context_get_help_enabled (GOptionContext *context);
+void g_option_context_set_ignore_unknown_options (GOptionContext *context,
+            gboolean ignore_unknown);
+gboolean g_option_context_get_ignore_unknown_options (GOptionContext *context);
+
+void g_option_context_add_main_entries (GOptionContext *context,
+         const GOptionEntry *entries,
+         const gchar *translation_domain);
+gboolean g_option_context_parse (GOptionContext *context,
+         gint *argc,
+         gchar ***argv,
+         GError **error);
+void g_option_context_set_translate_func (GOptionContext *context,
+           GTranslateFunc func,
+           gpointer data,
+           GDestroyNotify destroy_notify);
+void g_option_context_set_translation_domain (GOptionContext *context,
+        const gchar *domain);
+
+void g_option_context_add_group (GOptionContext *context,
+       GOptionGroup *group);
+void g_option_context_set_main_group (GOptionContext *context,
+            GOptionGroup *group);
+GOptionGroup *g_option_context_get_main_group (GOptionContext *context);
+gchar *g_option_context_get_help (GOptionContext *context,
+                                               gboolean main_help,
+                                               GOptionGroup *group);
+
+GOptionGroup *g_option_group_new (const gchar *name,
+           const gchar *description,
+           const gchar *help_description,
+           gpointer user_data,
+           GDestroyNotify destroy);
+void g_option_group_set_parse_hooks (GOptionGroup *group,
+           GOptionParseFunc pre_parse_func,
+           GOptionParseFunc post_parse_func);
+void g_option_group_set_error_hook (GOptionGroup *group,
+           GOptionErrorFunc error_func);
+void g_option_group_free (GOptionGroup *group);
+void g_option_group_add_entries (GOptionGroup *group,
+           const GOptionEntry *entries);
+void g_option_group_set_translate_func (GOptionGroup *group,
+           GTranslateFunc func,
+           gpointer data,
+           GDestroyNotify destroy_notify);
+void g_option_group_set_translation_domain (GOptionGroup *group,
+           const gchar *domain);
+
+
+# 67 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gpattern.h" 1
+# 27 "/usr/include/glib-2.0/glib/gpattern.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 28 "/usr/include/glib-2.0/glib/gpattern.h" 2
+
+
+
+
+typedef struct _GPatternSpec GPatternSpec;
+
+GPatternSpec* g_pattern_spec_new (const gchar *pattern);
+void g_pattern_spec_free (GPatternSpec *pspec);
+gboolean g_pattern_spec_equal (GPatternSpec *pspec1,
+     GPatternSpec *pspec2);
+gboolean g_pattern_match (GPatternSpec *pspec,
+     guint string_length,
+     const gchar *string,
+     const gchar *string_reversed);
+gboolean g_pattern_match_string (GPatternSpec *pspec,
+     const gchar *string);
+gboolean g_pattern_match_simple (const gchar *pattern,
+     const gchar *string);
+
+
+# 68 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gpoll.h" 1
+# 69 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gprimes.h" 1
+# 34 "/usr/include/glib-2.0/glib/gprimes.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/gprimes.h" 2
+
+
+# 47 "/usr/include/glib-2.0/glib/gprimes.h"
+guint g_spaced_primes_closest (guint num) __attribute__((__const__));
+
+
+# 70 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gqsort.h" 1
+# 34 "/usr/include/glib-2.0/glib/gqsort.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/gqsort.h" 2
+
+
+
+void g_qsort_with_data (gconstpointer pbase,
+   gint total_elems,
+   gsize size,
+   GCompareDataFunc compare_func,
+   gpointer user_data);
+
+
+# 71 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gquark.h" 1
+# 72 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gqueue.h" 1
+# 34 "/usr/include/glib-2.0/glib/gqueue.h"
+# 1 "/usr/include/glib-2.0/glib/glist.h" 1
+# 35 "/usr/include/glib-2.0/glib/gqueue.h" 2
+
+
+
+typedef struct _GQueue GQueue;
+# 49 "/usr/include/glib-2.0/glib/gqueue.h"
+struct _GQueue
+{
+  GList *head;
+  GList *tail;
+  guint length;
+};
+# 74 "/usr/include/glib-2.0/glib/gqueue.h"
+GQueue* g_queue_new (void);
+void g_queue_free (GQueue *queue);
+void g_queue_free_full (GQueue *queue,
+    GDestroyNotify free_func);
+void g_queue_init (GQueue *queue);
+void g_queue_clear (GQueue *queue);
+gboolean g_queue_is_empty (GQueue *queue);
+guint g_queue_get_length (GQueue *queue);
+void g_queue_reverse (GQueue *queue);
+GQueue * g_queue_copy (GQueue *queue);
+void g_queue_foreach (GQueue *queue,
+                                 GFunc func,
+                                 gpointer user_data);
+GList * g_queue_find (GQueue *queue,
+                                 gconstpointer data);
+GList * g_queue_find_custom (GQueue *queue,
+                                 gconstpointer data,
+                                 GCompareFunc func);
+void g_queue_sort (GQueue *queue,
+                                 GCompareDataFunc compare_func,
+                                 gpointer user_data);
+
+void g_queue_push_head (GQueue *queue,
+                                 gpointer data);
+void g_queue_push_tail (GQueue *queue,
+                                 gpointer data);
+void g_queue_push_nth (GQueue *queue,
+                                 gpointer data,
+                                 gint n);
+gpointer g_queue_pop_head (GQueue *queue);
+gpointer g_queue_pop_tail (GQueue *queue);
+gpointer g_queue_pop_nth (GQueue *queue,
+                                 guint n);
+gpointer g_queue_peek_head (GQueue *queue);
+gpointer g_queue_peek_tail (GQueue *queue);
+gpointer g_queue_peek_nth (GQueue *queue,
+                                 guint n);
+gint g_queue_index (GQueue *queue,
+                                 gconstpointer data);
+gboolean g_queue_remove (GQueue *queue,
+                                 gconstpointer data);
+guint g_queue_remove_all (GQueue *queue,
+                                 gconstpointer data);
+void g_queue_insert_before (GQueue *queue,
+                                 GList *sibling,
+                                 gpointer data);
+void g_queue_insert_after (GQueue *queue,
+                                 GList *sibling,
+                                 gpointer data);
+void g_queue_insert_sorted (GQueue *queue,
+                                 gpointer data,
+                                 GCompareDataFunc func,
+                                 gpointer user_data);
+
+void g_queue_push_head_link (GQueue *queue,
+                                 GList *link_);
+void g_queue_push_tail_link (GQueue *queue,
+                                 GList *link_);
+void g_queue_push_nth_link (GQueue *queue,
+                                 gint n,
+                                 GList *link_);
+GList* g_queue_pop_head_link (GQueue *queue);
+GList* g_queue_pop_tail_link (GQueue *queue);
+GList* g_queue_pop_nth_link (GQueue *queue,
+                                 guint n);
+GList* g_queue_peek_head_link (GQueue *queue);
+GList* g_queue_peek_tail_link (GQueue *queue);
+GList* g_queue_peek_nth_link (GQueue *queue,
+                                 guint n);
+gint g_queue_link_index (GQueue *queue,
+                                 GList *link_);
+void g_queue_unlink (GQueue *queue,
+                                 GList *link_);
+void g_queue_delete_link (GQueue *queue,
+                                 GList *link_);
+
+
+# 73 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/grand.h" 1
+# 34 "/usr/include/glib-2.0/glib/grand.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/grand.h" 2
+
+
+
+typedef struct _GRand GRand;
+# 49 "/usr/include/glib-2.0/glib/grand.h"
+GRand* g_rand_new_with_seed (guint32 seed);
+GRand* g_rand_new_with_seed_array (const guint32 *seed,
+        guint seed_length);
+GRand* g_rand_new (void);
+void g_rand_free (GRand *rand_);
+GRand* g_rand_copy (GRand *rand_);
+void g_rand_set_seed (GRand *rand_,
+          guint32 seed);
+void g_rand_set_seed_array (GRand *rand_,
+          const guint32 *seed,
+          guint seed_length);
+
+
+
+guint32 g_rand_int (GRand *rand_);
+gint32 g_rand_int_range (GRand *rand_,
+          gint32 begin,
+          gint32 end);
+gdouble g_rand_double (GRand *rand_);
+gdouble g_rand_double_range (GRand *rand_,
+          gdouble begin,
+          gdouble end);
+void g_random_set_seed (guint32 seed);
+
+
+
+guint32 g_random_int (void);
+gint32 g_random_int_range (gint32 begin,
+          gint32 end);
+gdouble g_random_double (void);
+gdouble g_random_double_range (gdouble begin,
+          gdouble end);
+
+
+
+# 74 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gregex.h" 1
+# 29 "/usr/include/glib-2.0/glib/gregex.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 30 "/usr/include/glib-2.0/glib/gregex.h" 2
+# 1 "/usr/include/glib-2.0/glib/gstring.h" 1
+# 31 "/usr/include/glib-2.0/glib/gregex.h" 2
+
+
+# 117 "/usr/include/glib-2.0/glib/gregex.h"
+typedef enum
+{
+  G_REGEX_ERROR_COMPILE,
+  G_REGEX_ERROR_OPTIMIZE,
+  G_REGEX_ERROR_REPLACE,
+  G_REGEX_ERROR_MATCH,
+  G_REGEX_ERROR_INTERNAL,
+
+
+  G_REGEX_ERROR_STRAY_BACKSLASH = 101,
+  G_REGEX_ERROR_MISSING_CONTROL_CHAR = 102,
+  G_REGEX_ERROR_UNRECOGNIZED_ESCAPE = 103,
+  G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER = 104,
+  G_REGEX_ERROR_QUANTIFIER_TOO_BIG = 105,
+  G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS = 106,
+  G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS = 107,
+  G_REGEX_ERROR_RANGE_OUT_OF_ORDER = 108,
+  G_REGEX_ERROR_NOTHING_TO_REPEAT = 109,
+  G_REGEX_ERROR_UNRECOGNIZED_CHARACTER = 112,
+  G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS = 113,
+  G_REGEX_ERROR_UNMATCHED_PARENTHESIS = 114,
+  G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE = 115,
+  G_REGEX_ERROR_UNTERMINATED_COMMENT = 118,
+  G_REGEX_ERROR_EXPRESSION_TOO_LARGE = 120,
+  G_REGEX_ERROR_MEMORY_ERROR = 121,
+  G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND = 125,
+  G_REGEX_ERROR_MALFORMED_CONDITION = 126,
+  G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES = 127,
+  G_REGEX_ERROR_ASSERTION_EXPECTED = 128,
+  G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME = 130,
+  G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED = 131,
+  G_REGEX_ERROR_HEX_CODE_TOO_LARGE = 134,
+  G_REGEX_ERROR_INVALID_CONDITION = 135,
+  G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND = 136,
+  G_REGEX_ERROR_INFINITE_LOOP = 140,
+  G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR = 142,
+  G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME = 143,
+  G_REGEX_ERROR_MALFORMED_PROPERTY = 146,
+  G_REGEX_ERROR_UNKNOWN_PROPERTY = 147,
+  G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG = 148,
+  G_REGEX_ERROR_TOO_MANY_SUBPATTERNS = 149,
+  G_REGEX_ERROR_INVALID_OCTAL_VALUE = 151,
+  G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE = 154,
+  G_REGEX_ERROR_DEFINE_REPETION = 155,
+  G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS = 156,
+  G_REGEX_ERROR_MISSING_BACK_REFERENCE = 157
+} GRegexError;
+# 176 "/usr/include/glib-2.0/glib/gregex.h"
+GQuark g_regex_error_quark (void);
+# 243 "/usr/include/glib-2.0/glib/gregex.h"
+typedef enum
+{
+  G_REGEX_CASELESS = 1 << 0,
+  G_REGEX_MULTILINE = 1 << 1,
+  G_REGEX_DOTALL = 1 << 2,
+  G_REGEX_EXTENDED = 1 << 3,
+  G_REGEX_ANCHORED = 1 << 4,
+  G_REGEX_DOLLAR_ENDONLY = 1 << 5,
+  G_REGEX_UNGREEDY = 1 << 9,
+  G_REGEX_RAW = 1 << 11,
+  G_REGEX_NO_AUTO_CAPTURE = 1 << 12,
+  G_REGEX_OPTIMIZE = 1 << 13,
+  G_REGEX_DUPNAMES = 1 << 19,
+  G_REGEX_NEWLINE_CR = 1 << 20,
+  G_REGEX_NEWLINE_LF = 1 << 21,
+  G_REGEX_NEWLINE_CRLF = G_REGEX_NEWLINE_CR | G_REGEX_NEWLINE_LF
+} GRegexCompileFlags;
+# 306 "/usr/include/glib-2.0/glib/gregex.h"
+typedef enum
+{
+  G_REGEX_MATCH_ANCHORED = 1 << 4,
+  G_REGEX_MATCH_NOTBOL = 1 << 7,
+  G_REGEX_MATCH_NOTEOL = 1 << 8,
+  G_REGEX_MATCH_NOTEMPTY = 1 << 10,
+  G_REGEX_MATCH_PARTIAL = 1 << 15,
+  G_REGEX_MATCH_NEWLINE_CR = 1 << 20,
+  G_REGEX_MATCH_NEWLINE_LF = 1 << 21,
+  G_REGEX_MATCH_NEWLINE_CRLF = G_REGEX_MATCH_NEWLINE_CR | G_REGEX_MATCH_NEWLINE_LF,
+  G_REGEX_MATCH_NEWLINE_ANY = 1 << 22
+} GRegexMatchFlags;
+# 327 "/usr/include/glib-2.0/glib/gregex.h"
+typedef struct _GRegex GRegex;
+
+
+typedef struct _GMatchInfo GMatchInfo;
+# 349 "/usr/include/glib-2.0/glib/gregex.h"
+typedef gboolean (*GRegexEvalCallback) (const GMatchInfo *match_info,
+       GString *result,
+       gpointer user_data);
+
+
+GRegex *g_regex_new (const gchar *pattern,
+       GRegexCompileFlags compile_options,
+       GRegexMatchFlags match_options,
+       GError **error);
+GRegex *g_regex_ref (GRegex *regex);
+void g_regex_unref (GRegex *regex);
+const gchar *g_regex_get_pattern (const GRegex *regex);
+gint g_regex_get_max_backref (const GRegex *regex);
+gint g_regex_get_capture_count (const GRegex *regex);
+gint g_regex_get_string_number (const GRegex *regex,
+       const gchar *name);
+gchar *g_regex_escape_string (const gchar *string,
+       gint length);
+gchar *g_regex_escape_nul (const gchar *string,
+       gint length);
+
+GRegexCompileFlags g_regex_get_compile_flags (const GRegex *regex);
+GRegexMatchFlags g_regex_get_match_flags (const GRegex *regex);
+
+
+gboolean g_regex_match_simple (const gchar *pattern,
+       const gchar *string,
+       GRegexCompileFlags compile_options,
+       GRegexMatchFlags match_options);
+gboolean g_regex_match (const GRegex *regex,
+       const gchar *string,
+       GRegexMatchFlags match_options,
+       GMatchInfo **match_info);
+gboolean g_regex_match_full (const GRegex *regex,
+       const gchar *string,
+       gssize string_len,
+       gint start_position,
+       GRegexMatchFlags match_options,
+       GMatchInfo **match_info,
+       GError **error);
+gboolean g_regex_match_all (const GRegex *regex,
+       const gchar *string,
+       GRegexMatchFlags match_options,
+       GMatchInfo **match_info);
+gboolean g_regex_match_all_full (const GRegex *regex,
+       const gchar *string,
+       gssize string_len,
+       gint start_position,
+       GRegexMatchFlags match_options,
+       GMatchInfo **match_info,
+       GError **error);
+
+
+gchar **g_regex_split_simple (const gchar *pattern,
+       const gchar *string,
+       GRegexCompileFlags compile_options,
+       GRegexMatchFlags match_options);
+gchar **g_regex_split (const GRegex *regex,
+       const gchar *string,
+       GRegexMatchFlags match_options);
+gchar **g_regex_split_full (const GRegex *regex,
+       const gchar *string,
+       gssize string_len,
+       gint start_position,
+       GRegexMatchFlags match_options,
+       gint max_tokens,
+       GError **error);
+
+
+gchar *g_regex_replace (const GRegex *regex,
+       const gchar *string,
+       gssize string_len,
+       gint start_position,
+       const gchar *replacement,
+       GRegexMatchFlags match_options,
+       GError **error);
+gchar *g_regex_replace_literal (const GRegex *regex,
+       const gchar *string,
+       gssize string_len,
+       gint start_position,
+       const gchar *replacement,
+       GRegexMatchFlags match_options,
+       GError **error);
+gchar *g_regex_replace_eval (const GRegex *regex,
+       const gchar *string,
+       gssize string_len,
+       gint start_position,
+       GRegexMatchFlags match_options,
+       GRegexEvalCallback eval,
+       gpointer user_data,
+       GError **error);
+gboolean g_regex_check_replacement (const gchar *replacement,
+       gboolean *has_references,
+       GError **error);
+
+
+GRegex *g_match_info_get_regex (const GMatchInfo *match_info);
+const gchar *g_match_info_get_string (const GMatchInfo *match_info);
+
+GMatchInfo *g_match_info_ref (GMatchInfo *match_info);
+void g_match_info_unref (GMatchInfo *match_info);
+void g_match_info_free (GMatchInfo *match_info);
+gboolean g_match_info_next (GMatchInfo *match_info,
+       GError **error);
+gboolean g_match_info_matches (const GMatchInfo *match_info);
+gint g_match_info_get_match_count (const GMatchInfo *match_info);
+gboolean g_match_info_is_partial_match (const GMatchInfo *match_info);
+gchar *g_match_info_expand_references(const GMatchInfo *match_info,
+       const gchar *string_to_expand,
+       GError **error);
+gchar *g_match_info_fetch (const GMatchInfo *match_info,
+       gint match_num);
+gboolean g_match_info_fetch_pos (const GMatchInfo *match_info,
+       gint match_num,
+       gint *start_pos,
+       gint *end_pos);
+gchar *g_match_info_fetch_named (const GMatchInfo *match_info,
+       const gchar *name);
+gboolean g_match_info_fetch_named_pos (const GMatchInfo *match_info,
+       const gchar *name,
+       gint *start_pos,
+       gint *end_pos);
+gchar **g_match_info_fetch_all (const GMatchInfo *match_info);
+
+
+# 75 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gscanner.h" 1
+# 34 "/usr/include/glib-2.0/glib/gscanner.h"
+# 1 "/usr/include/glib-2.0/glib/gdataset.h" 1
+# 35 "/usr/include/glib-2.0/glib/gscanner.h" 2
+# 1 "/usr/include/glib-2.0/glib/ghash.h" 1
+# 36 "/usr/include/glib-2.0/glib/gscanner.h" 2
+
+
+
+typedef struct _GScanner GScanner;
+typedef struct _GScannerConfig GScannerConfig;
+typedef union _GTokenValue GTokenValue;
+
+typedef void (*GScannerMsgFunc) (GScanner *scanner,
+       gchar *message,
+       gboolean error);
+# 64 "/usr/include/glib-2.0/glib/gscanner.h"
+typedef enum
+{
+  G_ERR_UNKNOWN,
+  G_ERR_UNEXP_EOF,
+  G_ERR_UNEXP_EOF_IN_STRING,
+  G_ERR_UNEXP_EOF_IN_COMMENT,
+  G_ERR_NON_DIGIT_IN_CONST,
+  G_ERR_DIGIT_RADIX,
+  G_ERR_FLOAT_RADIX,
+  G_ERR_FLOAT_MALFORMED
+} GErrorType;
+
+
+typedef enum
+{
+  G_TOKEN_EOF = 0,
+
+  G_TOKEN_LEFT_PAREN = '(',
+  G_TOKEN_RIGHT_PAREN = ')',
+  G_TOKEN_LEFT_CURLY = '{',
+  G_TOKEN_RIGHT_CURLY = '}',
+  G_TOKEN_LEFT_BRACE = '[',
+  G_TOKEN_RIGHT_BRACE = ']',
+  G_TOKEN_EQUAL_SIGN = '=',
+  G_TOKEN_COMMA = ',',
+
+  G_TOKEN_NONE = 256,
+
+  G_TOKEN_ERROR,
+
+  G_TOKEN_CHAR,
+  G_TOKEN_BINARY,
+  G_TOKEN_OCTAL,
+  G_TOKEN_INT,
+  G_TOKEN_HEX,
+  G_TOKEN_FLOAT,
+  G_TOKEN_STRING,
+
+  G_TOKEN_SYMBOL,
+  G_TOKEN_IDENTIFIER,
+  G_TOKEN_IDENTIFIER_NULL,
+
+  G_TOKEN_COMMENT_SINGLE,
+  G_TOKEN_COMMENT_MULTI,
+
+
+  G_TOKEN_LAST
+} GTokenType;
+
+union _GTokenValue
+{
+  gpointer v_symbol;
+  gchar *v_identifier;
+  gulong v_binary;
+  gulong v_octal;
+  gulong v_int;
+  guint64 v_int64;
+  gdouble v_float;
+  gulong v_hex;
+  gchar *v_string;
+  gchar *v_comment;
+  guchar v_char;
+  guint v_error;
+};
+
+struct _GScannerConfig
+{
+
+
+  gchar *cset_skip_characters;
+  gchar *cset_identifier_first;
+  gchar *cset_identifier_nth;
+  gchar *cpair_comment_single;
+
+
+
+  guint case_sensitive : 1;
+
+
+
+
+  guint skip_comment_multi : 1;
+  guint skip_comment_single : 1;
+  guint scan_comment_multi : 1;
+  guint scan_identifier : 1;
+  guint scan_identifier_1char : 1;
+  guint scan_identifier_NULL : 1;
+  guint scan_symbols : 1;
+  guint scan_binary : 1;
+  guint scan_octal : 1;
+  guint scan_float : 1;
+  guint scan_hex : 1;
+  guint scan_hex_dollar : 1;
+  guint scan_string_sq : 1;
+  guint scan_string_dq : 1;
+  guint numbers_2_int : 1;
+  guint int_2_float : 1;
+  guint identifier_2_string : 1;
+  guint char_2_token : 1;
+  guint symbol_2_token : 1;
+  guint scope_0_fallback : 1;
+  guint store_int64 : 1;
+
+
+  guint padding_dummy;
+};
+
+struct _GScanner
+{
+
+  gpointer user_data;
+  guint max_parse_errors;
+
+
+  guint parse_errors;
+
+
+  const gchar *input_name;
+
+
+  GData *qdata;
+
+
+  GScannerConfig *config;
+
+
+  GTokenType token;
+  GTokenValue value;
+  guint line;
+  guint position;
+
+
+  GTokenType next_token;
+  GTokenValue next_value;
+  guint next_line;
+  guint next_position;
+
+
+
+  GHashTable *symbol_table;
+  gint input_fd;
+  const gchar *text;
+  const gchar *text_end;
+  gchar *buffer;
+  guint scope_id;
+
+
+
+  GScannerMsgFunc msg_handler;
+};
+
+GScanner* g_scanner_new (const GScannerConfig *config_templ);
+void g_scanner_destroy (GScanner *scanner);
+void g_scanner_input_file (GScanner *scanner,
+       gint input_fd);
+void g_scanner_sync_file_offset (GScanner *scanner);
+void g_scanner_input_text (GScanner *scanner,
+       const gchar *text,
+       guint text_len);
+GTokenType g_scanner_get_next_token (GScanner *scanner);
+GTokenType g_scanner_peek_next_token (GScanner *scanner);
+GTokenType g_scanner_cur_token (GScanner *scanner);
+GTokenValue g_scanner_cur_value (GScanner *scanner);
+guint g_scanner_cur_line (GScanner *scanner);
+guint g_scanner_cur_position (GScanner *scanner);
+gboolean g_scanner_eof (GScanner *scanner);
+guint g_scanner_set_scope (GScanner *scanner,
+       guint scope_id);
+void g_scanner_scope_add_symbol (GScanner *scanner,
+       guint scope_id,
+       const gchar *symbol,
+       gpointer value);
+void g_scanner_scope_remove_symbol (GScanner *scanner,
+       guint scope_id,
+       const gchar *symbol);
+gpointer g_scanner_scope_lookup_symbol (GScanner *scanner,
+       guint scope_id,
+       const gchar *symbol);
+void g_scanner_scope_foreach_symbol (GScanner *scanner,
+       guint scope_id,
+       GHFunc func,
+       gpointer user_data);
+gpointer g_scanner_lookup_symbol (GScanner *scanner,
+       const gchar *symbol);
+void g_scanner_unexp_token (GScanner *scanner,
+       GTokenType expected_token,
+       const gchar *identifier_spec,
+       const gchar *symbol_spec,
+       const gchar *symbol_name,
+       const gchar *message,
+       gint is_error);
+void g_scanner_error (GScanner *scanner,
+       const gchar *format,
+       ...) __attribute__((__format__ (__printf__, 2, 3)));
+void g_scanner_warn (GScanner *scanner,
+       const gchar *format,
+       ...) __attribute__((__format__ (__printf__, 2, 3)));
+# 282 "/usr/include/glib-2.0/glib/gscanner.h"
+
+# 76 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gsequence.h" 1
+# 28 "/usr/include/glib-2.0/glib/gsequence.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 29 "/usr/include/glib-2.0/glib/gsequence.h" 2
+
+
+
+typedef struct _GSequence GSequence;
+typedef struct _GSequenceNode GSequenceIter;
+
+typedef gint (* GSequenceIterCompareFunc) (GSequenceIter *a,
+                                           GSequenceIter *b,
+                                           gpointer data);
+
+
+
+GSequence * g_sequence_new (GDestroyNotify data_destroy);
+void g_sequence_free (GSequence *seq);
+gint g_sequence_get_length (GSequence *seq);
+void g_sequence_foreach (GSequence *seq,
+                                              GFunc func,
+                                              gpointer user_data);
+void g_sequence_foreach_range (GSequenceIter *begin,
+                                              GSequenceIter *end,
+                                              GFunc func,
+                                              gpointer user_data);
+void g_sequence_sort (GSequence *seq,
+                                              GCompareDataFunc cmp_func,
+                                              gpointer cmp_data);
+void g_sequence_sort_iter (GSequence *seq,
+                                              GSequenceIterCompareFunc cmp_func,
+                                              gpointer cmp_data);
+
+
+
+GSequenceIter *g_sequence_get_begin_iter (GSequence *seq);
+GSequenceIter *g_sequence_get_end_iter (GSequence *seq);
+GSequenceIter *g_sequence_get_iter_at_pos (GSequence *seq,
+                                              gint pos);
+GSequenceIter *g_sequence_append (GSequence *seq,
+                                              gpointer data);
+GSequenceIter *g_sequence_prepend (GSequence *seq,
+                                              gpointer data);
+GSequenceIter *g_sequence_insert_before (GSequenceIter *iter,
+                                              gpointer data);
+void g_sequence_move (GSequenceIter *src,
+                                              GSequenceIter *dest);
+void g_sequence_swap (GSequenceIter *a,
+                                              GSequenceIter *b);
+GSequenceIter *g_sequence_insert_sorted (GSequence *seq,
+                                              gpointer data,
+                                              GCompareDataFunc cmp_func,
+                                              gpointer cmp_data);
+GSequenceIter *g_sequence_insert_sorted_iter (GSequence *seq,
+                                              gpointer data,
+                                              GSequenceIterCompareFunc iter_cmp,
+                                              gpointer cmp_data);
+void g_sequence_sort_changed (GSequenceIter *iter,
+                                              GCompareDataFunc cmp_func,
+                                              gpointer cmp_data);
+void g_sequence_sort_changed_iter (GSequenceIter *iter,
+                                              GSequenceIterCompareFunc iter_cmp,
+                                              gpointer cmp_data);
+void g_sequence_remove (GSequenceIter *iter);
+void g_sequence_remove_range (GSequenceIter *begin,
+                                              GSequenceIter *end);
+void g_sequence_move_range (GSequenceIter *dest,
+                                              GSequenceIter *begin,
+                                              GSequenceIter *end);
+GSequenceIter *g_sequence_search (GSequence *seq,
+                                              gpointer data,
+                                              GCompareDataFunc cmp_func,
+                                              gpointer cmp_data);
+GSequenceIter *g_sequence_search_iter (GSequence *seq,
+                                              gpointer data,
+                                              GSequenceIterCompareFunc iter_cmp,
+                                              gpointer cmp_data);
+GSequenceIter *g_sequence_lookup (GSequence *seq,
+                                              gpointer data,
+                                              GCompareDataFunc cmp_func,
+                                              gpointer cmp_data);
+GSequenceIter *g_sequence_lookup_iter (GSequence *seq,
+                                              gpointer data,
+                                              GSequenceIterCompareFunc iter_cmp,
+                                              gpointer cmp_data);
+
+
+
+gpointer g_sequence_get (GSequenceIter *iter);
+void g_sequence_set (GSequenceIter *iter,
+                                              gpointer data);
+
+
+gboolean g_sequence_iter_is_begin (GSequenceIter *iter);
+gboolean g_sequence_iter_is_end (GSequenceIter *iter);
+GSequenceIter *g_sequence_iter_next (GSequenceIter *iter);
+GSequenceIter *g_sequence_iter_prev (GSequenceIter *iter);
+gint g_sequence_iter_get_position (GSequenceIter *iter);
+GSequenceIter *g_sequence_iter_move (GSequenceIter *iter,
+                                              gint delta);
+GSequence * g_sequence_iter_get_sequence (GSequenceIter *iter);
+
+
+
+gint g_sequence_iter_compare (GSequenceIter *a,
+                                              GSequenceIter *b);
+GSequenceIter *g_sequence_range_get_midpoint (GSequenceIter *begin,
+                                              GSequenceIter *end);
+
+
+# 77 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gshell.h" 1
+# 28 "/usr/include/glib-2.0/glib/gshell.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 29 "/usr/include/glib-2.0/glib/gshell.h" 2
+
+
+
+
+
+typedef enum
+{
+
+  G_SHELL_ERROR_BAD_QUOTING,
+
+  G_SHELL_ERROR_EMPTY_STRING,
+  G_SHELL_ERROR_FAILED
+} GShellError;
+
+GQuark g_shell_error_quark (void);
+
+gchar* g_shell_quote (const gchar *unquoted_string);
+gchar* g_shell_unquote (const gchar *quoted_string,
+                             GError **error);
+gboolean g_shell_parse_argv (const gchar *command_line,
+                             gint *argcp,
+                             gchar ***argvp,
+                             GError **error);
+
+
+# 78 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gslice.h" 1
+# 27 "/usr/include/glib-2.0/glib/gslice.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 28 "/usr/include/glib-2.0/glib/gslice.h" 2
+
+
+
+
+
+gpointer g_slice_alloc (gsize block_size) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
+gpointer g_slice_alloc0 (gsize block_size) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
+gpointer g_slice_copy (gsize block_size,
+                                         gconstpointer mem_block) __attribute__((__malloc__)) __attribute__((__alloc_size__(1)));
+void g_slice_free1 (gsize block_size,
+      gpointer mem_block);
+void g_slice_free_chain_with_offset (gsize block_size,
+      gpointer mem_chain,
+      gsize next_offset);
+# 72 "/usr/include/glib-2.0/glib/gslice.h"
+typedef enum {
+  G_SLICE_CONFIG_ALWAYS_MALLOC = 1,
+  G_SLICE_CONFIG_BYPASS_MAGAZINES,
+  G_SLICE_CONFIG_WORKING_SET_MSECS,
+  G_SLICE_CONFIG_COLOR_INCREMENT,
+  G_SLICE_CONFIG_CHUNK_SIZES,
+  G_SLICE_CONFIG_CONTENTION_COUNTER
+} GSliceConfig;
+void g_slice_set_config (GSliceConfig ckey, gint64 value);
+gint64 g_slice_get_config (GSliceConfig ckey);
+gint64* g_slice_get_config_state (GSliceConfig ckey, gint64 address, guint *n_values);
+
+
+# 79 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gslist.h" 1
+# 80 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gspawn.h" 1
+# 28 "/usr/include/glib-2.0/glib/gspawn.h"
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 29 "/usr/include/glib-2.0/glib/gspawn.h" 2
+
+
+# 70 "/usr/include/glib-2.0/glib/gspawn.h"
+typedef enum
+{
+  G_SPAWN_ERROR_FORK,
+  G_SPAWN_ERROR_READ,
+  G_SPAWN_ERROR_CHDIR,
+  G_SPAWN_ERROR_ACCES,
+  G_SPAWN_ERROR_PERM,
+  G_SPAWN_ERROR_TOO_BIG,
+
+  G_SPAWN_ERROR_2BIG = G_SPAWN_ERROR_TOO_BIG,
+
+  G_SPAWN_ERROR_NOEXEC,
+  G_SPAWN_ERROR_NAMETOOLONG,
+  G_SPAWN_ERROR_NOENT,
+  G_SPAWN_ERROR_NOMEM,
+  G_SPAWN_ERROR_NOTDIR,
+  G_SPAWN_ERROR_LOOP,
+  G_SPAWN_ERROR_TXTBUSY,
+  G_SPAWN_ERROR_IO,
+  G_SPAWN_ERROR_NFILE,
+  G_SPAWN_ERROR_MFILE,
+  G_SPAWN_ERROR_INVAL,
+  G_SPAWN_ERROR_ISDIR,
+  G_SPAWN_ERROR_LIBBAD,
+  G_SPAWN_ERROR_FAILED
+
+
+} GSpawnError;
+# 135 "/usr/include/glib-2.0/glib/gspawn.h"
+typedef void (* GSpawnChildSetupFunc) (gpointer user_data);
+# 161 "/usr/include/glib-2.0/glib/gspawn.h"
+typedef enum
+{
+  G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1 << 0,
+  G_SPAWN_DO_NOT_REAP_CHILD = 1 << 1,
+
+  G_SPAWN_SEARCH_PATH = 1 << 2,
+
+  G_SPAWN_STDOUT_TO_DEV_NULL = 1 << 3,
+  G_SPAWN_STDERR_TO_DEV_NULL = 1 << 4,
+  G_SPAWN_CHILD_INHERITS_STDIN = 1 << 5,
+  G_SPAWN_FILE_AND_ARGV_ZERO = 1 << 6
+} GSpawnFlags;
+
+GQuark g_spawn_error_quark (void);
+# 186 "/usr/include/glib-2.0/glib/gspawn.h"
+gboolean g_spawn_async (const gchar *working_directory,
+                        gchar **argv,
+                        gchar **envp,
+                        GSpawnFlags flags,
+                        GSpawnChildSetupFunc child_setup,
+                        gpointer user_data,
+                        GPid *child_pid,
+                        GError **error);
+
+
+
+
+
+gboolean g_spawn_async_with_pipes (const gchar *working_directory,
+                                   gchar **argv,
+                                   gchar **envp,
+                                   GSpawnFlags flags,
+                                   GSpawnChildSetupFunc child_setup,
+                                   gpointer user_data,
+                                   GPid *child_pid,
+                                   gint *standard_input,
+                                   gint *standard_output,
+                                   gint *standard_error,
+                                   GError **error);
+
+
+
+
+
+
+gboolean g_spawn_sync (const gchar *working_directory,
+                               gchar **argv,
+                               gchar **envp,
+                               GSpawnFlags flags,
+                               GSpawnChildSetupFunc child_setup,
+                               gpointer user_data,
+                               gchar **standard_output,
+                               gchar **standard_error,
+                               gint *exit_status,
+                               GError **error);
+
+gboolean g_spawn_command_line_sync (const gchar *command_line,
+                                     gchar **standard_output,
+                                     gchar **standard_error,
+                                     gint *exit_status,
+                                     GError **error);
+gboolean g_spawn_command_line_async (const gchar *command_line,
+                                     GError **error);
+
+void g_spawn_close_pid (GPid pid);
+
+
+# 81 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gstrfuncs.h" 1
+# 35 "/usr/include/glib-2.0/glib/gstrfuncs.h"
+# 1 "/usr/include/glib-2.0/glib/gmacros.h" 1
+# 36 "/usr/include/glib-2.0/glib/gstrfuncs.h" 2
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 37 "/usr/include/glib-2.0/glib/gstrfuncs.h" 2
+
+
+
+
+typedef enum {
+  G_ASCII_ALNUM = 1 << 0,
+  G_ASCII_ALPHA = 1 << 1,
+  G_ASCII_CNTRL = 1 << 2,
+  G_ASCII_DIGIT = 1 << 3,
+  G_ASCII_GRAPH = 1 << 4,
+  G_ASCII_LOWER = 1 << 5,
+  G_ASCII_PRINT = 1 << 6,
+  G_ASCII_PUNCT = 1 << 7,
+  G_ASCII_SPACE = 1 << 8,
+  G_ASCII_UPPER = 1 << 9,
+  G_ASCII_XDIGIT = 1 << 10
+} GAsciiType;
+
+extern const guint16 * const g_ascii_table;
+# 90 "/usr/include/glib-2.0/glib/gstrfuncs.h"
+gchar g_ascii_tolower (gchar c) __attribute__((__const__));
+gchar g_ascii_toupper (gchar c) __attribute__((__const__));
+
+gint g_ascii_digit_value (gchar c) __attribute__((__const__));
+gint g_ascii_xdigit_value (gchar c) __attribute__((__const__));
+
+
+
+
+
+gchar* g_strdelimit (gchar *string,
+     const gchar *delimiters,
+     gchar new_delimiter);
+gchar* g_strcanon (gchar *string,
+     const gchar *valid_chars,
+     gchar substitutor);
+const gchar * g_strerror (gint errnum) __attribute__((__const__));
+const gchar * g_strsignal (gint signum) __attribute__((__const__));
+gchar * g_strreverse (gchar *string);
+gsize g_strlcpy (gchar *dest,
+     const gchar *src,
+     gsize dest_size);
+gsize g_strlcat (gchar *dest,
+     const gchar *src,
+     gsize dest_size);
+gchar * g_strstr_len (const gchar *haystack,
+     gssize haystack_len,
+     const gchar *needle);
+gchar * g_strrstr (const gchar *haystack,
+     const gchar *needle);
+gchar * g_strrstr_len (const gchar *haystack,
+     gssize haystack_len,
+     const gchar *needle);
+
+gboolean g_str_has_suffix (const gchar *str,
+     const gchar *suffix);
+gboolean g_str_has_prefix (const gchar *str,
+     const gchar *prefix);
+
+
+
+gdouble g_strtod (const gchar *nptr,
+     gchar **endptr);
+gdouble g_ascii_strtod (const gchar *nptr,
+     gchar **endptr);
+guint64 g_ascii_strtoull (const gchar *nptr,
+     gchar **endptr,
+     guint base);
+gint64 g_ascii_strtoll (const gchar *nptr,
+     gchar **endptr,
+     guint base);
+
+
+
+
+gchar * g_ascii_dtostr (gchar *buffer,
+     gint buf_len,
+     gdouble d);
+gchar * g_ascii_formatd (gchar *buffer,
+     gint buf_len,
+     const gchar *format,
+     gdouble d);
+
+
+gchar* g_strchug (gchar *string);
+
+gchar* g_strchomp (gchar *string);
+
+
+
+gint g_ascii_strcasecmp (const gchar *s1,
+        const gchar *s2);
+gint g_ascii_strncasecmp (const gchar *s1,
+        const gchar *s2,
+        gsize n);
+gchar* g_ascii_strdown (const gchar *str,
+        gssize len) __attribute__((__malloc__));
+gchar* g_ascii_strup (const gchar *str,
+        gssize len) __attribute__((__malloc__));
+
+
+__attribute__((__deprecated__))
+gint g_strcasecmp (const gchar *s1,
+                                        const gchar *s2);
+__attribute__((__deprecated__))
+gint g_strncasecmp (const gchar *s1,
+                                        const gchar *s2,
+                                        guint n);
+__attribute__((__deprecated__))
+gchar* g_strdown (gchar *string);
+__attribute__((__deprecated__))
+gchar* g_strup (gchar *string);
+
+
+
+
+
+gchar* g_strdup (const gchar *str) __attribute__((__malloc__));
+gchar* g_strdup_printf (const gchar *format,
+     ...) __attribute__((__format__ (__printf__, 1, 2))) __attribute__((__malloc__));
+gchar* g_strdup_vprintf (const gchar *format,
+     va_list args) __attribute__((__malloc__));
+gchar* g_strndup (const gchar *str,
+     gsize n) __attribute__((__malloc__));
+gchar* g_strnfill (gsize length,
+     gchar fill_char) __attribute__((__malloc__));
+gchar* g_strconcat (const gchar *string1,
+     ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
+gchar* g_strjoin (const gchar *separator,
+     ...) __attribute__((__malloc__)) __attribute__((__sentinel__));
+
+
+
+
+
+gchar* g_strcompress (const gchar *source) __attribute__((__malloc__));
+# 215 "/usr/include/glib-2.0/glib/gstrfuncs.h"
+gchar* g_strescape (const gchar *source,
+     const gchar *exceptions) __attribute__((__malloc__));
+
+gpointer g_memdup (gconstpointer mem,
+     guint byte_size) __attribute__((__malloc__)) __attribute__((__alloc_size__(2)));
+# 230 "/usr/include/glib-2.0/glib/gstrfuncs.h"
+gchar** g_strsplit (const gchar *string,
+     const gchar *delimiter,
+     gint max_tokens) __attribute__((__malloc__));
+gchar ** g_strsplit_set (const gchar *string,
+     const gchar *delimiters,
+     gint max_tokens) __attribute__((__malloc__));
+gchar* g_strjoinv (const gchar *separator,
+     gchar **str_array) __attribute__((__malloc__));
+void g_strfreev (gchar **str_array);
+gchar** g_strdupv (gchar **str_array) __attribute__((__malloc__));
+guint g_strv_length (gchar **str_array);
+
+gchar* g_stpcpy (gchar *dest,
+                                        const char *src);
+
+
+# 82 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gstring.h" 1
+# 83 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gstringchunk.h" 1
+# 34 "/usr/include/glib-2.0/glib/gstringchunk.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/gstringchunk.h" 2
+
+
+
+typedef struct _GStringChunk GStringChunk;
+
+GStringChunk* g_string_chunk_new (gsize size);
+void g_string_chunk_free (GStringChunk *chunk);
+void g_string_chunk_clear (GStringChunk *chunk);
+gchar* g_string_chunk_insert (GStringChunk *chunk,
+                                           const gchar *string);
+gchar* g_string_chunk_insert_len (GStringChunk *chunk,
+                                           const gchar *string,
+                                           gssize len);
+gchar* g_string_chunk_insert_const (GStringChunk *chunk,
+                                           const gchar *string);
+
+
+# 84 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gtestutils.h" 1
+# 28 "/usr/include/glib-2.0/glib/gtestutils.h"
+# 1 "/usr/include/glib-2.0/glib/gmessages.h" 1
+# 29 "/usr/include/glib-2.0/glib/gtestutils.h" 2
+# 1 "/usr/include/glib-2.0/glib/gstring.h" 1
+# 30 "/usr/include/glib-2.0/glib/gtestutils.h" 2
+# 1 "/usr/include/glib-2.0/glib/gerror.h" 1
+# 31 "/usr/include/glib-2.0/glib/gtestutils.h" 2
+# 1 "/usr/include/glib-2.0/glib/gslist.h" 1
+# 32 "/usr/include/glib-2.0/glib/gtestutils.h" 2
+
+
+
+typedef struct GTestCase GTestCase;
+typedef struct GTestSuite GTestSuite;
+typedef void (*GTestFunc) (void);
+typedef void (*GTestDataFunc) (gconstpointer user_data);
+typedef void (*GTestFixtureFunc) (gpointer fixture,
+                                  gconstpointer user_data);
+# 79 "/usr/include/glib-2.0/glib/gtestutils.h"
+int g_strcmp0 (const char *str1,
+                                         const char *str2);
+
+
+void g_test_minimized_result (double minimized_quantity,
+                                         const char *format,
+                                         ...) __attribute__((__format__ (__printf__, 2, 3)));
+void g_test_maximized_result (double maximized_quantity,
+                                         const char *format,
+                                         ...) __attribute__((__format__ (__printf__, 2, 3)));
+
+
+void g_test_init (int *argc,
+                                         char ***argv,
+                                         ...);
+# 103 "/usr/include/glib-2.0/glib/gtestutils.h"
+int g_test_run (void);
+
+void g_test_add_func (const char *testpath,
+                                         GTestFunc test_func);
+
+void g_test_add_data_func (const char *testpath,
+                                         gconstpointer test_data,
+                                         GTestDataFunc test_func);
+
+void g_test_fail (void);
+# 128 "/usr/include/glib-2.0/glib/gtestutils.h"
+void g_test_message (const char *format,
+                                         ...) __attribute__((__format__ (__printf__, 1, 2)));
+void g_test_bug_base (const char *uri_pattern);
+void g_test_bug (const char *bug_uri_snippet);
+
+void g_test_timer_start (void);
+double g_test_timer_elapsed (void);
+double g_test_timer_last (void);
+
+
+void g_test_queue_free (gpointer gfree_pointer);
+void g_test_queue_destroy (GDestroyNotify destroy_func,
+                                         gpointer destroy_data);
+
+
+
+typedef enum {
+  G_TEST_TRAP_SILENCE_STDOUT = 1 << 7,
+  G_TEST_TRAP_SILENCE_STDERR = 1 << 8,
+  G_TEST_TRAP_INHERIT_STDIN = 1 << 9
+} GTestTrapFlags;
+gboolean g_test_trap_fork (guint64 usec_timeout,
+                                         GTestTrapFlags test_trap_flags);
+gboolean g_test_trap_has_passed (void);
+gboolean g_test_trap_reached_timeout (void);
+# 162 "/usr/include/glib-2.0/glib/gtestutils.h"
+gint32 g_test_rand_int (void);
+gint32 g_test_rand_int_range (gint32 begin,
+                                         gint32 end);
+double g_test_rand_double (void);
+double g_test_rand_double_range (double range_start,
+                                         double range_end);
+
+
+GTestCase* g_test_create_case (const char *test_name,
+                                         gsize data_size,
+                                         gconstpointer test_data,
+                                         GTestFixtureFunc data_setup,
+                                         GTestFixtureFunc data_test,
+                                         GTestFixtureFunc data_teardown);
+GTestSuite* g_test_create_suite (const char *suite_name);
+GTestSuite* g_test_get_root (void);
+void g_test_suite_add (GTestSuite *suite,
+                                         GTestCase *test_case);
+void g_test_suite_add_suite (GTestSuite *suite,
+                                         GTestSuite *nestedsuite);
+int g_test_run_suite (GTestSuite *suite);
+
+
+void g_test_trap_assertions (const char *domain,
+                                         const char *file,
+                                         int line,
+                                         const char *func,
+                                         guint64 assertion_flags,
+                                         const char *pattern);
+void g_assertion_message (const char *domain,
+                                         const char *file,
+                                         int line,
+                                         const char *func,
+                                         const char *message) __attribute__((__noreturn__));
+void g_assertion_message_expr (const char *domain,
+                                         const char *file,
+                                         int line,
+                                         const char *func,
+                                         const char *expr) __attribute__((__noreturn__));
+void g_assertion_message_cmpstr (const char *domain,
+                                         const char *file,
+                                         int line,
+                                         const char *func,
+                                         const char *expr,
+                                         const char *arg1,
+                                         const char *cmp,
+                                         const char *arg2) __attribute__((__noreturn__));
+void g_assertion_message_cmpnum (const char *domain,
+                                         const char *file,
+                                         int line,
+                                         const char *func,
+                                         const char *expr,
+                                         long double arg1,
+                                         const char *cmp,
+                                         long double arg2,
+                                         char numtype) __attribute__((__noreturn__));
+void g_assertion_message_error (const char *domain,
+                                         const char *file,
+                                         int line,
+                                         const char *func,
+                                         const char *expr,
+                                         const GError *error,
+                                         GQuark error_domain,
+                                         int error_code) __attribute__((__noreturn__));
+void g_test_add_vtable (const char *testpath,
+                                         gsize data_size,
+                                         gconstpointer test_data,
+                                         GTestFixtureFunc data_setup,
+                                         GTestFixtureFunc data_test,
+                                         GTestFixtureFunc data_teardown);
+typedef struct {
+  gboolean test_initialized;
+  gboolean test_quick;
+  gboolean test_perf;
+  gboolean test_verbose;
+  gboolean test_quiet;
+  gboolean test_undefined;
+} GTestConfig;
+extern const GTestConfig * const g_test_config_vars;
+
+
+typedef enum {
+  G_TEST_LOG_NONE,
+  G_TEST_LOG_ERROR,
+  G_TEST_LOG_START_BINARY,
+  G_TEST_LOG_LIST_CASE,
+  G_TEST_LOG_SKIP_CASE,
+  G_TEST_LOG_START_CASE,
+  G_TEST_LOG_STOP_CASE,
+  G_TEST_LOG_MIN_RESULT,
+  G_TEST_LOG_MAX_RESULT,
+  G_TEST_LOG_MESSAGE
+} GTestLogType;
+
+typedef struct {
+  GTestLogType log_type;
+  guint n_strings;
+  gchar **strings;
+  guint n_nums;
+  long double *nums;
+} GTestLogMsg;
+typedef struct {
+
+  GString *data;
+  GSList *msgs;
+} GTestLogBuffer;
+
+const char* g_test_log_type_name (GTestLogType log_type);
+GTestLogBuffer* g_test_log_buffer_new (void);
+void g_test_log_buffer_free (GTestLogBuffer *tbuffer);
+void g_test_log_buffer_push (GTestLogBuffer *tbuffer,
+                                         guint n_bytes,
+                                         const guint8 *bytes);
+GTestLogMsg* g_test_log_buffer_pop (GTestLogBuffer *tbuffer);
+void g_test_log_msg_free (GTestLogMsg *tmsg);
+# 291 "/usr/include/glib-2.0/glib/gtestutils.h"
+typedef gboolean (*GTestLogFatalFunc) (const gchar *log_domain,
+                                                 GLogLevelFlags log_level,
+                                                 const gchar *message,
+                                                 gpointer user_data);
+void
+g_test_log_set_fatal_handler (GTestLogFatalFunc log_func,
+                                         gpointer user_data);
+
+
+# 85 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gthread.h" 1
+# 86 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gthreadpool.h" 1
+# 34 "/usr/include/glib-2.0/glib/gthreadpool.h"
+# 1 "/usr/include/glib-2.0/glib/gthread.h" 1
+# 35 "/usr/include/glib-2.0/glib/gthreadpool.h" 2
+
+
+
+typedef struct _GThreadPool GThreadPool;
+
+
+
+
+struct _GThreadPool
+{
+  GFunc func;
+  gpointer user_data;
+  gboolean exclusive;
+};
+
+GThreadPool * g_thread_pool_new (GFunc func,
+                                                 gpointer user_data,
+                                                 gint max_threads,
+                                                 gboolean exclusive,
+                                                 GError **error);
+void g_thread_pool_free (GThreadPool *pool,
+                                                 gboolean immediate,
+                                                 gboolean wait_);
+gboolean g_thread_pool_push (GThreadPool *pool,
+                                                 gpointer data,
+                                                 GError **error);
+guint g_thread_pool_unprocessed (GThreadPool *pool);
+void g_thread_pool_set_sort_function (GThreadPool *pool,
+                                                 GCompareDataFunc func,
+                                                 gpointer user_data);
+gboolean g_thread_pool_set_max_threads (GThreadPool *pool,
+                                                 gint max_threads,
+                                                 GError **error);
+gint g_thread_pool_get_max_threads (GThreadPool *pool);
+guint g_thread_pool_get_num_threads (GThreadPool *pool);
+
+void g_thread_pool_set_max_unused_threads (gint max_threads);
+gint g_thread_pool_get_max_unused_threads (void);
+guint g_thread_pool_get_num_unused_threads (void);
+void g_thread_pool_stop_unused_threads (void);
+void g_thread_pool_set_max_idle_time (guint interval);
+guint g_thread_pool_get_max_idle_time (void);
+
+
+# 87 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gtimer.h" 1
+# 34 "/usr/include/glib-2.0/glib/gtimer.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/gtimer.h" 2
+
+
+
+
+
+
+
+typedef struct _GTimer GTimer;
+
+
+
+GTimer* g_timer_new (void);
+void g_timer_destroy (GTimer *timer);
+void g_timer_start (GTimer *timer);
+void g_timer_stop (GTimer *timer);
+void g_timer_reset (GTimer *timer);
+void g_timer_continue (GTimer *timer);
+gdouble g_timer_elapsed (GTimer *timer,
+      gulong *microseconds);
+
+void g_usleep (gulong microseconds);
+
+void g_time_val_add (GTimeVal *time_,
+                                  glong microseconds);
+gboolean g_time_val_from_iso8601 (const gchar *iso_date,
+      GTimeVal *time_);
+gchar* g_time_val_to_iso8601 (GTimeVal *time_) __attribute__((__malloc__));
+
+
+# 88 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gtimezone.h" 1
+# 89 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gtrashstack.h" 1
+# 34 "/usr/include/glib-2.0/glib/gtrashstack.h"
+# 1 "/usr/include/glib-2.0/glib/gutils.h" 1
+# 35 "/usr/include/glib-2.0/glib/gtrashstack.h" 2
+
+
+
+typedef struct _GTrashStack GTrashStack;
+struct _GTrashStack
+{
+  GTrashStack *next;
+};
+
+static __inline __attribute__ ((unused)) void g_trash_stack_push (GTrashStack **stack_p,
+                                              gpointer data_p);
+static __inline __attribute__ ((unused)) gpointer g_trash_stack_pop (GTrashStack **stack_p);
+static __inline __attribute__ ((unused)) gpointer g_trash_stack_peek (GTrashStack **stack_p);
+static __inline __attribute__ ((unused)) guint g_trash_stack_height (GTrashStack **stack_p);
+
+
+
+static __inline __attribute__ ((unused)) void
+g_trash_stack_push (GTrashStack **stack_p,
+                    gpointer data_p)
+{
+  GTrashStack *data = (GTrashStack *) data_p;
+
+  data->next = *stack_p;
+  *stack_p = data;
+}
+static __inline __attribute__ ((unused)) gpointer
+g_trash_stack_pop (GTrashStack **stack_p)
+{
+  GTrashStack *data;
+
+  data = *stack_p;
+  if (data)
+    {
+      *stack_p = data->next;
+
+
+
+      data->next = ((void *)0);
+    }
+
+  return data;
+}
+static __inline __attribute__ ((unused)) gpointer
+g_trash_stack_peek (GTrashStack **stack_p)
+{
+  GTrashStack *data;
+
+  data = *stack_p;
+
+  return data;
+}
+static __inline __attribute__ ((unused)) guint
+g_trash_stack_height (GTrashStack **stack_p)
+{
+  GTrashStack *data;
+  guint i = 0;
+
+  for (data = *stack_p; data; data = data->next)
+    i++;
+
+  return i;
+}
+
+
+
+
+# 90 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gtree.h" 1
+# 34 "/usr/include/glib-2.0/glib/gtree.h"
+# 1 "/usr/include/glib-2.0/glib/gnode.h" 1
+# 35 "/usr/include/glib-2.0/glib/gtree.h" 2
+
+
+
+typedef struct _GTree GTree;
+
+typedef gboolean (*GTraverseFunc) (gpointer key,
+                                   gpointer value,
+                                   gpointer data);
+
+
+
+GTree* g_tree_new (GCompareFunc key_compare_func);
+GTree* g_tree_new_with_data (GCompareDataFunc key_compare_func,
+                                 gpointer key_compare_data);
+GTree* g_tree_new_full (GCompareDataFunc key_compare_func,
+                                 gpointer key_compare_data,
+                                 GDestroyNotify key_destroy_func,
+                                 GDestroyNotify value_destroy_func);
+GTree* g_tree_ref (GTree *tree);
+void g_tree_unref (GTree *tree);
+void g_tree_destroy (GTree *tree);
+void g_tree_insert (GTree *tree,
+                                 gpointer key,
+                                 gpointer value);
+void g_tree_replace (GTree *tree,
+                                 gpointer key,
+                                 gpointer value);
+gboolean g_tree_remove (GTree *tree,
+                                 gconstpointer key);
+gboolean g_tree_steal (GTree *tree,
+                                 gconstpointer key);
+gpointer g_tree_lookup (GTree *tree,
+                                 gconstpointer key);
+gboolean g_tree_lookup_extended (GTree *tree,
+                                 gconstpointer lookup_key,
+                                 gpointer *orig_key,
+                                 gpointer *value);
+void g_tree_foreach (GTree *tree,
+                                 GTraverseFunc func,
+                                 gpointer user_data);
+
+__attribute__((__deprecated__))
+void g_tree_traverse (GTree *tree,
+                                 GTraverseFunc traverse_func,
+                                 GTraverseType traverse_type,
+                                 gpointer user_data);
+
+gpointer g_tree_search (GTree *tree,
+                                 GCompareFunc search_func,
+                                 gconstpointer user_data);
+gint g_tree_height (GTree *tree);
+gint g_tree_nnodes (GTree *tree);
+
+
+# 91 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 92 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gunicode.h" 1
+# 93 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gurifuncs.h" 1
+# 30 "/usr/include/glib-2.0/glib/gurifuncs.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 31 "/usr/include/glib-2.0/glib/gurifuncs.h" 2
+
+
+# 69 "/usr/include/glib-2.0/glib/gurifuncs.h"
+char * g_uri_unescape_string (const char *escaped_string,
+          const char *illegal_characters);
+char * g_uri_unescape_segment (const char *escaped_string,
+          const char *escaped_string_end,
+          const char *illegal_characters);
+char * g_uri_parse_scheme (const char *uri);
+char * g_uri_escape_string (const char *unescaped,
+          const char *reserved_chars_allowed,
+          gboolean allow_utf8);
+
+
+# 94 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gutils.h" 1
+# 95 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gvarianttype.h" 1
+# 30 "/usr/include/glib-2.0/glib/gvarianttype.h"
+# 1 "/usr/include/glib-2.0/glib/gmessages.h" 1
+# 31 "/usr/include/glib-2.0/glib/gvarianttype.h" 2
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 32 "/usr/include/glib-2.0/glib/gvarianttype.h" 2
+
+
+# 44 "/usr/include/glib-2.0/glib/gvarianttype.h"
+typedef struct _GVariantType GVariantType;
+# 297 "/usr/include/glib-2.0/glib/gvarianttype.h"
+gboolean g_variant_type_string_is_valid (const gchar *type_string);
+gboolean g_variant_type_string_scan (const gchar *string,
+                                                                         const gchar *limit,
+                                                                         const gchar **endptr);
+
+
+void g_variant_type_free (GVariantType *type);
+GVariantType * g_variant_type_copy (const GVariantType *type);
+GVariantType * g_variant_type_new (const gchar *type_string);
+
+
+gsize g_variant_type_get_string_length (const GVariantType *type);
+const gchar * g_variant_type_peek_string (const GVariantType *type);
+gchar * g_variant_type_dup_string (const GVariantType *type);
+
+
+gboolean g_variant_type_is_definite (const GVariantType *type);
+gboolean g_variant_type_is_container (const GVariantType *type);
+gboolean g_variant_type_is_basic (const GVariantType *type);
+gboolean g_variant_type_is_maybe (const GVariantType *type);
+gboolean g_variant_type_is_array (const GVariantType *type);
+gboolean g_variant_type_is_tuple (const GVariantType *type);
+gboolean g_variant_type_is_dict_entry (const GVariantType *type);
+gboolean g_variant_type_is_variant (const GVariantType *type);
+
+
+guint g_variant_type_hash (gconstpointer type);
+gboolean g_variant_type_equal (gconstpointer type1,
+                                                                         gconstpointer type2);
+
+
+gboolean g_variant_type_is_subtype_of (const GVariantType *type,
+                                                                         const GVariantType *supertype);
+
+
+const GVariantType * g_variant_type_element (const GVariantType *type);
+const GVariantType * g_variant_type_first (const GVariantType *type);
+const GVariantType * g_variant_type_next (const GVariantType *type);
+gsize g_variant_type_n_items (const GVariantType *type);
+const GVariantType * g_variant_type_key (const GVariantType *type);
+const GVariantType * g_variant_type_value (const GVariantType *type);
+
+
+GVariantType * g_variant_type_new_array (const GVariantType *element);
+GVariantType * g_variant_type_new_maybe (const GVariantType *element);
+GVariantType * g_variant_type_new_tuple (const GVariantType * const *items,
+                                                                         gint length);
+GVariantType * g_variant_type_new_dict_entry (const GVariantType *key,
+                                                                         const GVariantType *value);
+
+
+const GVariantType * g_variant_type_checked_ (const gchar *);
+
+
+# 96 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gvariant.h" 1
+# 30 "/usr/include/glib-2.0/glib/gvariant.h"
+# 1 "/usr/include/glib-2.0/glib/gvarianttype.h" 1
+# 31 "/usr/include/glib-2.0/glib/gvariant.h" 2
+# 1 "/usr/include/glib-2.0/glib/gstring.h" 1
+# 32 "/usr/include/glib-2.0/glib/gvariant.h" 2
+
+
+
+typedef struct _GVariant GVariant;
+
+typedef enum
+{
+  G_VARIANT_CLASS_BOOLEAN = 'b',
+  G_VARIANT_CLASS_BYTE = 'y',
+  G_VARIANT_CLASS_INT16 = 'n',
+  G_VARIANT_CLASS_UINT16 = 'q',
+  G_VARIANT_CLASS_INT32 = 'i',
+  G_VARIANT_CLASS_UINT32 = 'u',
+  G_VARIANT_CLASS_INT64 = 'x',
+  G_VARIANT_CLASS_UINT64 = 't',
+  G_VARIANT_CLASS_HANDLE = 'h',
+  G_VARIANT_CLASS_DOUBLE = 'd',
+  G_VARIANT_CLASS_STRING = 's',
+  G_VARIANT_CLASS_OBJECT_PATH = 'o',
+  G_VARIANT_CLASS_SIGNATURE = 'g',
+  G_VARIANT_CLASS_VARIANT = 'v',
+  G_VARIANT_CLASS_MAYBE = 'm',
+  G_VARIANT_CLASS_ARRAY = 'a',
+  G_VARIANT_CLASS_TUPLE = '(',
+  G_VARIANT_CLASS_DICT_ENTRY = '{'
+} GVariantClass;
+
+void g_variant_unref (GVariant *value);
+GVariant * g_variant_ref (GVariant *value);
+GVariant * g_variant_ref_sink (GVariant *value);
+gboolean g_variant_is_floating (GVariant *value);
+GVariant * g_variant_take_ref (GVariant *value);
+
+const GVariantType * g_variant_get_type (GVariant *value);
+const gchar * g_variant_get_type_string (GVariant *value);
+gboolean g_variant_is_of_type (GVariant *value,
+                                                                         const GVariantType *type);
+gboolean g_variant_is_container (GVariant *value);
+GVariantClass g_variant_classify (GVariant *value);
+GVariant * g_variant_new_boolean (gboolean value);
+GVariant * g_variant_new_byte (guchar value);
+GVariant * g_variant_new_int16 (gint16 value);
+GVariant * g_variant_new_uint16 (guint16 value);
+GVariant * g_variant_new_int32 (gint32 value);
+GVariant * g_variant_new_uint32 (guint32 value);
+GVariant * g_variant_new_int64 (gint64 value);
+GVariant * g_variant_new_uint64 (guint64 value);
+GVariant * g_variant_new_handle (gint32 value);
+GVariant * g_variant_new_double (gdouble value);
+GVariant * g_variant_new_string (const gchar *string);
+GVariant * g_variant_new_object_path (const gchar *object_path);
+gboolean g_variant_is_object_path (const gchar *string);
+GVariant * g_variant_new_signature (const gchar *signature);
+gboolean g_variant_is_signature (const gchar *string);
+GVariant * g_variant_new_variant (GVariant *value);
+GVariant * g_variant_new_strv (const gchar * const *strv,
+                                                                         gssize length);
+
+GVariant * g_variant_new_objv (const gchar * const *strv,
+                                                                         gssize length);
+GVariant * g_variant_new_bytestring (const gchar *string);
+GVariant * g_variant_new_bytestring_array (const gchar * const *strv,
+                                                                         gssize length);
+GVariant * g_variant_new_fixed_array (const GVariantType *element_type,
+                                                                         gconstpointer elements,
+                                                                         gsize n_elements,
+                                                                         gsize element_size);
+gboolean g_variant_get_boolean (GVariant *value);
+guchar g_variant_get_byte (GVariant *value);
+gint16 g_variant_get_int16 (GVariant *value);
+guint16 g_variant_get_uint16 (GVariant *value);
+gint32 g_variant_get_int32 (GVariant *value);
+guint32 g_variant_get_uint32 (GVariant *value);
+gint64 g_variant_get_int64 (GVariant *value);
+guint64 g_variant_get_uint64 (GVariant *value);
+gint32 g_variant_get_handle (GVariant *value);
+gdouble g_variant_get_double (GVariant *value);
+GVariant * g_variant_get_variant (GVariant *value);
+const gchar * g_variant_get_string (GVariant *value,
+                                                                         gsize *length);
+gchar * g_variant_dup_string (GVariant *value,
+                                                                         gsize *length);
+const gchar ** g_variant_get_strv (GVariant *value,
+                                                                         gsize *length);
+gchar ** g_variant_dup_strv (GVariant *value,
+                                                                         gsize *length);
+
+const gchar ** g_variant_get_objv (GVariant *value,
+                                                                         gsize *length);
+gchar ** g_variant_dup_objv (GVariant *value,
+                                                                         gsize *length);
+const gchar * g_variant_get_bytestring (GVariant *value);
+gchar * g_variant_dup_bytestring (GVariant *value,
+                                                                         gsize *length);
+const gchar ** g_variant_get_bytestring_array (GVariant *value,
+                                                                         gsize *length);
+gchar ** g_variant_dup_bytestring_array (GVariant *value,
+                                                                         gsize *length);
+
+GVariant * g_variant_new_maybe (const GVariantType *child_type,
+                                                                         GVariant *child);
+GVariant * g_variant_new_array (const GVariantType *child_type,
+                                                                         GVariant * const *children,
+                                                                         gsize n_children);
+GVariant * g_variant_new_tuple (GVariant * const *children,
+                                                                         gsize n_children);
+GVariant * g_variant_new_dict_entry (GVariant *key,
+                                                                         GVariant *value);
+
+GVariant * g_variant_get_maybe (GVariant *value);
+gsize g_variant_n_children (GVariant *value);
+void g_variant_get_child (GVariant *value,
+                                                                         gsize index_,
+                                                                         const gchar *format_string,
+                                                                         ...);
+GVariant * g_variant_get_child_value (GVariant *value,
+                                                                         gsize index_);
+gboolean g_variant_lookup (GVariant *dictionary,
+                                                                         const gchar *key,
+                                                                         const gchar *format_string,
+                                                                         ...);
+GVariant * g_variant_lookup_value (GVariant *dictionary,
+                                                                         const gchar *key,
+                                                                         const GVariantType *expected_type);
+gconstpointer g_variant_get_fixed_array (GVariant *value,
+                                                                         gsize *n_elements,
+                                                                         gsize element_size);
+
+gsize g_variant_get_size (GVariant *value);
+gconstpointer g_variant_get_data (GVariant *value);
+void g_variant_store (GVariant *value,
+                                                                         gpointer data);
+
+gchar * g_variant_print (GVariant *value,
+                                                                         gboolean type_annotate);
+GString * g_variant_print_string (GVariant *value,
+                                                                         GString *string,
+                                                                         gboolean type_annotate);
+
+guint g_variant_hash (gconstpointer value);
+gboolean g_variant_equal (gconstpointer one,
+                                                                         gconstpointer two);
+
+GVariant * g_variant_get_normal_form (GVariant *value);
+gboolean g_variant_is_normal_form (GVariant *value);
+GVariant * g_variant_byteswap (GVariant *value);
+GVariant * g_variant_new_from_data (const GVariantType *type,
+                                                                         gconstpointer data,
+                                                                         gsize size,
+                                                                         gboolean trusted,
+                                                                         GDestroyNotify notify,
+                                                                         gpointer user_data);
+
+typedef struct _GVariantIter GVariantIter;
+struct _GVariantIter {
+
+  gsize x[16];
+};
+
+GVariantIter * g_variant_iter_new (GVariant *value);
+gsize g_variant_iter_init (GVariantIter *iter,
+                                                                         GVariant *value);
+GVariantIter * g_variant_iter_copy (GVariantIter *iter);
+gsize g_variant_iter_n_children (GVariantIter *iter);
+void g_variant_iter_free (GVariantIter *iter);
+GVariant * g_variant_iter_next_value (GVariantIter *iter);
+gboolean g_variant_iter_next (GVariantIter *iter,
+                                                                         const gchar *format_string,
+                                                                         ...);
+gboolean g_variant_iter_loop (GVariantIter *iter,
+                                                                         const gchar *format_string,
+                                                                         ...);
+
+
+typedef struct _GVariantBuilder GVariantBuilder;
+struct _GVariantBuilder {
+
+  gsize x[16];
+};
+
+typedef enum
+{
+  G_VARIANT_PARSE_ERROR_FAILED,
+  G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED,
+  G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE,
+  G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED,
+  G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END,
+  G_VARIANT_PARSE_ERROR_INVALID_CHARACTER,
+  G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING,
+  G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH,
+  G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE,
+  G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING,
+  G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE,
+  G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE,
+  G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG,
+  G_VARIANT_PARSE_ERROR_TYPE_ERROR,
+  G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN,
+  G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD,
+  G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT,
+  G_VARIANT_PARSE_ERROR_VALUE_EXPECTED
+} GVariantParseError;
+
+
+GQuark g_variant_parser_get_error_quark (void);
+
+GVariantBuilder * g_variant_builder_new (const GVariantType *type);
+void g_variant_builder_unref (GVariantBuilder *builder);
+GVariantBuilder * g_variant_builder_ref (GVariantBuilder *builder);
+void g_variant_builder_init (GVariantBuilder *builder,
+                                                                         const GVariantType *type);
+GVariant * g_variant_builder_end (GVariantBuilder *builder);
+void g_variant_builder_clear (GVariantBuilder *builder);
+void g_variant_builder_open (GVariantBuilder *builder,
+                                                                         const GVariantType *type);
+void g_variant_builder_close (GVariantBuilder *builder);
+void g_variant_builder_add_value (GVariantBuilder *builder,
+                                                                         GVariant *value);
+void g_variant_builder_add (GVariantBuilder *builder,
+                                                                         const gchar *format_string,
+                                                                         ...);
+void g_variant_builder_add_parsed (GVariantBuilder *builder,
+                                                                         const gchar *format,
+                                                                         ...);
+
+GVariant * g_variant_new (const gchar *format_string,
+                                                                         ...);
+void g_variant_get (GVariant *value,
+                                                                         const gchar *format_string,
+                                                                         ...);
+GVariant * g_variant_new_va (const gchar *format_string,
+                                                                         const gchar **endptr,
+                                                                         va_list *app);
+void g_variant_get_va (GVariant *value,
+                                                                         const gchar *format_string,
+                                                                         const gchar **endptr,
+                                                                         va_list *app);
+
+
+GVariant * g_variant_parse (const GVariantType *type,
+                                                                         const gchar *text,
+                                                                         const gchar *limit,
+                                                                         const gchar **endptr,
+                                                                         GError **error);
+GVariant * g_variant_new_parsed (const gchar *format,
+                                                                         ...);
+GVariant * g_variant_new_parsed_va (const gchar *format,
+                                                                         va_list *app);
+
+gint g_variant_compare (gconstpointer one,
+                                                                         gconstpointer two);
+
+# 97 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gversion.h" 1
+# 34 "/usr/include/glib-2.0/glib/gversion.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/gversion.h" 2
+
+
+
+extern const guint glib_major_version;
+extern const guint glib_minor_version;
+extern const guint glib_micro_version;
+extern const guint glib_interface_age;
+extern const guint glib_binary_age;
+
+const gchar * glib_check_version (guint required_major,
+                                  guint required_minor,
+                                  guint required_micro);
+
+
+
+
+
+
+
+
+# 98 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/gversionmacros.h" 1
+# 99 "/usr/include/glib-2.0/glib.h" 2
+
+
+
+
+# 1 "/usr/include/glib-2.0/glib/deprecated/gallocator.h" 1
+# 25 "/usr/include/glib-2.0/glib/deprecated/gallocator.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 26 "/usr/include/glib-2.0/glib/deprecated/gallocator.h" 2
+
+
+
+typedef struct _GAllocator GAllocator;
+typedef struct _GMemChunk GMemChunk;
+# 44 "/usr/include/glib-2.0/glib/deprecated/gallocator.h"
+__attribute__((__deprecated__))
+GMemChunk * g_mem_chunk_new (const gchar *name,
+                                         gint atom_size,
+                                         gsize area_size,
+                                         gint type);
+__attribute__((__deprecated__))
+void g_mem_chunk_destroy (GMemChunk *mem_chunk);
+__attribute__((__deprecated__))
+gpointer g_mem_chunk_alloc (GMemChunk *mem_chunk);
+__attribute__((__deprecated__))
+gpointer g_mem_chunk_alloc0 (GMemChunk *mem_chunk);
+__attribute__((__deprecated__))
+void g_mem_chunk_free (GMemChunk *mem_chunk,
+                                         gpointer mem);
+__attribute__((__deprecated__))
+void g_mem_chunk_clean (GMemChunk *mem_chunk);
+__attribute__((__deprecated__))
+void g_mem_chunk_reset (GMemChunk *mem_chunk);
+__attribute__((__deprecated__))
+void g_mem_chunk_print (GMemChunk *mem_chunk);
+__attribute__((__deprecated__))
+void g_mem_chunk_info (void);
+__attribute__((__deprecated__))
+void g_blow_chunks (void);
+
+
+__attribute__((__deprecated__))
+GAllocator * g_allocator_new (const gchar *name,
+                                         guint n_preallocs);
+__attribute__((__deprecated__))
+void g_allocator_free (GAllocator *allocator);
+__attribute__((__deprecated__))
+void g_list_push_allocator (GAllocator *allocator);
+__attribute__((__deprecated__))
+void g_list_pop_allocator (void);
+__attribute__((__deprecated__))
+void g_slist_push_allocator (GAllocator *allocator);
+__attribute__((__deprecated__))
+void g_slist_pop_allocator (void);
+__attribute__((__deprecated__))
+void g_node_push_allocator (GAllocator *allocator);
+__attribute__((__deprecated__))
+void g_node_pop_allocator (void);
+
+
+# 104 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/deprecated/gcache.h" 1
+# 34 "/usr/include/glib-2.0/glib/deprecated/gcache.h"
+# 1 "/usr/include/glib-2.0/glib/glist.h" 1
+# 35 "/usr/include/glib-2.0/glib/deprecated/gcache.h" 2
+
+
+
+typedef struct _GCache GCache;
+
+typedef gpointer (*GCacheNewFunc) (gpointer key);
+typedef gpointer (*GCacheDupFunc) (gpointer value);
+typedef void (*GCacheDestroyFunc) (gpointer value);
+
+
+
+__attribute__((__deprecated__))
+GCache* g_cache_new (GCacheNewFunc value_new_func,
+                                GCacheDestroyFunc value_destroy_func,
+                                GCacheDupFunc key_dup_func,
+                                GCacheDestroyFunc key_destroy_func,
+                                GHashFunc hash_key_func,
+                                GHashFunc hash_value_func,
+                                GEqualFunc key_equal_func);
+__attribute__((__deprecated__))
+void g_cache_destroy (GCache *cache);
+__attribute__((__deprecated__))
+gpointer g_cache_insert (GCache *cache,
+                                gpointer key);
+__attribute__((__deprecated__))
+void g_cache_remove (GCache *cache,
+                                gconstpointer value);
+__attribute__((__deprecated__))
+void g_cache_key_foreach (GCache *cache,
+                                GHFunc func,
+                                gpointer user_data);
+__attribute__((__deprecated__))
+void g_cache_value_foreach (GCache *cache,
+                                GHFunc func,
+                                gpointer user_data);
+
+
+# 105 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/deprecated/gcompletion.h" 1
+# 34 "/usr/include/glib-2.0/glib/deprecated/gcompletion.h"
+# 1 "/usr/include/glib-2.0/glib/glist.h" 1
+# 35 "/usr/include/glib-2.0/glib/deprecated/gcompletion.h" 2
+
+
+
+typedef struct _GCompletion GCompletion;
+
+typedef gchar* (*GCompletionFunc) (gpointer);
+
+
+
+
+typedef gint (*GCompletionStrncmpFunc) (const gchar *s1,
+                                        const gchar *s2,
+                                        gsize n);
+
+struct _GCompletion
+{
+  GList* items;
+  GCompletionFunc func;
+
+  gchar* prefix;
+  GList* cache;
+  GCompletionStrncmpFunc strncmp_func;
+};
+
+__attribute__((__deprecated__))
+GCompletion* g_completion_new (GCompletionFunc func);
+__attribute__((__deprecated__))
+void g_completion_add_items (GCompletion* cmp,
+                                         GList* items);
+__attribute__((__deprecated__))
+void g_completion_remove_items (GCompletion* cmp,
+                                         GList* items);
+__attribute__((__deprecated__))
+void g_completion_clear_items (GCompletion* cmp);
+__attribute__((__deprecated__))
+GList* g_completion_complete (GCompletion* cmp,
+                                         const gchar* prefix,
+                                         gchar** new_prefix);
+__attribute__((__deprecated__))
+GList* g_completion_complete_utf8 (GCompletion *cmp,
+                                         const gchar* prefix,
+                                         gchar** new_prefix);
+__attribute__((__deprecated__))
+void g_completion_set_compare (GCompletion *cmp,
+                                         GCompletionStrncmpFunc strncmp_func);
+__attribute__((__deprecated__))
+void g_completion_free (GCompletion* cmp);
+
+
+# 106 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/deprecated/gmain.h" 1
+# 34 "/usr/include/glib-2.0/glib/deprecated/gmain.h"
+# 1 "/usr/include/glib-2.0/glib/gmain.h" 1
+# 35 "/usr/include/glib-2.0/glib/deprecated/gmain.h" 2
+
+
+# 136 "/usr/include/glib-2.0/glib/deprecated/gmain.h"
+
+# 107 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/deprecated/grel.h" 1
+# 34 "/usr/include/glib-2.0/glib/deprecated/grel.h"
+# 1 "/usr/include/glib-2.0/glib/gtypes.h" 1
+# 35 "/usr/include/glib-2.0/glib/deprecated/grel.h" 2
+
+
+
+typedef struct _GRelation GRelation;
+typedef struct _GTuples GTuples;
+
+struct _GTuples
+{
+  guint len;
+};
+# 69 "/usr/include/glib-2.0/glib/deprecated/grel.h"
+__attribute__((__deprecated__))
+GRelation* g_relation_new (gint fields);
+__attribute__((__deprecated__))
+void g_relation_destroy (GRelation *relation);
+__attribute__((__deprecated__))
+void g_relation_index (GRelation *relation,
+                               gint field,
+                               GHashFunc hash_func,
+                               GEqualFunc key_equal_func);
+__attribute__((__deprecated__))
+void g_relation_insert (GRelation *relation,
+                               ...);
+__attribute__((__deprecated__))
+gint g_relation_delete (GRelation *relation,
+                               gconstpointer key,
+                               gint field);
+__attribute__((__deprecated__))
+GTuples* g_relation_select (GRelation *relation,
+                               gconstpointer key,
+                               gint field);
+__attribute__((__deprecated__))
+gint g_relation_count (GRelation *relation,
+                               gconstpointer key,
+                               gint field);
+__attribute__((__deprecated__))
+gboolean g_relation_exists (GRelation *relation,
+                               ...);
+__attribute__((__deprecated__))
+void g_relation_print (GRelation *relation);
+__attribute__((__deprecated__))
+void g_tuples_destroy (GTuples *tuples);
+__attribute__((__deprecated__))
+gpointer g_tuples_index (GTuples *tuples,
+                               gint index_,
+                               gint field);
+
+
+# 108 "/usr/include/glib-2.0/glib.h" 2
+# 1 "/usr/include/glib-2.0/glib/deprecated/gthread.h" 1
+# 34 "/usr/include/glib-2.0/glib/deprecated/gthread.h"
+# 1 "/usr/include/glib-2.0/glib/gthread.h" 1
+# 35 "/usr/include/glib-2.0/glib/deprecated/gthread.h" 2
+
+
+
+typedef enum
+{
+  G_THREAD_PRIORITY_LOW,
+  G_THREAD_PRIORITY_NORMAL,
+  G_THREAD_PRIORITY_HIGH,
+  G_THREAD_PRIORITY_URGENT
+} GThreadPriority;
+
+struct _GThread
+{
+
+  GThreadFunc func;
+  gpointer data;
+  gboolean joinable;
+  GThreadPriority priority;
+};
+
+typedef struct _GThreadFunctions GThreadFunctions;
+struct _GThreadFunctions
+{
+  GMutex* (*mutex_new) (void);
+  void (*mutex_lock) (GMutex *mutex);
+  gboolean (*mutex_trylock) (GMutex *mutex);
+  void (*mutex_unlock) (GMutex *mutex);
+  void (*mutex_free) (GMutex *mutex);
+  GCond* (*cond_new) (void);
+  void (*cond_signal) (GCond *cond);
+  void (*cond_broadcast) (GCond *cond);
+  void (*cond_wait) (GCond *cond,
+                                   GMutex *mutex);
+  gboolean (*cond_timed_wait) (GCond *cond,
+                                   GMutex *mutex,
+                                   GTimeVal *end_time);
+  void (*cond_free) (GCond *cond);
+  GPrivate* (*private_new) (GDestroyNotify destructor);
+  gpointer (*private_get) (GPrivate *private_key);
+  void (*private_set) (GPrivate *private_key,
+                                   gpointer data);
+  void (*thread_create) (GThreadFunc func,
+                                   gpointer data,
+                                   gulong stack_size,
+                                   gboolean joinable,
+                                   gboolean bound,
+                                   GThreadPriority priority,
+                                   gpointer thread,
+                                   GError **error);
+  void (*thread_yield) (void);
+  void (*thread_join) (gpointer thread);
+  void (*thread_exit) (void);
+  void (*thread_set_priority)(gpointer thread,
+                                   GThreadPriority priority);
+  void (*thread_self) (gpointer thread);
+  gboolean (*thread_equal) (gpointer thread1,
+                                   gpointer thread2);
+};
+
+extern GThreadFunctions g_thread_functions_for_glib_use;
+extern gboolean g_thread_use_default_impl;
+
+extern guint64 (*g_thread_gettime) (void);
+
+
+GThread *g_thread_create (GThreadFunc func,
+                                gpointer data,
+                                gboolean joinable,
+                                GError **error);
+
+
+GThread *g_thread_create_full (GThreadFunc func,
+                                gpointer data,
+                                gulong stack_size,
+                                gboolean joinable,
+                                gboolean bound,
+                                GThreadPriority priority,
+                                GError **error);
+
+
+void g_thread_set_priority (GThread *thread,
+                                GThreadPriority priority);
+
+
+void g_thread_foreach (GFunc thread_func,
+                                gpointer user_data);
+
+
+# 1 "/usr/include/pthread.h" 1 3 4
+# 25 "/usr/include/pthread.h" 3 4
+# 1 "/usr/include/sched.h" 1 3 4
+# 30 "/usr/include/sched.h" 3 4
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 31 "/usr/include/sched.h" 2 3 4
+# 43 "/usr/include/sched.h" 3 4
+# 1 "/usr/include/bits/sched.h" 1 3 4
+# 74 "/usr/include/bits/sched.h" 3 4
+struct sched_param
+  {
+    int __sched_priority;
+  };
+
+
+
+
+
+extern int clone (int (*__fn) (void *__arg), void *__child_stack,
+    int __flags, void *__arg, ...) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int unshare (int __flags) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sched_getcpu (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int setns (int __fd, int __nstype) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+
+
+
+
+struct __sched_param
+  {
+    int __sched_priority;
+  };
+# 120 "/usr/include/bits/sched.h" 3 4
+typedef unsigned long int __cpu_mask;
+
+
+
+
+
+
+typedef struct
+{
+  __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
+} cpu_set_t;
+# 203 "/usr/include/bits/sched.h" 3 4
+
+
+extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
+  __attribute__ ((__nothrow__ , __leaf__));
+extern cpu_set_t *__sched_cpualloc (size_t __count) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__warn_unused_result__));
+extern void __sched_cpufree (cpu_set_t *__set) __attribute__ ((__nothrow__ , __leaf__));
+
+
+# 44 "/usr/include/sched.h" 2 3 4
+
+
+
+
+
+
+
+extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sched_setscheduler (__pid_t __pid, int __policy,
+          __const struct sched_param *__param) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sched_yield (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sched_get_priority_max (int __algorithm) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sched_get_priority_min (int __algorithm) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __attribute__ ((__nothrow__ , __leaf__));
+# 118 "/usr/include/sched.h" 3 4
+extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
+         __const cpu_set_t *__cpuset) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
+         cpu_set_t *__cpuset) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+# 26 "/usr/include/pthread.h" 2 3 4
+
+
+
+# 1 "/usr/include/bits/setjmp.h" 1 3 4
+# 29 "/usr/include/bits/setjmp.h" 3 4
+typedef int __jmp_buf[6];
+# 30 "/usr/include/pthread.h" 2 3 4
+# 1 "/usr/include/bits/wordsize.h" 1 3 4
+# 31 "/usr/include/pthread.h" 2 3 4
+
+
+
+enum
+{
+  PTHREAD_CREATE_JOINABLE,
+
+  PTHREAD_CREATE_DETACHED
+
+};
+
+
+
+enum
+{
+  PTHREAD_MUTEX_TIMED_NP,
+  PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_ADAPTIVE_NP
+
+  ,
+  PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
+  PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
+  PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
+  PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
+
+
+
+  , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
+
+};
+
+
+
+
+enum
+{
+  PTHREAD_MUTEX_STALLED,
+  PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
+  PTHREAD_MUTEX_ROBUST,
+  PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
+};
+
+
+
+
+
+enum
+{
+  PTHREAD_PRIO_NONE,
+  PTHREAD_PRIO_INHERIT,
+  PTHREAD_PRIO_PROTECT
+};
+# 115 "/usr/include/pthread.h" 3 4
+enum
+{
+  PTHREAD_RWLOCK_PREFER_READER_NP,
+  PTHREAD_RWLOCK_PREFER_WRITER_NP,
+  PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
+  PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
+};
+# 147 "/usr/include/pthread.h" 3 4
+enum
+{
+  PTHREAD_INHERIT_SCHED,
+
+  PTHREAD_EXPLICIT_SCHED
+
+};
+
+
+
+enum
+{
+  PTHREAD_SCOPE_SYSTEM,
+
+  PTHREAD_SCOPE_PROCESS
+
+};
+
+
+
+enum
+{
+  PTHREAD_PROCESS_PRIVATE,
+
+  PTHREAD_PROCESS_SHARED
+
+};
+# 182 "/usr/include/pthread.h" 3 4
+struct _pthread_cleanup_buffer
+{
+  void (*__routine) (void *);
+  void *__arg;
+  int __canceltype;
+  struct _pthread_cleanup_buffer *__prev;
+};
+
+
+enum
+{
+  PTHREAD_CANCEL_ENABLE,
+
+  PTHREAD_CANCEL_DISABLE
+
+};
+enum
+{
+  PTHREAD_CANCEL_DEFERRED,
+
+  PTHREAD_CANCEL_ASYNCHRONOUS
+
+};
+# 220 "/usr/include/pthread.h" 3 4
+
+
+
+
+
+extern int pthread_create (pthread_t *__restrict __newthread,
+      __const pthread_attr_t *__restrict __attr,
+      void *(*__start_routine) (void *),
+      void *__restrict __arg) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+
+
+extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+
+extern int pthread_join (pthread_t __th, void **__thread_return);
+
+
+
+
+extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
+     __const struct timespec *__abstime);
+
+
+
+
+
+
+extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+extern pthread_t pthread_self (void) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
+
+
+extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_destroy (pthread_attr_t *__attr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
+     int *__detachstate)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
+     int __detachstate)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
+          size_t *__guardsize)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
+          size_t __guardsize)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
+           __attr,
+           struct sched_param *__restrict __param)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
+           __const struct sched_param *__restrict
+           __param) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
+     __attr, int *__restrict __policy)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
+      __attr, int *__restrict __inherit)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
+      int __inherit)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
+      int *__restrict __scope)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
+          __attr, void **__restrict __stackaddr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
+
+
+
+
+
+extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
+          void *__stackaddr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
+
+
+extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
+          __attr, size_t *__restrict __stacksize)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
+          size_t __stacksize)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
+      void **__restrict __stackaddr,
+      size_t *__restrict __stacksize)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+
+
+
+extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
+      size_t __stacksize) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
+     size_t __cpusetsize,
+     __const cpu_set_t *__cpuset)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr,
+     size_t __cpusetsize,
+     cpu_set_t *__cpuset)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+
+
+extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+
+
+extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
+      __const struct sched_param *__param)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
+
+
+extern int pthread_getschedparam (pthread_t __target_thread,
+      int *__restrict __policy,
+      struct sched_param *__restrict __param)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2, 3)));
+
+
+extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
+     __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
+          size_t __buflen)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+extern int pthread_setname_np (pthread_t __target_thread, __const char *__name)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+
+
+extern int pthread_getconcurrency (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int pthread_setconcurrency (int __level) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+
+
+extern int pthread_yield (void) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
+       __const cpu_set_t *__cpuset)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
+
+
+extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
+       cpu_set_t *__cpuset)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (3)));
+# 478 "/usr/include/pthread.h" 3 4
+extern int pthread_once (pthread_once_t *__once_control,
+    void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
+# 490 "/usr/include/pthread.h" 3 4
+extern int pthread_setcancelstate (int __state, int *__oldstate);
+
+
+
+extern int pthread_setcanceltype (int __type, int *__oldtype);
+
+
+extern int pthread_cancel (pthread_t __th);
+
+
+
+
+extern void pthread_testcancel (void);
+
+
+
+
+typedef struct
+{
+  struct
+  {
+    __jmp_buf __cancel_jmp_buf;
+    int __mask_was_saved;
+  } __cancel_jmp_buf[1];
+  void *__pad[4];
+} __pthread_unwind_buf_t __attribute__ ((__aligned__));
+# 524 "/usr/include/pthread.h" 3 4
+struct __pthread_cleanup_frame
+{
+  void (*__cancel_routine) (void *);
+  void *__cancel_arg;
+  int __do_it;
+  int __cancel_type;
+};
+# 664 "/usr/include/pthread.h" 3 4
+extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
+     __attribute__ ((__regparm__ (1)));
+# 676 "/usr/include/pthread.h" 3 4
+extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
+  __attribute__ ((__regparm__ (1)));
+# 699 "/usr/include/pthread.h" 3 4
+extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf)
+     __attribute__ ((__regparm__ (1)));
+# 712 "/usr/include/pthread.h" 3 4
+extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf)
+  __attribute__ ((__regparm__ (1)));
+
+
+
+extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
+     __attribute__ ((__regparm__ (1))) __attribute__ ((__noreturn__))
+
+     __attribute__ ((__weak__))
+
+     ;
+
+
+
+struct __jmp_buf_tag;
+extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+
+extern int pthread_mutex_init (pthread_mutex_t *__mutex,
+          __const pthread_mutexattr_t *__mutexattr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
+        __const struct timespec *__restrict
+        __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutex_getprioceiling (__const pthread_mutex_t *
+      __restrict __mutex,
+      int *__restrict __prioceiling)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
+      int __prioceiling,
+      int *__restrict __old_ceiling)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 3)));
+
+
+
+
+extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+# 790 "/usr/include/pthread.h" 3 4
+extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
+      __restrict __attr,
+      int *__restrict __pshared)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
+      int __pshared)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
+          __attr, int *__restrict __kind)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t *
+       __restrict __attr,
+       int *__restrict __protocol)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
+       int __protocol)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t *
+          __restrict __attr,
+          int *__restrict __prioceiling)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
+          int __prioceiling)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_mutexattr_getrobust (__const pthread_mutexattr_t *__attr,
+     int *__robustness)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
+        int *__robustness)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
+     int __robustness)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
+        int __robustness)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+# 872 "/usr/include/pthread.h" 3 4
+extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
+    __const pthread_rwlockattr_t *__restrict
+    __attr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
+  __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
+           __const struct timespec *__restrict
+           __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
+           __const struct timespec *__restrict
+           __abstime) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
+       __restrict __attr,
+       int *__restrict __pshared)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
+       int __pshared)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *
+       __restrict __attr,
+       int *__restrict __pref)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
+       int __pref) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
+         __const pthread_condattr_t *__restrict
+         __cond_attr) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_cond_destroy (pthread_cond_t *__cond)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_cond_signal (pthread_cond_t *__cond)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_cond_broadcast (pthread_cond_t *__cond)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
+         pthread_mutex_t *__restrict __mutex)
+     __attribute__ ((__nonnull__ (1, 2)));
+# 984 "/usr/include/pthread.h" 3 4
+extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
+       pthread_mutex_t *__restrict __mutex,
+       __const struct timespec *__restrict
+       __abstime) __attribute__ ((__nonnull__ (1, 2, 3)));
+
+
+
+
+extern int pthread_condattr_init (pthread_condattr_t *__attr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_condattr_getpshared (__const pthread_condattr_t *
+     __restrict __attr,
+     int *__restrict __pshared)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
+     int __pshared) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_condattr_getclock (__const pthread_condattr_t *
+          __restrict __attr,
+          __clockid_t *__restrict __clock_id)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
+          __clockid_t __clock_id)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+# 1028 "/usr/include/pthread.h" 3 4
+extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_lock (pthread_spinlock_t *__lock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
+     __const pthread_barrierattr_t *__restrict
+     __attr, unsigned int __count)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
+        __restrict __attr,
+        int *__restrict __pshared)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
+        int __pshared)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+# 1095 "/usr/include/pthread.h" 3 4
+extern int pthread_key_create (pthread_key_t *__key,
+          void (*__destr_function) (void *))
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern int pthread_key_delete (pthread_key_t __key) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern void *pthread_getspecific (pthread_key_t __key) __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern int pthread_setspecific (pthread_key_t __key,
+    __const void *__pointer) __attribute__ ((__nothrow__ , __leaf__)) ;
+
+
+
+
+extern int pthread_getcpuclockid (pthread_t __thread_id,
+      __clockid_t *__clock_id)
+     __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2)));
+# 1129 "/usr/include/pthread.h" 3 4
+extern int pthread_atfork (void (*__prepare) (void),
+      void (*__parent) (void),
+      void (*__child) (void)) __attribute__ ((__nothrow__ , __leaf__));
+
+
+
+
+extern __inline int
+__attribute__ ((__nothrow__ , __leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2)
+{
+  return __thread1 == __thread2;
+}
+
+
+
+# 124 "/usr/include/glib-2.0/glib/deprecated/gthread.h" 2
+
+
+
+
+typedef struct
+{
+  GMutex *mutex;
+
+
+  pthread_mutex_t unused;
+
+} GStaticMutex;
+# 144 "/usr/include/glib-2.0/glib/deprecated/gthread.h"
+
+void g_static_mutex_init (GStaticMutex *mutex);
+
+void g_static_mutex_free (GStaticMutex *mutex);
+GMutex *g_static_mutex_get_mutex_impl (GStaticMutex *mutex);
+
+typedef struct _GStaticRecMutex GStaticRecMutex;
+struct _GStaticRecMutex
+{
+
+  GStaticMutex mutex;
+  guint depth;
+
+
+  union {
+
+
+
+    pthread_t owner;
+
+    gdouble dummy;
+  } unused;
+};
+
+
+
+void g_static_rec_mutex_init (GStaticRecMutex *mutex);
+
+
+void g_static_rec_mutex_lock (GStaticRecMutex *mutex);
+
+
+gboolean g_static_rec_mutex_trylock (GStaticRecMutex *mutex);
+
+
+void g_static_rec_mutex_unlock (GStaticRecMutex *mutex);
+
+
+void g_static_rec_mutex_lock_full (GStaticRecMutex *mutex,
+                                         guint depth);
+
+
+guint g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex);
+
+
+void g_static_rec_mutex_free (GStaticRecMutex *mutex);
+
+typedef struct _GStaticRWLock GStaticRWLock;
+struct _GStaticRWLock
+{
+
+  GStaticMutex mutex;
+  GCond *read_cond;
+  GCond *write_cond;
+  guint read_counter;
+  gboolean have_writer;
+  guint want_to_read;
+  guint want_to_write;
+};
+
+
+
+
+void g_static_rw_lock_init (GStaticRWLock *lock);
+
+
+void g_static_rw_lock_reader_lock (GStaticRWLock *lock);
+
+
+gboolean g_static_rw_lock_reader_trylock (GStaticRWLock *lock);
+
+
+void g_static_rw_lock_reader_unlock (GStaticRWLock *lock);
+
+
+void g_static_rw_lock_writer_lock (GStaticRWLock *lock);
+
+
+gboolean g_static_rw_lock_writer_trylock (GStaticRWLock *lock);
+
+
+void g_static_rw_lock_writer_unlock (GStaticRWLock *lock);
+
+
+void g_static_rw_lock_free (GStaticRWLock *lock);
+
+
+GPrivate * g_private_new (GDestroyNotify notify);
+
+typedef struct _GStaticPrivate GStaticPrivate;
+struct _GStaticPrivate
+{
+
+  guint index;
+};
+
+
+
+void g_static_private_init (GStaticPrivate *private_key);
+
+
+gpointer g_static_private_get (GStaticPrivate *private_key);
+
+
+void g_static_private_set (GStaticPrivate *private_key,
+                                          gpointer data,
+                                          GDestroyNotify notify);
+
+
+void g_static_private_free (GStaticPrivate *private_key);
+
+
+gboolean g_once_init_enter_impl (volatile gsize *location);
+
+
+void g_thread_init (gpointer vtable);
+
+void g_thread_init_with_errorcheck_mutexes (gpointer vtable);
+
+
+gboolean g_thread_get_initialized (void);
+
+extern gboolean g_threads_got_initialized;
+
+
+
+
+GMutex * g_mutex_new (void);
+
+void g_mutex_free (GMutex *mutex);
+
+GCond * g_cond_new (void);
+
+void g_cond_free (GCond *cond);
+
+gboolean g_cond_timed_wait (GCond *cond,
+                                         GMutex *mutex,
+                                         GTimeVal *timeval);
+
+
+# 109 "/usr/include/glib-2.0/glib.h" 2
+# 40 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+
+
+
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-os-posix.h" 1
+# 29 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-os-posix.h"
+void os_set_line_buffering(void);
+void os_set_proc_name(const char *s);
+void os_setup_signal_handling(void);
+void os_daemonize(void);
+void os_setup_post(void);
+
+typedef struct timeval qemu_timeval;
+# 46 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-os-posix.h"
+typedef struct timespec qemu_timespec;
+int qemu_utimens(const char *path, const qemu_timespec *times);
+# 47 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 91 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h"
+# 1 "/usr/include/sys/uio.h" 1 3 4
+# 26 "/usr/include/sys/uio.h" 3 4
+
+
+
+# 1 "/usr/include/bits/uio.h" 1 3 4
+# 55 "/usr/include/bits/uio.h" 3 4
+
+
+
+extern ssize_t process_vm_readv (pid_t __pid, __const struct iovec *__lvec,
+     unsigned long int __liovcnt,
+     __const struct iovec *__rvec,
+     unsigned long int __riovcnt,
+     unsigned long int __flags)
+  __attribute__ ((__nothrow__ , __leaf__));
+
+
+extern ssize_t process_vm_writev (pid_t __pid, __const struct iovec *__lvec,
+      unsigned long int __liovcnt,
+      __const struct iovec *__rvec,
+      unsigned long int __riovcnt,
+      unsigned long int __flags)
+  __attribute__ ((__nothrow__ , __leaf__));
+
+
+# 30 "/usr/include/sys/uio.h" 2 3 4
+# 40 "/usr/include/sys/uio.h" 3 4
+extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count)
+  __attribute__ ((__warn_unused_result__));
+# 51 "/usr/include/sys/uio.h" 3 4
+extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count)
+  __attribute__ ((__warn_unused_result__));
+# 82 "/usr/include/sys/uio.h" 3 4
+extern ssize_t preadv (int __fd, __const struct iovec *__iovec, int __count, __off64_t __offset) __asm__ ("" "preadv64")
+
+                __attribute__ ((__warn_unused_result__));
+extern ssize_t pwritev (int __fd, __const struct iovec *__iovec, int __count, __off64_t __offset) __asm__ ("" "pwritev64")
+
+                 __attribute__ ((__warn_unused_result__));
+# 104 "/usr/include/sys/uio.h" 3 4
+extern ssize_t preadv64 (int __fd, __const struct iovec *__iovec, int __count,
+    __off64_t __offset) __attribute__ ((__warn_unused_result__));
+# 116 "/usr/include/sys/uio.h" 3 4
+extern ssize_t pwritev64 (int __fd, __const struct iovec *__iovec, int __count,
+     __off64_t __offset) __attribute__ ((__warn_unused_result__));
+
+
+
+
+# 92 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+
+
+typedef int (*fprintf_function)(FILE *f, const char *fmt, ...)
+    __attribute__((format(gnu_printf, 2, 3)));
+# 115 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h"
+void configure_icount(const char *option);
+extern int use_icount;
+# 126 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 1
+# 127 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 135 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h"
+void qemu_get_timedate(struct tm *tm, int offset);
+int qemu_timedate_diff(struct tm *tm);
+
+
+void pstrcpy(char *buf, int buf_size, const char *str);
+char *pstrcat(char *buf, int buf_size, const char *s);
+int strstart(const char *str, const char *val, const char **ptr);
+int stristart(const char *str, const char *val, const char **ptr);
+int qemu_strnlen(const char *s, int max_len);
+time_t mktimegm(struct tm *tm);
+int qemu_fls(int i);
+int qemu_fdatasync(int fd);
+int fcntl_setfl(int fd, int flag);
+int qemu_parse_fd(const char *param);
+# 162 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h"
+int64_t strtosz(const char *nptr, char **end);
+int64_t strtosz_suffix(const char *nptr, char **end, const char default_suffix);
+int64_t strtosz_suffix_unit(const char *nptr, char **end,
+                            const char default_suffix, int64_t unit);
+
+
+void init_paths(const char *prefix);
+const char *path(const char *pathname);
+# 187 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h"
+void *qemu_oom_check(void *ptr);
+
+int qemu_open(const char *name, int flags, ...);
+ssize_t qemu_write_full(int fd, const void *buf, size_t count)
+    __attribute__((warn_unused_result));
+ssize_t qemu_send_full(int fd, const void *buf, size_t count, int flags)
+    __attribute__((warn_unused_result));
+ssize_t qemu_recv_full(int fd, void *buf, size_t count, int flags)
+    __attribute__((warn_unused_result));
+
+
+int qemu_eventfd(int pipefd[2]);
+int qemu_pipe(int pipefd[2]);
+# 208 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h"
+int qemu_recvv(int sockfd, struct iovec *iov, int len, int iov_offset);
+int qemu_sendv(int sockfd, struct iovec *iov, int len, int iov_offset);
+
+
+
+void __attribute__ ((__noreturn__)) hw_error(const char *fmt, ...) __attribute__((format(gnu_printf, 1, 2)));
+
+struct ParallelIOArg {
+    void *buffer;
+    int count;
+};
+
+typedef int (*DMA_transfer_handler) (void *opaque, int nchan, int pos, int size);
+
+
+
+typedef struct NICInfo NICInfo;
+typedef struct HCIInfo HCIInfo;
+typedef struct AudioState AudioState;
+typedef struct BlockDriverState BlockDriverState;
+typedef struct DriveInfo DriveInfo;
+typedef struct DisplayState DisplayState;
+typedef struct DisplayChangeListener DisplayChangeListener;
+typedef struct DisplaySurface DisplaySurface;
+typedef struct DisplayAllocator DisplayAllocator;
+typedef struct PixelFormat PixelFormat;
+typedef struct TextConsole TextConsole;
+typedef TextConsole QEMUConsole;
+typedef struct CharDriverState CharDriverState;
+typedef struct MACAddr MACAddr;
+typedef struct VLANState VLANState;
+typedef struct VLANClientState VLANClientState;
+typedef struct i2c_bus i2c_bus;
+typedef struct ISABus ISABus;
+typedef struct SMBusDevice SMBusDevice;
+typedef struct PCIHostState PCIHostState;
+typedef struct PCIExpressHost PCIExpressHost;
+typedef struct PCIBus PCIBus;
+typedef struct PCIDevice PCIDevice;
+typedef struct PCIExpressDevice PCIExpressDevice;
+typedef struct PCIBridge PCIBridge;
+typedef struct PCIEAERMsg PCIEAERMsg;
+typedef struct PCIEAERLog PCIEAERLog;
+typedef struct PCIEAERErr PCIEAERErr;
+typedef struct PCIEPort PCIEPort;
+typedef struct PCIESlot PCIESlot;
+typedef struct SerialState SerialState;
+typedef struct IRQState *qemu_irq;
+typedef struct PCMCIACardState PCMCIACardState;
+typedef struct MouseTransformInfo MouseTransformInfo;
+typedef struct uWireSlave uWireSlave;
+typedef struct I2SCodec I2SCodec;
+typedef struct SSIBus SSIBus;
+typedef struct EventNotifier EventNotifier;
+typedef struct VirtIODevice VirtIODevice;
+typedef struct QEMUSGList QEMUSGList;
+typedef struct SHPCDevice SHPCDevice;
+
+typedef uint64_t pcibus_t;
+
+typedef enum LostTickPolicy {
+    LOST_TICK_DISCARD,
+    LOST_TICK_DELAY,
+    LOST_TICK_MERGE,
+    LOST_TICK_SLEW,
+    LOST_TICK_MAX
+} LostTickPolicy;
+
+void tcg_exec_init(unsigned long tb_size);
+_Bool tcg_enabled(void);
+
+void cpu_exec_init_all(void);
+
+
+void cpu_save(QEMUFile *f, void *opaque);
+int cpu_load(QEMUFile *f, void *opaque, int version_id);
+
+
+void qemu_cpu_kick(void *env);
+void qemu_cpu_kick_self(void);
+int qemu_cpu_is_self(void *env);
+_Bool all_cpu_threads_idle(void);
+
+
+struct qemu_work_item {
+    struct qemu_work_item *next;
+    void (*func)(void *data);
+    void *data;
+    int done;
+};
+
+
+
+
+void qemu_init_vcpu(void *env);
+
+
+
+
+
+
+int qemu_co_sendv(int sockfd, struct iovec *iov,
+                  int len, int iov_offset);
+
+
+
+
+
+int qemu_co_recvv(int sockfd, struct iovec *iov,
+                  int len, int iov_offset);
+
+
+
+
+
+int qemu_co_send(int sockfd, void *buf, int len);
+
+
+
+
+
+int qemu_co_recv(int sockfd, void *buf, int len);
+
+
+typedef struct QEMUIOVector {
+    struct iovec *iov;
+    int niov;
+    int nalloc;
+    size_t size;
+} QEMUIOVector;
+
+void qemu_iovec_init(QEMUIOVector *qiov, int alloc_hint);
+void qemu_iovec_init_external(QEMUIOVector *qiov, struct iovec *iov, int niov);
+void qemu_iovec_add(QEMUIOVector *qiov, void *base, size_t len);
+void qemu_iovec_copy(QEMUIOVector *dst, QEMUIOVector *src, uint64_t skip,
+    size_t size);
+void qemu_iovec_concat(QEMUIOVector *dst, QEMUIOVector *src, size_t size);
+void qemu_iovec_destroy(QEMUIOVector *qiov);
+void qemu_iovec_reset(QEMUIOVector *qiov);
+void qemu_iovec_to_buffer(QEMUIOVector *qiov, void *buf);
+void qemu_iovec_from_buffer(QEMUIOVector *qiov, const void *buf, size_t count);
+void qemu_iovec_memset(QEMUIOVector *qiov, int c, size_t count);
+void qemu_iovec_memset_skip(QEMUIOVector *qiov, int c, size_t count,
+                            size_t skip);
+
+_Bool buffer_is_zero(const void *buf, size_t len);
+
+void qemu_progress_init(int enabled, float min_skip);
+void qemu_progress_end(void);
+void qemu_progress_print(float delta, int max);
+
+
+
+char *qemu_find_file(int type, const char *name);
+
+
+void os_setup_early_signal_handling(void);
+char *os_find_datadir(const char *argv0);
+void os_parse_cmd_args(int index, const char *optarg);
+void os_pidfile_error(void);
+
+
+static inline uint8_t to_bcd(uint8_t val)
+{
+    return ((val / 10) << 4) | (val % 10);
+}
+
+static inline uint8_t from_bcd(uint8_t val)
+{
+    return ((val >> 4) * 10) + (val & 0x0f);
+}
+
+
+static inline uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c)
+{
+    union {
+        uint64_t ll;
+        struct {
+
+
+
+            uint32_t low, high;
+
+        } l;
+    } u, res;
+    uint64_t rl, rh;
+
+    u.ll = a;
+    rl = (uint64_t)u.l.low * (uint64_t)b;
+    rh = (uint64_t)u.l.high * (uint64_t)b;
+    rh += (rl >> 32);
+    res.l.high = rh / c;
+    res.l.low = (((rh % c) << 32) + (rl & 0xffffffff)) / c;
+    return res.ll;
+}
+
+
+
+
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/module.h" 1
+# 23 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/module.h"
+typedef enum {
+    MODULE_INIT_BLOCK,
+    MODULE_INIT_MACHINE,
+    MODULE_INIT_QAPI,
+    MODULE_INIT_QOM,
+    MODULE_INIT_MAX
+} module_init_type;
+
+
+
+
+
+
+void register_module_init(void (*fn)(void), module_init_type type);
+
+void module_call_init(module_init_type type);
+# 411 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 2
+# 24 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 2
+# 47 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-defs.h" 1
+# 26 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-defs.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config.h" 1
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config-host.h" 1
+# 2 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config.h" 2
+# 1 "./config-target.h" 1
+# 2 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config.h" 2
+# 27 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-defs.h" 2
+# 1 "/usr/include/setjmp.h" 1 3 4
+# 28 "/usr/include/setjmp.h" 3 4
+
+
+
+# 1 "/usr/include/bits/sigset.h" 1 3 4
+# 32 "/usr/include/setjmp.h" 2 3 4
+
+
+
+struct __jmp_buf_tag
+  {
+
+
+
+
+    __jmp_buf __jmpbuf;
+    int __mask_was_saved;
+    __sigset_t __saved_mask;
+  };
+
+
+
+
+typedef struct __jmp_buf_tag jmp_buf[1];
+
+
+
+extern int setjmp (jmp_buf __env) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __attribute__ ((__nothrow__));
+
+
+
+
+extern int _setjmp (struct __jmp_buf_tag __env[1]) __attribute__ ((__nothrow__));
+# 78 "/usr/include/setjmp.h" 3 4
+
+
+
+
+extern void longjmp (struct __jmp_buf_tag __env[1], int __val)
+     __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+
+extern void _longjmp (struct __jmp_buf_tag __env[1], int __val)
+     __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+
+typedef struct __jmp_buf_tag sigjmp_buf[1];
+# 110 "/usr/include/setjmp.h" 3 4
+extern void siglongjmp (sigjmp_buf __env, int __val)
+     __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+# 1 "/usr/include/bits/setjmp2.h" 1 3 4
+# 26 "/usr/include/bits/setjmp2.h" 3 4
+extern void longjmp (struct __jmp_buf_tag __env[1], int __val) __asm__ ("" "__longjmp_chk") __attribute__ ((__nothrow__))
+
+                        __attribute__ ((__noreturn__));
+extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) __asm__ ("" "__longjmp_chk") __attribute__ ((__nothrow__))
+
+                        __attribute__ ((__noreturn__));
+extern void siglongjmp (struct __jmp_buf_tag __env[1], int __val) __asm__ ("" "__longjmp_chk") __attribute__ ((__nothrow__))
+
+                        __attribute__ ((__noreturn__));
+# 118 "/usr/include/setjmp.h" 2 3 4
+
+
+
+# 28 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-defs.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/osdep.h" 1
+
+
+
+
+# 1 "/usr/lib/gcc/i686-pc-linux-gnu/4.6.3/include/stddef.h" 1 3 4
+# 6 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/osdep.h" 2
+# 82 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/osdep.h"
+int qemu_daemon(int nochdir, int noclose);
+void *qemu_memalign(size_t alignment, size_t size);
+void *qemu_vmalloc(size_t size);
+void qemu_vfree(void *ptr);
+# 120 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/osdep.h"
+int qemu_madvise(void *addr, size_t len, int advice);
+# 130 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/osdep.h"
+int qemu_create_pidfile(const char *filename);
+int qemu_get_thread_id(void);
+# 150 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/osdep.h"
+void qemu_set_cloexec(int fd);
+# 31 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-defs.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-queue.h" 1
+# 81 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-queue.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-barrier.h" 1
+# 82 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-queue.h" 2
+# 32 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-defs.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/targphys.h" 1
+# 15 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/targphys.h"
+typedef uint64_t target_phys_addr_t;
+# 33 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-defs.h" 2
+
+
+
+
+
+
+
+typedef int16_t target_short __attribute__ ((aligned(2)));
+typedef uint16_t target_ushort __attribute__((aligned(2)));
+typedef int32_t target_int __attribute__((aligned(4)));
+typedef uint32_t target_uint __attribute__((aligned(4)));
+typedef int64_t target_llong __attribute__((aligned(8)));
+typedef uint64_t target_ullong __attribute__((aligned(8)));
+
+
+typedef int32_t target_long __attribute__((aligned(4)));
+typedef uint32_t target_ulong __attribute__((aligned(4)));
+# 89 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-defs.h"
+typedef struct CPUTLBEntry {
+
+
+
+
+
+
+    target_ulong addr_read;
+    target_ulong addr_write;
+    target_ulong addr_code;
+
+
+    uintptr_t addend;
+
+    uint8_t dummy[(1 << 4) -
+                  (sizeof(target_ulong) * 3 +
+                   ((-sizeof(target_ulong) * 3) & (sizeof(uintptr_t) - 1)) +
+                   sizeof(uintptr_t))];
+} CPUTLBEntry;
+
+extern int CPUTLBEntry_wrong_size[sizeof(CPUTLBEntry) == (1 << 4) ? 1 : -1];
+# 131 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-defs.h"
+typedef struct icount_decr_u16 {
+    uint16_t low;
+    uint16_t high;
+} icount_decr_u16;
+
+
+struct kvm_run;
+struct KVMState;
+struct qemu_work_item;
+
+typedef struct CPUBreakpoint {
+    target_ulong pc;
+    int flags;
+    struct { struct CPUBreakpoint *tqe_next; struct CPUBreakpoint * *tqe_prev; } entry;
+} CPUBreakpoint;
+
+typedef struct CPUWatchpoint {
+    target_ulong vaddr;
+    target_ulong len_mask;
+    int flags;
+    struct { struct CPUWatchpoint *tqe_next; struct CPUWatchpoint * *tqe_prev; } entry;
+} CPUWatchpoint;
+# 48 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 2
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h" 1
+# 46 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config-host.h" 1
+# 47 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/osdep.h" 1
+# 48 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h" 2
+# 57 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h"
+typedef uint8_t flag;
+typedef uint8_t uint8;
+typedef int8_t int8;
+typedef unsigned int uint32;
+typedef signed int int32;
+typedef uint64_t uint64;
+typedef int64_t int64;
+# 75 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h"
+enum {
+    float_relation_less = -1,
+    float_relation_equal = 0,
+    float_relation_greater = 1,
+    float_relation_unordered = 2
+};
+# 111 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h"
+typedef uint16_t float16;
+typedef uint32_t float32;
+typedef uint64_t float64;
+# 124 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h"
+typedef struct {
+    uint64_t low;
+    uint16_t high;
+} floatx80;
+
+
+typedef struct {
+
+
+
+    uint64_t low, high;
+
+} float128;
+
+
+
+
+
+
+enum {
+    float_tininess_after_rounding = 0,
+    float_tininess_before_rounding = 1
+};
+
+
+
+
+enum {
+    float_round_nearest_even = 0,
+    float_round_down = 1,
+    float_round_up = 2,
+    float_round_to_zero = 3
+};
+
+
+
+
+enum {
+    float_flag_invalid = 1,
+    float_flag_divbyzero = 4,
+    float_flag_overflow = 8,
+    float_flag_underflow = 16,
+    float_flag_inexact = 32,
+    float_flag_input_denormal = 64,
+    float_flag_output_denormal = 128
+};
+
+typedef struct float_status {
+    signed char float_detect_tininess;
+    signed char float_rounding_mode;
+    signed char float_exception_flags;
+    signed char floatx80_rounding_precision;
+
+    flag flush_to_zero;
+
+    flag flush_inputs_to_zero;
+    flag default_nan_mode;
+} float_status;
+
+void set_float_rounding_mode(int val , float_status *status);
+void set_float_exception_flags(int val , float_status *status);
+static __attribute__ (( always_inline )) __inline__ void set_float_detect_tininess(int val , float_status *status)
+{
+    status->float_detect_tininess = val;
+}
+static __attribute__ (( always_inline )) __inline__ void set_flush_to_zero(flag val , float_status *status)
+{
+    status->flush_to_zero = val;
+}
+static __attribute__ (( always_inline )) __inline__ void set_flush_inputs_to_zero(flag val , float_status *status)
+{
+    status->flush_inputs_to_zero = val;
+}
+static __attribute__ (( always_inline )) __inline__ void set_default_nan_mode(flag val , float_status *status)
+{
+    status->default_nan_mode = val;
+}
+static __attribute__ (( always_inline )) __inline__ int get_float_exception_flags(float_status *status)
+{
+    return status->float_exception_flags;
+}
+void set_floatx80_rounding_precision(int val , float_status *status);
+
+
+
+
+
+void float_raise( int8 flags , float_status *status);
+
+
+
+
+
+
+
+enum {
+    float_muladd_negate_c = 1,
+    float_muladd_negate_product = 2,
+    float_muladd_negate_result = 3,
+};
+
+
+
+
+float32 int32_to_float32( int32 , float_status *status );
+float64 int32_to_float64( int32 , float_status *status );
+float32 uint32_to_float32( uint32 , float_status *status );
+float64 uint32_to_float64( uint32 , float_status *status );
+floatx80 int32_to_floatx80( int32 , float_status *status );
+float128 int32_to_float128( int32 , float_status *status );
+float32 int64_to_float32( int64 , float_status *status );
+float32 uint64_to_float32( uint64 , float_status *status );
+float64 int64_to_float64( int64 , float_status *status );
+float64 uint64_to_float64( uint64 , float_status *status );
+floatx80 int64_to_floatx80( int64 , float_status *status );
+float128 int64_to_float128( int64 , float_status *status );
+
+
+
+
+float16 float32_to_float16( float32, flag , float_status *status );
+float32 float16_to_float32( float16, flag , float_status *status );
+
+
+
+
+int float16_is_quiet_nan( float16 );
+int float16_is_signaling_nan( float16 );
+float16 float16_maybe_silence_nan( float16 );
+
+
+
+
+extern const float16 float16_default_nan;
+
+
+
+
+int_fast16_t float32_to_int16_round_to_zero(float32 , float_status *status);
+uint_fast16_t float32_to_uint16_round_to_zero(float32 , float_status *status);
+int32 float32_to_int32( float32 , float_status *status );
+int32 float32_to_int32_round_to_zero( float32 , float_status *status );
+uint32 float32_to_uint32( float32 , float_status *status );
+uint32 float32_to_uint32_round_to_zero( float32 , float_status *status );
+int64 float32_to_int64( float32 , float_status *status );
+int64 float32_to_int64_round_to_zero( float32 , float_status *status );
+float64 float32_to_float64( float32 , float_status *status );
+floatx80 float32_to_floatx80( float32 , float_status *status );
+float128 float32_to_float128( float32 , float_status *status );
+
+
+
+
+float32 float32_round_to_int( float32 , float_status *status );
+float32 float32_add( float32, float32 , float_status *status );
+float32 float32_sub( float32, float32 , float_status *status );
+float32 float32_mul( float32, float32 , float_status *status );
+float32 float32_div( float32, float32 , float_status *status );
+float32 float32_rem( float32, float32 , float_status *status );
+float32 float32_muladd(float32, float32, float32, int , float_status *status);
+float32 float32_sqrt( float32 , float_status *status );
+float32 float32_exp2( float32 , float_status *status );
+float32 float32_log2( float32 , float_status *status );
+int float32_eq( float32, float32 , float_status *status );
+int float32_le( float32, float32 , float_status *status );
+int float32_lt( float32, float32 , float_status *status );
+int float32_unordered( float32, float32 , float_status *status );
+int float32_eq_quiet( float32, float32 , float_status *status );
+int float32_le_quiet( float32, float32 , float_status *status );
+int float32_lt_quiet( float32, float32 , float_status *status );
+int float32_unordered_quiet( float32, float32 , float_status *status );
+int float32_compare( float32, float32 , float_status *status );
+int float32_compare_quiet( float32, float32 , float_status *status );
+float32 float32_min(float32, float32 , float_status *status);
+float32 float32_max(float32, float32 , float_status *status);
+int float32_is_quiet_nan( float32 );
+int float32_is_signaling_nan( float32 );
+float32 float32_maybe_silence_nan( float32 );
+float32 float32_scalbn( float32, int , float_status *status );
+
+static __attribute__ (( always_inline )) __inline__ float32 float32_abs(float32 a)
+{
+
+
+
+    return ((a) & 0x7fffffff);
+}
+
+static __attribute__ (( always_inline )) __inline__ float32 float32_chs(float32 a)
+{
+
+
+
+    return ((a) ^ 0x80000000);
+}
+
+static __attribute__ (( always_inline )) __inline__ int float32_is_infinity(float32 a)
+{
+    return ((a) & 0x7fffffff) == 0x7f800000;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float32_is_neg(float32 a)
+{
+    return (a) >> 31;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float32_is_zero(float32 a)
+{
+    return ((a) & 0x7fffffff) == 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float32_is_any_nan(float32 a)
+{
+    return (((a) & ~(1 << 31)) > 0x7f800000UL);
+}
+
+static __attribute__ (( always_inline )) __inline__ int float32_is_zero_or_denormal(float32 a)
+{
+    return ((a) & 0x7f800000) == 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ float32 float32_set_sign(float32 a, int sign)
+{
+    return (((a) & 0x7fffffff) | (sign << 31));
+}
+# 361 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h"
+extern const float32 float32_default_nan;
+
+
+
+
+int_fast16_t float64_to_int16_round_to_zero(float64 , float_status *status);
+uint_fast16_t float64_to_uint16_round_to_zero(float64 , float_status *status);
+int32 float64_to_int32( float64 , float_status *status );
+int32 float64_to_int32_round_to_zero( float64 , float_status *status );
+uint32 float64_to_uint32( float64 , float_status *status );
+uint32 float64_to_uint32_round_to_zero( float64 , float_status *status );
+int64 float64_to_int64( float64 , float_status *status );
+int64 float64_to_int64_round_to_zero( float64 , float_status *status );
+uint64 float64_to_uint64 (float64 a , float_status *status);
+uint64 float64_to_uint64_round_to_zero (float64 a , float_status *status);
+float32 float64_to_float32( float64 , float_status *status );
+floatx80 float64_to_floatx80( float64 , float_status *status );
+float128 float64_to_float128( float64 , float_status *status );
+
+
+
+
+float64 float64_round_to_int( float64 , float_status *status );
+float64 float64_trunc_to_int( float64 , float_status *status );
+float64 float64_add( float64, float64 , float_status *status );
+float64 float64_sub( float64, float64 , float_status *status );
+float64 float64_mul( float64, float64 , float_status *status );
+float64 float64_div( float64, float64 , float_status *status );
+float64 float64_rem( float64, float64 , float_status *status );
+float64 float64_muladd(float64, float64, float64, int , float_status *status);
+float64 float64_sqrt( float64 , float_status *status );
+float64 float64_log2( float64 , float_status *status );
+int float64_eq( float64, float64 , float_status *status );
+int float64_le( float64, float64 , float_status *status );
+int float64_lt( float64, float64 , float_status *status );
+int float64_unordered( float64, float64 , float_status *status );
+int float64_eq_quiet( float64, float64 , float_status *status );
+int float64_le_quiet( float64, float64 , float_status *status );
+int float64_lt_quiet( float64, float64 , float_status *status );
+int float64_unordered_quiet( float64, float64 , float_status *status );
+int float64_compare( float64, float64 , float_status *status );
+int float64_compare_quiet( float64, float64 , float_status *status );
+float64 float64_min(float64, float64 , float_status *status);
+float64 float64_max(float64, float64 , float_status *status);
+int float64_is_quiet_nan( float64 a );
+int float64_is_signaling_nan( float64 );
+float64 float64_maybe_silence_nan( float64 );
+float64 float64_scalbn( float64, int , float_status *status );
+
+static __attribute__ (( always_inline )) __inline__ float64 float64_abs(float64 a)
+{
+
+
+
+    return ((a) & 0x7fffffffffffffffLL);
+}
+
+static __attribute__ (( always_inline )) __inline__ float64 float64_chs(float64 a)
+{
+
+
+
+    return ((a) ^ 0x8000000000000000LL);
+}
+
+static __attribute__ (( always_inline )) __inline__ int float64_is_infinity(float64 a)
+{
+    return ((a) & 0x7fffffffffffffffLL ) == 0x7ff0000000000000LL;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float64_is_neg(float64 a)
+{
+    return (a) >> 63;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float64_is_zero(float64 a)
+{
+    return ((a) & 0x7fffffffffffffffLL) == 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float64_is_any_nan(float64 a)
+{
+    return (((a) & ~(1ULL << 63)) > 0x7ff0000000000000ULL);
+}
+
+static __attribute__ (( always_inline )) __inline__ int float64_is_zero_or_denormal(float64 a)
+{
+    return ((a) & 0x7ff0000000000000LL) == 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ float64 float64_set_sign(float64 a, int sign)
+{
+    return (((a) & 0x7fffffffffffffffULL) | ((int64_t)sign << 63))
+                                                ;
+}
+# 467 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h"
+extern const float64 float64_default_nan;
+
+
+
+
+int32 floatx80_to_int32( floatx80 , float_status *status );
+int32 floatx80_to_int32_round_to_zero( floatx80 , float_status *status );
+int64 floatx80_to_int64( floatx80 , float_status *status );
+int64 floatx80_to_int64_round_to_zero( floatx80 , float_status *status );
+float32 floatx80_to_float32( floatx80 , float_status *status );
+float64 floatx80_to_float64( floatx80 , float_status *status );
+float128 floatx80_to_float128( floatx80 , float_status *status );
+
+
+
+
+floatx80 floatx80_round_to_int( floatx80 , float_status *status );
+floatx80 floatx80_add( floatx80, floatx80 , float_status *status );
+floatx80 floatx80_sub( floatx80, floatx80 , float_status *status );
+floatx80 floatx80_mul( floatx80, floatx80 , float_status *status );
+floatx80 floatx80_div( floatx80, floatx80 , float_status *status );
+floatx80 floatx80_rem( floatx80, floatx80 , float_status *status );
+floatx80 floatx80_sqrt( floatx80 , float_status *status );
+int floatx80_eq( floatx80, floatx80 , float_status *status );
+int floatx80_le( floatx80, floatx80 , float_status *status );
+int floatx80_lt( floatx80, floatx80 , float_status *status );
+int floatx80_unordered( floatx80, floatx80 , float_status *status );
+int floatx80_eq_quiet( floatx80, floatx80 , float_status *status );
+int floatx80_le_quiet( floatx80, floatx80 , float_status *status );
+int floatx80_lt_quiet( floatx80, floatx80 , float_status *status );
+int floatx80_unordered_quiet( floatx80, floatx80 , float_status *status );
+int floatx80_compare( floatx80, floatx80 , float_status *status );
+int floatx80_compare_quiet( floatx80, floatx80 , float_status *status );
+int floatx80_is_quiet_nan( floatx80 );
+int floatx80_is_signaling_nan( floatx80 );
+floatx80 floatx80_maybe_silence_nan( floatx80 );
+floatx80 floatx80_scalbn( floatx80, int , float_status *status );
+
+static __attribute__ (( always_inline )) __inline__ floatx80 floatx80_abs(floatx80 a)
+{
+    a.high &= 0x7fff;
+    return a;
+}
+
+static __attribute__ (( always_inline )) __inline__ floatx80 floatx80_chs(floatx80 a)
+{
+    a.high ^= 0x8000;
+    return a;
+}
+
+static __attribute__ (( always_inline )) __inline__ int floatx80_is_infinity(floatx80 a)
+{
+    return (a.high & 0x7fff) == 0x7fff && a.low == 0x8000000000000000LL;
+}
+
+static __attribute__ (( always_inline )) __inline__ int floatx80_is_neg(floatx80 a)
+{
+    return a.high >> 15;
+}
+
+static __attribute__ (( always_inline )) __inline__ int floatx80_is_zero(floatx80 a)
+{
+    return (a.high & 0x7fff) == 0 && a.low == 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ int floatx80_is_zero_or_denormal(floatx80 a)
+{
+    return (a.high & 0x7fff) == 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ int floatx80_is_any_nan(floatx80 a)
+{
+    return ((a.high & 0x7fff) == 0x7fff) && (a.low<<1);
+}
+# 552 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/fpu/softfloat.h"
+extern const floatx80 floatx80_default_nan;
+
+
+
+
+int32 float128_to_int32( float128 , float_status *status );
+int32 float128_to_int32_round_to_zero( float128 , float_status *status );
+int64 float128_to_int64( float128 , float_status *status );
+int64 float128_to_int64_round_to_zero( float128 , float_status *status );
+float32 float128_to_float32( float128 , float_status *status );
+float64 float128_to_float64( float128 , float_status *status );
+floatx80 float128_to_floatx80( float128 , float_status *status );
+
+
+
+
+float128 float128_round_to_int( float128 , float_status *status );
+float128 float128_add( float128, float128 , float_status *status );
+float128 float128_sub( float128, float128 , float_status *status );
+float128 float128_mul( float128, float128 , float_status *status );
+float128 float128_div( float128, float128 , float_status *status );
+float128 float128_rem( float128, float128 , float_status *status );
+float128 float128_sqrt( float128 , float_status *status );
+int float128_eq( float128, float128 , float_status *status );
+int float128_le( float128, float128 , float_status *status );
+int float128_lt( float128, float128 , float_status *status );
+int float128_unordered( float128, float128 , float_status *status );
+int float128_eq_quiet( float128, float128 , float_status *status );
+int float128_le_quiet( float128, float128 , float_status *status );
+int float128_lt_quiet( float128, float128 , float_status *status );
+int float128_unordered_quiet( float128, float128 , float_status *status );
+int float128_compare( float128, float128 , float_status *status );
+int float128_compare_quiet( float128, float128 , float_status *status );
+int float128_is_quiet_nan( float128 );
+int float128_is_signaling_nan( float128 );
+float128 float128_maybe_silence_nan( float128 );
+float128 float128_scalbn( float128, int , float_status *status );
+
+static __attribute__ (( always_inline )) __inline__ float128 float128_abs(float128 a)
+{
+    a.high &= 0x7fffffffffffffffLL;
+    return a;
+}
+
+static __attribute__ (( always_inline )) __inline__ float128 float128_chs(float128 a)
+{
+    a.high ^= 0x8000000000000000LL;
+    return a;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float128_is_infinity(float128 a)
+{
+    return (a.high & 0x7fffffffffffffffLL) == 0x7fff000000000000LL && a.low == 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float128_is_neg(float128 a)
+{
+    return a.high >> 63;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float128_is_zero(float128 a)
+{
+    return (a.high & 0x7fffffffffffffffLL) == 0 && a.low == 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float128_is_zero_or_denormal(float128 a)
+{
+    return (a.high & 0x7fff000000000000LL) == 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ int float128_is_any_nan(float128 a)
+{
+    return ((a.high >> 48) & 0x7fff) == 0x7fff &&
+        ((a.low != 0) || ((a.high & 0xffffffffffffLL) != 0));
+}
+
+
+
+
+extern const float128 float128_default_nan;
+# 50 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 2
+# 489 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h"
+enum {
+    CC_OP_DYNAMIC,
+    CC_OP_EFLAGS,
+
+    CC_OP_MULB,
+    CC_OP_MULW,
+    CC_OP_MULL,
+    CC_OP_MULQ,
+
+    CC_OP_ADDB,
+    CC_OP_ADDW,
+    CC_OP_ADDL,
+    CC_OP_ADDQ,
+
+    CC_OP_ADCB,
+    CC_OP_ADCW,
+    CC_OP_ADCL,
+    CC_OP_ADCQ,
+
+    CC_OP_SUBB,
+    CC_OP_SUBW,
+    CC_OP_SUBL,
+    CC_OP_SUBQ,
+
+    CC_OP_SBBB,
+    CC_OP_SBBW,
+    CC_OP_SBBL,
+    CC_OP_SBBQ,
+
+    CC_OP_LOGICB,
+    CC_OP_LOGICW,
+    CC_OP_LOGICL,
+    CC_OP_LOGICQ,
+
+    CC_OP_INCB,
+    CC_OP_INCW,
+    CC_OP_INCL,
+    CC_OP_INCQ,
+
+    CC_OP_DECB,
+    CC_OP_DECW,
+    CC_OP_DECL,
+    CC_OP_DECQ,
+
+    CC_OP_SHLB,
+    CC_OP_SHLW,
+    CC_OP_SHLL,
+    CC_OP_SHLQ,
+
+    CC_OP_SARB,
+    CC_OP_SARW,
+    CC_OP_SARL,
+    CC_OP_SARQ,
+
+    CC_OP_NB,
+};
+
+typedef struct SegmentCache {
+    uint32_t selector;
+    target_ulong base;
+    uint32_t limit;
+    uint32_t flags;
+} SegmentCache;
+
+typedef union {
+    uint8_t _b[16];
+    uint16_t _w[8];
+    uint32_t _l[4];
+    uint64_t _q[2];
+    float32 _s[4];
+    float64 _d[2];
+} XMMReg;
+
+typedef union {
+    uint8_t _b[8];
+    uint16_t _w[4];
+    uint32_t _l[2];
+    float32 _s[2];
+    uint64_t q;
+} MMXReg;
+# 597 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h"
+typedef union {
+    floatx80 d __attribute__((aligned(16)));
+    MMXReg mmx;
+} FPReg;
+
+typedef struct {
+    uint64_t base;
+    uint64_t mask;
+} MTRRVar;
+# 618 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h"
+typedef enum TPRAccess {
+    TPR_ACCESS_READ,
+    TPR_ACCESS_WRITE,
+} TPRAccess;
+
+typedef struct CPUX86State {
+
+    target_ulong regs[8];
+    target_ulong eip;
+    target_ulong eflags;
+
+
+
+
+    target_ulong cc_src;
+    target_ulong cc_dst;
+    uint32_t cc_op;
+    int32_t df;
+    uint32_t hflags;
+
+    uint32_t hflags2;
+
+
+    SegmentCache segs[6];
+    SegmentCache ldt;
+    SegmentCache tr;
+    SegmentCache gdt;
+    SegmentCache idt;
+
+    target_ulong cr[5];
+    int32_t a20_mask;
+
+
+    unsigned int fpstt;
+    uint16_t fpus;
+    uint16_t fpuc;
+    uint8_t fptags[8];
+    FPReg fpregs[8];
+
+    uint16_t fpop;
+    uint64_t fpip;
+    uint64_t fpdp;
+
+
+    float_status fp_status;
+    floatx80 ft0;
+
+    float_status mmx_status;
+    float_status sse_status;
+    uint32_t mxcsr;
+    XMMReg xmm_regs[8];
+    XMMReg xmm_t0;
+    MMXReg mmx_t0;
+    target_ulong cc_tmp;
+
+
+    uint32_t sysenter_cs;
+    target_ulong sysenter_esp;
+    target_ulong sysenter_eip;
+    uint64_t efer;
+    uint64_t star;
+
+    uint64_t vm_hsave;
+    uint64_t vm_vmcb;
+    uint64_t tsc_offset;
+    uint64_t intercept;
+    uint16_t intercept_cr_read;
+    uint16_t intercept_cr_write;
+    uint16_t intercept_dr_read;
+    uint16_t intercept_dr_write;
+    uint32_t intercept_exceptions;
+    uint8_t v_tpr;
+
+
+
+
+
+
+
+    uint64_t system_time_msr;
+    uint64_t wall_clock_msr;
+    uint64_t async_pf_en_msr;
+
+    uint64_t tsc;
+    uint64_t tsc_deadline;
+
+    uint64_t mcg_status;
+    uint64_t msr_ia32_misc_enable;
+
+
+    int error_code;
+    int exception_is_int;
+    target_ulong exception_next_eip;
+    target_ulong dr[8];
+    union {
+        CPUBreakpoint *cpu_breakpoint[4];
+        CPUWatchpoint *cpu_watchpoint[4];
+    };
+    uint32_t smbase;
+    int old_exception;
+
+
+    uint8_t nmi_injected;
+    uint8_t nmi_pending;
+
+    struct TranslationBlock *current_tb; uintptr_t mem_io_pc; target_ulong mem_io_vaddr; uint32_t halted; uint32_t interrupt_request; volatile sig_atomic_t exit_request; CPUTLBEntry tlb_table[2][(1 << 8)]; target_phys_addr_t iotlb[2][(1 << 8)]; target_ulong tlb_flush_addr; target_ulong tlb_flush_mask; struct TranslationBlock *tb_jmp_cache[(1 << 12)]; long temp_buf[128]; int64_t icount_extra; union { uint32_t u32; icount_decr_u16 u16; } icount_decr; uint32_t can_do_io; struct breakpoints_head { struct CPUBreakpoint *tqh_first; struct CPUBreakpoint * *tqh_last; } breakpoints; int singlestep_enabled; struct watchpoints_head { struct CPUWatchpoint *tqh_first; struct CPUWatchpoint * *tqh_last; } watchpoints; CPUWatchpoint *watchpoint_hit; struct GDBRegisterState *gdb_regs; jmp_buf jmp_env; int exception_index; struct CPUX86State *next_cpu; int cpu_index; uint32_t host_tid; int numa_node; int nr_cores; int nr_threads; int running; int thread_id; void *opaque; uint32_t created; uint32_t stop; uint32_t stopped; struct QemuThread *thread; struct QemuCond *halt_cond; int thread_kicked; struct qemu_work_item *queued_work_first, *queued_work_last; const char *cpu_model_str; struct KVMState *kvm_state; struct kvm_run *kvm_run; int kvm_fd; int kvm_vcpu_dirty;
+
+    uint64_t pat;
+
+
+    uint32_t cpuid_level;
+    uint32_t cpuid_vendor1;
+    uint32_t cpuid_vendor2;
+    uint32_t cpuid_vendor3;
+    uint32_t cpuid_version;
+    uint32_t cpuid_features;
+    uint32_t cpuid_ext_features;
+    uint32_t cpuid_xlevel;
+    uint32_t cpuid_model[12];
+    uint32_t cpuid_ext2_features;
+    uint32_t cpuid_ext3_features;
+    uint32_t cpuid_apic_id;
+    int cpuid_vendor_override;
+
+    uint32_t cpuid_xlevel2;
+    uint32_t cpuid_ext4_features;
+
+    uint32_t cpuid_7_0_ebx;
+
+
+    uint64_t mtrr_fixed[11];
+    uint64_t mtrr_deftype;
+    MTRRVar mtrr_var[8];
+
+
+    uint32_t mp_state;
+    int32_t exception_injected;
+    int32_t interrupt_injected;
+    uint8_t soft_interrupt;
+    uint8_t has_error_code;
+    uint32_t sipi_vector;
+    uint32_t cpuid_kvm_features;
+    uint32_t cpuid_svm_features;
+    _Bool tsc_valid;
+    int tsc_khz;
+    void *kvm_xsave_buf;
+
+
+
+    struct DeviceState *apic_state;
+
+    uint64_t mcg_cap;
+    uint64_t mcg_ctl;
+    uint64_t mce_banks[10*4];
+
+    uint64_t tsc_aux;
+
+
+    uint16_t fpus_vmstate;
+    uint16_t fptag_vmstate;
+    uint16_t fpregs_format_vmstate;
+
+    uint64_t xstate_bv;
+    XMMReg ymmh_regs[8];
+
+    uint64_t xcr0;
+
+    TPRAccess tpr_access_type;
+} CPUX86State;
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu-qom.h" 1
+# 23 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu-qom.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/cpu.h" 1
+# 23 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/cpu.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h" 1
+# 20 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-queue.h" 1
+# 21 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h" 2
+
+struct Visitor;
+struct Error;
+
+struct TypeImpl;
+typedef struct TypeImpl *Type;
+
+typedef struct ObjectClass ObjectClass;
+typedef struct Object Object;
+
+typedef struct TypeInfo TypeInfo;
+
+typedef struct InterfaceClass InterfaceClass;
+typedef struct InterfaceInfo InterfaceInfo;
+# 202 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+typedef void (ObjectPropertyAccessor)(Object *obj,
+                                      struct Visitor *v,
+                                      void *opaque,
+                                      const char *name,
+                                      struct Error **errp);
+# 216 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+typedef void (ObjectPropertyRelease)(Object *obj,
+                                     const char *name,
+                                     void *opaque);
+
+typedef struct ObjectProperty
+{
+    gchar *name;
+    gchar *type;
+    ObjectPropertyAccessor *get;
+    ObjectPropertyAccessor *set;
+    ObjectPropertyRelease *release;
+    void *opaque;
+
+    struct { struct ObjectProperty *tqe_next; struct ObjectProperty * *tqe_prev; } node;
+} ObjectProperty;
+
+
+
+
+
+
+
+struct ObjectClass
+{
+
+    Type type;
+};
+# 259 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+struct Object
+{
+
+    ObjectClass *class;
+    GSList *interfaces;
+    struct { struct ObjectProperty *tqh_first; struct ObjectProperty * *tqh_last; } properties;
+    uint32_t ref;
+    Object *parent;
+};
+# 302 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+struct TypeInfo
+{
+    const char *name;
+    const char *parent;
+
+    size_t instance_size;
+    void (*instance_init)(Object *obj);
+    void (*instance_finalize)(Object *obj);
+
+    _Bool abstract;
+    size_t class_size;
+
+    void (*class_init)(ObjectClass *klass, void *data);
+    void (*class_finalize)(ObjectClass *klass, void *data);
+    void *class_data;
+
+    InterfaceInfo *interfaces;
+};
+# 390 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+struct InterfaceClass
+{
+    ObjectClass parent_class;
+};
+# 405 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+struct InterfaceInfo
+{
+    const char *type;
+
+    void (*interface_initfn)(ObjectClass *class, void *data);
+};
+# 424 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Object *object_new(const char *typename);
+# 436 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Object *object_new_with_type(Type type);
+# 445 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_delete(Object *obj);
+# 455 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_initialize_with_type(void *data, Type type);
+# 465 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_initialize(void *obj, const char *typename);
+# 474 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_finalize(void *obj);
+# 486 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Object *object_dynamic_cast(Object *obj, const char *typename);
+# 495 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Object *object_dynamic_cast_assert(Object *obj, const char *typename);
+
+
+
+
+
+
+
+ObjectClass *object_get_class(Object *obj);
+
+
+
+
+
+
+
+const char *object_get_typename(Object *obj);
+# 522 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Type type_register_static(const TypeInfo *info);
+# 535 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Type type_register(const TypeInfo *info);
+# 544 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+ObjectClass *object_class_dynamic_cast_assert(ObjectClass *klass,
+                                              const char *typename);
+
+ObjectClass *object_class_dynamic_cast(ObjectClass *klass,
+                                       const char *typename);
+
+
+
+
+
+
+
+const char *object_class_get_name(ObjectClass *klass);
+
+
+
+
+
+
+
+ObjectClass *object_class_by_name(const char *typename);
+
+void object_class_foreach(void (*fn)(ObjectClass *klass, void *opaque),
+                          const char *implements_type, _Bool include_abstract,
+                          void *opaque);
+# 577 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+GSList *object_class_get_list(const char *implements_type,
+                              _Bool include_abstract);
+# 587 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_ref(Object *obj);
+# 596 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_unref(Object *obj);
+# 618 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_add(Object *obj, const char *name, const char *type,
+                         ObjectPropertyAccessor *get,
+                         ObjectPropertyAccessor *set,
+                         ObjectPropertyRelease *release,
+                         void *opaque, struct Error **errp);
+
+void object_property_del(Object *obj, const char *name, struct Error **errp);
+
+void object_unparent(Object *obj);
+# 638 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_get(Object *obj, struct Visitor *v, const char *name,
+                         struct Error **errp);
+# 649 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_set_str(Object *obj, const char *value,
+                             const char *name, struct Error **errp);
+# 662 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+char *object_property_get_str(Object *obj, const char *name,
+                              struct Error **errp);
+# 673 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_set_link(Object *obj, Object *value,
+                              const char *name, struct Error **errp);
+# 686 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Object *object_property_get_link(Object *obj, const char *name,
+                                 struct Error **errp);
+# 697 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_set_bool(Object *obj, _Bool value,
+                              const char *name, struct Error **errp);
+# 709 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+_Bool object_property_get_bool(Object *obj, const char *name,
+                              struct Error **errp);
+# 720 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_set_int(Object *obj, int64_t value,
+                             const char *name, struct Error **errp);
+# 732 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+int64_t object_property_get_int(Object *obj, const char *name,
+                                struct Error **errp);
+# 746 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_set(Object *obj, struct Visitor *v, const char *name,
+                         struct Error **errp);
+# 758 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_parse(Object *obj, const char *string,
+                           const char *name, struct Error **errp);
+# 770 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+char *object_property_print(Object *obj, const char *name,
+                            struct Error **errp);
+# 781 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+const char *object_property_get_type(Object *obj, const char *name,
+                                     struct Error **errp);
+
+
+
+
+
+
+Object *object_get_root(void);
+
+
+
+
+
+
+
+gchar *object_get_canonical_path(Object *obj);
+# 822 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Object *object_resolve_path(const char *path, _Bool *ambiguous);
+# 842 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Object *object_resolve_path_type(const char *path, const char *typename,
+                                 _Bool *ambiguous);
+# 855 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Object *object_resolve_path_component(Object *parent, gchar *part);
+# 874 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_add_child(Object *obj, const char *name,
+                               Object *child, struct Error **errp);
+# 891 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_add_link(Object *obj, const char *name,
+                              const char *type, Object **child,
+                              struct Error **errp);
+# 907 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+void object_property_add_str(Object *obj, const char *name,
+                             char *(*get)(Object *, struct Error **),
+                             void (*set)(Object *, const char *, struct Error **),
+                             struct Error **errp);
+# 922 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/object.h"
+Object *container_get(Object *root, const char *path);
+# 24 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/cpu.h" 2
+# 38 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/include/qemu/cpu.h"
+typedef struct CPUState CPUState;
+
+
+
+
+
+
+
+typedef struct CPUClass {
+
+    ObjectClass parent_class;
+
+
+    void (*reset)(CPUState *cpu);
+} CPUClass;
+
+
+
+
+
+
+struct CPUState {
+
+    Object parent_obj;
+
+
+
+};
+
+
+
+
+
+
+void cpu_reset(CPUState *cpu);
+# 24 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu-qom.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 1
+# 25 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu-qom.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/error.h" 1
+# 22 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/error.h"
+typedef struct Error Error;
+
+
+
+
+
+
+void error_set(Error **err, const char *fmt, ...) __attribute__((format(gnu_printf, 2, 3)));
+
+
+
+
+
+_Bool error_is_set(Error **err);
+
+
+
+
+Error *error_copy(const Error *err);
+
+
+
+
+const char *error_get_pretty(Error *err);
+
+
+
+
+const char *error_get_field(Error *err, const char *field);
+
+
+
+
+void error_set_field(Error *err, const char *field, const char *value);
+
+
+
+
+
+
+void error_propagate(Error **dst_err, Error *local_err);
+
+
+
+
+void error_free(Error *err);
+
+
+
+
+
+_Bool error_is_type(Error *err, const char *fmt);
+# 26 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu-qom.h" 2
+# 46 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu-qom.h"
+typedef struct X86CPUClass {
+
+    CPUClass parent_class;
+
+
+    void (*parent_reset)(CPUState *cpu);
+} X86CPUClass;
+
+
+
+
+
+
+
+typedef struct X86CPU {
+
+    CPUState parent_obj;
+
+
+    CPUX86State env;
+} X86CPU;
+
+static __attribute__ (( always_inline )) __inline__ X86CPU *x86_env_get_cpu(CPUX86State *env)
+{
+    return ((X86CPU *)object_dynamic_cast_assert(((Object *)((({ const typeof(((X86CPU *) 0)->env) *__mptr = (env); (X86CPU *) ((char *) __mptr - __builtin_offsetof (X86CPU, env));})))), ("i386-cpu")));
+}
+
+
+
+
+void x86_cpu_realize(Object *obj, Error **errp);
+# 789 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 2
+
+CPUX86State *cpu_x86_init(const char *cpu_model);
+int cpu_x86_exec(CPUX86State *s);
+void x86_cpu_list (FILE *f, fprintf_function cpu_fprintf, const char *optarg);
+void x86_cpudef_setup(void);
+int cpu_x86_support_mca_broadcast(CPUX86State *env);
+
+int cpu_get_pic_interrupt(CPUX86State *s);
+
+void cpu_set_ferr(CPUX86State *s);
+
+
+
+static __attribute__ (( always_inline )) __inline__ void cpu_x86_load_seg_cache(CPUX86State *env,
+                                          int seg_reg, unsigned int selector,
+                                          target_ulong base,
+                                          unsigned int limit,
+                                          unsigned int flags)
+{
+    SegmentCache *sc;
+    unsigned int new_hflags;
+
+    sc = &env->segs[seg_reg];
+    sc->selector = selector;
+    sc->base = base;
+    sc->limit = limit;
+    sc->flags = flags;
+
+
+    {
+        if (seg_reg == 1) {
+
+
+
+
+
+
+
+            {
+
+                new_hflags = (env->segs[1].flags & (1 << 22))
+                    >> (22 - 4);
+                env->hflags = (env->hflags & ~((1 << 4) | (1 << 15))) |
+                    new_hflags;
+            }
+        }
+        new_hflags = (env->segs[2].flags & (1 << 22))
+            >> (22 - 5);
+        if (env->hflags & (1 << 15)) {
+
+        } else if (!(env->cr[0] & (1 << 0)) ||
+                   (env->eflags & 0x00020000) ||
+                   !(env->hflags & (1 << 4))) {
+
+
+
+
+
+            new_hflags |= (1 << 6);
+        } else {
+            new_hflags |= ((env->segs[3].base |
+                            env->segs[0].base |
+                            env->segs[2].base) != 0) <<
+                6;
+        }
+        env->hflags = (env->hflags &
+                       ~((1 << 5) | (1 << 6))) | new_hflags;
+    }
+}
+
+static __attribute__ (( always_inline )) __inline__ void cpu_x86_load_seg_cache_sipi(CPUX86State *env,
+                                               int sipi_vector)
+{
+    env->eip = 0;
+    cpu_x86_load_seg_cache(env, 1, sipi_vector << 8,
+                           sipi_vector << 12,
+                           env->segs[1].limit,
+                           env->segs[1].flags);
+    env->halted = 0;
+}
+
+int cpu_x86_get_descr_debug(CPUX86State *env, unsigned int selector,
+                            target_ulong *base, unsigned int *limit,
+                            unsigned int *flags);
+
+
+static __attribute__ (( always_inline )) __inline__ void cpu_x86_set_cpl(CPUX86State *s, int cpl)
+{
+
+    s->hflags = (s->hflags & ~(3 << 0)) | cpl;
+
+
+
+}
+
+
+
+void cpu_get_fp80(uint64_t *pmant, uint16_t *pexp, floatx80 f);
+floatx80 cpu_set_fp80(uint64_t mant, uint16_t upper);
+
+
+
+
+void cpu_x86_load_seg(CPUX86State *s, int seg_reg, int selector);
+void cpu_x86_fsave(CPUX86State *s, target_ulong ptr, int data32);
+void cpu_x86_frstor(CPUX86State *s, target_ulong ptr, int data32);
+
+
+
+
+int cpu_x86_signal_handler(int host_signum, void *pinfo,
+                           void *puc);
+
+
+void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count,
+                   uint32_t *eax, uint32_t *ebx,
+                   uint32_t *ecx, uint32_t *edx);
+int cpu_x86_register(X86CPU *cpu, const char *cpu_model);
+void cpu_clear_apic_feature(CPUX86State *env);
+void host_cpuid(uint32_t function, uint32_t count,
+                uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx);
+
+
+int cpu_x86_handle_mmu_fault(CPUX86State *env, target_ulong addr,
+                             int is_write, int mmu_idx);
+
+void cpu_x86_set_a20(CPUX86State *env, int a20_state);
+
+static __attribute__ (( always_inline )) __inline__ int hw_breakpoint_enabled(unsigned long dr7, int index)
+{
+    return (dr7 >> (index * 2)) & 3;
+}
+
+static __attribute__ (( always_inline )) __inline__ int hw_breakpoint_type(unsigned long dr7, int index)
+{
+    return (dr7 >> (16 + (index * 4))) & 3;
+}
+
+static __attribute__ (( always_inline )) __inline__ int hw_breakpoint_len(unsigned long dr7, int index)
+{
+    int len = ((dr7 >> (18 + (index * 4))) & 3);
+    return (len == 2) ? 8 : len + 1;
+}
+
+void hw_breakpoint_insert(CPUX86State *env, int index);
+void hw_breakpoint_remove(CPUX86State *env, int index);
+int check_hw_breakpoints(CPUX86State *env, int force_dr6_update);
+
+
+void cpu_x86_update_cr0(CPUX86State *env, uint32_t new_cr0);
+void cpu_x86_update_cr3(CPUX86State *env, target_ulong new_cr3);
+void cpu_x86_update_cr4(CPUX86State *env, uint32_t new_cr4);
+
+
+void cpu_smm_update(CPUX86State *env);
+uint64_t cpu_get_tsc(CPUX86State *env);
+struct CPUX86State *pc_new_cpu(const char *cpu_model);
+# 977 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h"
+static __attribute__ (( always_inline )) __inline__ int cpu_mmu_index (CPUX86State *env)
+{
+    return (env->hflags & (3 << 0)) == 3 ? 1 : 0;
+}
+# 1013 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h"
+void optimize_flags_init(void);
+# 1024 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h" 1
+# 22 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-common.h" 1
+# 23 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-tls.h" 1
+# 24 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-common.h" 1
+# 14 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-common.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/bswap.h" 1
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/config-host.h" 1
+# 5 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/bswap.h" 2
+# 16 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/bswap.h"
+# 1 "/usr/include/byteswap.h" 1 3 4
+# 23 "/usr/include/byteswap.h" 3 4
+# 1 "/usr/include/bits/byteswap.h" 1 3 4
+# 24 "/usr/include/byteswap.h" 2 3 4
+# 17 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/bswap.h" 2
+# 53 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/bswap.h"
+static __attribute__ (( always_inline )) __inline__ uint16_t bswap16(uint16_t x)
+{
+    return (__extension__ ({ register unsigned short int __v, __x = (unsigned short int) (x); if (__builtin_constant_p (__x)) __v = ((unsigned short int) ((((__x) >> 8) & 0xff) | (((__x) & 0xff) << 8))); else __asm__ ("rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; }));
+}
+
+static __attribute__ (( always_inline )) __inline__ uint32_t bswap32(uint32_t x)
+{
+    return (__extension__ ({ register unsigned int __v, __x = (x); if (__builtin_constant_p (__x)) __v = ((((__x) & 0xff000000) >> 24) | (((__x) & 0x00ff0000) >> 8) | (((__x) & 0x0000ff00) << 8) | (((__x) & 0x000000ff) << 24)); else __asm__ ("rorw $8, %w0;" "rorl $16, %0;" "rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; }));
+}
+
+static __attribute__ (( always_inline )) __inline__ uint64_t bswap64(uint64_t x)
+{
+    return (__extension__ ({ union { __extension__ unsigned long long int __ll; unsigned long int __l[2]; } __w, __r; if (__builtin_constant_p (x)) __r.__ll = (__extension__ ((((x) & 0xff00000000000000ull) >> 56) | (((x) & 0x00ff000000000000ull) >> 40) | (((x) & 0x0000ff0000000000ull) >> 24) | (((x) & 0x000000ff00000000ull) >> 8) | (((x) & 0x00000000ff000000ull) << 8) | (((x) & 0x0000000000ff0000ull) << 24) | (((x) & 0x000000000000ff00ull) << 40) | (((x) & 0x00000000000000ffull) << 56))); else { __w.__ll = (x); __r.__l[0] = (__extension__ ({ register unsigned int __v, __x = (__w.__l[1]); if (__builtin_constant_p (__x)) __v = ((((__x) & 0xff000000) >> 24) | (((__x) & 0x00ff0000) >> 8) | (((__x) & 0x0000ff00) << 8) | (((__x) & 0x000000ff) << 24)); else __asm__ ("rorw $8, %w0;" "rorl $16, %0;" "rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })); __r.__l[1] = (__extension__ ({ register unsigned int __v, __x = (__w.__l[0]); if (__builtin_constant_p (__x)) __v = ((((__x) & 0xff000000) >> 24) | (((__x) & 0x00ff0000) >> 8) | (((__x) & 0x0000ff00) << 8) | (((__x) & 0x000000ff) << 24)); else __asm__ ("rorw $8, %w0;" "rorl $16, %0;" "rorw $8, %w0" : "=r" (__v) : "0" (__x) : "cc"); __v; })); } __r.__ll; }));
+}
+
+
+
+static __attribute__ (( always_inline )) __inline__ void bswap16s(uint16_t *s)
+{
+    *s = bswap16(*s);
+}
+
+static __attribute__ (( always_inline )) __inline__ void bswap32s(uint32_t *s)
+{
+    *s = bswap32(*s);
+}
+
+static __attribute__ (( always_inline )) __inline__ void bswap64s(uint64_t *s)
+{
+    *s = bswap64(*s);
+}
+# 128 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/bswap.h"
+static __attribute__ (( always_inline )) __inline__ uint16_t be16_to_cpu(uint16_t v){ return bswap16(v);}static __attribute__ (( always_inline )) __inline__ uint16_t cpu_to_be16(uint16_t v){ return bswap16(v);}static __attribute__ (( always_inline )) __inline__ void be16_to_cpus(uint16_t *p){ *p = bswap16(*p);}static __attribute__ (( always_inline )) __inline__ void cpu_to_be16s(uint16_t *p){ *p = bswap16(*p);}static __attribute__ (( always_inline )) __inline__ uint16_t be16_to_cpup(const uint16_t *p){ return be16_to_cpu(*p);}static __attribute__ (( always_inline )) __inline__ void cpu_to_be16w(uint16_t *p, uint16_t v){ *p = cpu_to_be16(v);}
+static __attribute__ (( always_inline )) __inline__ uint32_t be32_to_cpu(uint32_t v){ return bswap32(v);}static __attribute__ (( always_inline )) __inline__ uint32_t cpu_to_be32(uint32_t v){ return bswap32(v);}static __attribute__ (( always_inline )) __inline__ void be32_to_cpus(uint32_t *p){ *p = bswap32(*p);}static __attribute__ (( always_inline )) __inline__ void cpu_to_be32s(uint32_t *p){ *p = bswap32(*p);}static __attribute__ (( always_inline )) __inline__ uint32_t be32_to_cpup(const uint32_t *p){ return be32_to_cpu(*p);}static __attribute__ (( always_inline )) __inline__ void cpu_to_be32w(uint32_t *p, uint32_t v){ *p = cpu_to_be32(v);}
+static __attribute__ (( always_inline )) __inline__ uint64_t be64_to_cpu(uint64_t v){ return bswap64(v);}static __attribute__ (( always_inline )) __inline__ uint64_t cpu_to_be64(uint64_t v){ return bswap64(v);}static __attribute__ (( always_inline )) __inline__ void be64_to_cpus(uint64_t *p){ *p = bswap64(*p);}static __attribute__ (( always_inline )) __inline__ void cpu_to_be64s(uint64_t *p){ *p = bswap64(*p);}static __attribute__ (( always_inline )) __inline__ uint64_t be64_to_cpup(const uint64_t *p){ return be64_to_cpu(*p);}static __attribute__ (( always_inline )) __inline__ void cpu_to_be64w(uint64_t *p, uint64_t v){ *p = cpu_to_be64(v);}
+
+static __attribute__ (( always_inline )) __inline__ uint16_t le16_to_cpu(uint16_t v){ return (v);}static __attribute__ (( always_inline )) __inline__ uint16_t cpu_to_le16(uint16_t v){ return (v);}static __attribute__ (( always_inline )) __inline__ void le16_to_cpus(uint16_t *p){ }static __attribute__ (( always_inline )) __inline__ void cpu_to_le16s(uint16_t *p){ }static __attribute__ (( always_inline )) __inline__ uint16_t le16_to_cpup(const uint16_t *p){ return le16_to_cpu(*p);}static __attribute__ (( always_inline )) __inline__ void cpu_to_le16w(uint16_t *p, uint16_t v){ *p = cpu_to_le16(v);}
+static __attribute__ (( always_inline )) __inline__ uint32_t le32_to_cpu(uint32_t v){ return (v);}static __attribute__ (( always_inline )) __inline__ uint32_t cpu_to_le32(uint32_t v){ return (v);}static __attribute__ (( always_inline )) __inline__ void le32_to_cpus(uint32_t *p){ }static __attribute__ (( always_inline )) __inline__ void cpu_to_le32s(uint32_t *p){ }static __attribute__ (( always_inline )) __inline__ uint32_t le32_to_cpup(const uint32_t *p){ return le32_to_cpu(*p);}static __attribute__ (( always_inline )) __inline__ void cpu_to_le32w(uint32_t *p, uint32_t v){ *p = cpu_to_le32(v);}
+static __attribute__ (( always_inline )) __inline__ uint64_t le64_to_cpu(uint64_t v){ return (v);}static __attribute__ (( always_inline )) __inline__ uint64_t cpu_to_le64(uint64_t v){ return (v);}static __attribute__ (( always_inline )) __inline__ void le64_to_cpus(uint64_t *p){ }static __attribute__ (( always_inline )) __inline__ void cpu_to_le64s(uint64_t *p){ }static __attribute__ (( always_inline )) __inline__ uint64_t le64_to_cpup(const uint64_t *p){ return le64_to_cpu(*p);}static __attribute__ (( always_inline )) __inline__ void cpu_to_le64w(uint64_t *p, uint64_t v){ *p = cpu_to_le64(v);}
+# 236 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/bswap.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t qemu_bswap_len(uint32_t value, int len)
+{
+    return bswap32(value) >> (32 - 8 * len);
+}
+
+typedef union {
+    float32 f;
+    uint32_t l;
+} CPU_FloatU;
+
+typedef union {
+    float64 d;
+
+
+
+
+
+
+    struct {
+        uint32_t lower;
+        uint32_t upper;
+    } l;
+
+    uint64_t ll;
+} CPU_DoubleU;
+
+typedef union {
+     floatx80 d;
+     struct {
+         uint64_t lower;
+         uint16_t upper;
+     } l;
+} CPU_LDoubleU;
+
+typedef union {
+    float128 q;
+# 284 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/bswap.h"
+    struct {
+        uint32_t lowest;
+        uint32_t lower;
+        uint32_t upper;
+        uint32_t upmost;
+    } l;
+    struct {
+        uint64_t lower;
+        uint64_t upper;
+    } ll;
+
+} CPU_QuadU;
+# 328 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/bswap.h"
+static __attribute__ (( always_inline )) __inline__ int ldub_p(const void *ptr)
+{
+    return *(uint8_t *)ptr;
+}
+
+static __attribute__ (( always_inline )) __inline__ int ldsb_p(const void *ptr)
+{
+    return *(int8_t *)ptr;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stb_p(void *ptr, int v)
+{
+    *(uint8_t *)ptr = v;
+}
+# 465 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/bswap.h"
+static __attribute__ (( always_inline )) __inline__ int lduw_le_p(const void *ptr)
+{
+    return *(uint16_t *)ptr;
+}
+
+static __attribute__ (( always_inline )) __inline__ int ldsw_le_p(const void *ptr)
+{
+    return *(int16_t *)ptr;
+}
+
+static __attribute__ (( always_inline )) __inline__ int ldl_le_p(const void *ptr)
+{
+    return *(uint32_t *)ptr;
+}
+
+static __attribute__ (( always_inline )) __inline__ uint64_t ldq_le_p(const void *ptr)
+{
+    return *(uint64_t *)ptr;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stw_le_p(void *ptr, int v)
+{
+    *(uint16_t *)ptr = v;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stl_le_p(void *ptr, int v)
+{
+    *(uint32_t *)ptr = v;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stq_le_p(void *ptr, uint64_t v)
+{
+    *(uint64_t *)ptr = v;
+}
+
+
+
+static __attribute__ (( always_inline )) __inline__ float32 ldfl_le_p(const void *ptr)
+{
+    return *(float32 *)ptr;
+}
+
+static __attribute__ (( always_inline )) __inline__ float64 ldfq_le_p(const void *ptr)
+{
+    return *(float64 *)ptr;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stfl_le_p(void *ptr, float32 v)
+{
+    *(float32 *)ptr = v;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stfq_le_p(void *ptr, float64 v)
+{
+    *(float64 *)ptr = v;
+}
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ int lduw_be_p(const void *ptr)
+{
+
+    int val;
+    asm volatile ("movzwl %1, %0\n"
+                  "xchgb %b0, %h0\n"
+                  : "=q" (val)
+                  : "m" (*(uint16_t *)ptr));
+    return val;
+
+
+
+
+}
+
+static __attribute__ (( always_inline )) __inline__ int ldsw_be_p(const void *ptr)
+{
+
+    int val;
+    asm volatile ("movzwl %1, %0\n"
+                  "xchgb %b0, %h0\n"
+                  : "=q" (val)
+                  : "m" (*(uint16_t *)ptr));
+    return (int16_t)val;
+
+
+
+
+}
+
+static __attribute__ (( always_inline )) __inline__ int ldl_be_p(const void *ptr)
+{
+
+    int val;
+    asm volatile ("movl %1, %0\n"
+                  "bswap %0\n"
+                  : "=r" (val)
+                  : "m" (*(uint32_t *)ptr));
+    return val;
+
+
+
+
+}
+
+static __attribute__ (( always_inline )) __inline__ uint64_t ldq_be_p(const void *ptr)
+{
+    uint32_t a,b;
+    a = ldl_be_p(ptr);
+    b = ldl_be_p((uint8_t *)ptr + 4);
+    return (((uint64_t)a<<32)|b);
+}
+
+static __attribute__ (( always_inline )) __inline__ void stw_be_p(void *ptr, int v)
+{
+
+    asm volatile ("xchgb %b0, %h0\n"
+                  "movw %w0, %1\n"
+                  : "=q" (v)
+                  : "m" (*(uint16_t *)ptr), "0" (v));
+
+
+
+
+
+}
+
+static __attribute__ (( always_inline )) __inline__ void stl_be_p(void *ptr, int v)
+{
+
+    asm volatile ("bswap %0\n"
+                  "movl %0, %1\n"
+                  : "=r" (v)
+                  : "m" (*(uint32_t *)ptr), "0" (v));
+
+
+
+
+
+
+
+}
+
+static __attribute__ (( always_inline )) __inline__ void stq_be_p(void *ptr, uint64_t v)
+{
+    stl_be_p(ptr, v >> 32);
+    stl_be_p((uint8_t *)ptr + 4, v);
+}
+
+
+
+static __attribute__ (( always_inline )) __inline__ float32 ldfl_be_p(const void *ptr)
+{
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    u.i = ldl_be_p(ptr);
+    return u.f;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stfl_be_p(void *ptr, float32 v)
+{
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    u.f = v;
+    stl_be_p(ptr, u.i);
+}
+
+static __attribute__ (( always_inline )) __inline__ float64 ldfq_be_p(const void *ptr)
+{
+    CPU_DoubleU u;
+    u.l.upper = ldl_be_p(ptr);
+    u.l.lower = ldl_be_p((uint8_t *)ptr + 4);
+    return u.d;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stfq_be_p(void *ptr, float64 v)
+{
+    CPU_DoubleU u;
+    u.d = v;
+    stl_be_p(ptr, u.l.upper);
+    stl_be_p((uint8_t *)ptr + 4, u.l.lower);
+}
+# 15 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-common.h" 2
+
+
+
+
+enum device_endian {
+    DEVICE_NATIVE_ENDIAN,
+    DEVICE_BIG_ENDIAN,
+    DEVICE_LITTLE_ENDIAN,
+};
+
+
+
+
+
+
+
+typedef uintptr_t ram_addr_t;
+
+
+
+
+
+
+typedef void CPUWriteMemoryFunc(void *opaque, target_phys_addr_t addr, uint32_t value);
+typedef uint32_t CPUReadMemoryFunc(void *opaque, target_phys_addr_t addr);
+
+void qemu_ram_remap(ram_addr_t addr, ram_addr_t length);
+
+void *qemu_get_ram_ptr(ram_addr_t addr);
+void *qemu_ram_ptr_length(ram_addr_t addr, ram_addr_t *size);
+
+
+void *qemu_safe_ram_ptr(ram_addr_t addr);
+void qemu_put_ram_ptr(void *addr);
+
+int qemu_ram_addr_from_host(void *ptr, ram_addr_t *ram_addr);
+ram_addr_t qemu_ram_addr_from_host_nofail(void *ptr);
+void qemu_ram_set_idstr(ram_addr_t addr, const char *name, DeviceState *dev);
+
+void cpu_physical_memory_rw(target_phys_addr_t addr, uint8_t *buf,
+                            int len, int is_write);
+static __attribute__ (( always_inline )) __inline__ void cpu_physical_memory_read(target_phys_addr_t addr,
+                                            void *buf, int len)
+{
+    cpu_physical_memory_rw(addr, buf, len, 0);
+}
+static __attribute__ (( always_inline )) __inline__ void cpu_physical_memory_write(target_phys_addr_t addr,
+                                             const void *buf, int len)
+{
+    cpu_physical_memory_rw(addr, (void *)buf, len, 1);
+}
+void *cpu_physical_memory_map(target_phys_addr_t addr,
+                              target_phys_addr_t *plen,
+                              int is_write);
+void cpu_physical_memory_unmap(void *buffer, target_phys_addr_t len,
+                               int is_write, target_phys_addr_t access_len);
+void *cpu_register_map_client(void *opaque, void (*callback)(void *opaque));
+void cpu_unregister_map_client(void *cookie);
+
+
+
+
+
+
+void qemu_flush_coalesced_mmio_buffer(void);
+
+uint32_t ldub_phys(target_phys_addr_t addr);
+uint32_t lduw_le_phys(target_phys_addr_t addr);
+uint32_t lduw_be_phys(target_phys_addr_t addr);
+uint32_t ldl_le_phys(target_phys_addr_t addr);
+uint32_t ldl_be_phys(target_phys_addr_t addr);
+uint64_t ldq_le_phys(target_phys_addr_t addr);
+uint64_t ldq_be_phys(target_phys_addr_t addr);
+void stb_phys(target_phys_addr_t addr, uint32_t val);
+void stw_le_phys(target_phys_addr_t addr, uint32_t val);
+void stw_be_phys(target_phys_addr_t addr, uint32_t val);
+void stl_le_phys(target_phys_addr_t addr, uint32_t val);
+void stl_be_phys(target_phys_addr_t addr, uint32_t val);
+void stq_le_phys(target_phys_addr_t addr, uint64_t val);
+void stq_be_phys(target_phys_addr_t addr, uint64_t val);
+
+
+uint32_t lduw_phys(target_phys_addr_t addr);
+uint32_t ldl_phys(target_phys_addr_t addr);
+uint64_t ldq_phys(target_phys_addr_t addr);
+void stl_phys_notdirty(target_phys_addr_t addr, uint32_t val);
+void stq_phys_notdirty(target_phys_addr_t addr, uint64_t val);
+void stw_phys(target_phys_addr_t addr, uint32_t val);
+void stl_phys(target_phys_addr_t addr, uint32_t val);
+void stq_phys(target_phys_addr_t addr, uint64_t val);
+
+
+void cpu_physical_memory_write_rom(target_phys_addr_t addr,
+                                   const uint8_t *buf, int len);
+
+extern struct MemoryRegion io_mem_ram;
+extern struct MemoryRegion io_mem_rom;
+extern struct MemoryRegion io_mem_unassigned;
+extern struct MemoryRegion io_mem_notdirty;
+# 25 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h" 2
+# 77 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h"
+static __attribute__ (( always_inline )) __inline__ uint16_t tswap16(uint16_t s)
+{
+    return s;
+}
+
+static __attribute__ (( always_inline )) __inline__ uint32_t tswap32(uint32_t s)
+{
+    return s;
+}
+
+static __attribute__ (( always_inline )) __inline__ uint64_t tswap64(uint64_t s)
+{
+    return s;
+}
+
+static __attribute__ (( always_inline )) __inline__ void tswap16s(uint16_t *s)
+{
+}
+
+static __attribute__ (( always_inline )) __inline__ void tswap32s(uint32_t *s)
+{
+}
+
+static __attribute__ (( always_inline )) __inline__ void tswap64s(uint64_t *s)
+{
+}
+# 303 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h"
+extern uintptr_t qemu_real_host_page_size;
+extern uintptr_t qemu_host_page_size;
+extern uintptr_t qemu_host_page_mask;
+# 335 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h"
+struct CPUX86State *cpu_copy(struct CPUX86State *env);
+struct CPUX86State *qemu_get_cpu(int cpu);
+
+
+
+void cpu_dump_state(struct CPUX86State *env, FILE *f, fprintf_function cpu_fprintf,
+                    int flags);
+void cpu_dump_statistics(struct CPUX86State *env, FILE *f, fprintf_function cpu_fprintf,
+                         int flags);
+
+void __attribute__ ((__noreturn__)) cpu_abort(struct CPUX86State *env, const char *fmt, ...)
+    __attribute__((format(gnu_printf, 2, 3)));
+extern struct CPUX86State *first_cpu;
+extern __thread __typeof__(struct CPUX86State *) tls__cpu_single_env;
+# 402 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h"
+typedef void (*CPUInterruptHandler)(struct CPUX86State *, int);
+
+extern CPUInterruptHandler cpu_interrupt_handler;
+
+static __attribute__ (( always_inline )) __inline__ void cpu_interrupt(struct CPUX86State *s, int mask)
+{
+    cpu_interrupt_handler(s, mask);
+}
+
+
+
+
+void cpu_reset_interrupt(struct CPUX86State *env, int mask);
+
+void cpu_exit(struct CPUX86State *s);
+
+_Bool qemu_cpu_has_work(struct CPUX86State *env);
+# 429 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h"
+int cpu_breakpoint_insert(struct CPUX86State *env, target_ulong pc, int flags,
+                          CPUBreakpoint **breakpoint);
+int cpu_breakpoint_remove(struct CPUX86State *env, target_ulong pc, int flags);
+void cpu_breakpoint_remove_by_ref(struct CPUX86State *env, CPUBreakpoint *breakpoint);
+void cpu_breakpoint_remove_all(struct CPUX86State *env, int mask);
+int cpu_watchpoint_insert(struct CPUX86State *env, target_ulong addr, target_ulong len,
+                          int flags, CPUWatchpoint **watchpoint);
+int cpu_watchpoint_remove(struct CPUX86State *env, target_ulong addr,
+                          target_ulong len, int flags);
+void cpu_watchpoint_remove_by_ref(struct CPUX86State *env, CPUWatchpoint *watchpoint);
+void cpu_watchpoint_remove_all(struct CPUX86State *env, int mask);
+
+
+
+
+
+void cpu_single_step(struct CPUX86State *env, int enabled);
+void cpu_state_reset(struct CPUX86State *s);
+int cpu_is_stopped(struct CPUX86State *env);
+void run_on_cpu(struct CPUX86State *env, void (*func)(void *data), void *data);
+# 462 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h"
+typedef struct CPULogItem {
+    int mask;
+    const char *name;
+    const char *help;
+} CPULogItem;
+
+extern const CPULogItem cpu_log_items[];
+
+void cpu_set_log(int log_flags);
+void cpu_set_log_filename(const char *filename);
+int cpu_str_to_log_mask(const char *str);
+
+
+
+
+
+
+target_phys_addr_t cpu_get_phys_page_debug(struct CPUX86State *env, target_ulong addr);
+
+
+
+extern int phys_ram_fd;
+extern ram_addr_t ram_size;
+
+
+
+
+typedef struct RAMBlock {
+    struct MemoryRegion *mr;
+    uint8_t *host;
+    ram_addr_t offset;
+    ram_addr_t length;
+    uint32_t flags;
+    char idstr[256];
+    struct { struct RAMBlock *le_next; struct RAMBlock **le_prev; } next;
+
+    int fd;
+
+} RAMBlock;
+
+typedef struct RAMList {
+    uint8_t *phys_dirty;
+    struct { struct RAMBlock *lh_first; } blocks;
+} RAMList;
+extern RAMList ram_list;
+
+extern const char *mem_path;
+extern int mem_prealloc;
+# 521 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/cpu-all.h"
+void dump_exec_info(FILE *f, fprintf_function cpu_fprintf);
+
+
+int cpu_memory_rw_debug(struct CPUX86State *env, target_ulong addr,
+                        uint8_t *buf, int len, int is_write);
+# 1025 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/svm.h" 1
+# 133 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/svm.h"
+struct __attribute__((packed)) vmcb_control_area {
+ uint16_t intercept_cr_read;
+ uint16_t intercept_cr_write;
+ uint16_t intercept_dr_read;
+ uint16_t intercept_dr_write;
+ uint32_t intercept_exceptions;
+ uint64_t intercept;
+ uint8_t reserved_1[44];
+ uint64_t iopm_base_pa;
+ uint64_t msrpm_base_pa;
+ uint64_t tsc_offset;
+ uint32_t asid;
+ uint8_t tlb_ctl;
+ uint8_t reserved_2[3];
+ uint32_t int_ctl;
+ uint32_t int_vector;
+ uint32_t int_state;
+ uint8_t reserved_3[4];
+ uint64_t exit_code;
+ uint64_t exit_info_1;
+ uint64_t exit_info_2;
+ uint32_t exit_int_info;
+ uint32_t exit_int_info_err;
+ uint64_t nested_ctl;
+ uint8_t reserved_4[16];
+ uint32_t event_inj;
+ uint32_t event_inj_err;
+ uint64_t nested_cr3;
+ uint64_t lbr_ctl;
+ uint8_t reserved_5[832];
+};
+
+struct __attribute__((packed)) vmcb_seg {
+ uint16_t selector;
+ uint16_t attrib;
+ uint32_t limit;
+ uint64_t base;
+};
+
+struct __attribute__((packed)) vmcb_save_area {
+ struct vmcb_seg es;
+ struct vmcb_seg cs;
+ struct vmcb_seg ss;
+ struct vmcb_seg ds;
+ struct vmcb_seg fs;
+ struct vmcb_seg gs;
+ struct vmcb_seg gdtr;
+ struct vmcb_seg ldtr;
+ struct vmcb_seg idtr;
+ struct vmcb_seg tr;
+ uint8_t reserved_1[43];
+ uint8_t cpl;
+ uint8_t reserved_2[4];
+ uint64_t efer;
+ uint8_t reserved_3[112];
+ uint64_t cr4;
+ uint64_t cr3;
+ uint64_t cr0;
+ uint64_t dr7;
+ uint64_t dr6;
+ uint64_t rflags;
+ uint64_t rip;
+ uint8_t reserved_4[88];
+ uint64_t rsp;
+ uint8_t reserved_5[24];
+ uint64_t rax;
+ uint64_t star;
+ uint64_t lstar;
+ uint64_t cstar;
+ uint64_t sfmask;
+ uint64_t kernel_gs_base;
+ uint64_t sysenter_cs;
+ uint64_t sysenter_esp;
+ uint64_t sysenter_eip;
+ uint64_t cr2;
+ uint8_t reserved_6[32];
+ uint64_t g_pat;
+ uint64_t dbgctl;
+ uint64_t br_from;
+ uint64_t br_to;
+ uint64_t last_excp_from;
+ uint64_t last_excp_to;
+};
+
+struct __attribute__((packed)) vmcb {
+ struct vmcb_control_area control;
+ struct vmcb_save_area save;
+};
+# 1026 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/hw/apic.h" 1
+
+
+
+
+
+
+void apic_deliver_irq(uint8_t dest, uint8_t dest_mode, uint8_t delivery_mode,
+                      uint8_t vector_num, uint8_t trigger_mode);
+int apic_accept_pic_intr(DeviceState *s);
+void apic_deliver_pic_intr(DeviceState *s, int level);
+void apic_deliver_nmi(DeviceState *d);
+int apic_get_interrupt(DeviceState *s);
+void apic_reset_irq_delivered(void);
+int apic_get_irq_delivered(void);
+void cpu_set_apic_base(DeviceState *s, uint64_t val);
+uint64_t cpu_get_apic_base(DeviceState *s);
+void cpu_set_apic_tpr(DeviceState *s, uint8_t val);
+uint8_t cpu_get_apic_tpr(DeviceState *s);
+void apic_init_reset(DeviceState *s);
+void apic_sipi(DeviceState *s);
+void apic_handle_tpr_access_report(DeviceState *d, target_ulong ip,
+                                   TPRAccess access);
+
+
+int cpu_is_bsp(CPUX86State *env);
+DeviceState *cpu_get_current_apic(void);
+# 1029 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 2
+
+
+static __attribute__ (( always_inline )) __inline__ _Bool cpu_has_work(CPUX86State *env)
+{
+    return ((env->interrupt_request & 0x0002) &&
+            (env->eflags & 0x00000200)) ||
+           (env->interrupt_request & (0x0200 |
+                                      0x0400 |
+                                      0x0800 |
+                                      0x1000));
+}
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h" 1
+# 34 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h"
+typedef ram_addr_t tb_page_addr_t;
+# 43 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h"
+struct TranslationBlock;
+typedef struct TranslationBlock TranslationBlock;
+# 73 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h"
+extern target_ulong gen_opc_pc[640];
+extern uint8_t gen_opc_instr_start[640];
+extern uint16_t gen_opc_icount[640];
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-log.h" 1
+
+
+
+
+extern FILE *logfile;
+extern int loglevel;
+# 78 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h" 2
+
+void gen_intermediate_code(struct CPUX86State *env, struct TranslationBlock *tb);
+void gen_intermediate_code_pc(struct CPUX86State *env, struct TranslationBlock *tb);
+void restore_state_to_opc(struct CPUX86State *env, struct TranslationBlock *tb,
+                          int pc_pos);
+
+void cpu_gen_init(void);
+int cpu_x86_gen_code(struct CPUX86State *env, struct TranslationBlock *tb,
+                 int *gen_code_size_ptr);
+int cpu_restore_state(struct TranslationBlock *tb,
+                      struct CPUX86State *env, uintptr_t searched_pc);
+void __attribute__ ((__noreturn__)) cpu_resume_from_signal(struct CPUX86State *env1, void *puc);
+void __attribute__ ((__noreturn__)) cpu_io_recompile(struct CPUX86State *env, uintptr_t retaddr);
+TranslationBlock *tb_gen_code(struct CPUX86State *env,
+                              target_ulong pc, target_ulong cs_base, int flags,
+                              int cflags);
+void cpu_exec_init(struct CPUX86State *env);
+void __attribute__ ((__noreturn__)) cpu_loop_exit(struct CPUX86State *env1);
+int page_unprotect(target_ulong address, uintptr_t pc, void *puc);
+void tb_invalidate_phys_page_range(tb_page_addr_t start, tb_page_addr_t end,
+                                   int is_cpu_write_access);
+void tb_invalidate_phys_range(tb_page_addr_t start, tb_page_addr_t end,
+                              int is_cpu_write_access);
+
+
+void tlb_flush_page(struct CPUX86State *env, target_ulong addr);
+void tlb_flush(struct CPUX86State *env, int flush_global);
+void tlb_set_page(struct CPUX86State *env, target_ulong vaddr,
+                  target_phys_addr_t paddr, int prot,
+                  int mmu_idx, target_ulong size);
+void tb_invalidate_phys_addr(target_phys_addr_t addr);
+# 141 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h"
+struct TranslationBlock {
+    target_ulong pc;
+    target_ulong cs_base;
+    uint64_t flags;
+    uint16_t size;
+
+    uint16_t cflags;
+
+
+
+    uint8_t *tc_ptr;
+
+    struct TranslationBlock *phys_hash_next;
+
+
+    struct TranslationBlock *page_next[2];
+    tb_page_addr_t page_addr[2];
+
+
+
+    uint16_t tb_next_offset[2];
+
+    uint16_t tb_jmp_offset[2];
+
+
+
+
+
+
+
+    struct TranslationBlock *jmp_next[2];
+    struct TranslationBlock *jmp_first;
+    uint32_t icount;
+};
+
+static __attribute__ (( always_inline )) __inline__ unsigned int tb_jmp_cache_hash_page(target_ulong pc)
+{
+    target_ulong tmp;
+    tmp = pc ^ (pc >> (12 - (12 / 2)));
+    return (tmp >> (12 - (12 / 2))) & ((1 << 12) - (1 << (12 / 2)));
+}
+
+static __attribute__ (( always_inline )) __inline__ unsigned int tb_jmp_cache_hash_func(target_ulong pc)
+{
+    target_ulong tmp;
+    tmp = pc ^ (pc >> (12 - (12 / 2)));
+    return (((tmp >> (12 - (12 / 2))) & ((1 << 12) - (1 << (12 / 2))))
+     | (tmp & ((1 << (12 / 2)) - 1)));
+}
+
+static __attribute__ (( always_inline )) __inline__ unsigned int tb_phys_hash_func(tb_page_addr_t pc)
+{
+    return (pc >> 2) & ((1 << 15) - 1);
+}
+
+void tb_free(TranslationBlock *tb);
+void tb_flush(struct CPUX86State *env);
+void tb_link_page(TranslationBlock *tb,
+                  tb_page_addr_t phys_pc, tb_page_addr_t phys_page2);
+void tb_phys_invalidate(TranslationBlock *tb, tb_page_addr_t page_addr);
+
+extern TranslationBlock *tb_phys_hash[(1 << 15)];
+# 217 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h"
+static __attribute__ (( always_inline )) __inline__ void tb_set_jmp_target1(uintptr_t jmp_addr, uintptr_t addr)
+{
+
+    *(uint32_t *)jmp_addr = addr - (jmp_addr + 4);
+
+}
+# 251 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h"
+static __attribute__ (( always_inline )) __inline__ void tb_set_jmp_target(TranslationBlock *tb,
+                                     int n, uintptr_t addr)
+{
+    uint16_t offset = tb->tb_jmp_offset[n];
+    tb_set_jmp_target1((uintptr_t)(tb->tc_ptr + offset), addr);
+}
+# 269 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h"
+static __attribute__ (( always_inline )) __inline__ void tb_add_jump(TranslationBlock *tb, int n,
+                               TranslationBlock *tb_next)
+{
+
+    if (!tb->jmp_next[n]) {
+
+        tb_set_jmp_target(tb, n, (uintptr_t)tb_next->tc_ptr);
+
+
+        tb->jmp_next[n] = tb_next->jmp_first;
+        tb_next->jmp_first = (TranslationBlock *)((uintptr_t)(tb) | (n));
+    }
+}
+
+TranslationBlock *tb_find_pc(uintptr_t pc_ptr);
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-lock.h" 1
+# 38 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-lock.h"
+typedef int spinlock_t;
+
+
+static __attribute__ (( always_inline )) __inline__ void spin_lock(spinlock_t *lock)
+{
+}
+
+static __attribute__ (( always_inline )) __inline__ void spin_unlock(spinlock_t *lock)
+{
+}
+# 286 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h" 2
+
+extern spinlock_t tb_lock;
+
+extern int tb_invalidated_flag;
+# 313 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h"
+struct MemoryRegion *iotlb_to_region(target_phys_addr_t index);
+uint64_t io_mem_read(struct MemoryRegion *mr, target_phys_addr_t addr,
+                     unsigned size);
+void io_mem_write(struct MemoryRegion *mr, target_phys_addr_t addr,
+                  uint64_t value, unsigned size);
+
+void tlb_fill(struct CPUX86State *env1, target_ulong addr, int is_write, int mmu_idx,
+              uintptr_t retaddr);
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_defs.h" 1
+# 13 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_defs.h"
+uint8_t __ldb_mmu(target_ulong addr, int mmu_idx);
+void __stb_mmu(target_ulong addr, uint8_t val, int mmu_idx);
+uint16_t __ldw_mmu(target_ulong addr, int mmu_idx);
+void __stw_mmu(target_ulong addr, uint16_t val, int mmu_idx);
+uint32_t __ldl_mmu(target_ulong addr, int mmu_idx);
+void __stl_mmu(target_ulong addr, uint32_t val, int mmu_idx);
+uint64_t __ldq_mmu(target_ulong addr, int mmu_idx);
+void __stq_mmu(target_ulong addr, uint64_t val, int mmu_idx);
+
+uint8_t __ldb_cmmu(target_ulong addr, int mmu_idx);
+void __stb_cmmu(target_ulong addr, uint8_t val, int mmu_idx);
+uint16_t __ldw_cmmu(target_ulong addr, int mmu_idx);
+void __stw_cmmu(target_ulong addr, uint16_t val, int mmu_idx);
+uint32_t __ldl_cmmu(target_ulong addr, int mmu_idx);
+void __stl_cmmu(target_ulong addr, uint32_t val, int mmu_idx);
+uint64_t __ldq_cmmu(target_ulong addr, int mmu_idx);
+void __stq_cmmu(target_ulong addr, uint64_t val, int mmu_idx);
+# 323 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h" 2
+# 331 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+ldub_code(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(tls__cpu_single_env));
+    if (__builtin_expect(!!(tls__cpu_single_env->tlb_table[mmu_idx][page_index].addr_code != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        res = __ldb_cmmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + tls__cpu_single_env->tlb_table[mmu_idx][page_index].addend;
+        res = ldub_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int
+ldsb_code(
+                                                     target_ulong ptr)
+{
+    int res, page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(tls__cpu_single_env));
+    if (__builtin_expect(!!(tls__cpu_single_env->tlb_table[mmu_idx][page_index].addr_code != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        res = (int8_t)
+ __ldb_cmmu( addr, mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + tls__cpu_single_env->tlb_table[mmu_idx][page_index].addend;
+        res = ldsb_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+# 332 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+lduw_code(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(tls__cpu_single_env));
+    if (__builtin_expect(!!(tls__cpu_single_env->tlb_table[mmu_idx][page_index].addr_code != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        res = __ldw_cmmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + tls__cpu_single_env->tlb_table[mmu_idx][page_index].addend;
+        res = lduw_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int
+ldsw_code(
+                                                     target_ulong ptr)
+{
+    int res, page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(tls__cpu_single_env));
+    if (__builtin_expect(!!(tls__cpu_single_env->tlb_table[mmu_idx][page_index].addr_code != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        res = (int16_t)
+ __ldw_cmmu( addr, mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + tls__cpu_single_env->tlb_table[mmu_idx][page_index].addend;
+        res = ldsw_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+# 335 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+ldl_code(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(tls__cpu_single_env));
+    if (__builtin_expect(!!(tls__cpu_single_env->tlb_table[mmu_idx][page_index].addr_code != (addr & (~((1 << 12) - 1) | (4 - 1)))), 0)
+                                                               ) {
+        res = __ldl_cmmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + tls__cpu_single_env->tlb_table[mmu_idx][page_index].addend;
+        res = ldl_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+# 338 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint64_t
+ldq_code(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint64_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(tls__cpu_single_env));
+    if (__builtin_expect(!!(tls__cpu_single_env->tlb_table[mmu_idx][page_index].addr_code != (addr & (~((1 << 12) - 1) | (8 - 1)))), 0)
+                                                               ) {
+        res = __ldq_cmmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + tls__cpu_single_env->tlb_table[mmu_idx][page_index].addend;
+        res = ldq_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+# 341 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h" 2
+# 355 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/exec-all.h"
+tb_page_addr_t get_page_addr_code(struct CPUX86State *env1, target_ulong addr);
+
+
+typedef void (CPUDebugExcpHandler)(struct CPUX86State *env);
+
+CPUDebugExcpHandler *cpu_set_debug_excp_handler(CPUDebugExcpHandler *handler);
+
+
+extern int singlestep;
+
+
+extern volatile sig_atomic_t exit_request;
+
+
+
+static __attribute__ (( always_inline )) __inline__ int can_do_io(struct CPUX86State *env)
+{
+    if (!use_icount) {
+        return 1;
+    }
+
+    if (!env->current_tb) {
+        return 1;
+    }
+    return env->can_do_io != 0;
+}
+# 1042 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/cpu.h" 2
+
+static __attribute__ (( always_inline )) __inline__ void cpu_pc_from_tb(CPUX86State *env, TranslationBlock *tb)
+{
+    env->eip = tb->pc - tb->cs_base;
+}
+
+static __attribute__ (( always_inline )) __inline__ void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc,
+                                        target_ulong *cs_base, int *flags)
+{
+    *cs_base = env->segs[1].base;
+    *pc = *cs_base + env->eip;
+    *flags = env->hflags |
+        (env->eflags & (0x00003000 | 0x00000100 | 0x00010000 | 0x00020000));
+}
+
+void do_cpu_init(CPUX86State *env);
+void do_cpu_sipi(CPUX86State *env);
+
+
+
+
+void cpu_x86_inject_mce(Monitor *mon, CPUX86State *cenv, int bank,
+                        uint64_t status, uint64_t mcg_status, uint64_t addr,
+                        uint64_t misc, int flags);
+
+
+void do_interrupt(CPUX86State *env);
+void do_interrupt_x86_hardirq(CPUX86State *env, int intno, int is_hw);
+void __attribute__ ((__noreturn__)) raise_exception_env(int exception_index, CPUX86State *nenv);
+void __attribute__ ((__noreturn__)) raise_exception_err_env(CPUX86State *nenv, int exception_index,
+                                           int error_code);
+
+void do_smm_enter(CPUX86State *env1);
+
+void svm_check_intercept(CPUX86State *env1, uint32_t type);
+
+uint32_t cpu_cc_compute_all(CPUX86State *env1, int op);
+
+void cpu_report_tpr_access(CPUX86State *env, TPRAccess access);
+# 22 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/dyngen-exec.h" 1
+# 64 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/dyngen-exec.h"
+register struct CPUX86State *env asm("ebp");
+# 23 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/host-utils.h" 1
+# 46 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/host-utils.h"
+void muls64(uint64_t *phigh, uint64_t *plow, int64_t a, int64_t b);
+void mulu64(uint64_t *phigh, uint64_t *plow, uint64_t a, uint64_t b);
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ int clz32(uint32_t val)
+{
+
+    if (val)
+        return __builtin_clz(val);
+    else
+        return 32;
+# 87 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/host-utils.h"
+}
+
+static __attribute__ (( always_inline )) __inline__ int clo32(uint32_t val)
+{
+    return clz32(~val);
+}
+
+static __attribute__ (( always_inline )) __inline__ int clz64(uint64_t val)
+{
+
+    if (val)
+        return __builtin_clzll(val);
+    else
+        return 64;
+# 112 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/host-utils.h"
+}
+
+static __attribute__ (( always_inline )) __inline__ int clo64(uint64_t val)
+{
+    return clz64(~val);
+}
+
+static __attribute__ (( always_inline )) __inline__ int ctz32(uint32_t val)
+{
+
+    if (val)
+        return __builtin_ctz(val);
+    else
+        return 32;
+# 156 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/host-utils.h"
+}
+
+static __attribute__ (( always_inline )) __inline__ int cto32(uint32_t val)
+{
+    return ctz32(~val);
+}
+
+static __attribute__ (( always_inline )) __inline__ int ctz64(uint64_t val)
+{
+
+    if (val)
+        return __builtin_ctzll(val);
+    else
+        return 64;
+# 181 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/host-utils.h"
+}
+
+static __attribute__ (( always_inline )) __inline__ int cto64(uint64_t val)
+{
+    return ctz64(~val);
+}
+
+static __attribute__ (( always_inline )) __inline__ int ctpop8(uint8_t val)
+{
+    val = (val & 0x55) + ((val >> 1) & 0x55);
+    val = (val & 0x33) + ((val >> 2) & 0x33);
+    val = (val & 0x0f) + ((val >> 4) & 0x0f);
+
+    return val;
+}
+
+static __attribute__ (( always_inline )) __inline__ int ctpop16(uint16_t val)
+{
+    val = (val & 0x5555) + ((val >> 1) & 0x5555);
+    val = (val & 0x3333) + ((val >> 2) & 0x3333);
+    val = (val & 0x0f0f) + ((val >> 4) & 0x0f0f);
+    val = (val & 0x00ff) + ((val >> 8) & 0x00ff);
+
+    return val;
+}
+
+static __attribute__ (( always_inline )) __inline__ int ctpop32(uint32_t val)
+{
+
+    return __builtin_popcount(val);
+# 220 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/host-utils.h"
+}
+
+static __attribute__ (( always_inline )) __inline__ int ctpop64(uint64_t val)
+{
+
+    return __builtin_popcountll(val);
+# 236 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/host-utils.h"
+}
+# 24 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/ioport.h" 1
+# 28 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/ioport.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/iorange.h" 1
+
+
+
+
+
+typedef struct IORange IORange;
+typedef struct IORangeOps IORangeOps;
+
+struct IORangeOps {
+    void (*read)(IORange *iorange, uint64_t offset, unsigned width,
+                 uint64_t *data);
+    void (*write)(IORange *iorange, uint64_t offset, unsigned width,
+                  uint64_t data);
+    void (*destructor)(IORange *iorange);
+};
+
+struct IORange {
+    const IORangeOps *ops;
+    uint64_t base;
+    uint64_t len;
+};
+
+static __attribute__ (( always_inline )) __inline__ void iorange_init(IORange *iorange, const IORangeOps *ops,
+                                uint64_t base, uint64_t len)
+{
+    iorange->ops = ops;
+    iorange->base = base;
+    iorange->len = len;
+}
+# 29 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/ioport.h" 2
+
+typedef uint32_t pio_addr_t;
+
+
+
+
+
+
+typedef void (IOPortWriteFunc)(void *opaque, uint32_t address, uint32_t data);
+typedef uint32_t (IOPortReadFunc)(void *opaque, uint32_t address);
+typedef void (IOPortDestructor)(void *opaque);
+
+void ioport_register(IORange *iorange);
+int register_ioport_read(pio_addr_t start, int length, int size,
+                         IOPortReadFunc *func, void *opaque);
+int register_ioport_write(pio_addr_t start, int length, int size,
+                          IOPortWriteFunc *func, void *opaque);
+void isa_unassign_ioport(pio_addr_t start, int length);
+_Bool isa_is_ioport_assigned(pio_addr_t start);
+
+void cpu_outb(pio_addr_t addr, uint8_t val);
+void cpu_outw(pio_addr_t addr, uint16_t val);
+void cpu_outl(pio_addr_t addr, uint32_t val);
+uint8_t cpu_inb(pio_addr_t addr);
+uint16_t cpu_inw(pio_addr_t addr);
+uint32_t cpu_inl(pio_addr_t addr);
+
+struct MemoryRegion;
+struct MemoryRegionPortio;
+
+typedef struct PortioList {
+    const struct MemoryRegionPortio *ports;
+    struct MemoryRegion *address_space;
+    unsigned nr;
+    struct MemoryRegion **regions;
+    struct MemoryRegion **aliases;
+    void *opaque;
+    const char *name;
+} PortioList;
+
+void portio_list_init(PortioList *piolist,
+                      const struct MemoryRegionPortio *callbacks,
+                      void *opaque, const char *name);
+void portio_list_destroy(PortioList *piolist);
+void portio_list_add(PortioList *piolist,
+                     struct MemoryRegion *address_space,
+                     uint32_t addr);
+void portio_list_del(PortioList *piolist);
+# 25 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-log.h" 1
+# 26 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper.h" 1
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/def-helper.h" 1
+# 2 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper.h" 2
+
+uint32_t helper_cc_compute_all (int);
+uint32_t helper_cc_compute_c (int);
+
+void helper_lock (void);
+void helper_unlock (void);
+void helper_write_eflags (target_ulong, uint32_t);
+target_ulong helper_read_eflags (void);
+void helper_divb_AL (target_ulong);
+void helper_idivb_AL (target_ulong);
+void helper_divw_AX (target_ulong);
+void helper_idivw_AX (target_ulong);
+void helper_divl_EAX (target_ulong);
+void helper_idivl_EAX (target_ulong);
+# 24 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper.h"
+void helper_aam (int);
+void helper_aad (int);
+void helper_aaa (void);
+void helper_aas (void);
+void helper_daa (void);
+void helper_das (void);
+
+target_ulong helper_lsl (target_ulong);
+target_ulong helper_lar (target_ulong);
+void helper_verr (target_ulong);
+void helper_verw (target_ulong);
+void helper_lldt (int);
+void helper_ltr (int);
+void helper_load_seg (int, int);
+void helper_ljmp_protected (int, target_ulong, int);
+void helper_lcall_real (int, target_ulong, int, int);
+void helper_lcall_protected (int, target_ulong, int, int);
+void helper_iret_real (int);
+void helper_iret_protected (int, int);
+void helper_lret_protected (int, int);
+target_ulong helper_read_crN (int);
+void helper_write_crN (int, target_ulong);
+void helper_lmsw (target_ulong);
+void helper_clts (void);
+void helper_movl_drN_T0 (int, target_ulong);
+void helper_invlpg (target_ulong);
+
+void helper_enter_level (int, int, target_ulong);
+
+
+
+void helper_sysenter (void);
+void helper_sysexit (int);
+
+
+
+
+void helper_hlt (int);
+void helper_monitor (target_ulong);
+void helper_mwait (int);
+void helper_debug (void);
+void helper_reset_rf (void);
+void helper_raise_interrupt (int, int);
+void helper_raise_exception (int);
+void helper_cli (void);
+void helper_sti (void);
+void helper_set_inhibit_irq (void);
+void helper_reset_inhibit_irq (void);
+void helper_boundw (target_ulong, int);
+void helper_boundl (target_ulong, int);
+void helper_rsm (void);
+void helper_into (int);
+void helper_cmpxchg8b (target_ulong);
+
+
+
+void helper_single_step (void);
+void helper_cpuid (void);
+void helper_rdtsc (void);
+void helper_rdtscp (void);
+void helper_rdpmc (void);
+void helper_rdmsr (void);
+void helper_wrmsr (void);
+
+void helper_check_iob (uint32_t);
+void helper_check_iow (uint32_t);
+void helper_check_iol (uint32_t);
+void helper_outb (uint32_t, uint32_t);
+target_ulong helper_inb (uint32_t);
+void helper_outw (uint32_t, uint32_t);
+target_ulong helper_inw (uint32_t);
+void helper_outl (uint32_t, uint32_t);
+target_ulong helper_inl (uint32_t);
+
+void helper_svm_check_intercept_param (uint32_t, uint64_t);
+void helper_vmexit (uint32_t, uint64_t);
+void helper_svm_check_io (uint32_t, uint32_t, uint32_t);
+void helper_vmrun (int, int);
+void helper_vmmcall (void);
+void helper_vmload (int);
+void helper_vmsave (int);
+void helper_stgi (void);
+void helper_clgi (void);
+void helper_skinit (void);
+void helper_invlpga (int);
+
+
+
+void helper_flds_FT0 (uint32_t);
+void helper_fldl_FT0 (uint64_t);
+void helper_fildl_FT0 (int32_t);
+void helper_flds_ST0 (uint32_t);
+void helper_fldl_ST0 (uint64_t);
+void helper_fildl_ST0 (int32_t);
+void helper_fildll_ST0 (int64_t);
+uint32_t helper_fsts_ST0 (void);
+uint64_t helper_fstl_ST0 (void);
+int32_t helper_fist_ST0 (void);
+int32_t helper_fistl_ST0 (void);
+int64_t helper_fistll_ST0 (void);
+int32_t helper_fistt_ST0 (void);
+int32_t helper_fisttl_ST0 (void);
+int64_t helper_fisttll_ST0 (void);
+void helper_fldt_ST0 (target_ulong);
+void helper_fstt_ST0 (target_ulong);
+void helper_fpush (void);
+void helper_fpop (void);
+void helper_fdecstp (void);
+void helper_fincstp (void);
+void helper_ffree_STN (int);
+void helper_fmov_ST0_FT0 (void);
+void helper_fmov_FT0_STN (int);
+void helper_fmov_ST0_STN (int);
+void helper_fmov_STN_ST0 (int);
+void helper_fxchg_ST0_STN (int);
+void helper_fcom_ST0_FT0 (void);
+void helper_fucom_ST0_FT0 (void);
+void helper_fcomi_ST0_FT0 (void);
+void helper_fucomi_ST0_FT0 (void);
+void helper_fadd_ST0_FT0 (void);
+void helper_fmul_ST0_FT0 (void);
+void helper_fsub_ST0_FT0 (void);
+void helper_fsubr_ST0_FT0 (void);
+void helper_fdiv_ST0_FT0 (void);
+void helper_fdivr_ST0_FT0 (void);
+void helper_fadd_STN_ST0 (int);
+void helper_fmul_STN_ST0 (int);
+void helper_fsub_STN_ST0 (int);
+void helper_fsubr_STN_ST0 (int);
+void helper_fdiv_STN_ST0 (int);
+void helper_fdivr_STN_ST0 (int);
+void helper_fchs_ST0 (void);
+void helper_fabs_ST0 (void);
+void helper_fxam_ST0 (void);
+void helper_fld1_ST0 (void);
+void helper_fldl2t_ST0 (void);
+void helper_fldl2e_ST0 (void);
+void helper_fldpi_ST0 (void);
+void helper_fldlg2_ST0 (void);
+void helper_fldln2_ST0 (void);
+void helper_fldz_ST0 (void);
+void helper_fldz_FT0 (void);
+uint32_t helper_fnstsw (void);
+uint32_t helper_fnstcw (void);
+void helper_fldcw (uint32_t);
+void helper_fclex (void);
+void helper_fwait (void);
+void helper_fninit (void);
+void helper_fbld_ST0 (target_ulong);
+void helper_fbst_ST0 (target_ulong);
+void helper_f2xm1 (void);
+void helper_fyl2x (void);
+void helper_fptan (void);
+void helper_fpatan (void);
+void helper_fxtract (void);
+void helper_fprem1 (void);
+void helper_fprem (void);
+void helper_fyl2xp1 (void);
+void helper_fsqrt (void);
+void helper_fsincos (void);
+void helper_frndint (void);
+void helper_fscale (void);
+void helper_fsin (void);
+void helper_fcos (void);
+void helper_fstenv (target_ulong, int);
+void helper_fldenv (target_ulong, int);
+void helper_fsave (target_ulong, int);
+void helper_frstor (target_ulong, int);
+void helper_fxsave (target_ulong, int);
+void helper_fxrstor (target_ulong, int);
+target_ulong helper_bsf (target_ulong);
+target_ulong helper_bsr (target_ulong);
+target_ulong helper_lzcnt (target_ulong, int);
+
+
+
+void helper_ldmxcsr (uint32_t);
+void helper_enter_mmx (void);
+void helper_emms (void);
+void helper_movq (void *, void *);
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse_header.h" 1
+# 37 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse_header.h"
+void helper_psrlw_mmx (MMXReg *, MMXReg *);
+void helper_psraw_mmx (MMXReg *, MMXReg *);
+void helper_psllw_mmx (MMXReg *, MMXReg *);
+void helper_psrld_mmx (MMXReg *, MMXReg *);
+void helper_psrad_mmx (MMXReg *, MMXReg *);
+void helper_pslld_mmx (MMXReg *, MMXReg *);
+void helper_psrlq_mmx (MMXReg *, MMXReg *);
+void helper_psllq_mmx (MMXReg *, MMXReg *);
+# 63 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse_header.h"
+void helper_paddb_mmx (MMXReg *, MMXReg *);
+void helper_paddw_mmx (MMXReg *, MMXReg *);
+void helper_paddl_mmx (MMXReg *, MMXReg *);
+void helper_paddq_mmx (MMXReg *, MMXReg *);
+
+void helper_psubb_mmx (MMXReg *, MMXReg *);
+void helper_psubw_mmx (MMXReg *, MMXReg *);
+void helper_psubl_mmx (MMXReg *, MMXReg *);
+void helper_psubq_mmx (MMXReg *, MMXReg *);
+
+void helper_paddusb_mmx (MMXReg *, MMXReg *);
+void helper_paddsb_mmx (MMXReg *, MMXReg *);
+void helper_psubusb_mmx (MMXReg *, MMXReg *);
+void helper_psubsb_mmx (MMXReg *, MMXReg *);
+
+void helper_paddusw_mmx (MMXReg *, MMXReg *);
+void helper_paddsw_mmx (MMXReg *, MMXReg *);
+void helper_psubusw_mmx (MMXReg *, MMXReg *);
+void helper_psubsw_mmx (MMXReg *, MMXReg *);
+
+void helper_pminub_mmx (MMXReg *, MMXReg *);
+void helper_pmaxub_mmx (MMXReg *, MMXReg *);
+
+void helper_pminsw_mmx (MMXReg *, MMXReg *);
+void helper_pmaxsw_mmx (MMXReg *, MMXReg *);
+
+void helper_pand_mmx (MMXReg *, MMXReg *);
+void helper_pandn_mmx (MMXReg *, MMXReg *);
+void helper_por_mmx (MMXReg *, MMXReg *);
+void helper_pxor_mmx (MMXReg *, MMXReg *);
+
+void helper_pcmpgtb_mmx (MMXReg *, MMXReg *);
+void helper_pcmpgtw_mmx (MMXReg *, MMXReg *);
+void helper_pcmpgtl_mmx (MMXReg *, MMXReg *);
+
+void helper_pcmpeqb_mmx (MMXReg *, MMXReg *);
+void helper_pcmpeqw_mmx (MMXReg *, MMXReg *);
+void helper_pcmpeql_mmx (MMXReg *, MMXReg *);
+
+void helper_pmullw_mmx (MMXReg *, MMXReg *);
+
+void helper_pmulhrw_mmx (MMXReg *, MMXReg *);
+
+void helper_pmulhuw_mmx (MMXReg *, MMXReg *);
+void helper_pmulhw_mmx (MMXReg *, MMXReg *);
+
+void helper_pavgb_mmx (MMXReg *, MMXReg *);
+void helper_pavgw_mmx (MMXReg *, MMXReg *);
+
+void helper_pmuludq_mmx (MMXReg *, MMXReg *);
+void helper_pmaddwd_mmx (MMXReg *, MMXReg *);
+
+void helper_psadbw_mmx (MMXReg *, MMXReg *);
+void helper_maskmov_mmx (MMXReg *, MMXReg *, target_ulong);
+void helper_movl_mm_T0_mmx (MMXReg *, uint32_t);
+
+
+
+
+
+void helper_pshufw_mmx (MMXReg *, MMXReg *, int);
+# 227 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse_header.h"
+uint32_t helper_pmovmskb_mmx (MMXReg *);
+void helper_packsswb_mmx (MMXReg *, MMXReg *);
+void helper_packuswb_mmx (MMXReg *, MMXReg *);
+void helper_packssdw_mmx (MMXReg *, MMXReg *);
+
+
+
+
+
+void helper_punpcklbw_mmx (MMXReg *, MMXReg *); void helper_punpcklwd_mmx (MMXReg *, MMXReg *); void helper_punpckldq_mmx (MMXReg *, MMXReg *);
+void helper_punpckhbw_mmx (MMXReg *, MMXReg *); void helper_punpckhwd_mmx (MMXReg *, MMXReg *); void helper_punpckhdq_mmx (MMXReg *, MMXReg *);
+# 246 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse_header.h"
+void helper_pi2fd (MMXReg *, MMXReg *);
+void helper_pi2fw (MMXReg *, MMXReg *);
+void helper_pf2id (MMXReg *, MMXReg *);
+void helper_pf2iw (MMXReg *, MMXReg *);
+void helper_pfacc (MMXReg *, MMXReg *);
+void helper_pfadd (MMXReg *, MMXReg *);
+void helper_pfcmpeq (MMXReg *, MMXReg *);
+void helper_pfcmpge (MMXReg *, MMXReg *);
+void helper_pfcmpgt (MMXReg *, MMXReg *);
+void helper_pfmax (MMXReg *, MMXReg *);
+void helper_pfmin (MMXReg *, MMXReg *);
+void helper_pfmul (MMXReg *, MMXReg *);
+void helper_pfnacc (MMXReg *, MMXReg *);
+void helper_pfpnacc (MMXReg *, MMXReg *);
+void helper_pfrcp (MMXReg *, MMXReg *);
+void helper_pfrsqrt (MMXReg *, MMXReg *);
+void helper_pfsub (MMXReg *, MMXReg *);
+void helper_pfsubr (MMXReg *, MMXReg *);
+void helper_pswapd (MMXReg *, MMXReg *);
+
+
+
+void helper_phaddw_mmx (MMXReg *, MMXReg *);
+void helper_phaddd_mmx (MMXReg *, MMXReg *);
+void helper_phaddsw_mmx (MMXReg *, MMXReg *);
+void helper_phsubw_mmx (MMXReg *, MMXReg *);
+void helper_phsubd_mmx (MMXReg *, MMXReg *);
+void helper_phsubsw_mmx (MMXReg *, MMXReg *);
+void helper_pabsb_mmx (MMXReg *, MMXReg *);
+void helper_pabsw_mmx (MMXReg *, MMXReg *);
+void helper_pabsd_mmx (MMXReg *, MMXReg *);
+void helper_pmaddubsw_mmx (MMXReg *, MMXReg *);
+void helper_pmulhrsw_mmx (MMXReg *, MMXReg *);
+void helper_pshufb_mmx (MMXReg *, MMXReg *);
+void helper_psignb_mmx (MMXReg *, MMXReg *);
+void helper_psignw_mmx (MMXReg *, MMXReg *);
+void helper_psignd_mmx (MMXReg *, MMXReg *);
+void helper_palignr_mmx (MMXReg *, MMXReg *, int32_t);
+# 207 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper.h" 2
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse_header.h" 1
+# 37 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse_header.h"
+void helper_psrlw_xmm (XMMReg *, XMMReg *);
+void helper_psraw_xmm (XMMReg *, XMMReg *);
+void helper_psllw_xmm (XMMReg *, XMMReg *);
+void helper_psrld_xmm (XMMReg *, XMMReg *);
+void helper_psrad_xmm (XMMReg *, XMMReg *);
+void helper_pslld_xmm (XMMReg *, XMMReg *);
+void helper_psrlq_xmm (XMMReg *, XMMReg *);
+void helper_psllq_xmm (XMMReg *, XMMReg *);
+
+
+void helper_psrldq_xmm (XMMReg *, XMMReg *);
+void helper_pslldq_xmm (XMMReg *, XMMReg *);
+# 63 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse_header.h"
+void helper_paddb_xmm (XMMReg *, XMMReg *);
+void helper_paddw_xmm (XMMReg *, XMMReg *);
+void helper_paddl_xmm (XMMReg *, XMMReg *);
+void helper_paddq_xmm (XMMReg *, XMMReg *);
+
+void helper_psubb_xmm (XMMReg *, XMMReg *);
+void helper_psubw_xmm (XMMReg *, XMMReg *);
+void helper_psubl_xmm (XMMReg *, XMMReg *);
+void helper_psubq_xmm (XMMReg *, XMMReg *);
+
+void helper_paddusb_xmm (XMMReg *, XMMReg *);
+void helper_paddsb_xmm (XMMReg *, XMMReg *);
+void helper_psubusb_xmm (XMMReg *, XMMReg *);
+void helper_psubsb_xmm (XMMReg *, XMMReg *);
+
+void helper_paddusw_xmm (XMMReg *, XMMReg *);
+void helper_paddsw_xmm (XMMReg *, XMMReg *);
+void helper_psubusw_xmm (XMMReg *, XMMReg *);
+void helper_psubsw_xmm (XMMReg *, XMMReg *);
+
+void helper_pminub_xmm (XMMReg *, XMMReg *);
+void helper_pmaxub_xmm (XMMReg *, XMMReg *);
+
+void helper_pminsw_xmm (XMMReg *, XMMReg *);
+void helper_pmaxsw_xmm (XMMReg *, XMMReg *);
+
+void helper_pand_xmm (XMMReg *, XMMReg *);
+void helper_pandn_xmm (XMMReg *, XMMReg *);
+void helper_por_xmm (XMMReg *, XMMReg *);
+void helper_pxor_xmm (XMMReg *, XMMReg *);
+
+void helper_pcmpgtb_xmm (XMMReg *, XMMReg *);
+void helper_pcmpgtw_xmm (XMMReg *, XMMReg *);
+void helper_pcmpgtl_xmm (XMMReg *, XMMReg *);
+
+void helper_pcmpeqb_xmm (XMMReg *, XMMReg *);
+void helper_pcmpeqw_xmm (XMMReg *, XMMReg *);
+void helper_pcmpeql_xmm (XMMReg *, XMMReg *);
+
+void helper_pmullw_xmm (XMMReg *, XMMReg *);
+
+
+
+void helper_pmulhuw_xmm (XMMReg *, XMMReg *);
+void helper_pmulhw_xmm (XMMReg *, XMMReg *);
+
+void helper_pavgb_xmm (XMMReg *, XMMReg *);
+void helper_pavgw_xmm (XMMReg *, XMMReg *);
+
+void helper_pmuludq_xmm (XMMReg *, XMMReg *);
+void helper_pmaddwd_xmm (XMMReg *, XMMReg *);
+
+void helper_psadbw_xmm (XMMReg *, XMMReg *);
+void helper_maskmov_xmm (XMMReg *, XMMReg *, target_ulong);
+void helper_movl_mm_T0_xmm (XMMReg *, uint32_t);
+
+
+
+
+
+
+
+void helper_shufps (XMMReg *, XMMReg *, int);
+void helper_shufpd (XMMReg *, XMMReg *, int);
+void helper_pshufd_xmm (XMMReg *, XMMReg *, int);
+void helper_pshuflw_xmm (XMMReg *, XMMReg *, int);
+void helper_pshufhw_xmm (XMMReg *, XMMReg *, int);
+# 142 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse_header.h"
+void helper_addps (XMMReg *, XMMReg *); void helper_addss (XMMReg *, XMMReg *); void helper_addpd (XMMReg *, XMMReg *); void helper_addsd (XMMReg *, XMMReg *);
+void helper_subps (XMMReg *, XMMReg *); void helper_subss (XMMReg *, XMMReg *); void helper_subpd (XMMReg *, XMMReg *); void helper_subsd (XMMReg *, XMMReg *);
+void helper_mulps (XMMReg *, XMMReg *); void helper_mulss (XMMReg *, XMMReg *); void helper_mulpd (XMMReg *, XMMReg *); void helper_mulsd (XMMReg *, XMMReg *);
+void helper_divps (XMMReg *, XMMReg *); void helper_divss (XMMReg *, XMMReg *); void helper_divpd (XMMReg *, XMMReg *); void helper_divsd (XMMReg *, XMMReg *);
+void helper_minps (XMMReg *, XMMReg *); void helper_minss (XMMReg *, XMMReg *); void helper_minpd (XMMReg *, XMMReg *); void helper_minsd (XMMReg *, XMMReg *);
+void helper_maxps (XMMReg *, XMMReg *); void helper_maxss (XMMReg *, XMMReg *); void helper_maxpd (XMMReg *, XMMReg *); void helper_maxsd (XMMReg *, XMMReg *);
+void helper_sqrtps (XMMReg *, XMMReg *); void helper_sqrtss (XMMReg *, XMMReg *); void helper_sqrtpd (XMMReg *, XMMReg *); void helper_sqrtsd (XMMReg *, XMMReg *);
+
+
+void helper_cvtps2pd (XMMReg *, XMMReg *);
+void helper_cvtpd2ps (XMMReg *, XMMReg *);
+void helper_cvtss2sd (XMMReg *, XMMReg *);
+void helper_cvtsd2ss (XMMReg *, XMMReg *);
+void helper_cvtdq2ps (XMMReg *, XMMReg *);
+void helper_cvtdq2pd (XMMReg *, XMMReg *);
+void helper_cvtpi2ps (XMMReg *, MMXReg *);
+void helper_cvtpi2pd (XMMReg *, MMXReg *);
+void helper_cvtsi2ss (XMMReg *, uint32_t);
+void helper_cvtsi2sd (XMMReg *, uint32_t);
+
+
+
+
+
+
+void helper_cvtps2dq (XMMReg *, XMMReg *);
+void helper_cvtpd2dq (XMMReg *, XMMReg *);
+void helper_cvtps2pi (MMXReg *, XMMReg *);
+void helper_cvtpd2pi (MMXReg *, XMMReg *);
+int32_t helper_cvtss2si (XMMReg *);
+int32_t helper_cvtsd2si (XMMReg *);
+
+
+
+
+
+void helper_cvttps2dq (XMMReg *, XMMReg *);
+void helper_cvttpd2dq (XMMReg *, XMMReg *);
+void helper_cvttps2pi (MMXReg *, XMMReg *);
+void helper_cvttpd2pi (MMXReg *, XMMReg *);
+int32_t helper_cvttss2si (XMMReg *);
+int32_t helper_cvttsd2si (XMMReg *);
+
+
+
+
+
+void helper_rsqrtps (XMMReg *, XMMReg *);
+void helper_rsqrtss (XMMReg *, XMMReg *);
+void helper_rcpps (XMMReg *, XMMReg *);
+void helper_rcpss (XMMReg *, XMMReg *);
+void helper_extrq_r (XMMReg *, XMMReg *);
+void helper_extrq_i (XMMReg *, int, int);
+void helper_insertq_r (XMMReg *, XMMReg *);
+void helper_insertq_i (XMMReg *, int, int);
+void helper_haddps (XMMReg *, XMMReg *);
+void helper_haddpd (XMMReg *, XMMReg *);
+void helper_hsubps (XMMReg *, XMMReg *);
+void helper_hsubpd (XMMReg *, XMMReg *);
+void helper_addsubps (XMMReg *, XMMReg *);
+void helper_addsubpd (XMMReg *, XMMReg *);
+
+
+
+
+
+
+
+void helper_cmpeqps (XMMReg *, XMMReg *); void helper_cmpeqss (XMMReg *, XMMReg *); void helper_cmpeqpd (XMMReg *, XMMReg *); void helper_cmpeqsd (XMMReg *, XMMReg *);
+void helper_cmpltps (XMMReg *, XMMReg *); void helper_cmpltss (XMMReg *, XMMReg *); void helper_cmpltpd (XMMReg *, XMMReg *); void helper_cmpltsd (XMMReg *, XMMReg *);
+void helper_cmpleps (XMMReg *, XMMReg *); void helper_cmpless (XMMReg *, XMMReg *); void helper_cmplepd (XMMReg *, XMMReg *); void helper_cmplesd (XMMReg *, XMMReg *);
+void helper_cmpunordps (XMMReg *, XMMReg *); void helper_cmpunordss (XMMReg *, XMMReg *); void helper_cmpunordpd (XMMReg *, XMMReg *); void helper_cmpunordsd (XMMReg *, XMMReg *);
+void helper_cmpneqps (XMMReg *, XMMReg *); void helper_cmpneqss (XMMReg *, XMMReg *); void helper_cmpneqpd (XMMReg *, XMMReg *); void helper_cmpneqsd (XMMReg *, XMMReg *);
+void helper_cmpnltps (XMMReg *, XMMReg *); void helper_cmpnltss (XMMReg *, XMMReg *); void helper_cmpnltpd (XMMReg *, XMMReg *); void helper_cmpnltsd (XMMReg *, XMMReg *);
+void helper_cmpnleps (XMMReg *, XMMReg *); void helper_cmpnless (XMMReg *, XMMReg *); void helper_cmpnlepd (XMMReg *, XMMReg *); void helper_cmpnlesd (XMMReg *, XMMReg *);
+void helper_cmpordps (XMMReg *, XMMReg *); void helper_cmpordss (XMMReg *, XMMReg *); void helper_cmpordpd (XMMReg *, XMMReg *); void helper_cmpordsd (XMMReg *, XMMReg *);
+
+void helper_ucomiss (XMMReg *, XMMReg *);
+void helper_comiss (XMMReg *, XMMReg *);
+void helper_ucomisd (XMMReg *, XMMReg *);
+void helper_comisd (XMMReg *, XMMReg *);
+uint32_t helper_movmskps (XMMReg *);
+uint32_t helper_movmskpd (XMMReg *);
+
+
+uint32_t helper_pmovmskb_xmm (XMMReg *);
+void helper_packsswb_xmm (XMMReg *, XMMReg *);
+void helper_packuswb_xmm (XMMReg *, XMMReg *);
+void helper_packssdw_xmm (XMMReg *, XMMReg *);
+
+
+
+
+
+void helper_punpcklbw_xmm (XMMReg *, XMMReg *); void helper_punpcklwd_xmm (XMMReg *, XMMReg *); void helper_punpckldq_xmm (XMMReg *, XMMReg *);
+void helper_punpckhbw_xmm (XMMReg *, XMMReg *); void helper_punpckhwd_xmm (XMMReg *, XMMReg *); void helper_punpckhdq_xmm (XMMReg *, XMMReg *);
+
+
+void helper_punpcklqdq_xmm (XMMReg *, XMMReg *);
+void helper_punpckhqdq_xmm (XMMReg *, XMMReg *);
+# 268 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse_header.h"
+void helper_phaddw_xmm (XMMReg *, XMMReg *);
+void helper_phaddd_xmm (XMMReg *, XMMReg *);
+void helper_phaddsw_xmm (XMMReg *, XMMReg *);
+void helper_phsubw_xmm (XMMReg *, XMMReg *);
+void helper_phsubd_xmm (XMMReg *, XMMReg *);
+void helper_phsubsw_xmm (XMMReg *, XMMReg *);
+void helper_pabsb_xmm (XMMReg *, XMMReg *);
+void helper_pabsw_xmm (XMMReg *, XMMReg *);
+void helper_pabsd_xmm (XMMReg *, XMMReg *);
+void helper_pmaddubsw_xmm (XMMReg *, XMMReg *);
+void helper_pmulhrsw_xmm (XMMReg *, XMMReg *);
+void helper_pshufb_xmm (XMMReg *, XMMReg *);
+void helper_psignb_xmm (XMMReg *, XMMReg *);
+void helper_psignw_xmm (XMMReg *, XMMReg *);
+void helper_psignd_xmm (XMMReg *, XMMReg *);
+void helper_palignr_xmm (XMMReg *, XMMReg *, int32_t);
+
+
+
+void helper_pblendvb_xmm (XMMReg *, XMMReg *);
+void helper_blendvps_xmm (XMMReg *, XMMReg *);
+void helper_blendvpd_xmm (XMMReg *, XMMReg *);
+void helper_ptest_xmm (XMMReg *, XMMReg *);
+void helper_pmovsxbw_xmm (XMMReg *, XMMReg *);
+void helper_pmovsxbd_xmm (XMMReg *, XMMReg *);
+void helper_pmovsxbq_xmm (XMMReg *, XMMReg *);
+void helper_pmovsxwd_xmm (XMMReg *, XMMReg *);
+void helper_pmovsxwq_xmm (XMMReg *, XMMReg *);
+void helper_pmovsxdq_xmm (XMMReg *, XMMReg *);
+void helper_pmovzxbw_xmm (XMMReg *, XMMReg *);
+void helper_pmovzxbd_xmm (XMMReg *, XMMReg *);
+void helper_pmovzxbq_xmm (XMMReg *, XMMReg *);
+void helper_pmovzxwd_xmm (XMMReg *, XMMReg *);
+void helper_pmovzxwq_xmm (XMMReg *, XMMReg *);
+void helper_pmovzxdq_xmm (XMMReg *, XMMReg *);
+void helper_pmuldq_xmm (XMMReg *, XMMReg *);
+void helper_pcmpeqq_xmm (XMMReg *, XMMReg *);
+void helper_packusdw_xmm (XMMReg *, XMMReg *);
+void helper_pminsb_xmm (XMMReg *, XMMReg *);
+void helper_pminsd_xmm (XMMReg *, XMMReg *);
+void helper_pminuw_xmm (XMMReg *, XMMReg *);
+void helper_pminud_xmm (XMMReg *, XMMReg *);
+void helper_pmaxsb_xmm (XMMReg *, XMMReg *);
+void helper_pmaxsd_xmm (XMMReg *, XMMReg *);
+void helper_pmaxuw_xmm (XMMReg *, XMMReg *);
+void helper_pmaxud_xmm (XMMReg *, XMMReg *);
+void helper_pmulld_xmm (XMMReg *, XMMReg *);
+void helper_phminposuw_xmm (XMMReg *, XMMReg *);
+void helper_roundps_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_roundpd_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_roundss_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_roundsd_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_blendps_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_blendpd_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_pblendw_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_dpps_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_dppd_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_mpsadbw_xmm (XMMReg *, XMMReg *, uint32_t);
+
+
+
+
+void helper_pcmpgtq_xmm (XMMReg *, XMMReg *);
+void helper_pcmpestri_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_pcmpestrm_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_pcmpistri_xmm (XMMReg *, XMMReg *, uint32_t);
+void helper_pcmpistrm_xmm (XMMReg *, XMMReg *, uint32_t);
+target_ulong helper_crc32 (uint32_t, target_ulong, uint32_t);
+target_ulong helper_popcnt (target_ulong, uint32_t);
+# 209 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper.h" 2
+
+target_ulong helper_rclb (target_ulong, target_ulong);
+target_ulong helper_rclw (target_ulong, target_ulong);
+target_ulong helper_rcll (target_ulong, target_ulong);
+target_ulong helper_rcrb (target_ulong, target_ulong);
+target_ulong helper_rcrw (target_ulong, target_ulong);
+target_ulong helper_rcrl (target_ulong, target_ulong);
+
+
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/def-helper.h" 1
+# 221 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper.h" 2
+# 28 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 1
+# 27 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+ldub_kernel(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 0;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        res = __ldb_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldub_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int
+ldsb_kernel(
+                                                     target_ulong ptr)
+{
+    int res, page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 0;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        res = (int8_t)
+ __ldb_mmu( addr, mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldsb_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ void
+stb_kernel( target_ulong ptr,
+                                                    uint32_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 0;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        __stb_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stb_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+# 28 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+lduw_kernel(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 0;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        res = __ldw_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = lduw_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int
+ldsw_kernel(
+                                                     target_ulong ptr)
+{
+    int res, page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 0;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        res = (int16_t)
+ __ldw_mmu( addr, mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldsw_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ void
+stw_kernel( target_ulong ptr,
+                                                    uint32_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 0;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        __stw_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stw_le_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+# 31 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+ldl_kernel(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 0;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (4 - 1)))), 0)
+                                                               ) {
+        res = __ldl_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldl_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+# 147 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ void
+stl_kernel( target_ulong ptr,
+                                                    uint32_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 0;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (4 - 1)))), 0)
+                                                               ) {
+        __stl_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stl_le_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+# 198 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ float32 ldfl_kernel(
+                                                              target_ulong ptr)
+{
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    u.i = ldl_kernel( ptr);
+    return u.f;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stfl_kernel(
+                                                           target_ulong ptr,
+                                                           float32 v)
+{
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    u.f = v;
+    stl_kernel( ptr, u.i);
+}
+# 34 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint64_t
+ldq_kernel(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint64_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 0;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (8 - 1)))), 0)
+                                                               ) {
+        res = __ldq_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldq_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+# 147 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ void
+stq_kernel( target_ulong ptr,
+                                                    uint64_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 0;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (8 - 1)))), 0)
+                                                               ) {
+        __stq_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stq_le_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+
+
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ float64 ldfq_kernel(
+                                                              target_ulong ptr)
+{
+    union {
+        float64 d;
+        uint64_t i;
+    } u;
+    u.i = ldq_kernel( ptr);
+    return u.d;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stfq_kernel(
+                                                           target_ulong ptr,
+                                                           float64 v)
+{
+    union {
+        float64 d;
+        uint64_t i;
+    } u;
+    u.d = v;
+    stq_kernel( ptr, u.i);
+}
+# 37 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+
+
+
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+ldub_user(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 1;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        res = __ldb_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldub_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int
+ldsb_user(
+                                                     target_ulong ptr)
+{
+    int res, page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 1;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        res = (int8_t)
+ __ldb_mmu( addr, mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldsb_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ void
+stb_user( target_ulong ptr,
+                                                    uint32_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 1;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        __stb_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stb_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+# 44 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+lduw_user(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 1;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        res = __ldw_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = lduw_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int
+ldsw_user(
+                                                     target_ulong ptr)
+{
+    int res, page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 1;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        res = (int16_t)
+ __ldw_mmu( addr, mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldsw_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ void
+stw_user( target_ulong ptr,
+                                                    uint32_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 1;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        __stw_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stw_le_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+# 47 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+ldl_user(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 1;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (4 - 1)))), 0)
+                                                               ) {
+        res = __ldl_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldl_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+# 147 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ void
+stl_user( target_ulong ptr,
+                                                    uint32_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 1;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (4 - 1)))), 0)
+                                                               ) {
+        __stl_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stl_le_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+# 198 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ float32 ldfl_user(
+                                                              target_ulong ptr)
+{
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    u.i = ldl_user( ptr);
+    return u.f;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stfl_user(
+                                                           target_ulong ptr,
+                                                           float32 v)
+{
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    u.f = v;
+    stl_user( ptr, u.i);
+}
+# 50 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint64_t
+ldq_user(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint64_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 1;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (8 - 1)))), 0)
+                                                               ) {
+        res = __ldq_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldq_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+# 147 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ void
+stq_user( target_ulong ptr,
+                                                    uint64_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = 1;
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (8 - 1)))), 0)
+                                                               ) {
+        __stq_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stq_le_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+
+
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ float64 ldfq_user(
+                                                              target_ulong ptr)
+{
+    union {
+        float64 d;
+        uint64_t i;
+    } u;
+    u.i = ldq_user( ptr);
+    return u.d;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stfq_user(
+                                                           target_ulong ptr,
+                                                           float64 v)
+{
+    union {
+        float64 d;
+        uint64_t i;
+    } u;
+    u.d = v;
+    stq_user( ptr, u.i);
+}
+# 53 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+# 140 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+ldub_data(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(env));
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        res = __ldb_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldub_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int
+ldsb_data(
+                                                     target_ulong ptr)
+{
+    int res, page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(env));
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        res = (int8_t)
+ __ldb_mmu( addr, mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldsb_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ void
+stb_data( target_ulong ptr,
+                                                    uint32_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(env));
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (1 - 1)))), 0)
+                                                               ) {
+        __stb_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stb_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+# 141 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+lduw_data(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(env));
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        res = __ldw_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = lduw_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int
+ldsw_data(
+                                                     target_ulong ptr)
+{
+    int res, page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(env));
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        res = (int16_t)
+ __ldw_mmu( addr, mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldsw_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+
+
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ void
+stw_data( target_ulong ptr,
+                                                    uint32_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(env));
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (2 - 1)))), 0)
+                                                               ) {
+        __stw_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stw_le_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+# 144 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint32_t
+ldl_data(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint32_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(env));
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (4 - 1)))), 0)
+                                                               ) {
+        res = __ldl_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldl_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+# 147 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ void
+stl_data( target_ulong ptr,
+                                                    uint32_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(env));
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (4 - 1)))), 0)
+                                                               ) {
+        __stl_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stl_le_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+# 198 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ float32 ldfl_data(
+                                                              target_ulong ptr)
+{
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    u.i = ldl_data( ptr);
+    return u.f;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stfl_data(
+                                                           target_ulong ptr,
+                                                           float32 v)
+{
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    u.f = v;
+    stl_data( ptr, u.i);
+}
+# 147 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h" 1
+# 95 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ uint64_t
+ldq_data(
+                                                     target_ulong ptr)
+{
+    int page_index;
+    uint64_t res;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(env));
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_read != (addr & (~((1 << 12) - 1) | (8 - 1)))), 0)
+                                                               ) {
+        res = __ldq_mmu(
+                                                                     addr,
+                                                                     mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        res = ldq_le_p((uint8_t *)(intptr_t)((hostaddr)));
+    }
+    return res;
+}
+# 147 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_header.h"
+static __attribute__ (( always_inline )) __inline__ void
+stq_data( target_ulong ptr,
+                                                    uint64_t v)
+{
+    int page_index;
+    target_ulong addr;
+    int mmu_idx;
+
+    addr = ptr;
+    page_index = (addr >> 12) & ((1 << 8) - 1);
+    mmu_idx = (cpu_mmu_index(env));
+    if (__builtin_expect(!!(env->tlb_table[mmu_idx][page_index].addr_write != (addr & (~((1 << 12) - 1) | (8 - 1)))), 0)
+                                                               ) {
+        __stq_mmu( addr, v,
+                                                               mmu_idx);
+    } else {
+        uintptr_t hostaddr = addr + env->tlb_table[mmu_idx][page_index].addend;
+        stq_le_p((uint8_t *)(intptr_t)((hostaddr)), v);
+    }
+}
+
+
+
+
+
+
+static __attribute__ (( always_inline )) __inline__ float64 ldfq_data(
+                                                              target_ulong ptr)
+{
+    union {
+        float64 d;
+        uint64_t i;
+    } u;
+    u.i = ldq_data( ptr);
+    return u.d;
+}
+
+static __attribute__ (( always_inline )) __inline__ void stfq_data(
+                                                           target_ulong ptr,
+                                                           float64 v)
+{
+    union {
+        float64 d;
+        uint64_t i;
+    } u;
+    u.d = v;
+    stq_data( ptr, u.i);
+}
+# 150 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_exec.h" 2
+# 31 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+# 45 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+static __attribute__ (( always_inline )) __inline__ target_long lshift(target_long x, int n)
+{
+    if (n >= 0) {
+        return x << n;
+    } else {
+        return x >> (-n);
+    }
+}
+# 70 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+static __attribute__ (( always_inline )) __inline__ void fpush(void)
+{
+    env->fpstt = (env->fpstt - 1) & 7;
+    env->fptags[env->fpstt] = 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ void fpop(void)
+{
+    env->fptags[env->fpstt] = 1;
+    env->fpstt = (env->fpstt + 1) & 7;
+}
+
+static __attribute__ (( always_inline )) __inline__ floatx80 helper_fldt(target_ulong ptr)
+{
+    CPU_LDoubleU temp;
+
+    temp.l.lower = ldq_data(ptr);
+    temp.l.upper = lduw_data(ptr + 8);
+    return temp.d;
+}
+
+static __attribute__ (( always_inline )) __inline__ void helper_fstt(floatx80 f, target_ulong ptr)
+{
+    CPU_LDoubleU temp;
+
+    temp.d = f;
+    stq_data(ptr, temp.l.lower);
+    stw_data(ptr + 8, temp.l.upper);
+}
+# 112 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+static __attribute__ (( always_inline )) __inline__ uint32_t compute_eflags(void)
+{
+    return env->eflags | helper_cc_compute_all((env->cc_op)) | ((env->df) & 0x00000400);
+}
+
+
+static __attribute__ (( always_inline )) __inline__ void load_eflags(int eflags, int update_mask)
+{
+    (env->cc_src) = eflags & (0x0800 | 0x0080 | 0x0040 | 0x0010 | 0x0004 | 0x0001);
+    (env->df) = 1 - (2 * ((eflags >> 10) & 1));
+    env->eflags = (env->eflags & ~update_mask) |
+        (eflags & update_mask) | 0x2;
+}
+
+
+
+static __attribute__ (( always_inline )) __inline__ void cpu_load_efer(CPUX86State *env, uint64_t val)
+{
+    env->efer = val;
+    env->hflags &= ~((1 << 14) | (1 << 20));
+    if (env->efer & (1 << 10)) {
+        env->hflags |= (1 << 14);
+    }
+    if (env->efer & (1 << 12)) {
+        env->hflags |= (1 << 20);
+    }
+}
+# 148 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+static void __attribute__ ((__noreturn__)) raise_exception_err(int exception_index,
+                                              int error_code);
+
+static const uint8_t parity_table[256] = {
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0x0004, 0, 0, 0x0004, 0, 0x0004, 0x0004, 0,
+    0, 0x0004, 0x0004, 0, 0x0004, 0, 0, 0x0004,
+};
+
+
+static const uint8_t rclw_table[32] = {
+    0, 1, 2, 3, 4, 5, 6, 7,
+    8, 9,10,11,12,13,14,15,
+   16, 0, 1, 2, 3, 4, 5, 6,
+    7, 8, 9,10,11,12,13,14,
+};
+
+
+static const uint8_t rclb_table[32] = {
+    0, 1, 2, 3, 4, 5, 6, 7,
+    8, 0, 1, 2, 3, 4, 5, 6,
+    7, 8, 0, 1, 2, 3, 4, 5,
+    6, 7, 8, 0, 1, 2, 3, 4,
+};
+
+
+
+
+
+
+
+static spinlock_t global_cpu_lock = 0;
+
+void helper_lock(void)
+{
+    spin_lock(&global_cpu_lock);
+}
+
+void helper_unlock(void)
+{
+    spin_unlock(&global_cpu_lock);
+}
+
+void helper_write_eflags(target_ulong t0, uint32_t update_mask)
+{
+    load_eflags(t0, update_mask);
+}
+
+target_ulong helper_read_eflags(void)
+{
+    uint32_t eflags;
+    eflags = helper_cc_compute_all((env->cc_op));
+    eflags |= ((env->df) & 0x00000400);
+    eflags |= env->eflags & ~(0x00020000 | 0x00010000);
+    return eflags;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int load_segment(uint32_t *e1_ptr, uint32_t *e2_ptr,
+                               int selector)
+{
+    SegmentCache *dt;
+    int index;
+    target_ulong ptr;
+
+    if (selector & 0x4)
+        dt = &env->ldt;
+    else
+        dt = &env->gdt;
+    index = selector & ~7;
+    if ((index + 7) > dt->limit)
+        return -1;
+    ptr = dt->base + index;
+    *e1_ptr = ldl_kernel(ptr);
+    *e2_ptr = ldl_kernel(ptr + 4);
+    return 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ unsigned int get_seg_limit(uint32_t e1, uint32_t e2)
+{
+    unsigned int limit;
+    limit = (e1 & 0xffff) | (e2 & 0x000f0000);
+    if (e2 & (1 << 23))
+        limit = (limit << 12) | 0xfff;
+    return limit;
+}
+
+static __attribute__ (( always_inline )) __inline__ uint32_t get_seg_base(uint32_t e1, uint32_t e2)
+{
+    return ((e1 >> 16) | ((e2 & 0xff) << 16) | (e2 & 0xff000000));
+}
+
+static __attribute__ (( always_inline )) __inline__ void load_seg_cache_raw_dt(SegmentCache *sc, uint32_t e1, uint32_t e2)
+{
+    sc->base = get_seg_base(e1, e2);
+    sc->limit = get_seg_limit(e1, e2);
+    sc->flags = e2;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ void load_seg_vm(int seg, int selector)
+{
+    selector &= 0xffff;
+    cpu_x86_load_seg_cache(env, seg, selector,
+                           (selector << 4), 0xffff, 0);
+}
+
+static __attribute__ (( always_inline )) __inline__ void get_ss_esp_from_tss(uint32_t *ss_ptr,
+                                       uint32_t *esp_ptr, int dpl)
+{
+    int type, index, shift;
+# 301 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    if (!(env->tr.flags & (1 << 15)))
+        cpu_abort(env, "invalid tss");
+    type = (env->tr.flags >> 8) & 0xf;
+    if ((type & 7) != 1)
+        cpu_abort(env, "invalid tss type");
+    shift = type >> 3;
+    index = (dpl * 4 + 2) << shift;
+    if (index + (4 << shift) - 1 > env->tr.limit)
+        raise_exception_err(10, env->tr.selector & 0xfffc);
+    if (shift == 0) {
+        *esp_ptr = lduw_kernel(env->tr.base + index);
+        *ss_ptr = lduw_kernel(env->tr.base + index + 2);
+    } else {
+        *esp_ptr = ldl_kernel(env->tr.base + index);
+        *ss_ptr = lduw_kernel(env->tr.base + index + 4);
+    }
+}
+
+
+static void tss_load_seg(int seg_reg, int selector)
+{
+    uint32_t e1, e2;
+    int rpl, dpl, cpl;
+
+    if ((selector & 0xfffc) != 0) {
+        if (load_segment(&e1, &e2, selector) != 0)
+            raise_exception_err(10, selector & 0xfffc);
+        if (!(e2 & (1 << 12)))
+            raise_exception_err(10, selector & 0xfffc);
+        rpl = selector & 3;
+        dpl = (e2 >> 13) & 3;
+        cpl = env->hflags & (3 << 0);
+        if (seg_reg == 1) {
+            if (!(e2 & (1 << 11)))
+                raise_exception_err(10, selector & 0xfffc);
+
+            if (dpl != rpl)
+                raise_exception_err(10, selector & 0xfffc);
+            if ((e2 & (1 << 10)) && dpl > rpl)
+                raise_exception_err(10, selector & 0xfffc);
+        } else if (seg_reg == 2) {
+
+            if ((e2 & (1 << 11)) || !(e2 & (1 << 9)))
+                raise_exception_err(10, selector & 0xfffc);
+            if (dpl != cpl || dpl != rpl)
+                raise_exception_err(10, selector & 0xfffc);
+        } else {
+
+            if ((e2 & (1 << 11)) && !(e2 & (1 << 9)))
+                raise_exception_err(10, selector & 0xfffc);
+
+            if (((e2 >> 8) & 0xf) < 12) {
+                if (dpl < cpl || dpl < rpl)
+                    raise_exception_err(10, selector & 0xfffc);
+            }
+        }
+        if (!(e2 & (1 << 15)))
+            raise_exception_err(11, selector & 0xfffc);
+        cpu_x86_load_seg_cache(env, seg_reg, selector,
+                       get_seg_base(e1, e2),
+                       get_seg_limit(e1, e2),
+                       e2);
+    } else {
+        if (seg_reg == 2 || seg_reg == 1)
+            raise_exception_err(10, selector & 0xfffc);
+    }
+}
+
+
+
+
+
+
+static void switch_tss(int tss_selector,
+                       uint32_t e1, uint32_t e2, int source,
+                       uint32_t next_eip)
+{
+    int tss_limit, tss_limit_max, type, old_tss_limit_max, old_type, v1, v2, i;
+    target_ulong tss_base;
+    uint32_t new_regs[8], new_segs[6];
+    uint32_t new_eflags, new_eip, new_cr3, new_ldt, new_trap;
+    uint32_t old_eflags, eflags_mask;
+    SegmentCache *dt;
+    int index;
+    target_ulong ptr;
+
+    type = (e2 >> 8) & 0xf;
+    do { } while (0);
+
+
+    if (type == 5) {
+        if (!(e2 & (1 << 15)))
+            raise_exception_err(11, tss_selector & 0xfffc);
+        tss_selector = e1 >> 16;
+        if (tss_selector & 4)
+            raise_exception_err(10, tss_selector & 0xfffc);
+        if (load_segment(&e1, &e2, tss_selector) != 0)
+            raise_exception_err(13, tss_selector & 0xfffc);
+        if (e2 & (1 << 12))
+            raise_exception_err(13, tss_selector & 0xfffc);
+        type = (e2 >> 8) & 0xf;
+        if ((type & 7) != 1)
+            raise_exception_err(13, tss_selector & 0xfffc);
+    }
+
+    if (!(e2 & (1 << 15)))
+        raise_exception_err(11, tss_selector & 0xfffc);
+
+    if (type & 8)
+        tss_limit_max = 103;
+    else
+        tss_limit_max = 43;
+    tss_limit = get_seg_limit(e1, e2);
+    tss_base = get_seg_base(e1, e2);
+    if ((tss_selector & 4) != 0 ||
+        tss_limit < tss_limit_max)
+        raise_exception_err(10, tss_selector & 0xfffc);
+    old_type = (env->tr.flags >> 8) & 0xf;
+    if (old_type & 8)
+        old_tss_limit_max = 103;
+    else
+        old_tss_limit_max = 43;
+
+
+    if (type & 8) {
+
+        new_cr3 = ldl_kernel(tss_base + 0x1c);
+        new_eip = ldl_kernel(tss_base + 0x20);
+        new_eflags = ldl_kernel(tss_base + 0x24);
+        for(i = 0; i < 8; i++)
+            new_regs[i] = ldl_kernel(tss_base + (0x28 + i * 4));
+        for(i = 0; i < 6; i++)
+            new_segs[i] = lduw_kernel(tss_base + (0x48 + i * 4));
+        new_ldt = lduw_kernel(tss_base + 0x60);
+        new_trap = ldl_kernel(tss_base + 0x64);
+    } else {
+
+        new_cr3 = 0;
+        new_eip = lduw_kernel(tss_base + 0x0e);
+        new_eflags = lduw_kernel(tss_base + 0x10);
+        for(i = 0; i < 8; i++)
+            new_regs[i] = lduw_kernel(tss_base + (0x12 + i * 2)) | 0xffff0000;
+        for(i = 0; i < 4; i++)
+            new_segs[i] = lduw_kernel(tss_base + (0x22 + i * 4));
+        new_ldt = lduw_kernel(tss_base + 0x2a);
+        new_segs[4] = 0;
+        new_segs[5] = 0;
+        new_trap = 0;
+    }
+
+
+
+    (void)new_trap;
+
+
+
+
+
+
+    v1 = ldub_kernel(env->tr.base);
+    v2 = ldub_kernel(env->tr.base + old_tss_limit_max);
+    stb_kernel(env->tr.base, v1);
+    stb_kernel(env->tr.base + old_tss_limit_max, v2);
+
+
+    if (source == 0 || source == 1) {
+        target_ulong ptr;
+        uint32_t e2;
+        ptr = env->gdt.base + (env->tr.selector & ~7);
+        e2 = ldl_kernel(ptr + 4);
+        e2 &= ~(1 << 9);
+        stl_kernel(ptr + 4, e2);
+    }
+    old_eflags = compute_eflags();
+    if (source == 1)
+        old_eflags &= ~0x00004000;
+
+
+    if (type & 8) {
+
+        stl_kernel(env->tr.base + 0x20, next_eip);
+        stl_kernel(env->tr.base + 0x24, old_eflags);
+        stl_kernel(env->tr.base + (0x28 + 0 * 4), (env->regs[0]));
+        stl_kernel(env->tr.base + (0x28 + 1 * 4), (env->regs[1]));
+        stl_kernel(env->tr.base + (0x28 + 2 * 4), (env->regs[2]));
+        stl_kernel(env->tr.base + (0x28 + 3 * 4), (env->regs[3]));
+        stl_kernel(env->tr.base + (0x28 + 4 * 4), (env->regs[4]));
+        stl_kernel(env->tr.base + (0x28 + 5 * 4), (env->regs[5]));
+        stl_kernel(env->tr.base + (0x28 + 6 * 4), (env->regs[6]));
+        stl_kernel(env->tr.base + (0x28 + 7 * 4), (env->regs[7]));
+        for(i = 0; i < 6; i++)
+            stw_kernel(env->tr.base + (0x48 + i * 4), env->segs[i].selector);
+    } else {
+
+        stw_kernel(env->tr.base + 0x0e, next_eip);
+        stw_kernel(env->tr.base + 0x10, old_eflags);
+        stw_kernel(env->tr.base + (0x12 + 0 * 2), (env->regs[0]));
+        stw_kernel(env->tr.base + (0x12 + 1 * 2), (env->regs[1]));
+        stw_kernel(env->tr.base + (0x12 + 2 * 2), (env->regs[2]));
+        stw_kernel(env->tr.base + (0x12 + 3 * 2), (env->regs[3]));
+        stw_kernel(env->tr.base + (0x12 + 4 * 2), (env->regs[4]));
+        stw_kernel(env->tr.base + (0x12 + 5 * 2), (env->regs[5]));
+        stw_kernel(env->tr.base + (0x12 + 6 * 2), (env->regs[6]));
+        stw_kernel(env->tr.base + (0x12 + 7 * 2), (env->regs[7]));
+        for(i = 0; i < 4; i++)
+            stw_kernel(env->tr.base + (0x22 + i * 4), env->segs[i].selector);
+    }
+
+
+
+
+    if (source == 2) {
+        stw_kernel(tss_base, env->tr.selector);
+        new_eflags |= 0x00004000;
+    }
+
+
+    if (source == 0 || source == 2) {
+        target_ulong ptr;
+        uint32_t e2;
+        ptr = env->gdt.base + (tss_selector & ~7);
+        e2 = ldl_kernel(ptr + 4);
+        e2 |= (1 << 9);
+        stl_kernel(ptr + 4, e2);
+    }
+
+
+
+    env->cr[0] |= (1 << 3);
+    env->hflags |= (1 << 11);
+    env->tr.selector = tss_selector;
+    env->tr.base = tss_base;
+    env->tr.limit = tss_limit;
+    env->tr.flags = e2 & ~(1 << 9);
+
+    if ((type & 8) && (env->cr[0] & (1 << 31))) {
+        cpu_x86_update_cr3(env, new_cr3);
+    }
+
+
+
+    env->eip = new_eip;
+    eflags_mask = 0x00000100 | 0x00040000 | 0x00200000 |
+        0x00000200 | 0x00003000 | 0x00020000 | 0x00010000 | 0x00004000;
+    if (!(type & 8))
+        eflags_mask &= 0xffff;
+    load_eflags(new_eflags, eflags_mask);
+
+    (env->regs[0]) = new_regs[0];
+    (env->regs[1]) = new_regs[1];
+    (env->regs[2]) = new_regs[2];
+    (env->regs[3]) = new_regs[3];
+    (env->regs[4]) = new_regs[4];
+    (env->regs[5]) = new_regs[5];
+    (env->regs[6]) = new_regs[6];
+    (env->regs[7]) = new_regs[7];
+    if (new_eflags & 0x00020000) {
+        for(i = 0; i < 6; i++)
+            load_seg_vm(i, new_segs[i]);
+
+        cpu_x86_set_cpl(env, 3);
+    } else {
+
+        cpu_x86_set_cpl(env, new_segs[1] & 3);
+
+        for(i = 0; i < 6; i++)
+            cpu_x86_load_seg_cache(env, i, new_segs[i], 0, 0, 0);
+    }
+
+    env->ldt.selector = new_ldt & ~4;
+    env->ldt.base = 0;
+    env->ldt.limit = 0;
+    env->ldt.flags = 0;
+
+
+    if (new_ldt & 4)
+        raise_exception_err(10, new_ldt & 0xfffc);
+
+    if ((new_ldt & 0xfffc) != 0) {
+        dt = &env->gdt;
+        index = new_ldt & ~7;
+        if ((index + 7) > dt->limit)
+            raise_exception_err(10, new_ldt & 0xfffc);
+        ptr = dt->base + index;
+        e1 = ldl_kernel(ptr);
+        e2 = ldl_kernel(ptr + 4);
+        if ((e2 & (1 << 12)) || ((e2 >> 8) & 0xf) != 2)
+            raise_exception_err(10, new_ldt & 0xfffc);
+        if (!(e2 & (1 << 15)))
+            raise_exception_err(10, new_ldt & 0xfffc);
+        load_seg_cache_raw_dt(&env->ldt, e1, e2);
+    }
+
+
+    if (!(new_eflags & 0x00020000)) {
+        tss_load_seg(1, new_segs[1]);
+        tss_load_seg(2, new_segs[2]);
+        tss_load_seg(0, new_segs[0]);
+        tss_load_seg(3, new_segs[3]);
+        tss_load_seg(4, new_segs[4]);
+        tss_load_seg(5, new_segs[5]);
+    }
+
+
+    if (new_eip > env->segs[1].limit) {
+
+        raise_exception_err(13, 0);
+    }
+
+
+
+    if (env->dr[7] & 0x55) {
+        for (i = 0; i < 4; i++) {
+            if (hw_breakpoint_enabled(env->dr[7], i) == 0x1)
+                hw_breakpoint_remove(env, i);
+        }
+        env->dr[7] &= ~0x55;
+    }
+
+}
+
+
+static __attribute__ (( always_inline )) __inline__ void check_io(int addr, int size)
+{
+    int io_offset, val, mask;
+
+
+    if (!(env->tr.flags & (1 << 15)) ||
+        ((env->tr.flags >> 8) & 0xf) != 9 ||
+        env->tr.limit < 103)
+        goto fail;
+    io_offset = lduw_kernel(env->tr.base + 0x66);
+    io_offset += (addr >> 3);
+
+    if ((io_offset + 1) > env->tr.limit)
+        goto fail;
+    val = lduw_kernel(env->tr.base + io_offset);
+    val >>= (addr & 7);
+    mask = (1 << size) - 1;
+
+    if ((val & mask) != 0) {
+    fail:
+        raise_exception_err(13, 0);
+    }
+}
+
+void helper_check_iob(uint32_t t0)
+{
+    check_io(t0, 1);
+}
+
+void helper_check_iow(uint32_t t0)
+{
+    check_io(t0, 2);
+}
+
+void helper_check_iol(uint32_t t0)
+{
+    check_io(t0, 4);
+}
+
+void helper_outb(uint32_t port, uint32_t data)
+{
+    cpu_outb(port, data & 0xff);
+}
+
+target_ulong helper_inb(uint32_t port)
+{
+    return cpu_inb(port);
+}
+
+void helper_outw(uint32_t port, uint32_t data)
+{
+    cpu_outw(port, data & 0xffff);
+}
+
+target_ulong helper_inw(uint32_t port)
+{
+    return cpu_inw(port);
+}
+
+void helper_outl(uint32_t port, uint32_t data)
+{
+    cpu_outl(port, data);
+}
+
+target_ulong helper_inl(uint32_t port)
+{
+    return cpu_inl(port);
+}
+
+static __attribute__ (( always_inline )) __inline__ unsigned int get_sp_mask(unsigned int e2)
+{
+    if (e2 & (1 << 22))
+        return 0xffffffff;
+    else
+        return 0xffff;
+}
+
+static int exeption_has_error_code(int intno)
+{
+        switch(intno) {
+        case 8:
+        case 10:
+        case 11:
+        case 12:
+        case 13:
+        case 14:
+        case 17:
+            return 1;
+        }
+ return 0;
+}
+# 759 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+static void do_interrupt_protected(int intno, int is_int, int error_code,
+                                   unsigned int next_eip, int is_hw)
+{
+    SegmentCache *dt;
+    target_ulong ptr, ssp;
+    int type, dpl, selector, ss_dpl, cpl;
+    int has_error_code, new_stack, shift;
+    uint32_t e1, e2, offset, ss = 0, esp, ss_e1 = 0, ss_e2 = 0;
+    uint32_t old_eip, sp_mask;
+
+    has_error_code = 0;
+    if (!is_int && !is_hw)
+        has_error_code = exeption_has_error_code(intno);
+    if (is_int)
+        old_eip = next_eip;
+    else
+        old_eip = env->eip;
+
+    dt = &env->idt;
+    if (intno * 8 + 7 > dt->limit)
+        raise_exception_err(13, intno * 8 + 2);
+    ptr = dt->base + intno * 8;
+    e1 = ldl_kernel(ptr);
+    e2 = ldl_kernel(ptr + 4);
+
+    type = (e2 >> 8) & 0x1f;
+    switch(type) {
+    case 5:
+
+        if (!(e2 & (1 << 15)))
+            raise_exception_err(11, intno * 8 + 2);
+        switch_tss(intno * 8, e1, e2, 2, old_eip);
+        if (has_error_code) {
+            int type;
+            uint32_t mask;
+
+            type = (env->tr.flags >> 8) & 0xf;
+            shift = type >> 3;
+            if (env->segs[2].flags & (1 << 22))
+                mask = 0xffffffff;
+            else
+                mask = 0xffff;
+            esp = ((env->regs[4]) - (2 << shift)) & mask;
+            ssp = env->segs[2].base + esp;
+            if (shift)
+                stl_kernel(ssp, error_code);
+            else
+                stw_kernel(ssp, error_code);
+            (env->regs[4]) = ((env->regs[4]) & ~(mask)) | ((esp) & (mask));
+        }
+        return;
+    case 6:
+    case 7:
+    case 14:
+    case 15:
+        break;
+    default:
+        raise_exception_err(13, intno * 8 + 2);
+        break;
+    }
+    dpl = (e2 >> 13) & 3;
+    cpl = env->hflags & (3 << 0);
+
+    if (is_int && dpl < cpl)
+        raise_exception_err(13, intno * 8 + 2);
+
+    if (!(e2 & (1 << 15)))
+        raise_exception_err(11, intno * 8 + 2);
+    selector = e1 >> 16;
+    offset = (e2 & 0xffff0000) | (e1 & 0x0000ffff);
+    if ((selector & 0xfffc) == 0)
+        raise_exception_err(13, 0);
+
+    if (load_segment(&e1, &e2, selector) != 0)
+        raise_exception_err(13, selector & 0xfffc);
+    if (!(e2 & (1 << 12)) || !(e2 & ((1 << 11))))
+        raise_exception_err(13, selector & 0xfffc);
+    dpl = (e2 >> 13) & 3;
+    if (dpl > cpl)
+        raise_exception_err(13, selector & 0xfffc);
+    if (!(e2 & (1 << 15)))
+        raise_exception_err(11, selector & 0xfffc);
+    if (!(e2 & (1 << 10)) && dpl < cpl) {
+
+        get_ss_esp_from_tss(&ss, &esp, dpl);
+        if ((ss & 0xfffc) == 0)
+            raise_exception_err(10, ss & 0xfffc);
+        if ((ss & 3) != dpl)
+            raise_exception_err(10, ss & 0xfffc);
+        if (load_segment(&ss_e1, &ss_e2, ss) != 0)
+            raise_exception_err(10, ss & 0xfffc);
+        ss_dpl = (ss_e2 >> 13) & 3;
+        if (ss_dpl != dpl)
+            raise_exception_err(10, ss & 0xfffc);
+        if (!(ss_e2 & (1 << 12)) ||
+            (ss_e2 & (1 << 11)) ||
+            !(ss_e2 & (1 << 9)))
+            raise_exception_err(10, ss & 0xfffc);
+        if (!(ss_e2 & (1 << 15)))
+            raise_exception_err(10, ss & 0xfffc);
+        new_stack = 1;
+        sp_mask = get_sp_mask(ss_e2);
+        ssp = get_seg_base(ss_e1, ss_e2);
+    } else if ((e2 & (1 << 10)) || dpl == cpl) {
+
+        if (env->eflags & 0x00020000)
+            raise_exception_err(13, selector & 0xfffc);
+        new_stack = 0;
+        sp_mask = get_sp_mask(env->segs[2].flags);
+        ssp = env->segs[2].base;
+        esp = (env->regs[4]);
+        dpl = cpl;
+    } else {
+        raise_exception_err(13, selector & 0xfffc);
+        new_stack = 0;
+        sp_mask = 0;
+        ssp = 0;
+        esp = 0;
+    }
+
+    shift = type >> 3;
+# 888 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    if (shift == 1) {
+        if (new_stack) {
+            if (env->eflags & 0x00020000) {
+                { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (sp_mask)))), (uint32_t)(env->segs[5].selector));};
+                { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (sp_mask)))), (uint32_t)(env->segs[4].selector));};
+                { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (sp_mask)))), (uint32_t)(env->segs[3].selector));};
+                { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (sp_mask)))), (uint32_t)(env->segs[0].selector));};
+            }
+            { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (sp_mask)))), (uint32_t)(env->segs[2].selector));};
+            { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (sp_mask)))), (uint32_t)((env->regs[4])));};
+        }
+        { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (sp_mask)))), (uint32_t)(compute_eflags()));};
+        { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (sp_mask)))), (uint32_t)(env->segs[1].selector));};
+        { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (sp_mask)))), (uint32_t)(old_eip));};
+        if (has_error_code) {
+            { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (sp_mask)))), (uint32_t)(error_code));};
+        }
+    } else {
+        if (new_stack) {
+            if (env->eflags & 0x00020000) {
+                { esp -= 2; stw_kernel((ssp) + (esp & (sp_mask)), (env->segs[5].selector));};
+                { esp -= 2; stw_kernel((ssp) + (esp & (sp_mask)), (env->segs[4].selector));};
+                { esp -= 2; stw_kernel((ssp) + (esp & (sp_mask)), (env->segs[3].selector));};
+                { esp -= 2; stw_kernel((ssp) + (esp & (sp_mask)), (env->segs[0].selector));};
+            }
+            { esp -= 2; stw_kernel((ssp) + (esp & (sp_mask)), (env->segs[2].selector));};
+            { esp -= 2; stw_kernel((ssp) + (esp & (sp_mask)), ((env->regs[4])));};
+        }
+        { esp -= 2; stw_kernel((ssp) + (esp & (sp_mask)), (compute_eflags()));};
+        { esp -= 2; stw_kernel((ssp) + (esp & (sp_mask)), (env->segs[1].selector));};
+        { esp -= 2; stw_kernel((ssp) + (esp & (sp_mask)), (old_eip));};
+        if (has_error_code) {
+            { esp -= 2; stw_kernel((ssp) + (esp & (sp_mask)), (error_code));};
+        }
+    }
+
+    if (new_stack) {
+        if (env->eflags & 0x00020000) {
+            cpu_x86_load_seg_cache(env, 0, 0, 0, 0, 0);
+            cpu_x86_load_seg_cache(env, 3, 0, 0, 0, 0);
+            cpu_x86_load_seg_cache(env, 4, 0, 0, 0, 0);
+            cpu_x86_load_seg_cache(env, 5, 0, 0, 0, 0);
+        }
+        ss = (ss & ~3) | dpl;
+        cpu_x86_load_seg_cache(env, 2, ss,
+                               ssp, get_seg_limit(ss_e1, ss_e2), ss_e2);
+    }
+    (env->regs[4]) = ((env->regs[4]) & ~(sp_mask)) | ((esp) & (sp_mask));
+
+    selector = (selector & ~3) | dpl;
+    cpu_x86_load_seg_cache(env, 1, selector,
+                   get_seg_base(e1, e2),
+                   get_seg_limit(e1, e2),
+                   e2);
+    cpu_x86_set_cpl(env, dpl);
+    env->eip = offset;
+
+
+    if ((type & 1) == 0) {
+        env->eflags &= ~0x00000200;
+    }
+    env->eflags &= ~(0x00000100 | 0x00020000 | 0x00010000 | 0x00004000);
+}
+# 1221 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+static void do_interrupt_real(int intno, int is_int, int error_code,
+                              unsigned int next_eip)
+{
+    SegmentCache *dt;
+    target_ulong ptr, ssp;
+    int selector;
+    uint32_t offset, esp;
+    uint32_t old_cs, old_eip;
+
+
+    dt = &env->idt;
+    if (intno * 4 + 3 > dt->limit)
+        raise_exception_err(13, intno * 8 + 2);
+    ptr = dt->base + intno * 4;
+    offset = lduw_kernel(ptr);
+    selector = lduw_kernel(ptr + 2);
+    esp = (env->regs[4]);
+    ssp = env->segs[2].base;
+    if (is_int)
+        old_eip = next_eip;
+    else
+        old_eip = env->eip;
+    old_cs = env->segs[1].selector;
+
+    { esp -= 2; stw_kernel((ssp) + (esp & (0xffff)), (compute_eflags()));};
+    { esp -= 2; stw_kernel((ssp) + (esp & (0xffff)), (old_cs));};
+    { esp -= 2; stw_kernel((ssp) + (esp & (0xffff)), (old_eip));};
+
+
+    (env->regs[4]) = ((env->regs[4]) & ~0xffff) | (esp & 0xffff);
+    env->eip = offset;
+    env->segs[1].selector = selector;
+    env->segs[1].base = (selector << 4);
+    env->eflags &= ~(0x00000200 | 0x00000100 | 0x00040000 | 0x00010000);
+}
+# 1291 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+static void handle_even_inj(int intno, int is_int, int error_code,
+  int is_hw, int rm)
+{
+    uint32_t event_inj = ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.event_inj));
+    if (!(event_inj & (1 << 31))) {
+     int type;
+     if (is_int)
+      type = (4 << 8);
+     else
+      type = (3 << 8);
+     event_inj = intno | type | (1 << 31);
+     if (!rm && exeption_has_error_code(intno)) {
+      event_inj |= (1 << 11);
+      stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.event_inj_err), error_code);
+     }
+     stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.event_inj), event_inj);
+    }
+}
+
+
+
+
+
+
+
+static void do_interrupt_all(int intno, int is_int, int error_code,
+                             target_ulong next_eip, int is_hw)
+{
+    if (((loglevel & ((1 << 4))) != 0)) {
+        if ((env->cr[0] & (1 << 0))) {
+            static int count;
+            do { if (logfile) fprintf(logfile,"%6d: v=%02x e=%04x i=%d cpl=%d IP=%04x:" "%08x" " pc=" "%08x" " SP=%04x:" "%08x", count, intno, error_code, is_int, env->hflags & (3 << 0), env->segs[1].selector, (env->eip), (int)env->segs[1].base + (env->eip), env->segs[2].selector, (env->regs[4])); } while (0)
+
+
+
+
+                                                  ;
+            if (intno == 0x0e) {
+                do { if (logfile) fprintf(logfile," CR2=" "%08x", env->cr[2]); } while (0);
+            } else {
+                do { if (logfile) fprintf(logfile," EAX=" "%08x", (env->regs[0])); } while (0);
+            }
+            do { if (logfile) fprintf(logfile,"\n"); } while (0);
+            cpu_dump_state((env), logfile, fprintf, (0x0002));;
+# 1347 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+            count++;
+        }
+    }
+    if (env->cr[0] & (1 << 0)) {
+
+        if (env->hflags & (1 << 21))
+            handle_even_inj(intno, is_int, error_code, is_hw, 0);
+
+
+
+
+
+
+        {
+            do_interrupt_protected(intno, is_int, error_code, next_eip, is_hw);
+        }
+    } else {
+
+        if (env->hflags & (1 << 21))
+            handle_even_inj(intno, is_int, error_code, is_hw, 1);
+
+        do_interrupt_real(intno, is_int, error_code, next_eip);
+    }
+
+
+    if (env->hflags & (1 << 21)) {
+     uint32_t event_inj = ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.event_inj));
+     stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.event_inj), event_inj & ~(1 << 31));
+    }
+
+}
+
+void do_interrupt(CPUX86State *env1)
+{
+    CPUX86State *saved_env;
+
+    saved_env = env;
+    env = env1;
+# 1399 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    do_interrupt_all(env->exception_index,
+                     env->exception_is_int,
+                     env->error_code,
+                     env->exception_next_eip, 0);
+
+    env->old_exception = -1;
+
+    env = saved_env;
+}
+
+void do_interrupt_x86_hardirq(CPUX86State *env1, int intno, int is_hw)
+{
+    CPUX86State *saved_env;
+
+    saved_env = env;
+    env = env1;
+    do_interrupt_all(intno, 0, 0, 0, is_hw);
+    env = saved_env;
+}
+
+
+void qemu_system_reset_request(void);
+
+
+
+
+
+
+static int check_exception(int intno, int *error_code)
+{
+    int first_contributory = env->old_exception == 0 ||
+                              (env->old_exception >= 10 &&
+                               env->old_exception <= 13);
+    int second_contributory = intno == 0 ||
+                               (intno >= 10 && intno <= 13);
+
+    do { if (loglevel & ((1 << 4))) fprintf(logfile, "check_exception old: 0x%x new 0x%x\n", env->old_exception, intno); } while (0)
+                                          ;
+
+
+    if (env->old_exception == 8) {
+        if (env->hflags & (1 << 21))
+            helper_vmexit(0x07f, 0);
+
+        do { if (loglevel & ((1 << 9))) fprintf(logfile, "Triple fault\n"); } while (0);
+
+        qemu_system_reset_request();
+        return 0x10001;
+    }
+
+
+    if ((first_contributory && second_contributory)
+        || (env->old_exception == 14 &&
+            (second_contributory || (intno == 14)))) {
+        intno = 8;
+        *error_code = 0;
+    }
+
+    if (second_contributory || (intno == 14) ||
+        (intno == 8))
+        env->old_exception = intno;
+
+    return intno;
+}
+
+
+
+
+
+
+
+static void __attribute__ ((__noreturn__)) raise_interrupt(int intno, int is_int, int error_code,
+                                          int next_eip_addend)
+{
+    if (!is_int) {
+        helper_svm_check_intercept_param(0x040 + intno, error_code);
+        intno = check_exception(intno, &error_code);
+    } else {
+        helper_svm_check_intercept_param(0x075, 0);
+    }
+
+    env->exception_index = intno;
+    env->error_code = error_code;
+    env->exception_is_int = is_int;
+    env->exception_next_eip = env->eip + next_eip_addend;
+    cpu_loop_exit(env);
+}
+
+
+
+static void __attribute__ ((__noreturn__)) raise_exception_err(int exception_index,
+                                              int error_code)
+{
+    raise_interrupt(exception_index, 0, error_code, 0);
+}
+
+void raise_exception_err_env(CPUX86State *nenv, int exception_index,
+                             int error_code)
+{
+    env = nenv;
+    raise_interrupt(exception_index, 0, error_code, 0);
+}
+
+static void __attribute__ ((__noreturn__)) raise_exception(int exception_index)
+{
+    raise_interrupt(exception_index, 0, 0, 0);
+}
+
+void raise_exception_env(int exception_index, CPUX86State *nenv)
+{
+    env = nenv;
+    raise_exception(exception_index);
+}
+# 1532 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+void do_smm_enter(CPUX86State *env1)
+{
+    target_ulong sm_state;
+    SegmentCache *dt;
+    int i, offset;
+    CPUX86State *saved_env;
+
+    saved_env = env;
+    env = env1;
+
+    do { if (loglevel & ((1 << 4))) fprintf(logfile, "SMM: enter\n"); } while (0);
+    do { if (loglevel & ((1 << 4))) cpu_dump_state(((env)), logfile, fprintf, ((0x0002)));; } while (0);
+
+    env->hflags |= (1 << 19);
+    cpu_smm_update(env);
+
+    sm_state = env->smbase + 0x8000;
+# 1600 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    stl_phys(sm_state + 0x7ffc, env->cr[0]);
+    stl_phys(sm_state + 0x7ff8, env->cr[3]);
+    stl_phys(sm_state + 0x7ff4, compute_eflags());
+    stl_phys(sm_state + 0x7ff0, env->eip);
+    stl_phys(sm_state + 0x7fec, (env->regs[7]));
+    stl_phys(sm_state + 0x7fe8, (env->regs[6]));
+    stl_phys(sm_state + 0x7fe4, (env->regs[5]));
+    stl_phys(sm_state + 0x7fe0, (env->regs[4]));
+    stl_phys(sm_state + 0x7fdc, (env->regs[3]));
+    stl_phys(sm_state + 0x7fd8, (env->regs[2]));
+    stl_phys(sm_state + 0x7fd4, (env->regs[1]));
+    stl_phys(sm_state + 0x7fd0, (env->regs[0]));
+    stl_phys(sm_state + 0x7fcc, env->dr[6]);
+    stl_phys(sm_state + 0x7fc8, env->dr[7]);
+
+    stl_phys(sm_state + 0x7fc4, env->tr.selector);
+    stl_phys(sm_state + 0x7f64, env->tr.base);
+    stl_phys(sm_state + 0x7f60, env->tr.limit);
+    stl_phys(sm_state + 0x7f5c, (env->tr.flags >> 8) & 0xf0ff);
+
+    stl_phys(sm_state + 0x7fc0, env->ldt.selector);
+    stl_phys(sm_state + 0x7f80, env->ldt.base);
+    stl_phys(sm_state + 0x7f7c, env->ldt.limit);
+    stl_phys(sm_state + 0x7f78, (env->ldt.flags >> 8) & 0xf0ff);
+
+    stl_phys(sm_state + 0x7f74, env->gdt.base);
+    stl_phys(sm_state + 0x7f70, env->gdt.limit);
+
+    stl_phys(sm_state + 0x7f58, env->idt.base);
+    stl_phys(sm_state + 0x7f54, env->idt.limit);
+
+    for(i = 0; i < 6; i++) {
+        dt = &env->segs[i];
+        if (i < 3)
+            offset = 0x7f84 + i * 12;
+        else
+            offset = 0x7f2c + (i - 3) * 12;
+        stl_phys(sm_state + 0x7fa8 + i * 4, dt->selector);
+        stl_phys(sm_state + offset + 8, dt->base);
+        stl_phys(sm_state + offset + 4, dt->limit);
+        stl_phys(sm_state + offset, (dt->flags >> 8) & 0xf0ff);
+    }
+    stl_phys(sm_state + 0x7f14, env->cr[4]);
+
+    stl_phys(sm_state + 0x7efc, 0x00020000);
+    stl_phys(sm_state + 0x7ef8, env->smbase);
+
+
+
+
+
+
+    load_eflags(0, ~(0x0800 | 0x0080 | 0x0040 | 0x0010 | 0x0004 | 0x0001 | 0x00000400));
+    env->eip = 0x00008000;
+    cpu_x86_load_seg_cache(env, 1, (env->smbase >> 4) & 0xffff, env->smbase,
+                           0xffffffff, 0);
+    cpu_x86_load_seg_cache(env, 3, 0, 0, 0xffffffff, 0);
+    cpu_x86_load_seg_cache(env, 0, 0, 0, 0xffffffff, 0);
+    cpu_x86_load_seg_cache(env, 2, 0, 0, 0xffffffff, 0);
+    cpu_x86_load_seg_cache(env, 4, 0, 0, 0xffffffff, 0);
+    cpu_x86_load_seg_cache(env, 5, 0, 0, 0xffffffff, 0);
+
+    cpu_x86_update_cr0(env,
+                       env->cr[0] & ~((1 << 0) | (1 << 2) | (1 << 3) | (1 << 31)));
+    cpu_x86_update_cr4(env, 0);
+    env->dr[7] = 0x00000400;
+    (env->cc_op) = CC_OP_EFLAGS;
+    env = saved_env;
+}
+
+void helper_rsm(void)
+{
+    target_ulong sm_state;
+    int i, offset;
+    uint32_t val;
+
+    sm_state = env->smbase + 0x8000;
+# 1730 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    cpu_x86_update_cr0(env, ldl_phys(sm_state + 0x7ffc));
+    cpu_x86_update_cr3(env, ldl_phys(sm_state + 0x7ff8));
+    load_eflags(ldl_phys(sm_state + 0x7ff4),
+                ~(0x0800 | 0x0080 | 0x0040 | 0x0010 | 0x0004 | 0x0001 | 0x00000400));
+    env->eip = ldl_phys(sm_state + 0x7ff0);
+    (env->regs[7]) = ldl_phys(sm_state + 0x7fec);
+    (env->regs[6]) = ldl_phys(sm_state + 0x7fe8);
+    (env->regs[5]) = ldl_phys(sm_state + 0x7fe4);
+    (env->regs[4]) = ldl_phys(sm_state + 0x7fe0);
+    (env->regs[3]) = ldl_phys(sm_state + 0x7fdc);
+    (env->regs[2]) = ldl_phys(sm_state + 0x7fd8);
+    (env->regs[1]) = ldl_phys(sm_state + 0x7fd4);
+    (env->regs[0]) = ldl_phys(sm_state + 0x7fd0);
+    env->dr[6] = ldl_phys(sm_state + 0x7fcc);
+    env->dr[7] = ldl_phys(sm_state + 0x7fc8);
+
+    env->tr.selector = ldl_phys(sm_state + 0x7fc4) & 0xffff;
+    env->tr.base = ldl_phys(sm_state + 0x7f64);
+    env->tr.limit = ldl_phys(sm_state + 0x7f60);
+    env->tr.flags = (ldl_phys(sm_state + 0x7f5c) & 0xf0ff) << 8;
+
+    env->ldt.selector = ldl_phys(sm_state + 0x7fc0) & 0xffff;
+    env->ldt.base = ldl_phys(sm_state + 0x7f80);
+    env->ldt.limit = ldl_phys(sm_state + 0x7f7c);
+    env->ldt.flags = (ldl_phys(sm_state + 0x7f78) & 0xf0ff) << 8;
+
+    env->gdt.base = ldl_phys(sm_state + 0x7f74);
+    env->gdt.limit = ldl_phys(sm_state + 0x7f70);
+
+    env->idt.base = ldl_phys(sm_state + 0x7f58);
+    env->idt.limit = ldl_phys(sm_state + 0x7f54);
+
+    for(i = 0; i < 6; i++) {
+        if (i < 3)
+            offset = 0x7f84 + i * 12;
+        else
+            offset = 0x7f2c + (i - 3) * 12;
+        cpu_x86_load_seg_cache(env, i,
+                               ldl_phys(sm_state + 0x7fa8 + i * 4) & 0xffff,
+                               ldl_phys(sm_state + offset + 8),
+                               ldl_phys(sm_state + offset + 4),
+                               (ldl_phys(sm_state + offset) & 0xf0ff) << 8);
+    }
+    cpu_x86_update_cr4(env, ldl_phys(sm_state + 0x7f14));
+
+    val = ldl_phys(sm_state + 0x7efc);
+    if (val & 0x20000) {
+        env->smbase = ldl_phys(sm_state + 0x7ef8) & ~0x7fff;
+    }
+
+    (env->cc_op) = CC_OP_EFLAGS;
+    env->hflags &= ~(1 << 19);
+    cpu_smm_update(env);
+
+    do { if (loglevel & ((1 << 4))) fprintf(logfile, "SMM: after RSM\n"); } while (0);
+    do { if (loglevel & ((1 << 4))) cpu_dump_state(((env)), logfile, fprintf, ((0x0002)));; } while (0);
+}
+
+
+
+
+
+
+void helper_divb_AL(target_ulong t0)
+{
+    unsigned int num, den, q, r;
+
+    num = ((env->regs[0]) & 0xffff);
+    den = (t0 & 0xff);
+    if (den == 0) {
+        raise_exception(0);
+    }
+    q = (num / den);
+    if (q > 0xff)
+        raise_exception(0);
+    q &= 0xff;
+    r = (num % den) & 0xff;
+    (env->regs[0]) = ((env->regs[0]) & ~0xffff) | (r << 8) | q;
+}
+
+void helper_idivb_AL(target_ulong t0)
+{
+    int num, den, q, r;
+
+    num = (int16_t)(env->regs[0]);
+    den = (int8_t)t0;
+    if (den == 0) {
+        raise_exception(0);
+    }
+    q = (num / den);
+    if (q != (int8_t)q)
+        raise_exception(0);
+    q &= 0xff;
+    r = (num % den) & 0xff;
+    (env->regs[0]) = ((env->regs[0]) & ~0xffff) | (r << 8) | q;
+}
+
+void helper_divw_AX(target_ulong t0)
+{
+    unsigned int num, den, q, r;
+
+    num = ((env->regs[0]) & 0xffff) | (((env->regs[2]) & 0xffff) << 16);
+    den = (t0 & 0xffff);
+    if (den == 0) {
+        raise_exception(0);
+    }
+    q = (num / den);
+    if (q > 0xffff)
+        raise_exception(0);
+    q &= 0xffff;
+    r = (num % den) & 0xffff;
+    (env->regs[0]) = ((env->regs[0]) & ~0xffff) | q;
+    (env->regs[2]) = ((env->regs[2]) & ~0xffff) | r;
+}
+
+void helper_idivw_AX(target_ulong t0)
+{
+    int num, den, q, r;
+
+    num = ((env->regs[0]) & 0xffff) | (((env->regs[2]) & 0xffff) << 16);
+    den = (int16_t)t0;
+    if (den == 0) {
+        raise_exception(0);
+    }
+    q = (num / den);
+    if (q != (int16_t)q)
+        raise_exception(0);
+    q &= 0xffff;
+    r = (num % den) & 0xffff;
+    (env->regs[0]) = ((env->regs[0]) & ~0xffff) | q;
+    (env->regs[2]) = ((env->regs[2]) & ~0xffff) | r;
+}
+
+void helper_divl_EAX(target_ulong t0)
+{
+    unsigned int den, r;
+    uint64_t num, q;
+
+    num = ((uint32_t)(env->regs[0])) | ((uint64_t)((uint32_t)(env->regs[2])) << 32);
+    den = t0;
+    if (den == 0) {
+        raise_exception(0);
+    }
+    q = (num / den);
+    r = (num % den);
+    if (q > 0xffffffff)
+        raise_exception(0);
+    (env->regs[0]) = (uint32_t)q;
+    (env->regs[2]) = (uint32_t)r;
+}
+
+void helper_idivl_EAX(target_ulong t0)
+{
+    int den, r;
+    int64_t num, q;
+
+    num = ((uint32_t)(env->regs[0])) | ((uint64_t)((uint32_t)(env->regs[2])) << 32);
+    den = t0;
+    if (den == 0) {
+        raise_exception(0);
+    }
+    q = (num / den);
+    r = (num % den);
+    if (q != (int32_t)q)
+        raise_exception(0);
+    (env->regs[0]) = (uint32_t)q;
+    (env->regs[2]) = (uint32_t)r;
+}
+
+
+
+
+void helper_aam(int base)
+{
+    int al, ah;
+    al = (env->regs[0]) & 0xff;
+    ah = al / base;
+    al = al % base;
+    (env->regs[0]) = ((env->regs[0]) & ~0xffff) | al | (ah << 8);
+    (env->cc_dst) = al;
+}
+
+void helper_aad(int base)
+{
+    int al, ah;
+    al = (env->regs[0]) & 0xff;
+    ah = ((env->regs[0]) >> 8) & 0xff;
+    al = ((ah * base) + al) & 0xff;
+    (env->regs[0]) = ((env->regs[0]) & ~0xffff) | al;
+    (env->cc_dst) = al;
+}
+
+void helper_aaa(void)
+{
+    int icarry;
+    int al, ah, af;
+    int eflags;
+
+    eflags = helper_cc_compute_all((env->cc_op));
+    af = eflags & 0x0010;
+    al = (env->regs[0]) & 0xff;
+    ah = ((env->regs[0]) >> 8) & 0xff;
+
+    icarry = (al > 0xf9);
+    if (((al & 0x0f) > 9 ) || af) {
+        al = (al + 6) & 0x0f;
+        ah = (ah + 1 + icarry) & 0xff;
+        eflags |= 0x0001 | 0x0010;
+    } else {
+        eflags &= ~(0x0001 | 0x0010);
+        al &= 0x0f;
+    }
+    (env->regs[0]) = ((env->regs[0]) & ~0xffff) | al | (ah << 8);
+    (env->cc_src) = eflags;
+}
+
+void helper_aas(void)
+{
+    int icarry;
+    int al, ah, af;
+    int eflags;
+
+    eflags = helper_cc_compute_all((env->cc_op));
+    af = eflags & 0x0010;
+    al = (env->regs[0]) & 0xff;
+    ah = ((env->regs[0]) >> 8) & 0xff;
+
+    icarry = (al < 6);
+    if (((al & 0x0f) > 9 ) || af) {
+        al = (al - 6) & 0x0f;
+        ah = (ah - 1 - icarry) & 0xff;
+        eflags |= 0x0001 | 0x0010;
+    } else {
+        eflags &= ~(0x0001 | 0x0010);
+        al &= 0x0f;
+    }
+    (env->regs[0]) = ((env->regs[0]) & ~0xffff) | al | (ah << 8);
+    (env->cc_src) = eflags;
+}
+
+void helper_daa(void)
+{
+    int old_al, al, af, cf;
+    int eflags;
+
+    eflags = helper_cc_compute_all((env->cc_op));
+    cf = eflags & 0x0001;
+    af = eflags & 0x0010;
+    old_al = al = (env->regs[0]) & 0xff;
+
+    eflags = 0;
+    if (((al & 0x0f) > 9 ) || af) {
+        al = (al + 6) & 0xff;
+        eflags |= 0x0010;
+    }
+    if ((old_al > 0x99) || cf) {
+        al = (al + 0x60) & 0xff;
+        eflags |= 0x0001;
+    }
+    (env->regs[0]) = ((env->regs[0]) & ~0xff) | al;
+
+    eflags |= (al == 0) << 6;
+    eflags |= parity_table[al];
+    eflags |= (al & 0x80);
+    (env->cc_src) = eflags;
+}
+
+void helper_das(void)
+{
+    int al, al1, af, cf;
+    int eflags;
+
+    eflags = helper_cc_compute_all((env->cc_op));
+    cf = eflags & 0x0001;
+    af = eflags & 0x0010;
+    al = (env->regs[0]) & 0xff;
+
+    eflags = 0;
+    al1 = al;
+    if (((al & 0x0f) > 9 ) || af) {
+        eflags |= 0x0010;
+        if (al < 6 || cf)
+            eflags |= 0x0001;
+        al = (al - 6) & 0xff;
+    }
+    if ((al1 > 0x99) || cf) {
+        al = (al - 0x60) & 0xff;
+        eflags |= 0x0001;
+    }
+    (env->regs[0]) = ((env->regs[0]) & ~0xff) | al;
+
+    eflags |= (al == 0) << 6;
+    eflags |= parity_table[al];
+    eflags |= (al & 0x80);
+    (env->cc_src) = eflags;
+}
+
+void helper_into(int next_eip_addend)
+{
+    int eflags;
+    eflags = helper_cc_compute_all((env->cc_op));
+    if (eflags & 0x0800) {
+        raise_interrupt(4, 1, 0, next_eip_addend);
+    }
+}
+
+void helper_cmpxchg8b(target_ulong a0)
+{
+    uint64_t d;
+    int eflags;
+
+    eflags = helper_cc_compute_all((env->cc_op));
+    d = ldq_data(a0);
+    if (d == (((uint64_t)(env->regs[2]) << 32) | (uint32_t)(env->regs[0]))) {
+        stq_data(a0, ((uint64_t)(env->regs[1]) << 32) | (uint32_t)(env->regs[3]));
+        eflags |= 0x0040;
+    } else {
+
+        stq_data(a0, d);
+        (env->regs[2]) = (uint32_t)(d >> 32);
+        (env->regs[0]) = (uint32_t)d;
+        eflags &= ~0x0040;
+    }
+    (env->cc_src) = eflags;
+}
+# 2083 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+void helper_single_step(void)
+{
+
+    check_hw_breakpoints(env, 1);
+    env->dr[6] |= (1 << 14);
+
+    raise_exception(1);
+}
+
+void helper_cpuid(void)
+{
+    uint32_t eax, ebx, ecx, edx;
+
+    helper_svm_check_intercept_param(0x072, 0);
+
+    cpu_x86_cpuid(env, (uint32_t)(env->regs[0]), (uint32_t)(env->regs[1]), &eax, &ebx, &ecx, &edx);
+    (env->regs[0]) = eax;
+    (env->regs[3]) = ebx;
+    (env->regs[1]) = ecx;
+    (env->regs[2]) = edx;
+}
+
+void helper_enter_level(int level, int data32, target_ulong t1)
+{
+    target_ulong ssp;
+    uint32_t esp_mask, esp, ebp;
+
+    esp_mask = get_sp_mask(env->segs[2].flags);
+    ssp = env->segs[2].base;
+    ebp = (env->regs[5]);
+    esp = (env->regs[4]);
+    if (data32) {
+
+        esp -= 4;
+        while (--level) {
+            esp -= 4;
+            ebp -= 4;
+            stl_data(ssp + (esp & esp_mask), ldl_data(ssp + (ebp & esp_mask)));
+        }
+        esp -= 4;
+        stl_data(ssp + (esp & esp_mask), t1);
+    } else {
+
+        esp -= 2;
+        while (--level) {
+            esp -= 2;
+            ebp -= 2;
+            stw_data(ssp + (esp & esp_mask), lduw_data(ssp + (ebp & esp_mask)));
+        }
+        esp -= 2;
+        stw_data(ssp + (esp & esp_mask), t1);
+    }
+}
+# 2168 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+void helper_lldt(int selector)
+{
+    SegmentCache *dt;
+    uint32_t e1, e2;
+    int index, entry_limit;
+    target_ulong ptr;
+
+    selector &= 0xffff;
+    if ((selector & 0xfffc) == 0) {
+
+        env->ldt.base = 0;
+        env->ldt.limit = 0;
+    } else {
+        if (selector & 0x4)
+            raise_exception_err(13, selector & 0xfffc);
+        dt = &env->gdt;
+        index = selector & ~7;
+
+
+
+
+
+            entry_limit = 7;
+        if ((index + entry_limit) > dt->limit)
+            raise_exception_err(13, selector & 0xfffc);
+        ptr = dt->base + index;
+        e1 = ldl_kernel(ptr);
+        e2 = ldl_kernel(ptr + 4);
+        if ((e2 & (1 << 12)) || ((e2 >> 8) & 0xf) != 2)
+            raise_exception_err(13, selector & 0xfffc);
+        if (!(e2 & (1 << 15)))
+            raise_exception_err(11, selector & 0xfffc);
+# 2208 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+        {
+            load_seg_cache_raw_dt(&env->ldt, e1, e2);
+        }
+    }
+    env->ldt.selector = selector;
+}
+
+void helper_ltr(int selector)
+{
+    SegmentCache *dt;
+    uint32_t e1, e2;
+    int index, type, entry_limit;
+    target_ulong ptr;
+
+    selector &= 0xffff;
+    if ((selector & 0xfffc) == 0) {
+
+        env->tr.base = 0;
+        env->tr.limit = 0;
+        env->tr.flags = 0;
+    } else {
+        if (selector & 0x4)
+            raise_exception_err(13, selector & 0xfffc);
+        dt = &env->gdt;
+        index = selector & ~7;
+
+
+
+
+
+            entry_limit = 7;
+        if ((index + entry_limit) > dt->limit)
+            raise_exception_err(13, selector & 0xfffc);
+        ptr = dt->base + index;
+        e1 = ldl_kernel(ptr);
+        e2 = ldl_kernel(ptr + 4);
+        type = (e2 >> 8) & 0xf;
+        if ((e2 & (1 << 12)) ||
+            (type != 1 && type != 9))
+            raise_exception_err(13, selector & 0xfffc);
+        if (!(e2 & (1 << 15)))
+            raise_exception_err(11, selector & 0xfffc);
+# 2261 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+        {
+            load_seg_cache_raw_dt(&env->tr, e1, e2);
+        }
+        e2 |= (1 << 9);
+        stl_kernel(ptr + 4, e2);
+    }
+    env->tr.selector = selector;
+}
+
+
+void helper_load_seg(int seg_reg, int selector)
+{
+    uint32_t e1, e2;
+    int cpl, dpl, rpl;
+    SegmentCache *dt;
+    int index;
+    target_ulong ptr;
+
+    selector &= 0xffff;
+    cpl = env->hflags & (3 << 0);
+    if ((selector & 0xfffc) == 0) {
+
+        if (seg_reg == 2
+
+
+
+            )
+            raise_exception_err(13, 0);
+        cpu_x86_load_seg_cache(env, seg_reg, selector, 0, 0, 0);
+    } else {
+
+        if (selector & 0x4)
+            dt = &env->ldt;
+        else
+            dt = &env->gdt;
+        index = selector & ~7;
+        if ((index + 7) > dt->limit)
+            raise_exception_err(13, selector & 0xfffc);
+        ptr = dt->base + index;
+        e1 = ldl_kernel(ptr);
+        e2 = ldl_kernel(ptr + 4);
+
+        if (!(e2 & (1 << 12)))
+            raise_exception_err(13, selector & 0xfffc);
+        rpl = selector & 3;
+        dpl = (e2 >> 13) & 3;
+        if (seg_reg == 2) {
+
+            if ((e2 & (1 << 11)) || !(e2 & (1 << 9)))
+                raise_exception_err(13, selector & 0xfffc);
+            if (rpl != cpl || dpl != cpl)
+                raise_exception_err(13, selector & 0xfffc);
+        } else {
+
+            if ((e2 & ((1 << 11) | (1 << 9))) == (1 << 11))
+                raise_exception_err(13, selector & 0xfffc);
+
+            if (!(e2 & (1 << 11)) || !(e2 & (1 << 10))) {
+
+                if (dpl < cpl || dpl < rpl)
+                    raise_exception_err(13, selector & 0xfffc);
+            }
+        }
+
+        if (!(e2 & (1 << 15))) {
+            if (seg_reg == 2)
+                raise_exception_err(12, selector & 0xfffc);
+            else
+                raise_exception_err(11, selector & 0xfffc);
+        }
+
+
+        if (!(e2 & (1 << 8))) {
+            e2 |= (1 << 8);
+            stl_kernel(ptr + 4, e2);
+        }
+
+        cpu_x86_load_seg_cache(env, seg_reg, selector,
+                       get_seg_base(e1, e2),
+                       get_seg_limit(e1, e2),
+                       e2);
+
+
+
+
+    }
+}
+
+
+void helper_ljmp_protected(int new_cs, target_ulong new_eip,
+                           int next_eip_addend)
+{
+    int gate_cs, type;
+    uint32_t e1, e2, cpl, dpl, rpl, limit;
+    target_ulong next_eip;
+
+    if ((new_cs & 0xfffc) == 0)
+        raise_exception_err(13, 0);
+    if (load_segment(&e1, &e2, new_cs) != 0)
+        raise_exception_err(13, new_cs & 0xfffc);
+    cpl = env->hflags & (3 << 0);
+    if (e2 & (1 << 12)) {
+        if (!(e2 & (1 << 11)))
+            raise_exception_err(13, new_cs & 0xfffc);
+        dpl = (e2 >> 13) & 3;
+        if (e2 & (1 << 10)) {
+
+            if (dpl > cpl)
+                raise_exception_err(13, new_cs & 0xfffc);
+        } else {
+
+            rpl = new_cs & 3;
+            if (rpl > cpl)
+                raise_exception_err(13, new_cs & 0xfffc);
+            if (dpl != cpl)
+                raise_exception_err(13, new_cs & 0xfffc);
+        }
+        if (!(e2 & (1 << 15)))
+            raise_exception_err(11, new_cs & 0xfffc);
+        limit = get_seg_limit(e1, e2);
+        if (new_eip > limit &&
+            !(env->hflags & (1 << 14)) && !(e2 & (1 << 21)))
+            raise_exception_err(13, new_cs & 0xfffc);
+        cpu_x86_load_seg_cache(env, 1, (new_cs & 0xfffc) | cpl,
+                       get_seg_base(e1, e2), limit, e2);
+        (env->eip) = new_eip;
+    } else {
+
+        dpl = (e2 >> 13) & 3;
+        rpl = new_cs & 3;
+        cpl = env->hflags & (3 << 0);
+        type = (e2 >> 8) & 0xf;
+        switch(type) {
+        case 1:
+        case 9:
+        case 5:
+            if (dpl < cpl || dpl < rpl)
+                raise_exception_err(13, new_cs & 0xfffc);
+            next_eip = env->eip + next_eip_addend;
+            switch_tss(new_cs, e1, e2, 0, next_eip);
+            (env->cc_op) = CC_OP_EFLAGS;
+            break;
+        case 4:
+        case 12:
+            if ((dpl < cpl) || (dpl < rpl))
+                raise_exception_err(13, new_cs & 0xfffc);
+            if (!(e2 & (1 << 15)))
+                raise_exception_err(11, new_cs & 0xfffc);
+            gate_cs = e1 >> 16;
+            new_eip = (e1 & 0xffff);
+            if (type == 12)
+                new_eip |= (e2 & 0xffff0000);
+            if (load_segment(&e1, &e2, gate_cs) != 0)
+                raise_exception_err(13, gate_cs & 0xfffc);
+            dpl = (e2 >> 13) & 3;
+
+            if (((e2 & ((1 << 12) | (1 << 11))) !=
+                 ((1 << 12) | (1 << 11))))
+                raise_exception_err(13, gate_cs & 0xfffc);
+            if (((e2 & (1 << 10)) && (dpl > cpl)) ||
+                (!(e2 & (1 << 10)) && (dpl != cpl)))
+                raise_exception_err(13, gate_cs & 0xfffc);
+            if (!(e2 & (1 << 15)))
+                raise_exception_err(13, gate_cs & 0xfffc);
+            limit = get_seg_limit(e1, e2);
+            if (new_eip > limit)
+                raise_exception_err(13, 0);
+            cpu_x86_load_seg_cache(env, 1, (gate_cs & 0xfffc) | cpl,
+                                   get_seg_base(e1, e2), limit, e2);
+            (env->eip) = new_eip;
+            break;
+        default:
+            raise_exception_err(13, new_cs & 0xfffc);
+            break;
+        }
+    }
+}
+
+
+void helper_lcall_real(int new_cs, target_ulong new_eip1,
+                       int shift, int next_eip)
+{
+    int new_eip;
+    uint32_t esp, esp_mask;
+    target_ulong ssp;
+
+    new_eip = new_eip1;
+    esp = (env->regs[4]);
+    esp_mask = get_sp_mask(env->segs[2].flags);
+    ssp = env->segs[2].base;
+    if (shift) {
+        { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (esp_mask)))), (uint32_t)(env->segs[1].selector));};
+        { esp -= 4; stl_kernel(((uint32_t)((ssp) + (esp & (esp_mask)))), (uint32_t)(next_eip));};
+    } else {
+        { esp -= 2; stw_kernel((ssp) + (esp & (esp_mask)), (env->segs[1].selector));};
+        { esp -= 2; stw_kernel((ssp) + (esp & (esp_mask)), (next_eip));};
+    }
+
+    (env->regs[4]) = ((env->regs[4]) & ~(esp_mask)) | ((esp) & (esp_mask));
+    env->eip = new_eip;
+    env->segs[1].selector = new_cs;
+    env->segs[1].base = (new_cs << 4);
+}
+
+
+void helper_lcall_protected(int new_cs, target_ulong new_eip,
+                            int shift, int next_eip_addend)
+{
+    int new_stack, i;
+    uint32_t e1, e2, cpl, dpl, rpl, selector, offset, param_count;
+    uint32_t ss = 0, ss_e1 = 0, ss_e2 = 0, sp, type, ss_dpl, sp_mask;
+    uint32_t val, limit, old_sp_mask;
+    target_ulong ssp, old_ssp, next_eip;
+
+    next_eip = env->eip + next_eip_addend;
+    do { } while (0);
+    do { } while (0);
+    if ((new_cs & 0xfffc) == 0)
+        raise_exception_err(13, 0);
+    if (load_segment(&e1, &e2, new_cs) != 0)
+        raise_exception_err(13, new_cs & 0xfffc);
+    cpl = env->hflags & (3 << 0);
+    do { } while (0);
+    if (e2 & (1 << 12)) {
+        if (!(e2 & (1 << 11)))
+            raise_exception_err(13, new_cs & 0xfffc);
+        dpl = (e2 >> 13) & 3;
+        if (e2 & (1 << 10)) {
+
+            if (dpl > cpl)
+                raise_exception_err(13, new_cs & 0xfffc);
+        } else {
+
+            rpl = new_cs & 3;
+            if (rpl > cpl)
+                raise_exception_err(13, new_cs & 0xfffc);
+            if (dpl != cpl)
+                raise_exception_err(13, new_cs & 0xfffc);
+        }
+        if (!(e2 & (1 << 15)))
+            raise_exception_err(11, new_cs & 0xfffc);
+# 2519 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+        {
+            sp = (env->regs[4]);
+            sp_mask = get_sp_mask(env->segs[2].flags);
+            ssp = env->segs[2].base;
+            if (shift) {
+                { sp -= 4; stl_kernel(((uint32_t)((ssp) + (sp & (sp_mask)))), (uint32_t)(env->segs[1].selector));};
+                { sp -= 4; stl_kernel(((uint32_t)((ssp) + (sp & (sp_mask)))), (uint32_t)(next_eip));};
+            } else {
+                { sp -= 2; stw_kernel((ssp) + (sp & (sp_mask)), (env->segs[1].selector));};
+                { sp -= 2; stw_kernel((ssp) + (sp & (sp_mask)), (next_eip));};
+            }
+
+            limit = get_seg_limit(e1, e2);
+            if (new_eip > limit)
+                raise_exception_err(13, new_cs & 0xfffc);
+
+            (env->regs[4]) = ((env->regs[4]) & ~(sp_mask)) | ((sp) & (sp_mask));
+            cpu_x86_load_seg_cache(env, 1, (new_cs & 0xfffc) | cpl,
+                                   get_seg_base(e1, e2), limit, e2);
+            (env->eip) = new_eip;
+        }
+    } else {
+
+        type = (e2 >> 8) & 0x1f;
+        dpl = (e2 >> 13) & 3;
+        rpl = new_cs & 3;
+        switch(type) {
+        case 1:
+        case 9:
+        case 5:
+            if (dpl < cpl || dpl < rpl)
+                raise_exception_err(13, new_cs & 0xfffc);
+            switch_tss(new_cs, e1, e2, 2, next_eip);
+            (env->cc_op) = CC_OP_EFLAGS;
+            return;
+        case 4:
+        case 12:
+            break;
+        default:
+            raise_exception_err(13, new_cs & 0xfffc);
+            break;
+        }
+        shift = type >> 3;
+
+        if (dpl < cpl || dpl < rpl)
+            raise_exception_err(13, new_cs & 0xfffc);
+
+        if (!(e2 & (1 << 15)))
+            raise_exception_err(11, new_cs & 0xfffc);
+        selector = e1 >> 16;
+        offset = (e2 & 0xffff0000) | (e1 & 0x0000ffff);
+        param_count = e2 & 0x1f;
+        if ((selector & 0xfffc) == 0)
+            raise_exception_err(13, 0);
+
+        if (load_segment(&e1, &e2, selector) != 0)
+            raise_exception_err(13, selector & 0xfffc);
+        if (!(e2 & (1 << 12)) || !(e2 & ((1 << 11))))
+            raise_exception_err(13, selector & 0xfffc);
+        dpl = (e2 >> 13) & 3;
+        if (dpl > cpl)
+            raise_exception_err(13, selector & 0xfffc);
+        if (!(e2 & (1 << 15)))
+            raise_exception_err(11, selector & 0xfffc);
+
+        if (!(e2 & (1 << 10)) && dpl < cpl) {
+
+            get_ss_esp_from_tss(&ss, &sp, dpl);
+            do { } while (0)
+                                                 ;
+            if ((ss & 0xfffc) == 0)
+                raise_exception_err(10, ss & 0xfffc);
+            if ((ss & 3) != dpl)
+                raise_exception_err(10, ss & 0xfffc);
+            if (load_segment(&ss_e1, &ss_e2, ss) != 0)
+                raise_exception_err(10, ss & 0xfffc);
+            ss_dpl = (ss_e2 >> 13) & 3;
+            if (ss_dpl != dpl)
+                raise_exception_err(10, ss & 0xfffc);
+            if (!(ss_e2 & (1 << 12)) ||
+                (ss_e2 & (1 << 11)) ||
+                !(ss_e2 & (1 << 9)))
+                raise_exception_err(10, ss & 0xfffc);
+            if (!(ss_e2 & (1 << 15)))
+                raise_exception_err(10, ss & 0xfffc);
+
+
+
+            old_sp_mask = get_sp_mask(env->segs[2].flags);
+            old_ssp = env->segs[2].base;
+
+            sp_mask = get_sp_mask(ss_e2);
+            ssp = get_seg_base(ss_e1, ss_e2);
+            if (shift) {
+                { sp -= 4; stl_kernel(((uint32_t)((ssp) + (sp & (sp_mask)))), (uint32_t)(env->segs[2].selector));};
+                { sp -= 4; stl_kernel(((uint32_t)((ssp) + (sp & (sp_mask)))), (uint32_t)((env->regs[4])));};
+                for(i = param_count - 1; i >= 0; i--) {
+                    val = ldl_kernel(old_ssp + (((env->regs[4]) + i * 4) & old_sp_mask));
+                    { sp -= 4; stl_kernel(((uint32_t)((ssp) + (sp & (sp_mask)))), (uint32_t)(val));};
+                }
+            } else {
+                { sp -= 2; stw_kernel((ssp) + (sp & (sp_mask)), (env->segs[2].selector));};
+                { sp -= 2; stw_kernel((ssp) + (sp & (sp_mask)), ((env->regs[4])));};
+                for(i = param_count - 1; i >= 0; i--) {
+                    val = lduw_kernel(old_ssp + (((env->regs[4]) + i * 2) & old_sp_mask));
+                    { sp -= 2; stw_kernel((ssp) + (sp & (sp_mask)), (val));};
+                }
+            }
+            new_stack = 1;
+        } else {
+
+            sp = (env->regs[4]);
+            sp_mask = get_sp_mask(env->segs[2].flags);
+            ssp = env->segs[2].base;
+
+            new_stack = 0;
+        }
+
+        if (shift) {
+            { sp -= 4; stl_kernel(((uint32_t)((ssp) + (sp & (sp_mask)))), (uint32_t)(env->segs[1].selector));};
+            { sp -= 4; stl_kernel(((uint32_t)((ssp) + (sp & (sp_mask)))), (uint32_t)(next_eip));};
+        } else {
+            { sp -= 2; stw_kernel((ssp) + (sp & (sp_mask)), (env->segs[1].selector));};
+            { sp -= 2; stw_kernel((ssp) + (sp & (sp_mask)), (next_eip));};
+        }
+
+
+
+        if (new_stack) {
+            ss = (ss & ~3) | dpl;
+            cpu_x86_load_seg_cache(env, 2, ss,
+                                   ssp,
+                                   get_seg_limit(ss_e1, ss_e2),
+                                   ss_e2);
+        }
+
+        selector = (selector & ~3) | dpl;
+        cpu_x86_load_seg_cache(env, 1, selector,
+                       get_seg_base(e1, e2),
+                       get_seg_limit(e1, e2),
+                       e2);
+        cpu_x86_set_cpl(env, dpl);
+        (env->regs[4]) = ((env->regs[4]) & ~(sp_mask)) | ((sp) & (sp_mask));
+        (env->eip) = offset;
+    }
+}
+
+
+void helper_iret_real(int shift)
+{
+    uint32_t sp, new_cs, new_eip, new_eflags, sp_mask;
+    target_ulong ssp;
+    int eflags_mask;
+
+    sp_mask = 0xffff;
+    sp = (env->regs[4]);
+    ssp = env->segs[2].base;
+    if (shift == 1) {
+
+        { new_eip = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+        { new_cs = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+        new_cs &= 0xffff;
+        { new_eflags = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+    } else {
+
+        { new_eip = lduw_kernel((ssp) + (sp & (sp_mask))); sp += 2;};
+        { new_cs = lduw_kernel((ssp) + (sp & (sp_mask))); sp += 2;};
+        { new_eflags = lduw_kernel((ssp) + (sp & (sp_mask))); sp += 2;};
+    }
+    (env->regs[4]) = ((env->regs[4]) & ~sp_mask) | (sp & sp_mask);
+    env->segs[1].selector = new_cs;
+    env->segs[1].base = (new_cs << 4);
+    env->eip = new_eip;
+    if (env->eflags & 0x00020000)
+        eflags_mask = 0x00000100 | 0x00040000 | 0x00200000 | 0x00000200 | 0x00010000 | 0x00004000;
+    else
+        eflags_mask = 0x00000100 | 0x00040000 | 0x00200000 | 0x00000200 | 0x00003000 | 0x00010000 | 0x00004000;
+    if (shift == 0)
+        eflags_mask &= 0xffff;
+    load_eflags(new_eflags, eflags_mask);
+    env->hflags2 &= ~(1 << 2);
+}
+
+static __attribute__ (( always_inline )) __inline__ void validate_seg(int seg_reg, int cpl)
+{
+    int dpl;
+    uint32_t e2;
+
+
+
+
+    if ((seg_reg == 4 || seg_reg == 5) &&
+        (env->segs[seg_reg].selector & 0xfffc) == 0)
+        return;
+
+    e2 = env->segs[seg_reg].flags;
+    dpl = (e2 >> 13) & 3;
+    if (!(e2 & (1 << 11)) || !(e2 & (1 << 10))) {
+
+        if (dpl < cpl) {
+            cpu_x86_load_seg_cache(env, seg_reg, 0, 0, 0, 0);
+        }
+    }
+}
+
+
+static __attribute__ (( always_inline )) __inline__ void helper_ret_protected(int shift, int is_iret, int addend)
+{
+    uint32_t new_cs, new_eflags, new_ss;
+    uint32_t new_es, new_ds, new_fs, new_gs;
+    uint32_t e1, e2, ss_e1, ss_e2;
+    int cpl, dpl, rpl, eflags_mask, iopl;
+    target_ulong ssp, sp, new_eip, new_esp, sp_mask;
+
+
+
+
+
+
+        sp_mask = get_sp_mask(env->segs[2].flags);
+    sp = (env->regs[4]);
+    ssp = env->segs[2].base;
+    new_eflags = 0;
+# 2752 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    if (shift == 1) {
+
+        { new_eip = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+        { new_cs = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+        new_cs &= 0xffff;
+        if (is_iret) {
+            { new_eflags = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+            if (new_eflags & 0x00020000)
+                goto return_to_vm86;
+        }
+    } else {
+
+        { new_eip = lduw_kernel((ssp) + (sp & (sp_mask))); sp += 2;};
+        { new_cs = lduw_kernel((ssp) + (sp & (sp_mask))); sp += 2;};
+        if (is_iret)
+            { new_eflags = lduw_kernel((ssp) + (sp & (sp_mask))); sp += 2;};
+    }
+    do { } while (0)
+                                             ;
+    do { } while (0);
+    if ((new_cs & 0xfffc) == 0)
+        raise_exception_err(13, new_cs & 0xfffc);
+    if (load_segment(&e1, &e2, new_cs) != 0)
+        raise_exception_err(13, new_cs & 0xfffc);
+    if (!(e2 & (1 << 12)) ||
+        !(e2 & (1 << 11)))
+        raise_exception_err(13, new_cs & 0xfffc);
+    cpl = env->hflags & (3 << 0);
+    rpl = new_cs & 3;
+    if (rpl < cpl)
+        raise_exception_err(13, new_cs & 0xfffc);
+    dpl = (e2 >> 13) & 3;
+    if (e2 & (1 << 10)) {
+        if (dpl > rpl)
+            raise_exception_err(13, new_cs & 0xfffc);
+    } else {
+        if (dpl != rpl)
+            raise_exception_err(13, new_cs & 0xfffc);
+    }
+    if (!(e2 & (1 << 15)))
+        raise_exception_err(11, new_cs & 0xfffc);
+
+    sp += addend;
+    if (rpl == cpl && (!(env->hflags & (1 << 15)) ||
+                       ((env->hflags & (1 << 15)) && !is_iret))) {
+
+        cpu_x86_load_seg_cache(env, 1, new_cs,
+                       get_seg_base(e1, e2),
+                       get_seg_limit(e1, e2),
+                       e2);
+    } else {
+# 2811 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+        if (shift == 1) {
+
+            { new_esp = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+            { new_ss = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+            new_ss &= 0xffff;
+        } else {
+
+            { new_esp = lduw_kernel((ssp) + (sp & (sp_mask))); sp += 2;};
+            { new_ss = lduw_kernel((ssp) + (sp & (sp_mask))); sp += 2;};
+        }
+        do { } while (0)
+                                    ;
+        if ((new_ss & 0xfffc) == 0) {
+# 2836 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+            {
+                raise_exception_err(13, 0);
+            }
+        } else {
+            if ((new_ss & 3) != rpl)
+                raise_exception_err(13, new_ss & 0xfffc);
+            if (load_segment(&ss_e1, &ss_e2, new_ss) != 0)
+                raise_exception_err(13, new_ss & 0xfffc);
+            if (!(ss_e2 & (1 << 12)) ||
+                (ss_e2 & (1 << 11)) ||
+                !(ss_e2 & (1 << 9)))
+                raise_exception_err(13, new_ss & 0xfffc);
+            dpl = (ss_e2 >> 13) & 3;
+            if (dpl != rpl)
+                raise_exception_err(13, new_ss & 0xfffc);
+            if (!(ss_e2 & (1 << 15)))
+                raise_exception_err(11, new_ss & 0xfffc);
+            cpu_x86_load_seg_cache(env, 2, new_ss,
+                                   get_seg_base(ss_e1, ss_e2),
+                                   get_seg_limit(ss_e1, ss_e2),
+                                   ss_e2);
+        }
+
+        cpu_x86_load_seg_cache(env, 1, new_cs,
+                       get_seg_base(e1, e2),
+                       get_seg_limit(e1, e2),
+                       e2);
+        cpu_x86_set_cpl(env, rpl);
+        sp = new_esp;
+
+
+
+
+
+            sp_mask = get_sp_mask(ss_e2);
+
+
+        validate_seg(0, rpl);
+        validate_seg(3, rpl);
+        validate_seg(4, rpl);
+        validate_seg(5, rpl);
+
+        sp += addend;
+    }
+    (env->regs[4]) = ((env->regs[4]) & ~(sp_mask)) | ((sp) & (sp_mask));
+    env->eip = new_eip;
+    if (is_iret) {
+
+        eflags_mask = 0x00000100 | 0x00040000 | 0x00200000 | 0x00010000 | 0x00004000;
+        if (cpl == 0)
+            eflags_mask |= 0x00003000;
+        iopl = (env->eflags >> 12) & 3;
+        if (cpl <= iopl)
+            eflags_mask |= 0x00000200;
+        if (shift == 0)
+            eflags_mask &= 0xffff;
+        load_eflags(new_eflags, eflags_mask);
+    }
+    return;
+
+ return_to_vm86:
+    { new_esp = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+    { new_ss = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+    { new_es = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+    { new_ds = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+    { new_fs = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+    { new_gs = (uint32_t)ldl_kernel(((uint32_t)((ssp) + (sp & (sp_mask))))); sp += 4;};
+
+
+    load_eflags(new_eflags, 0x00000100 | 0x00040000 | 0x00200000 |
+                0x00000200 | 0x00003000 | 0x00020000 | 0x00004000 | 0x00080000 | 0x00100000);
+    load_seg_vm(1, new_cs & 0xffff);
+    cpu_x86_set_cpl(env, 3);
+    load_seg_vm(2, new_ss & 0xffff);
+    load_seg_vm(0, new_es & 0xffff);
+    load_seg_vm(3, new_ds & 0xffff);
+    load_seg_vm(4, new_fs & 0xffff);
+    load_seg_vm(5, new_gs & 0xffff);
+
+    env->eip = new_eip & 0xffff;
+    (env->regs[4]) = new_esp;
+}
+
+void helper_iret_protected(int shift, int next_eip)
+{
+    int tss_selector, type;
+    uint32_t e1, e2;
+
+
+    if (env->eflags & 0x00004000) {
+
+
+
+
+        tss_selector = lduw_kernel(env->tr.base + 0);
+        if (tss_selector & 4)
+            raise_exception_err(10, tss_selector & 0xfffc);
+        if (load_segment(&e1, &e2, tss_selector) != 0)
+            raise_exception_err(10, tss_selector & 0xfffc);
+        type = (e2 >> 8) & 0x17;
+
+        if (type != 3)
+            raise_exception_err(10, tss_selector & 0xfffc);
+        switch_tss(tss_selector, e1, e2, 1, next_eip);
+    } else {
+        helper_ret_protected(shift, 1, 0);
+    }
+    env->hflags2 &= ~(1 << 2);
+}
+
+void helper_lret_protected(int shift, int addend)
+{
+    helper_ret_protected(shift, 0, addend);
+}
+
+void helper_sysenter(void)
+{
+    if (env->sysenter_cs == 0) {
+        raise_exception_err(13, 0);
+    }
+    env->eflags &= ~(0x00020000 | 0x00000200 | 0x00010000);
+    cpu_x86_set_cpl(env, 0);
+# 2968 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    {
+        cpu_x86_load_seg_cache(env, 1, env->sysenter_cs & 0xfffc,
+                               0, 0xffffffff,
+                               (1 << 23) | (1 << 22) | (1 << 15) |
+                               (1 << 12) |
+                               (1 << 11) | (1 << 9) | (1 << 8));
+    }
+    cpu_x86_load_seg_cache(env, 2, (env->sysenter_cs + 8) & 0xfffc,
+                           0, 0xffffffff,
+                           (1 << 23) | (1 << 22) | (1 << 15) |
+                           (1 << 12) |
+                           (1 << 9) | (1 << 8));
+    (env->regs[4]) = env->sysenter_esp;
+    (env->eip) = env->sysenter_eip;
+}
+
+void helper_sysexit(int dflag)
+{
+    int cpl;
+
+    cpl = env->hflags & (3 << 0);
+    if (env->sysenter_cs == 0 || cpl != 0) {
+        raise_exception_err(13, 0);
+    }
+    cpu_x86_set_cpl(env, 3);
+# 3007 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    {
+        cpu_x86_load_seg_cache(env, 1, ((env->sysenter_cs + 16) & 0xfffc) | 3,
+                               0, 0xffffffff,
+                               (1 << 23) | (1 << 22) | (1 << 15) |
+                               (1 << 12) | (3 << 13) |
+                               (1 << 11) | (1 << 9) | (1 << 8));
+        cpu_x86_load_seg_cache(env, 2, ((env->sysenter_cs + 24) & 0xfffc) | 3,
+                               0, 0xffffffff,
+                               (1 << 23) | (1 << 22) | (1 << 15) |
+                               (1 << 12) | (3 << 13) |
+                               (1 << 9) | (1 << 8));
+    }
+    (env->regs[4]) = (env->regs[1]);
+    (env->eip) = (env->regs[2]);
+}
+# 3037 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+target_ulong helper_read_crN(int reg)
+{
+    target_ulong val;
+
+    helper_svm_check_intercept_param(0x000 + reg, 0);
+    switch(reg) {
+    default:
+        val = env->cr[reg];
+        break;
+    case 8:
+        if (!(env->hflags2 & (1 << 3))) {
+            val = cpu_get_apic_tpr(env->apic_state);
+        } else {
+            val = env->v_tpr;
+        }
+        break;
+    }
+    return val;
+}
+
+void helper_write_crN(int reg, target_ulong t0)
+{
+    helper_svm_check_intercept_param(0x010 + reg, 0);
+    switch(reg) {
+    case 0:
+        cpu_x86_update_cr0(env, t0);
+        break;
+    case 3:
+        cpu_x86_update_cr3(env, t0);
+        break;
+    case 4:
+        cpu_x86_update_cr4(env, t0);
+        break;
+    case 8:
+        if (!(env->hflags2 & (1 << 3))) {
+            cpu_set_apic_tpr(env->apic_state, t0);
+        }
+        env->v_tpr = t0 & 0x0f;
+        break;
+    default:
+        env->cr[reg] = t0;
+        break;
+    }
+}
+
+void helper_movl_drN_T0(int reg, target_ulong t0)
+{
+    int i;
+
+    if (reg < 4) {
+        hw_breakpoint_remove(env, reg);
+        env->dr[reg] = t0;
+        hw_breakpoint_insert(env, reg);
+    } else if (reg == 7) {
+        for (i = 0; i < 4; i++)
+            hw_breakpoint_remove(env, i);
+        env->dr[7] = t0;
+        for (i = 0; i < 4; i++)
+            hw_breakpoint_insert(env, i);
+    } else
+        env->dr[reg] = t0;
+}
+
+
+void helper_lmsw(target_ulong t0)
+{
+
+
+    t0 = (env->cr[0] & ~0xe) | (t0 & 0xf);
+    helper_write_crN(0, t0);
+}
+
+void helper_clts(void)
+{
+    env->cr[0] &= ~(1 << 3);
+    env->hflags &= ~(1 << 11);
+}
+
+void helper_invlpg(target_ulong addr)
+{
+    helper_svm_check_intercept_param(0x079, 0);
+    tlb_flush_page(env, addr);
+}
+
+void helper_rdtsc(void)
+{
+    uint64_t val;
+
+    if ((env->cr[4] & (1 << 2)) && ((env->hflags & (3 << 0)) != 0)) {
+        raise_exception(13);
+    }
+    helper_svm_check_intercept_param(0x06e, 0);
+
+    val = cpu_get_tsc(env) + env->tsc_offset;
+    (env->regs[0]) = (uint32_t)(val);
+    (env->regs[2]) = (uint32_t)(val >> 32);
+}
+
+void helper_rdtscp(void)
+{
+    helper_rdtsc();
+    (env->regs[1]) = (uint32_t)(env->tsc_aux);
+}
+
+void helper_rdpmc(void)
+{
+    if ((env->cr[4] & (1 << 8)) && ((env->hflags & (3 << 0)) != 0)) {
+        raise_exception(13);
+    }
+    helper_svm_check_intercept_param(0x06f, 0);
+
+
+    raise_exception_err(6, 0);
+}
+# 3161 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+void helper_wrmsr(void)
+{
+    uint64_t val;
+
+    helper_svm_check_intercept_param(0x07c, 1);
+
+    val = ((uint32_t)(env->regs[0])) | ((uint64_t)((uint32_t)(env->regs[2])) << 32);
+
+    switch((uint32_t)(env->regs[1])) {
+    case 0x174:
+        env->sysenter_cs = val & 0xffff;
+        break;
+    case 0x175:
+        env->sysenter_esp = val;
+        break;
+    case 0x176:
+        env->sysenter_eip = val;
+        break;
+    case 0x1b:
+        cpu_set_apic_base(env->apic_state, val);
+        break;
+    case 0xc0000080:
+        {
+            uint64_t update_mask;
+            update_mask = 0;
+            if (env->cpuid_ext2_features & (1 << 11))
+                update_mask |= (1 << 0);
+            if (env->cpuid_ext2_features & (1 << 29))
+                update_mask |= (1 << 8);
+            if (env->cpuid_ext2_features & (1 << 25))
+                update_mask |= (1 << 14);
+            if (env->cpuid_ext2_features & (1 << 20))
+                update_mask |= (1 << 11);
+            if (env->cpuid_ext3_features & (1 << 2))
+                update_mask |= (1 << 12);
+            if (env->cpuid_ext2_features & (1 << 25))
+                update_mask |= (1 << 14);
+            cpu_load_efer(env, (env->efer & ~update_mask) |
+                          (val & update_mask));
+        }
+        break;
+    case 0xc0000081:
+        env->star = val;
+        break;
+    case 0x277:
+        env->pat = val;
+        break;
+    case 0xc0010117:
+        env->vm_hsave = val;
+        break;
+# 3231 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    case (0x200 + 2 * (0)):
+    case (0x200 + 2 * (1)):
+    case (0x200 + 2 * (2)):
+    case (0x200 + 2 * (3)):
+    case (0x200 + 2 * (4)):
+    case (0x200 + 2 * (5)):
+    case (0x200 + 2 * (6)):
+    case (0x200 + 2 * (7)):
+        env->mtrr_var[((uint32_t)(env->regs[1]) - (0x200 + 2 * (0))) / 2].base = val;
+        break;
+    case (0x200 + 2 * (0) + 1):
+    case (0x200 + 2 * (1) + 1):
+    case (0x200 + 2 * (2) + 1):
+    case (0x200 + 2 * (3) + 1):
+    case (0x200 + 2 * (4) + 1):
+    case (0x200 + 2 * (5) + 1):
+    case (0x200 + 2 * (6) + 1):
+    case (0x200 + 2 * (7) + 1):
+        env->mtrr_var[((uint32_t)(env->regs[1]) - (0x200 + 2 * (0) + 1)) / 2].mask = val;
+        break;
+    case 0x250:
+        env->mtrr_fixed[(uint32_t)(env->regs[1]) - 0x250] = val;
+        break;
+    case 0x258:
+    case 0x259:
+        env->mtrr_fixed[(uint32_t)(env->regs[1]) - 0x258 + 1] = val;
+        break;
+    case 0x268:
+    case 0x269:
+    case 0x26a:
+    case 0x26b:
+    case 0x26c:
+    case 0x26d:
+    case 0x26e:
+    case 0x26f:
+        env->mtrr_fixed[(uint32_t)(env->regs[1]) - 0x268 + 3] = val;
+        break;
+    case 0x2ff:
+        env->mtrr_deftype = val;
+        break;
+    case 0x17a:
+        env->mcg_status = val;
+        break;
+    case 0x17b:
+        if ((env->mcg_cap & (1ULL<<8))
+            && (val == 0 || val == ~(uint64_t)0))
+            env->mcg_ctl = val;
+        break;
+    case 0xc0000103:
+        env->tsc_aux = val;
+        break;
+    case 0x1a0:
+        env->msr_ia32_misc_enable = val;
+        break;
+    default:
+        if ((uint32_t)(env->regs[1]) >= 0x400
+            && (uint32_t)(env->regs[1]) < 0x400 + (4 * env->mcg_cap & 0xff)) {
+            uint32_t offset = (uint32_t)(env->regs[1]) - 0x400;
+            if ((offset & 0x3) != 0
+                || (val == 0 || val == ~(uint64_t)0))
+                env->mce_banks[offset] = val;
+            break;
+        }
+
+        break;
+    }
+}
+
+void helper_rdmsr(void)
+{
+    uint64_t val;
+
+    helper_svm_check_intercept_param(0x07c, 0);
+
+    switch((uint32_t)(env->regs[1])) {
+    case 0x174:
+        val = env->sysenter_cs;
+        break;
+    case 0x175:
+        val = env->sysenter_esp;
+        break;
+    case 0x176:
+        val = env->sysenter_eip;
+        break;
+    case 0x1b:
+        val = cpu_get_apic_base(env->apic_state);
+        break;
+    case 0xc0000080:
+        val = env->efer;
+        break;
+    case 0xc0000081:
+        val = env->star;
+        break;
+    case 0x277:
+        val = env->pat;
+        break;
+    case 0xc0010117:
+        val = env->vm_hsave;
+        break;
+    case 0x198:
+
+        val = 1000ULL;
+
+        val |= (((uint64_t)4ULL) << 40);
+        break;
+# 3359 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    case (0x200 + 2 * (0)):
+    case (0x200 + 2 * (1)):
+    case (0x200 + 2 * (2)):
+    case (0x200 + 2 * (3)):
+    case (0x200 + 2 * (4)):
+    case (0x200 + 2 * (5)):
+    case (0x200 + 2 * (6)):
+    case (0x200 + 2 * (7)):
+        val = env->mtrr_var[((uint32_t)(env->regs[1]) - (0x200 + 2 * (0))) / 2].base;
+        break;
+    case (0x200 + 2 * (0) + 1):
+    case (0x200 + 2 * (1) + 1):
+    case (0x200 + 2 * (2) + 1):
+    case (0x200 + 2 * (3) + 1):
+    case (0x200 + 2 * (4) + 1):
+    case (0x200 + 2 * (5) + 1):
+    case (0x200 + 2 * (6) + 1):
+    case (0x200 + 2 * (7) + 1):
+        val = env->mtrr_var[((uint32_t)(env->regs[1]) - (0x200 + 2 * (0) + 1)) / 2].mask;
+        break;
+    case 0x250:
+        val = env->mtrr_fixed[0];
+        break;
+    case 0x258:
+    case 0x259:
+        val = env->mtrr_fixed[(uint32_t)(env->regs[1]) - 0x258 + 1];
+        break;
+    case 0x268:
+    case 0x269:
+    case 0x26a:
+    case 0x26b:
+    case 0x26c:
+    case 0x26d:
+    case 0x26e:
+    case 0x26f:
+        val = env->mtrr_fixed[(uint32_t)(env->regs[1]) - 0x268 + 3];
+        break;
+    case 0x2ff:
+        val = env->mtrr_deftype;
+        break;
+    case 0xfe:
+        if (env->cpuid_features & (1 << 12))
+            val = 8 | (1 << 8) | (1 << 10);
+        else
+
+            val = 0;
+        break;
+    case 0x179:
+        val = env->mcg_cap;
+        break;
+    case 0x17b:
+        if (env->mcg_cap & (1ULL<<8))
+            val = env->mcg_ctl;
+        else
+            val = 0;
+        break;
+    case 0x17a:
+        val = env->mcg_status;
+        break;
+    case 0x1a0:
+        val = env->msr_ia32_misc_enable;
+        break;
+    default:
+        if ((uint32_t)(env->regs[1]) >= 0x400
+            && (uint32_t)(env->regs[1]) < 0x400 + (4 * env->mcg_cap & 0xff)) {
+            uint32_t offset = (uint32_t)(env->regs[1]) - 0x400;
+            val = env->mce_banks[offset];
+            break;
+        }
+
+        val = 0;
+        break;
+    }
+    (env->regs[0]) = (uint32_t)(val);
+    (env->regs[2]) = (uint32_t)(val >> 32);
+}
+
+
+target_ulong helper_lsl(target_ulong selector1)
+{
+    unsigned int limit;
+    uint32_t e1, e2, eflags, selector;
+    int rpl, dpl, cpl, type;
+
+    selector = selector1 & 0xffff;
+    eflags = helper_cc_compute_all((env->cc_op));
+    if ((selector & 0xfffc) == 0)
+        goto fail;
+    if (load_segment(&e1, &e2, selector) != 0)
+        goto fail;
+    rpl = selector & 3;
+    dpl = (e2 >> 13) & 3;
+    cpl = env->hflags & (3 << 0);
+    if (e2 & (1 << 12)) {
+        if ((e2 & (1 << 11)) && (e2 & (1 << 10))) {
+
+        } else {
+            if (dpl < cpl || dpl < rpl)
+                goto fail;
+        }
+    } else {
+        type = (e2 >> 8) & 0xf;
+        switch(type) {
+        case 1:
+        case 2:
+        case 3:
+        case 9:
+        case 11:
+            break;
+        default:
+            goto fail;
+        }
+        if (dpl < cpl || dpl < rpl) {
+        fail:
+            (env->cc_src) = eflags & ~0x0040;
+            return 0;
+        }
+    }
+    limit = get_seg_limit(e1, e2);
+    (env->cc_src) = eflags | 0x0040;
+    return limit;
+}
+
+target_ulong helper_lar(target_ulong selector1)
+{
+    uint32_t e1, e2, eflags, selector;
+    int rpl, dpl, cpl, type;
+
+    selector = selector1 & 0xffff;
+    eflags = helper_cc_compute_all((env->cc_op));
+    if ((selector & 0xfffc) == 0)
+        goto fail;
+    if (load_segment(&e1, &e2, selector) != 0)
+        goto fail;
+    rpl = selector & 3;
+    dpl = (e2 >> 13) & 3;
+    cpl = env->hflags & (3 << 0);
+    if (e2 & (1 << 12)) {
+        if ((e2 & (1 << 11)) && (e2 & (1 << 10))) {
+
+        } else {
+            if (dpl < cpl || dpl < rpl)
+                goto fail;
+        }
+    } else {
+        type = (e2 >> 8) & 0xf;
+        switch(type) {
+        case 1:
+        case 2:
+        case 3:
+        case 4:
+        case 5:
+        case 9:
+        case 11:
+        case 12:
+            break;
+        default:
+            goto fail;
+        }
+        if (dpl < cpl || dpl < rpl) {
+        fail:
+            (env->cc_src) = eflags & ~0x0040;
+            return 0;
+        }
+    }
+    (env->cc_src) = eflags | 0x0040;
+    return e2 & 0x00f0ff00;
+}
+
+void helper_verr(target_ulong selector1)
+{
+    uint32_t e1, e2, eflags, selector;
+    int rpl, dpl, cpl;
+
+    selector = selector1 & 0xffff;
+    eflags = helper_cc_compute_all((env->cc_op));
+    if ((selector & 0xfffc) == 0)
+        goto fail;
+    if (load_segment(&e1, &e2, selector) != 0)
+        goto fail;
+    if (!(e2 & (1 << 12)))
+        goto fail;
+    rpl = selector & 3;
+    dpl = (e2 >> 13) & 3;
+    cpl = env->hflags & (3 << 0);
+    if (e2 & (1 << 11)) {
+        if (!(e2 & (1 << 9)))
+            goto fail;
+        if (!(e2 & (1 << 10))) {
+            if (dpl < cpl || dpl < rpl)
+                goto fail;
+        }
+    } else {
+        if (dpl < cpl || dpl < rpl) {
+        fail:
+            (env->cc_src) = eflags & ~0x0040;
+            return;
+        }
+    }
+    (env->cc_src) = eflags | 0x0040;
+}
+
+void helper_verw(target_ulong selector1)
+{
+    uint32_t e1, e2, eflags, selector;
+    int rpl, dpl, cpl;
+
+    selector = selector1 & 0xffff;
+    eflags = helper_cc_compute_all((env->cc_op));
+    if ((selector & 0xfffc) == 0)
+        goto fail;
+    if (load_segment(&e1, &e2, selector) != 0)
+        goto fail;
+    if (!(e2 & (1 << 12)))
+        goto fail;
+    rpl = selector & 3;
+    dpl = (e2 >> 13) & 3;
+    cpl = env->hflags & (3 << 0);
+    if (e2 & (1 << 11)) {
+        goto fail;
+    } else {
+        if (dpl < cpl || dpl < rpl)
+            goto fail;
+        if (!(e2 & (1 << 9))) {
+        fail:
+            (env->cc_src) = eflags & ~0x0040;
+            return;
+        }
+    }
+    (env->cc_src) = eflags | 0x0040;
+}
+
+
+
+static __attribute__ (( always_inline )) __inline__ double floatx80_to_double(floatx80 a)
+{
+    union {
+        float64 f64;
+        double d;
+    } u;
+
+    u.f64 = floatx80_to_float64(a, &env->fp_status);
+    return u.d;
+}
+
+static __attribute__ (( always_inline )) __inline__ floatx80 double_to_floatx80(double a)
+{
+    union {
+        float64 f64;
+        double d;
+    } u;
+
+    u.d = a;
+    return float64_to_floatx80(u.f64, &env->fp_status);
+}
+
+static void fpu_set_exception(int mask)
+{
+    env->fpus |= mask;
+    if (env->fpus & (~env->fpuc & 0x3f))
+        env->fpus |= (1 << 7) | (1 << 15);
+}
+
+static __attribute__ (( always_inline )) __inline__ floatx80 helper_fdiv(floatx80 a, floatx80 b)
+{
+    if (floatx80_is_zero(b)) {
+        fpu_set_exception((1 << 2));
+    }
+    return floatx80_div(a, b, &env->fp_status);
+}
+
+static void fpu_raise_exception(void)
+{
+    if (env->cr[0] & (1 << 5)) {
+        raise_exception(16);
+    }
+
+    else {
+        cpu_set_ferr(env);
+    }
+
+}
+
+void helper_flds_FT0(uint32_t val)
+{
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    u.i = val;
+    (env->ft0) = float32_to_floatx80(u.f, &env->fp_status);
+}
+
+void helper_fldl_FT0(uint64_t val)
+{
+    union {
+        float64 f;
+        uint64_t i;
+    } u;
+    u.i = val;
+    (env->ft0) = float64_to_floatx80(u.f, &env->fp_status);
+}
+
+void helper_fildl_FT0(int32_t val)
+{
+    (env->ft0) = int32_to_floatx80(val, &env->fp_status);
+}
+
+void helper_flds_ST0(uint32_t val)
+{
+    int new_fpstt;
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    new_fpstt = (env->fpstt - 1) & 7;
+    u.i = val;
+    env->fpregs[new_fpstt].d = float32_to_floatx80(u.f, &env->fp_status);
+    env->fpstt = new_fpstt;
+    env->fptags[new_fpstt] = 0;
+}
+
+void helper_fldl_ST0(uint64_t val)
+{
+    int new_fpstt;
+    union {
+        float64 f;
+        uint64_t i;
+    } u;
+    new_fpstt = (env->fpstt - 1) & 7;
+    u.i = val;
+    env->fpregs[new_fpstt].d = float64_to_floatx80(u.f, &env->fp_status);
+    env->fpstt = new_fpstt;
+    env->fptags[new_fpstt] = 0;
+}
+
+void helper_fildl_ST0(int32_t val)
+{
+    int new_fpstt;
+    new_fpstt = (env->fpstt - 1) & 7;
+    env->fpregs[new_fpstt].d = int32_to_floatx80(val, &env->fp_status);
+    env->fpstt = new_fpstt;
+    env->fptags[new_fpstt] = 0;
+}
+
+void helper_fildll_ST0(int64_t val)
+{
+    int new_fpstt;
+    new_fpstt = (env->fpstt - 1) & 7;
+    env->fpregs[new_fpstt].d = int64_to_floatx80(val, &env->fp_status);
+    env->fpstt = new_fpstt;
+    env->fptags[new_fpstt] = 0;
+}
+
+uint32_t helper_fsts_ST0(void)
+{
+    union {
+        float32 f;
+        uint32_t i;
+    } u;
+    u.f = floatx80_to_float32((env->fpregs[env->fpstt].d), &env->fp_status);
+    return u.i;
+}
+
+uint64_t helper_fstl_ST0(void)
+{
+    union {
+        float64 f;
+        uint64_t i;
+    } u;
+    u.f = floatx80_to_float64((env->fpregs[env->fpstt].d), &env->fp_status);
+    return u.i;
+}
+
+int32_t helper_fist_ST0(void)
+{
+    int32_t val;
+    val = floatx80_to_int32((env->fpregs[env->fpstt].d), &env->fp_status);
+    if (val != (int16_t)val)
+        val = -32768;
+    return val;
+}
+
+int32_t helper_fistl_ST0(void)
+{
+    int32_t val;
+    val = floatx80_to_int32((env->fpregs[env->fpstt].d), &env->fp_status);
+    return val;
+}
+
+int64_t helper_fistll_ST0(void)
+{
+    int64_t val;
+    val = floatx80_to_int64((env->fpregs[env->fpstt].d), &env->fp_status);
+    return val;
+}
+
+int32_t helper_fistt_ST0(void)
+{
+    int32_t val;
+    val = floatx80_to_int32_round_to_zero((env->fpregs[env->fpstt].d), &env->fp_status);
+    if (val != (int16_t)val)
+        val = -32768;
+    return val;
+}
+
+int32_t helper_fisttl_ST0(void)
+{
+    int32_t val;
+    val = floatx80_to_int32_round_to_zero((env->fpregs[env->fpstt].d), &env->fp_status);
+    return val;
+}
+
+int64_t helper_fisttll_ST0(void)
+{
+    int64_t val;
+    val = floatx80_to_int64_round_to_zero((env->fpregs[env->fpstt].d), &env->fp_status);
+    return val;
+}
+
+void helper_fldt_ST0(target_ulong ptr)
+{
+    int new_fpstt;
+    new_fpstt = (env->fpstt - 1) & 7;
+    env->fpregs[new_fpstt].d = helper_fldt(ptr);
+    env->fpstt = new_fpstt;
+    env->fptags[new_fpstt] = 0;
+}
+
+void helper_fstt_ST0(target_ulong ptr)
+{
+    helper_fstt((env->fpregs[env->fpstt].d), ptr);
+}
+
+void helper_fpush(void)
+{
+    fpush();
+}
+
+void helper_fpop(void)
+{
+    fpop();
+}
+
+void helper_fdecstp(void)
+{
+    env->fpstt = (env->fpstt - 1) & 7;
+    env->fpus &= (~0x4700);
+}
+
+void helper_fincstp(void)
+{
+    env->fpstt = (env->fpstt + 1) & 7;
+    env->fpus &= (~0x4700);
+}
+
+
+
+void helper_ffree_STN(int st_index)
+{
+    env->fptags[(env->fpstt + st_index) & 7] = 1;
+}
+
+void helper_fmov_ST0_FT0(void)
+{
+    (env->fpregs[env->fpstt].d) = (env->ft0);
+}
+
+void helper_fmov_FT0_STN(int st_index)
+{
+    (env->ft0) = (env->fpregs[(env->fpstt + (st_index)) & 7].d);
+}
+
+void helper_fmov_ST0_STN(int st_index)
+{
+    (env->fpregs[env->fpstt].d) = (env->fpregs[(env->fpstt + (st_index)) & 7].d);
+}
+
+void helper_fmov_STN_ST0(int st_index)
+{
+    (env->fpregs[(env->fpstt + (st_index)) & 7].d) = (env->fpregs[env->fpstt].d);
+}
+
+void helper_fxchg_ST0_STN(int st_index)
+{
+    floatx80 tmp;
+    tmp = (env->fpregs[(env->fpstt + (st_index)) & 7].d);
+    (env->fpregs[(env->fpstt + (st_index)) & 7].d) = (env->fpregs[env->fpstt].d);
+    (env->fpregs[env->fpstt].d) = tmp;
+}
+
+
+
+static const int fcom_ccval[4] = {0x0100, 0x4000, 0x0000, 0x4500};
+
+void helper_fcom_ST0_FT0(void)
+{
+    int ret;
+
+    ret = floatx80_compare((env->fpregs[env->fpstt].d), (env->ft0), &env->fp_status);
+    env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret + 1];
+}
+
+void helper_fucom_ST0_FT0(void)
+{
+    int ret;
+
+    ret = floatx80_compare_quiet((env->fpregs[env->fpstt].d), (env->ft0), &env->fp_status);
+    env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret+ 1];
+}
+
+static const int fcomi_ccval[4] = {0x0001, 0x0040, 0, 0x0040 | 0x0004 | 0x0001};
+
+void helper_fcomi_ST0_FT0(void)
+{
+    int eflags;
+    int ret;
+
+    ret = floatx80_compare((env->fpregs[env->fpstt].d), (env->ft0), &env->fp_status);
+    eflags = helper_cc_compute_all((env->cc_op));
+    eflags = (eflags & ~(0x0040 | 0x0004 | 0x0001)) | fcomi_ccval[ret + 1];
+    (env->cc_src) = eflags;
+}
+
+void helper_fucomi_ST0_FT0(void)
+{
+    int eflags;
+    int ret;
+
+    ret = floatx80_compare_quiet((env->fpregs[env->fpstt].d), (env->ft0), &env->fp_status);
+    eflags = helper_cc_compute_all((env->cc_op));
+    eflags = (eflags & ~(0x0040 | 0x0004 | 0x0001)) | fcomi_ccval[ret + 1];
+    (env->cc_src) = eflags;
+}
+
+void helper_fadd_ST0_FT0(void)
+{
+    (env->fpregs[env->fpstt].d) = floatx80_add((env->fpregs[env->fpstt].d), (env->ft0), &env->fp_status);
+}
+
+void helper_fmul_ST0_FT0(void)
+{
+    (env->fpregs[env->fpstt].d) = floatx80_mul((env->fpregs[env->fpstt].d), (env->ft0), &env->fp_status);
+}
+
+void helper_fsub_ST0_FT0(void)
+{
+    (env->fpregs[env->fpstt].d) = floatx80_sub((env->fpregs[env->fpstt].d), (env->ft0), &env->fp_status);
+}
+
+void helper_fsubr_ST0_FT0(void)
+{
+    (env->fpregs[env->fpstt].d) = floatx80_sub((env->ft0), (env->fpregs[env->fpstt].d), &env->fp_status);
+}
+
+void helper_fdiv_ST0_FT0(void)
+{
+    (env->fpregs[env->fpstt].d) = helper_fdiv((env->fpregs[env->fpstt].d), (env->ft0));
+}
+
+void helper_fdivr_ST0_FT0(void)
+{
+    (env->fpregs[env->fpstt].d) = helper_fdiv((env->ft0), (env->fpregs[env->fpstt].d));
+}
+
+
+
+void helper_fadd_STN_ST0(int st_index)
+{
+    (env->fpregs[(env->fpstt + (st_index)) & 7].d) = floatx80_add((env->fpregs[(env->fpstt + (st_index)) & 7].d), (env->fpregs[env->fpstt].d), &env->fp_status);
+}
+
+void helper_fmul_STN_ST0(int st_index)
+{
+    (env->fpregs[(env->fpstt + (st_index)) & 7].d) = floatx80_mul((env->fpregs[(env->fpstt + (st_index)) & 7].d), (env->fpregs[env->fpstt].d), &env->fp_status);
+}
+
+void helper_fsub_STN_ST0(int st_index)
+{
+    (env->fpregs[(env->fpstt + (st_index)) & 7].d) = floatx80_sub((env->fpregs[(env->fpstt + (st_index)) & 7].d), (env->fpregs[env->fpstt].d), &env->fp_status);
+}
+
+void helper_fsubr_STN_ST0(int st_index)
+{
+    (env->fpregs[(env->fpstt + (st_index)) & 7].d) = floatx80_sub((env->fpregs[env->fpstt].d), (env->fpregs[(env->fpstt + (st_index)) & 7].d), &env->fp_status);
+}
+
+void helper_fdiv_STN_ST0(int st_index)
+{
+    floatx80 *p;
+    p = &(env->fpregs[(env->fpstt + (st_index)) & 7].d);
+    *p = helper_fdiv(*p, (env->fpregs[env->fpstt].d));
+}
+
+void helper_fdivr_STN_ST0(int st_index)
+{
+    floatx80 *p;
+    p = &(env->fpregs[(env->fpstt + (st_index)) & 7].d);
+    *p = helper_fdiv((env->fpregs[env->fpstt].d), *p);
+}
+
+
+void helper_fchs_ST0(void)
+{
+    (env->fpregs[env->fpstt].d) = floatx80_chs((env->fpregs[env->fpstt].d));
+}
+
+void helper_fabs_ST0(void)
+{
+    (env->fpregs[env->fpstt].d) = floatx80_abs((env->fpregs[env->fpstt].d));
+}
+
+void helper_fld1_ST0(void)
+{
+    (env->fpregs[env->fpstt].d) = ((floatx80) { 0x8000000000000000LL, 0x3fff });
+}
+
+void helper_fldl2t_ST0(void)
+{
+    (env->fpregs[env->fpstt].d) = ((floatx80) { 0xd49a784bcd1b8afeLL, 0x4000 });
+}
+
+void helper_fldl2e_ST0(void)
+{
+    (env->fpregs[env->fpstt].d) = ((floatx80) { 0xb8aa3b295c17f0bcLL, 0x3fff });
+}
+
+void helper_fldpi_ST0(void)
+{
+    (env->fpregs[env->fpstt].d) = ((floatx80) { 0xc90fdaa22168c235LL, 0x4000 });
+}
+
+void helper_fldlg2_ST0(void)
+{
+    (env->fpregs[env->fpstt].d) = ((floatx80) { 0x9a209a84fbcff799LL, 0x3ffd });
+}
+
+void helper_fldln2_ST0(void)
+{
+    (env->fpregs[env->fpstt].d) = ((floatx80) { 0xb17217f7d1cf79acLL, 0x3ffe });
+}
+
+void helper_fldz_ST0(void)
+{
+    (env->fpregs[env->fpstt].d) = ((floatx80) { 0x0000000000000000LL, 0x0000 });
+}
+
+void helper_fldz_FT0(void)
+{
+    (env->ft0) = ((floatx80) { 0x0000000000000000LL, 0x0000 });
+}
+
+uint32_t helper_fnstsw(void)
+{
+    return (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11;
+}
+
+uint32_t helper_fnstcw(void)
+{
+    return env->fpuc;
+}
+
+static void update_fp_status(void)
+{
+    int rnd_type;
+
+
+    switch(env->fpuc & 0xc00) {
+    default:
+    case 0x000:
+        rnd_type = float_round_nearest_even;
+        break;
+    case 0x400:
+        rnd_type = float_round_down;
+        break;
+    case 0x800:
+        rnd_type = float_round_up;
+        break;
+    case 0xc00:
+        rnd_type = float_round_to_zero;
+        break;
+    }
+    set_float_rounding_mode(rnd_type, &env->fp_status);
+    switch((env->fpuc >> 8) & 3) {
+    case 0:
+        rnd_type = 32;
+        break;
+    case 2:
+        rnd_type = 64;
+        break;
+    case 3:
+    default:
+        rnd_type = 80;
+        break;
+    }
+    set_floatx80_rounding_precision(rnd_type, &env->fp_status);
+}
+
+void helper_fldcw(uint32_t val)
+{
+    env->fpuc = val;
+    update_fp_status();
+}
+
+void helper_fclex(void)
+{
+    env->fpus &= 0x7f00;
+}
+
+void helper_fwait(void)
+{
+    if (env->fpus & (1 << 7))
+        fpu_raise_exception();
+}
+
+void helper_fninit(void)
+{
+    env->fpus = 0;
+    env->fpstt = 0;
+    env->fpuc = 0x37f;
+    env->fptags[0] = 1;
+    env->fptags[1] = 1;
+    env->fptags[2] = 1;
+    env->fptags[3] = 1;
+    env->fptags[4] = 1;
+    env->fptags[5] = 1;
+    env->fptags[6] = 1;
+    env->fptags[7] = 1;
+}
+
+
+
+void helper_fbld_ST0(target_ulong ptr)
+{
+    floatx80 tmp;
+    uint64_t val;
+    unsigned int v;
+    int i;
+
+    val = 0;
+    for(i = 8; i >= 0; i--) {
+        v = ldub_data(ptr + i);
+        val = (val * 100) + ((v >> 4) * 10) + (v & 0xf);
+    }
+    tmp = int64_to_floatx80(val, &env->fp_status);
+    if (ldub_data(ptr + 9) & 0x80) {
+        floatx80_chs(tmp);
+    }
+    fpush();
+    (env->fpregs[env->fpstt].d) = tmp;
+}
+
+void helper_fbst_ST0(target_ulong ptr)
+{
+    int v;
+    target_ulong mem_ref, mem_end;
+    int64_t val;
+
+    val = floatx80_to_int64((env->fpregs[env->fpstt].d), &env->fp_status);
+    mem_ref = ptr;
+    mem_end = mem_ref + 9;
+    if (val < 0) {
+        stb_data(mem_end, 0x80);
+        val = -val;
+    } else {
+        stb_data(mem_end, 0x00);
+    }
+    while (mem_ref < mem_end) {
+        if (val == 0)
+            break;
+        v = val % 100;
+        val = val / 100;
+        v = ((v / 10) << 4) | (v % 10);
+        stb_data(mem_ref++, v);
+    }
+    while (mem_ref < mem_end) {
+        stb_data(mem_ref++, 0);
+    }
+}
+
+void helper_f2xm1(void)
+{
+    double val = floatx80_to_double((env->fpregs[env->fpstt].d));
+    val = pow(2.0, val) - 1.0;
+    (env->fpregs[env->fpstt].d) = double_to_floatx80(val);
+}
+
+void helper_fyl2x(void)
+{
+    double fptemp = floatx80_to_double((env->fpregs[env->fpstt].d));
+
+    if (fptemp>0.0){
+        fptemp = log(fptemp)/log(2.0);
+        fptemp *= floatx80_to_double((env->fpregs[(env->fpstt + (1)) & 7].d));
+        (env->fpregs[(env->fpstt + (1)) & 7].d) = double_to_floatx80(fptemp);
+        fpop();
+    } else {
+        env->fpus &= (~0x4700);
+        env->fpus |= 0x400;
+    }
+}
+
+void helper_fptan(void)
+{
+    double fptemp = floatx80_to_double((env->fpregs[env->fpstt].d));
+
+    if((fptemp > 9223372036854775808.0)||(fptemp < -9223372036854775808.0)) {
+        env->fpus |= 0x400;
+    } else {
+        fptemp = tan(fptemp);
+        (env->fpregs[env->fpstt].d) = double_to_floatx80(fptemp);
+        fpush();
+        (env->fpregs[env->fpstt].d) = ((floatx80) { 0x8000000000000000LL, 0x3fff });
+        env->fpus &= (~0x400);
+
+    }
+}
+
+void helper_fpatan(void)
+{
+    double fptemp, fpsrcop;
+
+    fpsrcop = floatx80_to_double((env->fpregs[(env->fpstt + (1)) & 7].d));
+    fptemp = floatx80_to_double((env->fpregs[env->fpstt].d));
+    (env->fpregs[(env->fpstt + (1)) & 7].d) = double_to_floatx80(atan2(fpsrcop, fptemp));
+    fpop();
+}
+
+void helper_fxtract(void)
+{
+    CPU_LDoubleU temp;
+
+    temp.d = (env->fpregs[env->fpstt].d);
+
+    if (floatx80_is_zero((env->fpregs[env->fpstt].d))) {
+
+        (env->fpregs[env->fpstt].d) = floatx80_div(floatx80_chs(((floatx80) { 0x8000000000000000LL, 0x3fff })), ((floatx80) { 0x0000000000000000LL, 0x0000 }), &env->fp_status);
+        fpush();
+        (env->fpregs[env->fpstt].d) = temp.d;
+    } else {
+        int expdif;
+
+        expdif = (temp.l.upper & 0x7fff) - 16383;
+
+        (env->fpregs[env->fpstt].d) = int32_to_floatx80(expdif, &env->fp_status);
+        fpush();
+        temp.l.upper = (temp.l.upper & ~(0x7fff)) | 16383;
+        (env->fpregs[env->fpstt].d) = temp.d;
+    }
+}
+
+void helper_fprem1(void)
+{
+    double st0, st1, dblq, fpsrcop, fptemp;
+    CPU_LDoubleU fpsrcop1, fptemp1;
+    int expdif;
+    signed long long int q;
+
+    st0 = floatx80_to_double((env->fpregs[env->fpstt].d));
+    st1 = floatx80_to_double((env->fpregs[(env->fpstt + (1)) & 7].d));
+
+    if ((sizeof (st0) == sizeof (float) ? __isinff (st0) : sizeof (st0) == sizeof (double) ? __isinf (st0) : __isinfl (st0)) || (sizeof (st0) == sizeof (float) ? __isnanf (st0) : sizeof (st0) == sizeof (double) ? __isnan (st0) : __isnanl (st0)) || (sizeof (st1) == sizeof (float) ? __isnanf (st1) : sizeof (st1) == sizeof (double) ? __isnan (st1) : __isnanl (st1)) || (st1 == 0.0)) {
+        (env->fpregs[env->fpstt].d) = double_to_floatx80(0.0 / 0.0);
+        env->fpus &= (~0x4700);
+        return;
+    }
+
+    fpsrcop = st0;
+    fptemp = st1;
+    fpsrcop1.d = (env->fpregs[env->fpstt].d);
+    fptemp1.d = (env->fpregs[(env->fpstt + (1)) & 7].d);
+    expdif = (fpsrcop1.l.upper & 0x7fff) - (fptemp1.l.upper & 0x7fff);
+
+    if (expdif < 0) {
+
+        env->fpus &= (~0x4700);
+
+        return;
+    }
+
+    if (expdif < 53) {
+        dblq = fpsrcop / fptemp;
+
+        dblq = rint(dblq);
+        st0 = fpsrcop - fptemp * dblq;
+
+
+        if (dblq < 0.0)
+           q = (signed long long int)(-dblq);
+        else
+           q = (signed long long int)dblq;
+
+        env->fpus &= (~0x4700);
+
+        env->fpus |= (q & 0x4) << (8 - 2);
+        env->fpus |= (q & 0x2) << (14 - 1);
+        env->fpus |= (q & 0x1) << (9 - 0);
+    } else {
+        env->fpus |= 0x400;
+        fptemp = pow(2.0, expdif - 50);
+        fpsrcop = (st0 / st1) / fptemp;
+
+        fpsrcop = (fpsrcop < 0.0) ?
+                  -(floor(fabs(fpsrcop))) : floor(fpsrcop);
+        st0 -= (st1 * fpsrcop * fptemp);
+    }
+    (env->fpregs[env->fpstt].d) = double_to_floatx80(st0);
+}
+
+void helper_fprem(void)
+{
+    double st0, st1, dblq, fpsrcop, fptemp;
+    CPU_LDoubleU fpsrcop1, fptemp1;
+    int expdif;
+    signed long long int q;
+
+    st0 = floatx80_to_double((env->fpregs[env->fpstt].d));
+    st1 = floatx80_to_double((env->fpregs[(env->fpstt + (1)) & 7].d));
+
+    if ((sizeof (st0) == sizeof (float) ? __isinff (st0) : sizeof (st0) == sizeof (double) ? __isinf (st0) : __isinfl (st0)) || (sizeof (st0) == sizeof (float) ? __isnanf (st0) : sizeof (st0) == sizeof (double) ? __isnan (st0) : __isnanl (st0)) || (sizeof (st1) == sizeof (float) ? __isnanf (st1) : sizeof (st1) == sizeof (double) ? __isnan (st1) : __isnanl (st1)) || (st1 == 0.0)) {
+       (env->fpregs[env->fpstt].d) = double_to_floatx80(0.0 / 0.0);
+       env->fpus &= (~0x4700);
+       return;
+    }
+
+    fpsrcop = st0;
+    fptemp = st1;
+    fpsrcop1.d = (env->fpregs[env->fpstt].d);
+    fptemp1.d = (env->fpregs[(env->fpstt + (1)) & 7].d);
+    expdif = (fpsrcop1.l.upper & 0x7fff) - (fptemp1.l.upper & 0x7fff);
+
+    if (expdif < 0) {
+
+        env->fpus &= (~0x4700);
+
+        return;
+    }
+
+    if ( expdif < 53 ) {
+        dblq = fpsrcop / fptemp ;
+
+        dblq = (dblq < 0.0) ? ceil(dblq) : floor(dblq);
+        st0 = fpsrcop - fptemp * dblq;
+
+
+        if (dblq < 0.0)
+           q = (signed long long int)(-dblq);
+        else
+           q = (signed long long int)dblq;
+
+        env->fpus &= (~0x4700);
+
+        env->fpus |= (q & 0x4) << (8 - 2);
+        env->fpus |= (q & 0x2) << (14 - 1);
+        env->fpus |= (q & 0x1) << (9 - 0);
+    } else {
+        int N = 32 + (expdif % 32);
+        env->fpus |= 0x400;
+        fptemp = pow(2.0, (double)(expdif - N));
+        fpsrcop = (st0 / st1) / fptemp;
+
+        fpsrcop = (fpsrcop < 0.0) ?
+                  -(floor(fabs(fpsrcop))) : floor(fpsrcop);
+        st0 -= (st1 * fpsrcop * fptemp);
+    }
+    (env->fpregs[env->fpstt].d) = double_to_floatx80(st0);
+}
+
+void helper_fyl2xp1(void)
+{
+    double fptemp = floatx80_to_double((env->fpregs[env->fpstt].d));
+
+    if ((fptemp+1.0)>0.0) {
+        fptemp = log(fptemp+1.0) / log(2.0);
+        fptemp *= floatx80_to_double((env->fpregs[(env->fpstt + (1)) & 7].d));
+        (env->fpregs[(env->fpstt + (1)) & 7].d) = double_to_floatx80(fptemp);
+        fpop();
+    } else {
+        env->fpus &= (~0x4700);
+        env->fpus |= 0x400;
+    }
+}
+
+void helper_fsqrt(void)
+{
+    if (floatx80_is_neg((env->fpregs[env->fpstt].d))) {
+        env->fpus &= (~0x4700);
+        env->fpus |= 0x400;
+    }
+    (env->fpregs[env->fpstt].d) = floatx80_sqrt((env->fpregs[env->fpstt].d), &env->fp_status);
+}
+
+void helper_fsincos(void)
+{
+    double fptemp = floatx80_to_double((env->fpregs[env->fpstt].d));
+
+    if ((fptemp > 9223372036854775808.0)||(fptemp < -9223372036854775808.0)) {
+        env->fpus |= 0x400;
+    } else {
+        (env->fpregs[env->fpstt].d) = double_to_floatx80(sin(fptemp));
+        fpush();
+        (env->fpregs[env->fpstt].d) = double_to_floatx80(cos(fptemp));
+        env->fpus &= (~0x400);
+
+    }
+}
+
+void helper_frndint(void)
+{
+    (env->fpregs[env->fpstt].d) = floatx80_round_to_int((env->fpregs[env->fpstt].d), &env->fp_status);
+}
+
+void helper_fscale(void)
+{
+    if (floatx80_is_any_nan((env->fpregs[(env->fpstt + (1)) & 7].d))) {
+        (env->fpregs[env->fpstt].d) = (env->fpregs[(env->fpstt + (1)) & 7].d);
+    } else {
+        int n = floatx80_to_int32_round_to_zero((env->fpregs[(env->fpstt + (1)) & 7].d), &env->fp_status);
+        (env->fpregs[env->fpstt].d) = floatx80_scalbn((env->fpregs[env->fpstt].d), n, &env->fp_status);
+    }
+}
+
+void helper_fsin(void)
+{
+    double fptemp = floatx80_to_double((env->fpregs[env->fpstt].d));
+
+    if ((fptemp > 9223372036854775808.0)||(fptemp < -9223372036854775808.0)) {
+        env->fpus |= 0x400;
+    } else {
+        (env->fpregs[env->fpstt].d) = double_to_floatx80(sin(fptemp));
+        env->fpus &= (~0x400);
+
+    }
+}
+
+void helper_fcos(void)
+{
+    double fptemp = floatx80_to_double((env->fpregs[env->fpstt].d));
+
+    if((fptemp > 9223372036854775808.0)||(fptemp < -9223372036854775808.0)) {
+        env->fpus |= 0x400;
+    } else {
+        (env->fpregs[env->fpstt].d) = double_to_floatx80(cos(fptemp));
+        env->fpus &= (~0x400);
+
+    }
+}
+
+void helper_fxam_ST0(void)
+{
+    CPU_LDoubleU temp;
+    int expdif;
+
+    temp.d = (env->fpregs[env->fpstt].d);
+
+    env->fpus &= (~0x4700);
+    if (((temp.l.upper) & 0x8000))
+        env->fpus |= 0x200;
+
+
+    expdif = (temp.l.upper & 0x7fff);
+    if (expdif == 0x7fff) {
+        if ((temp.l.lower) == 0x8000000000000000ULL)
+            env->fpus |= 0x500 ;
+        else
+            env->fpus |= 0x100 ;
+    } else if (expdif == 0) {
+        if ((temp.l.lower) == 0)
+            env->fpus |= 0x4000 ;
+        else
+            env->fpus |= 0x4400 ;
+    } else {
+        env->fpus |= 0x400;
+    }
+}
+
+void helper_fstenv(target_ulong ptr, int data32)
+{
+    int fpus, fptag, exp, i;
+    uint64_t mant;
+    CPU_LDoubleU tmp;
+
+    fpus = (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11;
+    fptag = 0;
+    for (i=7; i>=0; i--) {
+ fptag <<= 2;
+ if (env->fptags[i]) {
+            fptag |= 3;
+ } else {
+            tmp.d = env->fpregs[i].d;
+            exp = (tmp.l.upper & 0x7fff);
+            mant = (tmp.l.lower);
+            if (exp == 0 && mant == 0) {
+
+         fptag |= 1;
+     } else if (exp == 0 || exp == 0x7fff
+                       || (mant & (1LL << 63)) == 0
+                       ) {
+
+                fptag |= 2;
+            }
+        }
+    }
+    if (data32) {
+
+        stl_data(ptr, env->fpuc);
+        stl_data(ptr + 4, fpus);
+        stl_data(ptr + 8, fptag);
+        stl_data(ptr + 12, 0);
+        stl_data(ptr + 16, 0);
+        stl_data(ptr + 20, 0);
+        stl_data(ptr + 24, 0);
+    } else {
+
+        stw_data(ptr, env->fpuc);
+        stw_data(ptr + 2, fpus);
+        stw_data(ptr + 4, fptag);
+        stw_data(ptr + 6, 0);
+        stw_data(ptr + 8, 0);
+        stw_data(ptr + 10, 0);
+        stw_data(ptr + 12, 0);
+    }
+}
+
+void helper_fldenv(target_ulong ptr, int data32)
+{
+    int i, fpus, fptag;
+
+    if (data32) {
+ env->fpuc = lduw_data(ptr);
+        fpus = lduw_data(ptr + 4);
+        fptag = lduw_data(ptr + 8);
+    }
+    else {
+ env->fpuc = lduw_data(ptr);
+        fpus = lduw_data(ptr + 2);
+        fptag = lduw_data(ptr + 4);
+    }
+    env->fpstt = (fpus >> 11) & 7;
+    env->fpus = fpus & ~0x3800;
+    for(i = 0;i < 8; i++) {
+        env->fptags[i] = ((fptag & 3) == 3);
+        fptag >>= 2;
+    }
+}
+
+void helper_fsave(target_ulong ptr, int data32)
+{
+    floatx80 tmp;
+    int i;
+
+    helper_fstenv(ptr, data32);
+
+    ptr += (14 << data32);
+    for(i = 0;i < 8; i++) {
+        tmp = (env->fpregs[(env->fpstt + (i)) & 7].d);
+        helper_fstt(tmp, ptr);
+        ptr += 10;
+    }
+
+
+    env->fpus = 0;
+    env->fpstt = 0;
+    env->fpuc = 0x37f;
+    env->fptags[0] = 1;
+    env->fptags[1] = 1;
+    env->fptags[2] = 1;
+    env->fptags[3] = 1;
+    env->fptags[4] = 1;
+    env->fptags[5] = 1;
+    env->fptags[6] = 1;
+    env->fptags[7] = 1;
+}
+
+void helper_frstor(target_ulong ptr, int data32)
+{
+    floatx80 tmp;
+    int i;
+
+    helper_fldenv(ptr, data32);
+    ptr += (14 << data32);
+
+    for(i = 0;i < 8; i++) {
+        tmp = helper_fldt(ptr);
+        (env->fpregs[(env->fpstt + (i)) & 7].d) = tmp;
+        ptr += 10;
+    }
+}
+# 4591 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+void helper_fxsave(target_ulong ptr, int data64)
+{
+    int fpus, fptag, i, nb_xmm_regs;
+    floatx80 tmp;
+    target_ulong addr;
+
+
+    if (ptr & 0xf) {
+        raise_exception(13);
+    }
+
+    fpus = (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11;
+    fptag = 0;
+    for(i = 0; i < 8; i++) {
+        fptag |= (env->fptags[i] << i);
+    }
+    stw_data(ptr, env->fpuc);
+    stw_data(ptr + 2, fpus);
+    stw_data(ptr + 4, fptag ^ 0xff);
+
+
+
+
+
+
+    {
+        stl_data(ptr + 0x08, 0);
+        stl_data(ptr + 0x0c, 0);
+        stl_data(ptr + 0x10, 0);
+        stl_data(ptr + 0x14, 0);
+    }
+
+    addr = ptr + 0x20;
+    for(i = 0;i < 8; i++) {
+        tmp = (env->fpregs[(env->fpstt + (i)) & 7].d);
+        helper_fstt(tmp, addr);
+        addr += 16;
+    }
+
+    if (env->cr[4] & (1 << 9)) {
+
+        stl_data(ptr + 0x18, env->mxcsr);
+        stl_data(ptr + 0x1c, 0x0000ffff);
+        if (env->hflags & (1 << 15))
+            nb_xmm_regs = 16;
+        else
+            nb_xmm_regs = 8;
+        addr = ptr + 0xa0;
+
+        if (!(env->efer & (1 << 14))
+          || (env->hflags & (3 << 0))
+          || !(env->hflags & (1 << 14))) {
+            for(i = 0; i < nb_xmm_regs; i++) {
+                stq_data(addr, env->xmm_regs[i]._q[0]);
+                stq_data(addr + 8, env->xmm_regs[i]._q[1]);
+                addr += 16;
+            }
+        }
+    }
+}
+
+void helper_fxrstor(target_ulong ptr, int data64)
+{
+    int i, fpus, fptag, nb_xmm_regs;
+    floatx80 tmp;
+    target_ulong addr;
+
+
+    if (ptr & 0xf) {
+        raise_exception(13);
+    }
+
+    env->fpuc = lduw_data(ptr);
+    fpus = lduw_data(ptr + 2);
+    fptag = lduw_data(ptr + 4);
+    env->fpstt = (fpus >> 11) & 7;
+    env->fpus = fpus & ~0x3800;
+    fptag ^= 0xff;
+    for(i = 0;i < 8; i++) {
+        env->fptags[i] = ((fptag >> i) & 1);
+    }
+
+    addr = ptr + 0x20;
+    for(i = 0;i < 8; i++) {
+        tmp = helper_fldt(addr);
+        (env->fpregs[(env->fpstt + (i)) & 7].d) = tmp;
+        addr += 16;
+    }
+
+    if (env->cr[4] & (1 << 9)) {
+
+        env->mxcsr = ldl_data(ptr + 0x18);
+
+        if (env->hflags & (1 << 15))
+            nb_xmm_regs = 16;
+        else
+            nb_xmm_regs = 8;
+        addr = ptr + 0xa0;
+
+        if (!(env->efer & (1 << 14))
+          || (env->hflags & (3 << 0))
+          || !(env->hflags & (1 << 14))) {
+            for(i = 0; i < nb_xmm_regs; i++) {
+                env->xmm_regs[i]._q[0] = ldq_data(addr);
+                env->xmm_regs[i]._q[1] = ldq_data(addr + 8);
+                addr += 16;
+            }
+        }
+    }
+}
+
+void cpu_get_fp80(uint64_t *pmant, uint16_t *pexp, floatx80 f)
+{
+    CPU_LDoubleU temp;
+
+    temp.d = f;
+    *pmant = temp.l.lower;
+    *pexp = temp.l.upper;
+}
+
+floatx80 cpu_set_fp80(uint64_t mant, uint16_t upper)
+{
+    CPU_LDoubleU temp;
+
+    temp.l.upper = upper;
+    temp.l.lower = mant;
+    return temp.d;
+}
+# 4864 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+static void do_hlt(void)
+{
+    env->hflags &= ~(1 << 3);
+    env->halted = 1;
+    env->exception_index = 0x10001;
+    cpu_loop_exit(env);
+}
+
+void helper_hlt(int next_eip_addend)
+{
+    helper_svm_check_intercept_param(0x078, 0);
+    (env->eip) += next_eip_addend;
+
+    do_hlt();
+}
+
+void helper_monitor(target_ulong ptr)
+{
+    if ((uint32_t)(env->regs[1]) != 0)
+        raise_exception(13);
+
+    helper_svm_check_intercept_param(0x08a, 0);
+}
+
+void helper_mwait(int next_eip_addend)
+{
+    if ((uint32_t)(env->regs[1]) != 0)
+        raise_exception(13);
+    helper_svm_check_intercept_param(0x08b, 0);
+    (env->eip) += next_eip_addend;
+
+
+    if (env->cpu_index != 0 || env->next_cpu != ((void *)0)) {
+
+
+    } else {
+        do_hlt();
+    }
+}
+
+void helper_debug(void)
+{
+    env->exception_index = 0x10002;
+    cpu_loop_exit(env);
+}
+
+void helper_reset_rf(void)
+{
+    env->eflags &= ~0x00010000;
+}
+
+void helper_raise_interrupt(int intno, int next_eip_addend)
+{
+    raise_interrupt(intno, 1, 0, next_eip_addend);
+}
+
+void helper_raise_exception(int exception_index)
+{
+    raise_exception(exception_index);
+}
+
+void helper_cli(void)
+{
+    env->eflags &= ~0x00000200;
+}
+
+void helper_sti(void)
+{
+    env->eflags |= 0x00000200;
+}
+# 4951 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+void helper_set_inhibit_irq(void)
+{
+    env->hflags |= (1 << 3);
+}
+
+void helper_reset_inhibit_irq(void)
+{
+    env->hflags &= ~(1 << 3);
+}
+
+void helper_boundw(target_ulong a0, int v)
+{
+    int low, high;
+    low = ldsw_data(a0);
+    high = ldsw_data(a0 + 2);
+    v = (int16_t)v;
+    if (v < low || v > high) {
+        raise_exception(5);
+    }
+}
+
+void helper_boundl(target_ulong a0, int v)
+{
+    int low, high;
+    low = ldl_data(a0);
+    high = ldl_data(a0 + 4);
+    if (v < low || v > high) {
+        raise_exception(5);
+    }
+}
+
+
+
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h" 1
+# 24 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-timer.h" 1
+
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h" 1
+# 43 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+int qemu_init_main_loop(void);
+# 53 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+int main_loop_init(void);
+# 90 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+int main_loop_wait(int nonblocking);
+# 105 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+void qemu_notify_event(void);
+# 174 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+typedef void IOReadHandler(void *opaque, const uint8_t *buf, int size);
+typedef int IOCanReadHandler(void *opaque);
+typedef void IOHandler(void *opaque);
+# 218 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+int qemu_set_fd_handler2(int fd,
+                         IOCanReadHandler *fd_read_poll,
+                         IOHandler *fd_read,
+                         IOHandler *fd_write,
+                         void *opaque);
+# 252 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+int qemu_set_fd_handler(int fd,
+                        IOHandler *fd_read,
+                        IOHandler *fd_write,
+                        void *opaque);
+
+typedef struct QEMUBH QEMUBH;
+typedef void QEMUBHFunc(void *opaque);
+# 267 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+QEMUBH *qemu_bh_new(QEMUBHFunc *cb, void *opaque);
+# 281 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+void qemu_bh_schedule(QEMUBH *bh);
+# 294 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+void qemu_bh_cancel(QEMUBH *bh);
+# 305 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+void qemu_bh_delete(QEMUBH *bh);
+# 323 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+int qemu_add_child_watch(pid_t pid);
+# 339 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+void qemu_mutex_lock_iothread(void);
+# 354 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/main-loop.h"
+void qemu_mutex_unlock_iothread(void);
+
+
+
+void qemu_fd_register(int fd);
+void qemu_iohandler_fill(int *pnfds, fd_set *readfds, fd_set *writefds, fd_set *xfds);
+void qemu_iohandler_poll(fd_set *readfds, fd_set *writefds, fd_set *xfds, int rc);
+
+void qemu_bh_schedule_idle(QEMUBH *bh);
+int qemu_bh_poll(void);
+void qemu_bh_update_timeout(uint32_t *timeout);
+# 6 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-timer.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/notify.h" 1
+# 19 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/notify.h"
+typedef struct Notifier Notifier;
+
+struct Notifier
+{
+    void (*notify)(Notifier *notifier, void *data);
+    struct { struct Notifier *le_next; struct Notifier **le_prev; } node;
+};
+
+typedef struct NotifierList
+{
+    struct { struct Notifier *lh_first; } notifiers;
+} NotifierList;
+
+
+
+
+void notifier_list_init(NotifierList *list);
+
+void notifier_list_add(NotifierList *list, Notifier *notifier);
+
+void notifier_remove(Notifier *notifier);
+
+void notifier_list_notify(NotifierList *list, void *data);
+# 7 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-timer.h" 2
+# 18 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-timer.h"
+typedef struct QEMUClock QEMUClock;
+typedef void QEMUTimerCB(void *opaque);
+
+
+
+
+
+extern QEMUClock *rt_clock;
+
+
+
+
+extern QEMUClock *vm_clock;
+
+
+
+
+
+
+extern QEMUClock *host_clock;
+
+int64_t qemu_get_clock_ns(QEMUClock *clock);
+int64_t qemu_clock_has_timers(QEMUClock *clock);
+int64_t qemu_clock_expired(QEMUClock *clock);
+int64_t qemu_clock_deadline(QEMUClock *clock);
+void qemu_clock_enable(QEMUClock *clock, _Bool enabled);
+void qemu_clock_warp(QEMUClock *clock);
+
+void qemu_register_clock_reset_notifier(QEMUClock *clock, Notifier *notifier);
+void qemu_unregister_clock_reset_notifier(QEMUClock *clock,
+                                          Notifier *notifier);
+
+QEMUTimer *qemu_new_timer(QEMUClock *clock, int scale,
+                          QEMUTimerCB *cb, void *opaque);
+void qemu_free_timer(QEMUTimer *ts);
+void qemu_del_timer(QEMUTimer *ts);
+void qemu_mod_timer_ns(QEMUTimer *ts, int64_t expire_time);
+void qemu_mod_timer(QEMUTimer *ts, int64_t expire_time);
+_Bool qemu_timer_pending(QEMUTimer *ts);
+_Bool qemu_timer_expired(QEMUTimer *timer_head, int64_t current_time);
+uint64_t qemu_timer_expire_time_ns(QEMUTimer *ts);
+
+void qemu_run_timers(QEMUClock *clock);
+void qemu_run_all_timers(void);
+void configure_alarms(char const *opt);
+void init_clocks(void);
+int init_timer_alarm(void);
+
+int64_t cpu_get_ticks(void);
+void cpu_enable_ticks(void);
+void cpu_disable_ticks(void);
+
+static __attribute__ (( always_inline )) __inline__ QEMUTimer *qemu_new_timer_ns(QEMUClock *clock, QEMUTimerCB *cb,
+                                           void *opaque)
+{
+    return qemu_new_timer(clock, 1, cb, opaque);
+}
+
+static __attribute__ (( always_inline )) __inline__ QEMUTimer *qemu_new_timer_ms(QEMUClock *clock, QEMUTimerCB *cb,
+                                           void *opaque)
+{
+    return qemu_new_timer(clock, 1000000, cb, opaque);
+}
+
+static __attribute__ (( always_inline )) __inline__ int64_t qemu_get_clock_ms(QEMUClock *clock)
+{
+    return qemu_get_clock_ns(clock) / 1000000;
+}
+
+static __attribute__ (( always_inline )) __inline__ int64_t get_ticks_per_sec(void)
+{
+    return 1000000000LL;
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int64_t get_clock_realtime(void)
+{
+    struct timeval tv;
+
+    gettimeofday(&tv, ((void *)0));
+    return tv.tv_sec * 1000000000LL + (tv.tv_usec * 1000);
+}
+# 116 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-timer.h"
+extern int use_rt_clock;
+
+static __attribute__ (( always_inline )) __inline__ int64_t get_clock(void)
+{
+
+
+    if (use_rt_clock) {
+        struct timespec ts;
+        clock_gettime(1, &ts);
+        return ts.tv_sec * 1000000000LL + ts.tv_nsec;
+    } else
+
+    {
+
+
+        return get_clock_realtime();
+    }
+}
+
+
+void qemu_get_timer(QEMUFile *f, QEMUTimer *ts);
+void qemu_put_timer(QEMUFile *f, QEMUTimer *ts);
+
+
+int64_t cpu_get_icount(void);
+int64_t cpu_get_clock(void);
+# 174 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/qemu-timer.h"
+static __attribute__ (( always_inline )) __inline__ int64_t cpu_get_real_ticks(void)
+{
+    int64_t val;
+    asm volatile ("rdtsc" : "=A" (val));
+    return val;
+}
+# 25 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h" 1
+# 26 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/ioport.h" 1
+# 27 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h" 2
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/int128.h" 1
+
+
+
+typedef struct Int128 Int128;
+
+struct Int128 {
+    uint64_t lo;
+    int64_t hi;
+};
+
+static __attribute__ (( always_inline )) __inline__ Int128 int128_make64(uint64_t a)
+{
+    return (Int128) { a, 0 };
+}
+
+static __attribute__ (( always_inline )) __inline__ uint64_t int128_get64(Int128 a)
+{
+    ((!a.hi) ? (void) (0) : __assert_fail ("!a.hi", "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/int128.h", 18, __PRETTY_FUNCTION__));
+    return a.lo;
+}
+
+static __attribute__ (( always_inline )) __inline__ Int128 int128_zero(void)
+{
+    return int128_make64(0);
+}
+
+static __attribute__ (( always_inline )) __inline__ Int128 int128_one(void)
+{
+    return int128_make64(1);
+}
+
+static __attribute__ (( always_inline )) __inline__ Int128 int128_2_64(void)
+{
+    return (Int128) { 0, 1 };
+}
+
+static __attribute__ (( always_inline )) __inline__ Int128 int128_add(Int128 a, Int128 b)
+{
+    Int128 r = { a.lo + b.lo, a.hi + b.hi };
+    r.hi += (r.lo < a.lo) || (r.lo < b.lo);
+    return r;
+}
+
+static __attribute__ (( always_inline )) __inline__ Int128 int128_neg(Int128 a)
+{
+    a.lo = ~a.lo;
+    a.hi = ~a.hi;
+    return int128_add(a, int128_one());
+}
+
+static __attribute__ (( always_inline )) __inline__ Int128 int128_sub(Int128 a, Int128 b)
+{
+    return int128_add(a, int128_neg(b));
+}
+
+static __attribute__ (( always_inline )) __inline__ _Bool int128_nonneg(Int128 a)
+{
+    return a.hi >= 0;
+}
+
+static __attribute__ (( always_inline )) __inline__ _Bool int128_eq(Int128 a, Int128 b)
+{
+    return a.lo == b.lo && a.hi == b.hi;
+}
+
+static __attribute__ (( always_inline )) __inline__ _Bool int128_ne(Int128 a, Int128 b)
+{
+    return !int128_eq(a, b);
+}
+
+static __attribute__ (( always_inline )) __inline__ _Bool int128_ge(Int128 a, Int128 b)
+{
+    return int128_nonneg(int128_sub(a, b));
+}
+
+static __attribute__ (( always_inline )) __inline__ _Bool int128_lt(Int128 a, Int128 b)
+{
+    return !int128_ge(a, b);
+}
+
+static __attribute__ (( always_inline )) __inline__ _Bool int128_le(Int128 a, Int128 b)
+{
+    return int128_ge(b, a);
+}
+
+static __attribute__ (( always_inline )) __inline__ _Bool int128_gt(Int128 a, Int128 b)
+{
+    return !int128_le(a, b);
+}
+
+static __attribute__ (( always_inline )) __inline__ _Bool int128_nz(Int128 a)
+{
+    return a.lo || a.hi;
+}
+
+static __attribute__ (( always_inline )) __inline__ Int128 int128_min(Int128 a, Int128 b)
+{
+    return int128_le(a, b) ? a : b;
+}
+
+static __attribute__ (( always_inline )) __inline__ Int128 int128_max(Int128 a, Int128 b)
+{
+    return int128_ge(a, b) ? a : b;
+}
+
+static __attribute__ (( always_inline )) __inline__ void int128_addto(Int128 *a, Int128 b)
+{
+    *a = int128_add(*a, b);
+}
+
+static __attribute__ (( always_inline )) __inline__ void int128_subfrom(Int128 *a, Int128 b)
+{
+    *a = int128_sub(*a, b);
+}
+# 28 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h" 2
+
+typedef struct MemoryRegionOps MemoryRegionOps;
+typedef struct MemoryRegion MemoryRegion;
+typedef struct MemoryRegionPortio MemoryRegionPortio;
+typedef struct MemoryRegionMmio MemoryRegionMmio;
+# 41 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+struct MemoryRegionMmio {
+    CPUReadMemoryFunc *read[3];
+    CPUWriteMemoryFunc *write[3];
+};
+
+
+typedef struct MemoryRegionIORange MemoryRegionIORange;
+struct MemoryRegionIORange {
+    IORange iorange;
+    MemoryRegion *mr;
+    target_phys_addr_t offset;
+};
+
+
+
+
+struct MemoryRegionOps {
+
+
+    uint64_t (*read)(void *opaque,
+                     target_phys_addr_t addr,
+                     unsigned size);
+
+
+    void (*write)(void *opaque,
+                  target_phys_addr_t addr,
+                  uint64_t data,
+                  unsigned size);
+
+    enum device_endian endianness;
+
+    struct {
+
+
+
+        unsigned min_access_size;
+        unsigned max_access_size;
+
+
+
+         _Bool unaligned;
+
+
+
+
+
+        _Bool (*accepts)(void *opaque, target_phys_addr_t addr,
+                        unsigned size, _Bool is_write);
+    } valid;
+
+    struct {
+
+
+
+        unsigned min_access_size;
+
+
+
+        unsigned max_access_size;
+
+
+
+         _Bool unaligned;
+    } impl;
+
+
+
+
+    const MemoryRegionPortio *old_portio;
+
+
+
+    const MemoryRegionMmio old_mmio;
+};
+
+typedef struct CoalescedMemoryRange CoalescedMemoryRange;
+typedef struct MemoryRegionIoeventfd MemoryRegionIoeventfd;
+
+struct MemoryRegion {
+
+    const MemoryRegionOps *ops;
+    void *opaque;
+    MemoryRegion *parent;
+    Int128 size;
+    target_phys_addr_t addr;
+    void (*destructor)(MemoryRegion *mr);
+    ram_addr_t ram_addr;
+    _Bool subpage;
+    _Bool terminates;
+    _Bool readable;
+    _Bool ram;
+    _Bool readonly;
+    _Bool enabled;
+    _Bool rom_device;
+    _Bool warning_printed;
+    MemoryRegion *alias;
+    target_phys_addr_t alias_offset;
+    unsigned priority;
+    _Bool may_overlap;
+    struct subregions { struct MemoryRegion *tqh_first; struct MemoryRegion * *tqh_last; } subregions;
+    struct { struct MemoryRegion *tqe_next; struct MemoryRegion * *tqe_prev; } subregions_link;
+    struct coalesced_ranges { struct CoalescedMemoryRange *tqh_first; struct CoalescedMemoryRange * *tqh_last; } coalesced;
+    const char *name;
+    uint8_t dirty_log_mask;
+    unsigned ioeventfd_nb;
+    MemoryRegionIoeventfd *ioeventfds;
+};
+
+struct MemoryRegionPortio {
+    uint32_t offset;
+    uint32_t len;
+    unsigned size;
+    IOPortReadFunc *read;
+    IOPortWriteFunc *write;
+};
+
+
+
+typedef struct MemoryRegionSection MemoryRegionSection;
+# 172 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+struct MemoryRegionSection {
+    MemoryRegion *mr;
+    MemoryRegion *address_space;
+    target_phys_addr_t offset_within_region;
+    uint64_t size;
+    target_phys_addr_t offset_within_address_space;
+    _Bool readonly;
+};
+
+typedef struct MemoryListener MemoryListener;
+
+
+
+
+
+
+
+struct MemoryListener {
+    void (*begin)(MemoryListener *listener);
+    void (*commit)(MemoryListener *listener);
+    void (*region_add)(MemoryListener *listener, MemoryRegionSection *section);
+    void (*region_del)(MemoryListener *listener, MemoryRegionSection *section);
+    void (*region_nop)(MemoryListener *listener, MemoryRegionSection *section);
+    void (*log_start)(MemoryListener *listener, MemoryRegionSection *section);
+    void (*log_stop)(MemoryListener *listener, MemoryRegionSection *section);
+    void (*log_sync)(MemoryListener *listener, MemoryRegionSection *section);
+    void (*log_global_start)(MemoryListener *listener);
+    void (*log_global_stop)(MemoryListener *listener);
+    void (*eventfd_add)(MemoryListener *listener, MemoryRegionSection *section,
+                        _Bool match_data, uint64_t data, int fd);
+    void (*eventfd_del)(MemoryListener *listener, MemoryRegionSection *section,
+                        _Bool match_data, uint64_t data, int fd);
+
+    unsigned priority;
+    MemoryRegion *address_space_filter;
+    struct { struct MemoryListener *tqe_next; struct MemoryListener * *tqe_prev; } link;
+};
+# 220 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_init(MemoryRegion *mr,
+                        const char *name,
+                        uint64_t size);
+# 236 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_init_io(MemoryRegion *mr,
+                           const MemoryRegionOps *ops,
+                           void *opaque,
+                           const char *name,
+                           uint64_t size);
+# 250 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_init_ram(MemoryRegion *mr,
+                            const char *name,
+                            uint64_t size);
+# 264 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_init_ram_ptr(MemoryRegion *mr,
+                                const char *name,
+                                uint64_t size,
+                                void *ptr);
+# 280 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_init_alias(MemoryRegion *mr,
+                              const char *name,
+                              MemoryRegion *orig,
+                              target_phys_addr_t offset,
+                              uint64_t size);
+# 295 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_init_rom_device(MemoryRegion *mr,
+                                   const MemoryRegionOps *ops,
+                                   void *opaque,
+                                   const char *name,
+                                   uint64_t size);
+# 313 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_init_reservation(MemoryRegion *mr,
+                                    const char *name,
+                                    uint64_t size);
+
+
+
+
+
+
+
+void memory_region_destroy(MemoryRegion *mr);
+
+
+
+
+
+
+uint64_t memory_region_size(MemoryRegion *mr);
+# 339 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+_Bool memory_region_is_ram(MemoryRegion *mr);
+# 349 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+static __attribute__ (( always_inline )) __inline__ _Bool memory_region_is_romd(MemoryRegion *mr)
+{
+    return mr->rom_device && mr->readable;
+}
+# 361 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+const char *memory_region_name(MemoryRegion *mr);
+# 370 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+_Bool memory_region_is_logging(MemoryRegion *mr);
+# 379 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+_Bool memory_region_is_rom(MemoryRegion *mr);
+# 390 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void *memory_region_get_ram_ptr(MemoryRegion *mr);
+# 403 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_set_log(MemoryRegion *mr, _Bool log, unsigned client);
+# 419 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+_Bool memory_region_get_dirty(MemoryRegion *mr, target_phys_addr_t addr,
+                             target_phys_addr_t size, unsigned client);
+# 432 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_set_dirty(MemoryRegion *mr, target_phys_addr_t addr,
+                             target_phys_addr_t size);
+# 444 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_sync_dirty_bitmap(MemoryRegion *mr);
+# 458 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_reset_dirty(MemoryRegion *mr, target_phys_addr_t addr,
+                               target_phys_addr_t size, unsigned client);
+# 470 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_set_readonly(MemoryRegion *mr, _Bool readonly);
+# 484 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_rom_device_set_readable(MemoryRegion *mr, _Bool readable);
+# 495 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_set_coalescing(MemoryRegion *mr);
+# 508 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_add_coalescing(MemoryRegion *mr,
+                                  target_phys_addr_t offset,
+                                  uint64_t size);
+# 521 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_clear_coalescing(MemoryRegion *mr);
+# 539 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_add_eventfd(MemoryRegion *mr,
+                               target_phys_addr_t addr,
+                               unsigned size,
+                               _Bool match_data,
+                               uint64_t data,
+                               int fd);
+# 559 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_del_eventfd(MemoryRegion *mr,
+                               target_phys_addr_t addr,
+                               unsigned size,
+                               _Bool match_data,
+                               uint64_t data,
+                               int fd);
+# 579 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_add_subregion(MemoryRegion *mr,
+                                 target_phys_addr_t offset,
+                                 MemoryRegion *subregion);
+# 598 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_add_subregion_overlap(MemoryRegion *mr,
+                                         target_phys_addr_t offset,
+                                         MemoryRegion *subregion,
+                                         unsigned priority);
+# 610 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+ram_addr_t memory_region_get_ram_addr(MemoryRegion *mr);
+# 620 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_del_subregion(MemoryRegion *mr,
+                                 MemoryRegion *subregion);
+# 636 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_set_enabled(MemoryRegion *mr, _Bool enabled);
+# 647 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_set_address(MemoryRegion *mr, target_phys_addr_t addr);
+# 658 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_region_set_alias_offset(MemoryRegion *mr,
+                                    target_phys_addr_t offset);
+# 679 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+MemoryRegionSection memory_region_find(MemoryRegion *address_space,
+                                       target_phys_addr_t addr, uint64_t size);
+# 690 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+static __attribute__ (( always_inline )) __inline__ target_phys_addr_t
+memory_region_section_addr(MemoryRegionSection *section,
+                           target_phys_addr_t addr)
+{
+    addr -= section->offset_within_address_space;
+    addr += section->offset_within_region;
+    return addr;
+}
+# 706 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_global_sync_dirty_bitmap(MemoryRegion *address_space);
+
+
+
+
+
+
+
+void memory_region_transaction_begin(void);
+
+
+
+
+
+void memory_region_transaction_commit(void);
+# 730 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/memory.h"
+void memory_listener_register(MemoryListener *listener, MemoryRegion *filter);
+
+
+
+
+
+
+void memory_listener_unregister(MemoryListener *listener);
+
+
+
+
+void memory_global_dirty_log_start(void);
+
+
+
+
+void memory_global_dirty_log_stop(void);
+
+void mtree_info(fprintf_function mon_printf, void *f);
+# 26 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h" 2
+# 69 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+static uint8_t slow_ldb_mmu(
+                                                        target_ulong addr,
+                                                        int mmu_idx,
+                                                        uintptr_t retaddr);
+static __attribute__ (( always_inline )) __inline__ uint8_t io_readb(
+                                              target_phys_addr_t physaddr,
+                                              target_ulong addr,
+                                              uintptr_t retaddr)
+{
+    uint8_t res;
+    MemoryRegion *mr = iotlb_to_region(physaddr);
+
+    physaddr = (physaddr & ~((1 << 12) - 1)) + addr;
+    env->mem_io_pc = retaddr;
+    if (mr != &io_mem_ram && mr != &io_mem_rom
+        && mr != &io_mem_unassigned
+        && mr != &io_mem_notdirty
+            && !can_do_io(env)) {
+        cpu_io_recompile(env, retaddr);
+    }
+
+    env->mem_io_vaddr = addr;
+
+    res = io_mem_read(mr, physaddr, 1 << 0);
+# 102 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+    return res;
+}
+
+
+uint8_t
+__ldb_mmu(
+                                                       target_ulong addr,
+                                                       int mmu_idx)
+{
+    uint8_t res;
+    int index;
+    target_ulong tlb_addr;
+    target_phys_addr_t ioaddr;
+    uintptr_t retaddr;
+
+
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_read;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 0) - 1)) != 0)
+                goto do_unaligned_access;
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+            ioaddr = env->iotlb[mmu_idx][index];
+            res = io_readb( ioaddr, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 0) - 1) >= (1 << 12)) {
+
+        do_unaligned_access:
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+            res = slow_ldb_mmu( addr,
+                                                         mmu_idx, retaddr);
+        } else {
+
+            uintptr_t addend;
+
+
+
+
+
+
+            addend = env->tlb_table[mmu_idx][index].addend;
+            res = ldub_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))))
+                                                                ;
+        }
+    } else {
+
+        retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+
+        tlb_fill(env, addr, 0, mmu_idx, retaddr);
+        goto redo;
+    }
+    return res;
+}
+
+
+static uint8_t
+slow_ldb_mmu(
+                                       target_ulong addr,
+                                       int mmu_idx,
+                                       uintptr_t retaddr)
+{
+    uint8_t res, res1, res2;
+    int index, shift;
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr, addr1, addr2;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_read;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 0) - 1)) != 0)
+                goto do_unaligned_access;
+            ioaddr = env->iotlb[mmu_idx][index];
+            res = io_readb( ioaddr, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 0) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+
+            addr1 = addr & ~((1 << 0) - 1);
+            addr2 = addr1 + (1 << 0);
+            res1 = slow_ldb_mmu( addr1,
+                                                          mmu_idx, retaddr);
+            res2 = slow_ldb_mmu( addr2,
+                                                          mmu_idx, retaddr);
+            shift = (addr & ((1 << 0) - 1)) * 8;
+
+
+
+            res = (res1 >> shift) | (res2 << (((1 << 0) * 8) - shift));
+
+            res = (uint8_t)res;
+        } else {
+
+            uintptr_t addend = env->tlb_table[mmu_idx][index].addend;
+            res = ldub_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))))
+                                                                ;
+        }
+    } else {
+
+        tlb_fill(env, addr, 0, mmu_idx, retaddr);
+        goto redo;
+    }
+    return res;
+}
+
+
+
+static void slow_stb_mmu(
+                                                   target_ulong addr,
+                                                   uint8_t val,
+                                                   int mmu_idx,
+                                                   uintptr_t retaddr);
+
+static __attribute__ (( always_inline )) __inline__ void io_writeb(
+                                          target_phys_addr_t physaddr,
+                                          uint8_t val,
+                                          target_ulong addr,
+                                          uintptr_t retaddr)
+{
+    MemoryRegion *mr = iotlb_to_region(physaddr);
+
+    physaddr = (physaddr & ~((1 << 12) - 1)) + addr;
+    if (mr != &io_mem_ram && mr != &io_mem_rom
+        && mr != &io_mem_unassigned
+        && mr != &io_mem_notdirty
+            && !can_do_io(env)) {
+        cpu_io_recompile(env, retaddr);
+    }
+
+    env->mem_io_vaddr = addr;
+    env->mem_io_pc = retaddr;
+
+    io_mem_write(mr, physaddr, val, 1 << 0);
+# 254 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+}
+
+void __stb_mmu(
+                                                            target_ulong addr,
+                                                            uint8_t val,
+                                                            int mmu_idx)
+{
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr;
+    uintptr_t retaddr;
+    int index;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_write;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 0) - 1)) != 0)
+                goto do_unaligned_access;
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+            ioaddr = env->iotlb[mmu_idx][index];
+            io_writeb( ioaddr, val, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 0) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+            slow_stb_mmu( addr, val,
+                                                   mmu_idx, retaddr);
+        } else {
+
+            uintptr_t addend;
+
+
+
+
+
+
+            addend = env->tlb_table[mmu_idx][index].addend;
+            stb_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))), val)
+                                                              ;
+        }
+    } else {
+
+        retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+
+        tlb_fill(env, addr, 1, mmu_idx, retaddr);
+        goto redo;
+    }
+}
+
+
+static void slow_stb_mmu(
+                                                   target_ulong addr,
+                                                   uint8_t val,
+                                                   int mmu_idx,
+                                                   uintptr_t retaddr)
+{
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr;
+    int index, i;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_write;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 0) - 1)) != 0)
+                goto do_unaligned_access;
+            ioaddr = env->iotlb[mmu_idx][index];
+            io_writeb( ioaddr, val, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 0) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+
+
+
+            for(i = (1 << 0) - 1; i >= 0; i--) {
+
+
+
+
+
+                slow_stb_mmu( addr + i,
+                                          val >> (i * 8),
+                                          mmu_idx, retaddr);
+
+            }
+        } else {
+
+            uintptr_t addend = env->tlb_table[mmu_idx][index].addend;
+            stb_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))), val)
+                                                              ;
+        }
+    } else {
+
+        tlb_fill(env, addr, 1, mmu_idx, retaddr);
+        goto redo;
+    }
+}
+# 4988 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h" 1
+# 69 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+static uint16_t slow_ldw_mmu(
+                                                        target_ulong addr,
+                                                        int mmu_idx,
+                                                        uintptr_t retaddr);
+static __attribute__ (( always_inline )) __inline__ uint16_t io_readw(
+                                              target_phys_addr_t physaddr,
+                                              target_ulong addr,
+                                              uintptr_t retaddr)
+{
+    uint16_t res;
+    MemoryRegion *mr = iotlb_to_region(physaddr);
+
+    physaddr = (physaddr & ~((1 << 12) - 1)) + addr;
+    env->mem_io_pc = retaddr;
+    if (mr != &io_mem_ram && mr != &io_mem_rom
+        && mr != &io_mem_unassigned
+        && mr != &io_mem_notdirty
+            && !can_do_io(env)) {
+        cpu_io_recompile(env, retaddr);
+    }
+
+    env->mem_io_vaddr = addr;
+
+    res = io_mem_read(mr, physaddr, 1 << 1);
+# 102 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+    return res;
+}
+
+
+uint16_t
+__ldw_mmu(
+                                                       target_ulong addr,
+                                                       int mmu_idx)
+{
+    uint16_t res;
+    int index;
+    target_ulong tlb_addr;
+    target_phys_addr_t ioaddr;
+    uintptr_t retaddr;
+
+
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_read;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 1) - 1)) != 0)
+                goto do_unaligned_access;
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+            ioaddr = env->iotlb[mmu_idx][index];
+            res = io_readw( ioaddr, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 1) - 1) >= (1 << 12)) {
+
+        do_unaligned_access:
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+            res = slow_ldw_mmu( addr,
+                                                         mmu_idx, retaddr);
+        } else {
+
+            uintptr_t addend;
+
+
+
+
+
+
+            addend = env->tlb_table[mmu_idx][index].addend;
+            res = lduw_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))))
+                                                                ;
+        }
+    } else {
+
+        retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+
+        tlb_fill(env, addr, 0, mmu_idx, retaddr);
+        goto redo;
+    }
+    return res;
+}
+
+
+static uint16_t
+slow_ldw_mmu(
+                                       target_ulong addr,
+                                       int mmu_idx,
+                                       uintptr_t retaddr)
+{
+    uint16_t res, res1, res2;
+    int index, shift;
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr, addr1, addr2;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_read;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 1) - 1)) != 0)
+                goto do_unaligned_access;
+            ioaddr = env->iotlb[mmu_idx][index];
+            res = io_readw( ioaddr, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 1) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+
+            addr1 = addr & ~((1 << 1) - 1);
+            addr2 = addr1 + (1 << 1);
+            res1 = slow_ldw_mmu( addr1,
+                                                          mmu_idx, retaddr);
+            res2 = slow_ldw_mmu( addr2,
+                                                          mmu_idx, retaddr);
+            shift = (addr & ((1 << 1) - 1)) * 8;
+
+
+
+            res = (res1 >> shift) | (res2 << (((1 << 1) * 8) - shift));
+
+            res = (uint16_t)res;
+        } else {
+
+            uintptr_t addend = env->tlb_table[mmu_idx][index].addend;
+            res = lduw_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))))
+                                                                ;
+        }
+    } else {
+
+        tlb_fill(env, addr, 0, mmu_idx, retaddr);
+        goto redo;
+    }
+    return res;
+}
+
+
+
+static void slow_stw_mmu(
+                                                   target_ulong addr,
+                                                   uint16_t val,
+                                                   int mmu_idx,
+                                                   uintptr_t retaddr);
+
+static __attribute__ (( always_inline )) __inline__ void io_writew(
+                                          target_phys_addr_t physaddr,
+                                          uint16_t val,
+                                          target_ulong addr,
+                                          uintptr_t retaddr)
+{
+    MemoryRegion *mr = iotlb_to_region(physaddr);
+
+    physaddr = (physaddr & ~((1 << 12) - 1)) + addr;
+    if (mr != &io_mem_ram && mr != &io_mem_rom
+        && mr != &io_mem_unassigned
+        && mr != &io_mem_notdirty
+            && !can_do_io(env)) {
+        cpu_io_recompile(env, retaddr);
+    }
+
+    env->mem_io_vaddr = addr;
+    env->mem_io_pc = retaddr;
+
+    io_mem_write(mr, physaddr, val, 1 << 1);
+# 254 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+}
+
+void __stw_mmu(
+                                                            target_ulong addr,
+                                                            uint16_t val,
+                                                            int mmu_idx)
+{
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr;
+    uintptr_t retaddr;
+    int index;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_write;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 1) - 1)) != 0)
+                goto do_unaligned_access;
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+            ioaddr = env->iotlb[mmu_idx][index];
+            io_writew( ioaddr, val, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 1) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+            slow_stw_mmu( addr, val,
+                                                   mmu_idx, retaddr);
+        } else {
+
+            uintptr_t addend;
+
+
+
+
+
+
+            addend = env->tlb_table[mmu_idx][index].addend;
+            stw_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))), val)
+                                                              ;
+        }
+    } else {
+
+        retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+
+        tlb_fill(env, addr, 1, mmu_idx, retaddr);
+        goto redo;
+    }
+}
+
+
+static void slow_stw_mmu(
+                                                   target_ulong addr,
+                                                   uint16_t val,
+                                                   int mmu_idx,
+                                                   uintptr_t retaddr)
+{
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr;
+    int index, i;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_write;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 1) - 1)) != 0)
+                goto do_unaligned_access;
+            ioaddr = env->iotlb[mmu_idx][index];
+            io_writew( ioaddr, val, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 1) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+
+
+
+            for(i = (1 << 1) - 1; i >= 0; i--) {
+
+
+
+
+
+                slow_stb_mmu( addr + i,
+                                          val >> (i * 8),
+                                          mmu_idx, retaddr);
+
+            }
+        } else {
+
+            uintptr_t addend = env->tlb_table[mmu_idx][index].addend;
+            stw_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))), val)
+                                                              ;
+        }
+    } else {
+
+        tlb_fill(env, addr, 1, mmu_idx, retaddr);
+        goto redo;
+    }
+}
+# 4991 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h" 1
+# 69 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+static uint32_t slow_ldl_mmu(
+                                                        target_ulong addr,
+                                                        int mmu_idx,
+                                                        uintptr_t retaddr);
+static __attribute__ (( always_inline )) __inline__ uint32_t io_readl(
+                                              target_phys_addr_t physaddr,
+                                              target_ulong addr,
+                                              uintptr_t retaddr)
+{
+    uint32_t res;
+    MemoryRegion *mr = iotlb_to_region(physaddr);
+
+    physaddr = (physaddr & ~((1 << 12) - 1)) + addr;
+    env->mem_io_pc = retaddr;
+    if (mr != &io_mem_ram && mr != &io_mem_rom
+        && mr != &io_mem_unassigned
+        && mr != &io_mem_notdirty
+            && !can_do_io(env)) {
+        cpu_io_recompile(env, retaddr);
+    }
+
+    env->mem_io_vaddr = addr;
+
+    res = io_mem_read(mr, physaddr, 1 << 2);
+# 102 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+    return res;
+}
+
+
+uint32_t
+__ldl_mmu(
+                                                       target_ulong addr,
+                                                       int mmu_idx)
+{
+    uint32_t res;
+    int index;
+    target_ulong tlb_addr;
+    target_phys_addr_t ioaddr;
+    uintptr_t retaddr;
+
+
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_read;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 2) - 1)) != 0)
+                goto do_unaligned_access;
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+            ioaddr = env->iotlb[mmu_idx][index];
+            res = io_readl( ioaddr, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 2) - 1) >= (1 << 12)) {
+
+        do_unaligned_access:
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+            res = slow_ldl_mmu( addr,
+                                                         mmu_idx, retaddr);
+        } else {
+
+            uintptr_t addend;
+
+
+
+
+
+
+            addend = env->tlb_table[mmu_idx][index].addend;
+            res = ldl_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))))
+                                                                ;
+        }
+    } else {
+
+        retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+
+        tlb_fill(env, addr, 0, mmu_idx, retaddr);
+        goto redo;
+    }
+    return res;
+}
+
+
+static uint32_t
+slow_ldl_mmu(
+                                       target_ulong addr,
+                                       int mmu_idx,
+                                       uintptr_t retaddr)
+{
+    uint32_t res, res1, res2;
+    int index, shift;
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr, addr1, addr2;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_read;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 2) - 1)) != 0)
+                goto do_unaligned_access;
+            ioaddr = env->iotlb[mmu_idx][index];
+            res = io_readl( ioaddr, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 2) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+
+            addr1 = addr & ~((1 << 2) - 1);
+            addr2 = addr1 + (1 << 2);
+            res1 = slow_ldl_mmu( addr1,
+                                                          mmu_idx, retaddr);
+            res2 = slow_ldl_mmu( addr2,
+                                                          mmu_idx, retaddr);
+            shift = (addr & ((1 << 2) - 1)) * 8;
+
+
+
+            res = (res1 >> shift) | (res2 << (((1 << 2) * 8) - shift));
+
+            res = (uint32_t)res;
+        } else {
+
+            uintptr_t addend = env->tlb_table[mmu_idx][index].addend;
+            res = ldl_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))))
+                                                                ;
+        }
+    } else {
+
+        tlb_fill(env, addr, 0, mmu_idx, retaddr);
+        goto redo;
+    }
+    return res;
+}
+
+
+
+static void slow_stl_mmu(
+                                                   target_ulong addr,
+                                                   uint32_t val,
+                                                   int mmu_idx,
+                                                   uintptr_t retaddr);
+
+static __attribute__ (( always_inline )) __inline__ void io_writel(
+                                          target_phys_addr_t physaddr,
+                                          uint32_t val,
+                                          target_ulong addr,
+                                          uintptr_t retaddr)
+{
+    MemoryRegion *mr = iotlb_to_region(physaddr);
+
+    physaddr = (physaddr & ~((1 << 12) - 1)) + addr;
+    if (mr != &io_mem_ram && mr != &io_mem_rom
+        && mr != &io_mem_unassigned
+        && mr != &io_mem_notdirty
+            && !can_do_io(env)) {
+        cpu_io_recompile(env, retaddr);
+    }
+
+    env->mem_io_vaddr = addr;
+    env->mem_io_pc = retaddr;
+
+    io_mem_write(mr, physaddr, val, 1 << 2);
+# 254 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+}
+
+void __stl_mmu(
+                                                            target_ulong addr,
+                                                            uint32_t val,
+                                                            int mmu_idx)
+{
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr;
+    uintptr_t retaddr;
+    int index;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_write;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 2) - 1)) != 0)
+                goto do_unaligned_access;
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+            ioaddr = env->iotlb[mmu_idx][index];
+            io_writel( ioaddr, val, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 2) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+            slow_stl_mmu( addr, val,
+                                                   mmu_idx, retaddr);
+        } else {
+
+            uintptr_t addend;
+
+
+
+
+
+
+            addend = env->tlb_table[mmu_idx][index].addend;
+            stl_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))), val)
+                                                              ;
+        }
+    } else {
+
+        retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+
+        tlb_fill(env, addr, 1, mmu_idx, retaddr);
+        goto redo;
+    }
+}
+
+
+static void slow_stl_mmu(
+                                                   target_ulong addr,
+                                                   uint32_t val,
+                                                   int mmu_idx,
+                                                   uintptr_t retaddr)
+{
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr;
+    int index, i;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_write;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 2) - 1)) != 0)
+                goto do_unaligned_access;
+            ioaddr = env->iotlb[mmu_idx][index];
+            io_writel( ioaddr, val, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 2) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+
+
+
+            for(i = (1 << 2) - 1; i >= 0; i--) {
+
+
+
+
+
+                slow_stb_mmu( addr + i,
+                                          val >> (i * 8),
+                                          mmu_idx, retaddr);
+
+            }
+        } else {
+
+            uintptr_t addend = env->tlb_table[mmu_idx][index].addend;
+            stl_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))), val)
+                                                              ;
+        }
+    } else {
+
+        tlb_fill(env, addr, 1, mmu_idx, retaddr);
+        goto redo;
+    }
+}
+# 4994 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h" 1
+# 69 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/softmmu_template.h"
+static uint64_t slow_ldq_mmu(
+                                                        target_ulong addr,
+                                                        int mmu_idx,
+                                                        uintptr_t retaddr);
+static __attribute__ (( always_inline )) __inline__ uint64_t io_readq(
+                                              target_phys_addr_t physaddr,
+                                              target_ulong addr,
+                                              uintptr_t retaddr)
+{
+    uint64_t res;
+    MemoryRegion *mr = iotlb_to_region(physaddr);
+
+    physaddr = (physaddr & ~((1 << 12) - 1)) + addr;
+    env->mem_io_pc = retaddr;
+    if (mr != &io_mem_ram && mr != &io_mem_rom
+        && mr != &io_mem_unassigned
+        && mr != &io_mem_notdirty
+            && !can_do_io(env)) {
+        cpu_io_recompile(env, retaddr);
+    }
+
+    env->mem_io_vaddr = addr;
+
+
+
+
+
+
+
+    res = io_mem_read(mr, physaddr, 4);
+    res |= io_mem_read(mr, physaddr + 4, 4) << 32;
+
+
+    return res;
+}
+
+
+uint64_t
+__ldq_mmu(
+                                                       target_ulong addr,
+                                                       int mmu_idx)
+{
+    uint64_t res;
+    int index;
+    target_ulong tlb_addr;
+    target_phys_addr_t ioaddr;
+    uintptr_t retaddr;
+
+
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_read;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 3) - 1)) != 0)
+                goto do_unaligned_access;
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+            ioaddr = env->iotlb[mmu_idx][index];
+            res = io_readq( ioaddr, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 3) - 1) >= (1 << 12)) {
+
+        do_unaligned_access:
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+            res = slow_ldq_mmu( addr,
+                                                         mmu_idx, retaddr);
+        } else {
+
+            uintptr_t addend;
+
+
+
+
+
+
+            addend = env->tlb_table[mmu_idx][index].addend;
+            res = ldq_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))))
+                                                                ;
+        }
+    } else {
+
+        retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+
+        tlb_fill(env, addr, 0, mmu_idx, retaddr);
+        goto redo;
+    }
+    return res;
+}
+
+
+static uint64_t
+slow_ldq_mmu(
+                                       target_ulong addr,
+                                       int mmu_idx,
+                                       uintptr_t retaddr)
+{
+    uint64_t res, res1, res2;
+    int index, shift;
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr, addr1, addr2;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_read;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 3) - 1)) != 0)
+                goto do_unaligned_access;
+            ioaddr = env->iotlb[mmu_idx][index];
+            res = io_readq( ioaddr, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 3) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+
+            addr1 = addr & ~((1 << 3) - 1);
+            addr2 = addr1 + (1 << 3);
+            res1 = slow_ldq_mmu( addr1,
+                                                          mmu_idx, retaddr);
+            res2 = slow_ldq_mmu( addr2,
+                                                          mmu_idx, retaddr);
+            shift = (addr & ((1 << 3) - 1)) * 8;
+
+
+
+            res = (res1 >> shift) | (res2 << (((1 << 3) * 8) - shift));
+
+            res = (uint64_t)res;
+        } else {
+
+            uintptr_t addend = env->tlb_table[mmu_idx][index].addend;
+            res = ldq_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))))
+                                                                ;
+        }
+    } else {
+
+        tlb_fill(env, addr, 0, mmu_idx, retaddr);
+        goto redo;
+    }
+    return res;
+}
+
+
+
+static void slow_stq_mmu(
+                                                   target_ulong addr,
+                                                   uint64_t val,
+                                                   int mmu_idx,
+                                                   uintptr_t retaddr);
+
+static __attribute__ (( always_inline )) __inline__ void io_writeq(
+                                          target_phys_addr_t physaddr,
+                                          uint64_t val,
+                                          target_ulong addr,
+                                          uintptr_t retaddr)
+{
+    MemoryRegion *mr = iotlb_to_region(physaddr);
+
+    physaddr = (physaddr & ~((1 << 12) - 1)) + addr;
+    if (mr != &io_mem_ram && mr != &io_mem_rom
+        && mr != &io_mem_unassigned
+        && mr != &io_mem_notdirty
+            && !can_do_io(env)) {
+        cpu_io_recompile(env, retaddr);
+    }
+
+    env->mem_io_vaddr = addr;
+    env->mem_io_pc = retaddr;
+
+
+
+
+
+
+
+    io_mem_write(mr, physaddr, (uint32_t)val, 4);
+    io_mem_write(mr, physaddr + 4, val >> 32, 4);
+
+
+}
+
+void __stq_mmu(
+                                                            target_ulong addr,
+                                                            uint64_t val,
+                                                            int mmu_idx)
+{
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr;
+    uintptr_t retaddr;
+    int index;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_write;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 3) - 1)) != 0)
+                goto do_unaligned_access;
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+            ioaddr = env->iotlb[mmu_idx][index];
+            io_writeq( ioaddr, val, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 3) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+            retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+            slow_stq_mmu( addr, val,
+                                                   mmu_idx, retaddr);
+        } else {
+
+            uintptr_t addend;
+
+
+
+
+
+
+            addend = env->tlb_table[mmu_idx][index].addend;
+            stq_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))), val)
+                                                              ;
+        }
+    } else {
+
+        retaddr = ((uintptr_t)__builtin_return_address(0) - 1);
+
+
+
+
+        tlb_fill(env, addr, 1, mmu_idx, retaddr);
+        goto redo;
+    }
+}
+
+
+static void slow_stq_mmu(
+                                                   target_ulong addr,
+                                                   uint64_t val,
+                                                   int mmu_idx,
+                                                   uintptr_t retaddr)
+{
+    target_phys_addr_t ioaddr;
+    target_ulong tlb_addr;
+    int index, i;
+
+    index = (addr >> 12) & ((1 << 8) - 1);
+ redo:
+    tlb_addr = env->tlb_table[mmu_idx][index].addr_write;
+    if ((addr & ~((1 << 12) - 1)) == (tlb_addr & (~((1 << 12) - 1) | (1 << 3)))) {
+        if (tlb_addr & ~~((1 << 12) - 1)) {
+
+            if ((addr & ((1 << 3) - 1)) != 0)
+                goto do_unaligned_access;
+            ioaddr = env->iotlb[mmu_idx][index];
+            io_writeq( ioaddr, val, addr, retaddr);
+        } else if (((addr & ~~((1 << 12) - 1)) + (1 << 3) - 1) >= (1 << 12)) {
+        do_unaligned_access:
+
+
+
+            for(i = (1 << 3) - 1; i >= 0; i--) {
+
+
+
+
+
+                slow_stb_mmu( addr + i,
+                                          val >> (i * 8),
+                                          mmu_idx, retaddr);
+
+            }
+        } else {
+
+            uintptr_t addend = env->tlb_table[mmu_idx][index].addend;
+            stq_le_p((uint8_t *)(intptr_t)(((uint8_t *)(intptr_t) (addr + addend))), val)
+                                                              ;
+        }
+    } else {
+
+        tlb_fill(env, addr, 1, mmu_idx, retaddr);
+        goto redo;
+    }
+}
+# 4997 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+# 5005 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+void tlb_fill(CPUX86State *env1, target_ulong addr, int is_write, int mmu_idx,
+              uintptr_t retaddr)
+{
+    TranslationBlock *tb;
+    int ret;
+    CPUX86State *saved_env;
+
+    saved_env = env;
+    env = env1;
+
+    ret = cpu_x86_handle_mmu_fault(env, addr, is_write, mmu_idx);
+    if (ret) {
+        if (retaddr) {
+
+            tb = tb_find_pc(retaddr);
+            if (tb) {
+
+
+                cpu_restore_state(tb, env, retaddr);
+            }
+        }
+        raise_exception_err(env->exception_index, env->error_code);
+    }
+    env = saved_env;
+}
+# 5077 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+static __attribute__ (( always_inline )) __inline__ void svm_save_seg(target_phys_addr_t addr,
+                                const SegmentCache *sc)
+{
+    stw_phys(addr + __builtin_offsetof (struct vmcb_seg, selector),
+             sc->selector);
+    stq_phys(addr + __builtin_offsetof (struct vmcb_seg, base),
+             sc->base);
+    stl_phys(addr + __builtin_offsetof (struct vmcb_seg, limit),
+             sc->limit);
+    stw_phys(addr + __builtin_offsetof (struct vmcb_seg, attrib),
+             ((sc->flags >> 8) & 0xff) | ((sc->flags >> 12) & 0x0f00));
+}
+
+static __attribute__ (( always_inline )) __inline__ void svm_load_seg(target_phys_addr_t addr, SegmentCache *sc)
+{
+    unsigned int flags;
+
+    sc->selector = lduw_phys(addr + __builtin_offsetof (struct vmcb_seg, selector));
+    sc->base = ldq_phys(addr + __builtin_offsetof (struct vmcb_seg, base));
+    sc->limit = ldl_phys(addr + __builtin_offsetof (struct vmcb_seg, limit));
+    flags = lduw_phys(addr + __builtin_offsetof (struct vmcb_seg, attrib));
+    sc->flags = ((flags & 0xff) << 8) | ((flags & 0x0f00) << 12);
+}
+
+static __attribute__ (( always_inline )) __inline__ void svm_load_seg_cache(target_phys_addr_t addr,
+                                      CPUX86State *env, int seg_reg)
+{
+    SegmentCache sc1, *sc = &sc1;
+    svm_load_seg(addr, sc);
+    cpu_x86_load_seg_cache(env, seg_reg, sc->selector,
+                           sc->base, sc->limit, sc->flags);
+}
+
+void helper_vmrun(int aflag, int next_eip_addend)
+{
+    target_ulong addr;
+    uint32_t event_inj;
+    uint32_t int_ctl;
+
+    helper_svm_check_intercept_param(0x080, 0);
+
+    if (aflag == 2)
+        addr = (env->regs[0]);
+    else
+        addr = (uint32_t)(env->regs[0]);
+
+    do { if (loglevel & ((1 << 1))) fprintf(logfile, "vmrun! " "%08x" "\n", addr); } while (0);
+
+    env->vm_vmcb = addr;
+
+
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.gdtr.base), env->gdt.base);
+    stl_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.gdtr.limit), env->gdt.limit);
+
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.idtr.base), env->idt.base);
+    stl_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.idtr.limit), env->idt.limit);
+
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.cr0), env->cr[0]);
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.cr2), env->cr[2]);
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.cr3), env->cr[3]);
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.cr4), env->cr[4]);
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.dr6), env->dr[6]);
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.dr7), env->dr[7]);
+
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.efer), env->efer);
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.rflags), compute_eflags());
+
+    svm_save_seg(env->vm_hsave + __builtin_offsetof (struct vmcb, save.es),
+                  &env->segs[0]);
+    svm_save_seg(env->vm_hsave + __builtin_offsetof (struct vmcb, save.cs),
+                 &env->segs[1]);
+    svm_save_seg(env->vm_hsave + __builtin_offsetof (struct vmcb, save.ss),
+                 &env->segs[2]);
+    svm_save_seg(env->vm_hsave + __builtin_offsetof (struct vmcb, save.ds),
+                 &env->segs[3]);
+
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.rip),
+             (env->eip) + next_eip_addend);
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.rsp), (env->regs[4]));
+    stq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.rax), (env->regs[0]));
+
+
+
+    env->intercept = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.intercept));
+    env->intercept_cr_read = lduw_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.intercept_cr_read));
+    env->intercept_cr_write = lduw_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.intercept_cr_write));
+    env->intercept_dr_read = lduw_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.intercept_dr_read));
+    env->intercept_dr_write = lduw_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.intercept_dr_write));
+    env->intercept_exceptions = ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.intercept_exceptions));
+
+
+    env->hflags |= (1 << 21);
+
+    env->tsc_offset = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.tsc_offset));
+
+    env->gdt.base = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.gdtr.base));
+    env->gdt.limit = ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.gdtr.limit));
+
+    env->idt.base = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.idtr.base));
+    env->idt.limit = ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.idtr.limit));
+
+
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.exit_info_2), 0);
+
+    cpu_x86_update_cr0(env, ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cr0)));
+    cpu_x86_update_cr4(env, ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cr4)));
+    cpu_x86_update_cr3(env, ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cr3)));
+    env->cr[2] = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cr2));
+    int_ctl = ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.int_ctl));
+    env->hflags2 &= ~((1 << 1) | (1 << 3));
+    if (int_ctl & (1 << 24)) {
+        env->v_tpr = int_ctl & 0x0f;
+        env->hflags2 |= (1 << 3);
+        if (env->eflags & 0x00000200)
+            env->hflags2 |= (1 << 1);
+    }
+
+    cpu_load_efer(env,
+                  ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.efer)));
+    env->eflags = 0;
+    load_eflags(ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.rflags)),
+                ~(0x0800 | 0x0080 | 0x0040 | 0x0010 | 0x0004 | 0x0001 | 0x00000400));
+    (env->cc_op) = CC_OP_EFLAGS;
+
+    svm_load_seg_cache(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.es),
+                       env, 0);
+    svm_load_seg_cache(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cs),
+                       env, 1);
+    svm_load_seg_cache(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.ss),
+                       env, 2);
+    svm_load_seg_cache(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.ds),
+                       env, 3);
+
+    (env->eip) = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.rip));
+    env->eip = (env->eip);
+    (env->regs[4]) = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.rsp));
+    (env->regs[0]) = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.rax));
+    env->dr[7] = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.dr7));
+    env->dr[6] = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.dr6));
+    cpu_x86_set_cpl(env, ldub_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cpl)));
+
+
+
+    switch(ldub_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.tlb_ctl))) {
+        case 0:
+            break;
+        case 1:
+
+            tlb_flush(env, 1);
+        break;
+    }
+
+    env->hflags2 |= (1 << 0);
+
+    if (int_ctl & (1 << 8)) {
+        env->interrupt_request |= 0x0100;
+    }
+
+
+    event_inj = ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.event_inj));
+    if (event_inj & (1 << 31)) {
+        uint8_t vector = event_inj & 0xff;
+        uint16_t valid_err = event_inj & (1 << 11);
+        uint32_t event_inj_err = ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.event_inj_err));
+
+        do { if (loglevel & ((1 << 1))) fprintf(logfile, "Injecting(%#hx): ", valid_err); } while (0);
+
+        switch (event_inj & (7 << 8)) {
+        case (0 << 8):
+                env->exception_index = vector;
+                env->error_code = event_inj_err;
+                env->exception_is_int = 0;
+                env->exception_next_eip = -1;
+                do { if (loglevel & ((1 << 1))) fprintf(logfile, "INTR"); } while (0);
+
+                do_interrupt_all(vector, 0, 0, 0, 1);
+                break;
+        case (2 << 8):
+                env->exception_index = 2;
+                env->error_code = event_inj_err;
+                env->exception_is_int = 0;
+                env->exception_next_eip = (env->eip);
+                do { if (loglevel & ((1 << 1))) fprintf(logfile, "NMI"); } while (0);
+                cpu_loop_exit(env);
+                break;
+        case (3 << 8):
+                env->exception_index = vector;
+                env->error_code = event_inj_err;
+                env->exception_is_int = 0;
+                env->exception_next_eip = -1;
+                do { if (loglevel & ((1 << 1))) fprintf(logfile, "EXEPT"); } while (0);
+                cpu_loop_exit(env);
+                break;
+        case (4 << 8):
+                env->exception_index = vector;
+                env->error_code = event_inj_err;
+                env->exception_is_int = 1;
+                env->exception_next_eip = (env->eip);
+                do { if (loglevel & ((1 << 1))) fprintf(logfile, "SOFT"); } while (0);
+                cpu_loop_exit(env);
+                break;
+        }
+        do { if (loglevel & ((1 << 1))) fprintf(logfile, " %#x %#x\n", env->exception_index, env->error_code); } while (0);
+    }
+}
+
+void helper_vmmcall(void)
+{
+    helper_svm_check_intercept_param(0x081, 0);
+    raise_exception(6);
+}
+
+void helper_vmload(int aflag)
+{
+    target_ulong addr;
+    helper_svm_check_intercept_param(0x082, 0);
+
+    if (aflag == 2)
+        addr = (env->regs[0]);
+    else
+        addr = (uint32_t)(env->regs[0]);
+
+    do { if (loglevel & ((1 << 1))) fprintf(logfile, "vmload! " "%08x" "\nFS: %016" "ll" "x" " | " "%08x" "\n", addr, ldq_phys(addr + __builtin_offsetof (struct vmcb, save.fs.base)), env->segs[4].base); } while (0)
+
+                                     ;
+
+    svm_load_seg_cache(addr + __builtin_offsetof (struct vmcb, save.fs),
+                       env, 4);
+    svm_load_seg_cache(addr + __builtin_offsetof (struct vmcb, save.gs),
+                       env, 5);
+    svm_load_seg(addr + __builtin_offsetof (struct vmcb, save.tr),
+                 &env->tr);
+    svm_load_seg(addr + __builtin_offsetof (struct vmcb, save.ldtr),
+                 &env->ldt);
+
+
+
+
+
+
+
+    env->star = ldq_phys(addr + __builtin_offsetof (struct vmcb, save.star));
+    env->sysenter_cs = ldq_phys(addr + __builtin_offsetof (struct vmcb, save.sysenter_cs));
+    env->sysenter_esp = ldq_phys(addr + __builtin_offsetof (struct vmcb, save.sysenter_esp));
+    env->sysenter_eip = ldq_phys(addr + __builtin_offsetof (struct vmcb, save.sysenter_eip));
+}
+
+void helper_vmsave(int aflag)
+{
+    target_ulong addr;
+    helper_svm_check_intercept_param(0x083, 0);
+
+    if (aflag == 2)
+        addr = (env->regs[0]);
+    else
+        addr = (uint32_t)(env->regs[0]);
+
+    do { if (loglevel & ((1 << 1))) fprintf(logfile, "vmsave! " "%08x" "\nFS: %016" "ll" "x" " | " "%08x" "\n", addr, ldq_phys(addr + __builtin_offsetof (struct vmcb, save.fs.base)), env->segs[4].base); } while (0)
+
+                                     ;
+
+    svm_save_seg(addr + __builtin_offsetof (struct vmcb, save.fs),
+                 &env->segs[4]);
+    svm_save_seg(addr + __builtin_offsetof (struct vmcb, save.gs),
+                 &env->segs[5]);
+    svm_save_seg(addr + __builtin_offsetof (struct vmcb, save.tr),
+                 &env->tr);
+    svm_save_seg(addr + __builtin_offsetof (struct vmcb, save.ldtr),
+                 &env->ldt);
+
+
+
+
+
+
+
+    stq_phys(addr + __builtin_offsetof (struct vmcb, save.star), env->star);
+    stq_phys(addr + __builtin_offsetof (struct vmcb, save.sysenter_cs), env->sysenter_cs);
+    stq_phys(addr + __builtin_offsetof (struct vmcb, save.sysenter_esp), env->sysenter_esp);
+    stq_phys(addr + __builtin_offsetof (struct vmcb, save.sysenter_eip), env->sysenter_eip);
+}
+
+void helper_stgi(void)
+{
+    helper_svm_check_intercept_param(0x084, 0);
+    env->hflags2 |= (1 << 0);
+}
+
+void helper_clgi(void)
+{
+    helper_svm_check_intercept_param(0x085, 0);
+    env->hflags2 &= ~(1 << 0);
+}
+
+void helper_skinit(void)
+{
+    helper_svm_check_intercept_param(0x086, 0);
+
+    raise_exception(6);
+}
+
+void helper_invlpga(int aflag)
+{
+    target_ulong addr;
+    helper_svm_check_intercept_param(0x07a, 0);
+
+    if (aflag == 2)
+        addr = (env->regs[0]);
+    else
+        addr = (uint32_t)(env->regs[0]);
+
+
+
+    tlb_flush_page(env, addr);
+}
+
+void helper_svm_check_intercept_param(uint32_t type, uint64_t param)
+{
+    if (__builtin_expect(!!(!(env->hflags & (1 << 21))), 1))
+        return;
+    switch(type) {
+    case 0x000 ... 0x000 + 8:
+        if (env->intercept_cr_read & (1 << (type - 0x000))) {
+            helper_vmexit(type, param);
+        }
+        break;
+    case 0x010 ... 0x010 + 8:
+        if (env->intercept_cr_write & (1 << (type - 0x010))) {
+            helper_vmexit(type, param);
+        }
+        break;
+    case 0x020 ... 0x020 + 7:
+        if (env->intercept_dr_read & (1 << (type - 0x020))) {
+            helper_vmexit(type, param);
+        }
+        break;
+    case 0x030 ... 0x030 + 7:
+        if (env->intercept_dr_write & (1 << (type - 0x030))) {
+            helper_vmexit(type, param);
+        }
+        break;
+    case 0x040 ... 0x040 + 31:
+        if (env->intercept_exceptions & (1 << (type - 0x040))) {
+            helper_vmexit(type, param);
+        }
+        break;
+    case 0x07c:
+        if (env->intercept & (1ULL << (0x07c - 0x060))) {
+
+            uint64_t addr = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.msrpm_base_pa));
+            uint32_t t0, t1;
+            switch((uint32_t)(env->regs[1])) {
+            case 0 ... 0x1fff:
+                t0 = ((env->regs[1]) * 2) % 8;
+                t1 = ((env->regs[1]) * 2) / 8;
+                break;
+            case 0xc0000000 ... 0xc0001fff:
+                t0 = (8192 + (env->regs[1]) - 0xc0000000) * 2;
+                t1 = (t0 / 8);
+                t0 %= 8;
+                break;
+            case 0xc0010000 ... 0xc0011fff:
+                t0 = (16384 + (env->regs[1]) - 0xc0010000) * 2;
+                t1 = (t0 / 8);
+                t0 %= 8;
+                break;
+            default:
+                helper_vmexit(type, param);
+                t0 = 0;
+                t1 = 0;
+                break;
+            }
+            if (ldub_phys(addr + t1) & ((1 << param) << t0))
+                helper_vmexit(type, param);
+        }
+        break;
+    default:
+        if (env->intercept & (1ULL << (type - 0x060))) {
+            helper_vmexit(type, param);
+        }
+        break;
+    }
+}
+
+void svm_check_intercept(CPUX86State *env1, uint32_t type)
+{
+    CPUX86State *saved_env;
+
+    saved_env = env;
+    env = env1;
+    helper_svm_check_intercept_param(type, 0);
+    env = saved_env;
+}
+
+void helper_svm_check_io(uint32_t port, uint32_t param,
+                         uint32_t next_eip_addend)
+{
+    if (env->intercept & (1ULL << (0x07b - 0x060))) {
+
+        uint64_t addr = ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.iopm_base_pa));
+        uint16_t mask = (1 << ((param >> 4) & 7)) - 1;
+        if(lduw_phys(addr + port / 8) & (mask << (port & 7))) {
+
+            stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.exit_info_2),
+                     env->eip + next_eip_addend);
+            helper_vmexit(0x07b, param | (port << 16));
+        }
+    }
+}
+
+
+void helper_vmexit(uint32_t exit_code, uint64_t exit_info_1)
+{
+    uint32_t int_ctl;
+
+    do { if (loglevel & ((1 << 1))) fprintf(logfile, "vmexit(%08x, %016" "ll" "x" ", %016" "ll" "x" ", " "%08x" ")!\n", exit_code, exit_info_1, ldq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.exit_info_2)), (env->eip)); } while (0)
+
+
+                    ;
+
+    if(env->hflags & (1 << 3)) {
+        stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.int_state), 1);
+        env->hflags &= ~(1 << 3);
+    } else {
+        stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.int_state), 0);
+    }
+
+
+    svm_save_seg(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.es),
+                 &env->segs[0]);
+    svm_save_seg(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cs),
+                 &env->segs[1]);
+    svm_save_seg(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.ss),
+                 &env->segs[2]);
+    svm_save_seg(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.ds),
+                 &env->segs[3]);
+
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.gdtr.base), env->gdt.base);
+    stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.gdtr.limit), env->gdt.limit);
+
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.idtr.base), env->idt.base);
+    stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.idtr.limit), env->idt.limit);
+
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.efer), env->efer);
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cr0), env->cr[0]);
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cr2), env->cr[2]);
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cr3), env->cr[3]);
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cr4), env->cr[4]);
+
+    int_ctl = ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.int_ctl));
+    int_ctl &= ~(0x0f | (1 << 8));
+    int_ctl |= env->v_tpr & 0x0f;
+    if (env->interrupt_request & 0x0100)
+        int_ctl |= (1 << 8);
+    stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.int_ctl), int_ctl);
+
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.rflags), compute_eflags());
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.rip), env->eip);
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.rsp), (env->regs[4]));
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.rax), (env->regs[0]));
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.dr7), env->dr[7]);
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.dr6), env->dr[6]);
+    stb_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, save.cpl), env->hflags & (3 << 0));
+
+
+    env->hflags2 &= ~((1 << 1) | (1 << 3));
+    env->hflags &= ~(1 << 21);
+    env->intercept = 0;
+    env->intercept_exceptions = 0;
+    env->interrupt_request &= ~0x0100;
+    env->tsc_offset = 0;
+
+    env->gdt.base = ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.gdtr.base));
+    env->gdt.limit = ldl_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.gdtr.limit));
+
+    env->idt.base = ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.idtr.base));
+    env->idt.limit = ldl_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.idtr.limit));
+
+    cpu_x86_update_cr0(env, ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.cr0)) | (1 << 0));
+    cpu_x86_update_cr4(env, ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.cr4)));
+    cpu_x86_update_cr3(env, ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.cr3)));
+
+
+    cpu_load_efer(env,
+                  ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.efer)));
+    env->eflags = 0;
+    load_eflags(ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.rflags)),
+                ~(0x0800 | 0x0080 | 0x0040 | 0x0010 | 0x0004 | 0x0001 | 0x00000400));
+    (env->cc_op) = CC_OP_EFLAGS;
+
+    svm_load_seg_cache(env->vm_hsave + __builtin_offsetof (struct vmcb, save.es),
+                       env, 0);
+    svm_load_seg_cache(env->vm_hsave + __builtin_offsetof (struct vmcb, save.cs),
+                       env, 1);
+    svm_load_seg_cache(env->vm_hsave + __builtin_offsetof (struct vmcb, save.ss),
+                       env, 2);
+    svm_load_seg_cache(env->vm_hsave + __builtin_offsetof (struct vmcb, save.ds),
+                       env, 3);
+
+    (env->eip) = ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.rip));
+    (env->regs[4]) = ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.rsp));
+    (env->regs[0]) = ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.rax));
+
+    env->dr[6] = ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.dr6));
+    env->dr[7] = ldq_phys(env->vm_hsave + __builtin_offsetof (struct vmcb, save.dr7));
+
+
+    cpu_x86_set_cpl(env, 0);
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.exit_code), exit_code);
+    stq_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.exit_info_1), exit_info_1);
+
+    stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.exit_int_info),
+             ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.event_inj)));
+    stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.exit_int_info_err),
+             ldl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.event_inj_err)));
+    stl_phys(env->vm_vmcb + __builtin_offsetof (struct vmcb, control.event_inj), 0);
+
+    env->hflags2 &= ~(1 << 0);
+# 5606 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    env->cr[0] |= (1 << 0);
+    env->eflags &= ~0x00020000;
+# 5618 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    env->exception_index = -1;
+    env->error_code = 0;
+    env->old_exception = -1;
+
+    cpu_loop_exit(env);
+}
+# 5638 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+static void update_sse_status(void)
+{
+    int rnd_type;
+
+
+    switch(env->mxcsr & 0x6000) {
+    default:
+    case 0x0000:
+        rnd_type = float_round_nearest_even;
+        break;
+    case 0x2000:
+        rnd_type = float_round_down;
+        break;
+    case 0x4000:
+        rnd_type = float_round_up;
+        break;
+    case 0x6000:
+        rnd_type = float_round_to_zero;
+        break;
+    }
+    set_float_rounding_mode(rnd_type, &env->sse_status);
+
+
+    set_flush_inputs_to_zero((env->mxcsr & 0x0040) ? 1 : 0, &env->sse_status);
+
+
+    set_flush_to_zero((env->mxcsr & 0x8000) ? 1 : 0, &env->fp_status);
+}
+
+void helper_ldmxcsr(uint32_t val)
+{
+    env->mxcsr = val;
+    update_sse_status();
+}
+
+void helper_enter_mmx(void)
+{
+    env->fpstt = 0;
+    *(uint32_t *)(env->fptags) = 0;
+    *(uint32_t *)(env->fptags + 4) = 0;
+}
+
+void helper_emms(void)
+{
+
+    *(uint32_t *)(env->fptags) = 0x01010101;
+    *(uint32_t *)(env->fptags + 4) = 0x01010101;
+}
+
+
+void helper_movq(void *d, void *s)
+{
+    *(uint64_t *)d = *(uint64_t *)s;
+}
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h" 1
+# 38 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_psrlw_mmx(MMXReg *d, MMXReg *s)
+{
+    int shift;
+
+    if (s->q > 15) {
+        d->q = 0;
+
+
+
+    } else {
+        shift = s->_b[0];
+        d->_w[0] >>= shift;
+        d->_w[1] >>= shift;
+        d->_w[2] >>= shift;
+        d->_w[3] >>= shift;
+
+
+
+
+
+
+    }
+}
+
+void helper_psraw_mmx(MMXReg *d, MMXReg *s)
+{
+    int shift;
+
+    if (s->q > 15) {
+        shift = 15;
+    } else {
+        shift = s->_b[0];
+    }
+    d->_w[0] = (int16_t)d->_w[0] >> shift;
+    d->_w[1] = (int16_t)d->_w[1] >> shift;
+    d->_w[2] = (int16_t)d->_w[2] >> shift;
+    d->_w[3] = (int16_t)d->_w[3] >> shift;
+
+
+
+
+
+
+}
+
+void helper_psllw_mmx(MMXReg *d, MMXReg *s)
+{
+    int shift;
+
+    if (s->q > 15) {
+        d->q = 0;
+
+
+
+    } else {
+        shift = s->_b[0];
+        d->_w[0] <<= shift;
+        d->_w[1] <<= shift;
+        d->_w[2] <<= shift;
+        d->_w[3] <<= shift;
+
+
+
+
+
+
+    }
+}
+
+void helper_psrld_mmx(MMXReg *d, MMXReg *s)
+{
+    int shift;
+
+    if (s->q > 31) {
+        d->q = 0;
+
+
+
+    } else {
+        shift = s->_b[0];
+        d->_l[0] >>= shift;
+        d->_l[1] >>= shift;
+
+
+
+
+    }
+}
+
+void helper_psrad_mmx(MMXReg *d, MMXReg *s)
+{
+    int shift;
+
+    if (s->q > 31) {
+        shift = 31;
+    } else {
+        shift = s->_b[0];
+    }
+    d->_l[0] = (int32_t)d->_l[0] >> shift;
+    d->_l[1] = (int32_t)d->_l[1] >> shift;
+
+
+
+
+}
+
+void helper_pslld_mmx(MMXReg *d, MMXReg *s)
+{
+    int shift;
+
+    if (s->q > 31) {
+        d->q = 0;
+
+
+
+    } else {
+        shift = s->_b[0];
+        d->_l[0] <<= shift;
+        d->_l[1] <<= shift;
+
+
+
+
+    }
+}
+
+void helper_psrlq_mmx(MMXReg *d, MMXReg *s)
+{
+    int shift;
+
+    if (s->q > 63) {
+        d->q = 0;
+
+
+
+    } else {
+        shift = s->_b[0];
+        d->q >>= shift;
+
+
+
+    }
+}
+
+void helper_psllq_mmx(MMXReg *d, MMXReg *s)
+{
+    int shift;
+
+    if (s->q > 63) {
+        d->q = 0;
+
+
+
+    } else {
+        shift = s->_b[0];
+        d->q <<= shift;
+
+
+
+    }
+}
+# 287 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+static __attribute__ (( always_inline )) __inline__ int satub(int x)
+{
+    if (x < 0)
+        return 0;
+    else if (x > 255)
+        return 255;
+    else
+        return x;
+}
+
+static __attribute__ (( always_inline )) __inline__ int satuw(int x)
+{
+    if (x < 0)
+        return 0;
+    else if (x > 65535)
+        return 65535;
+    else
+        return x;
+}
+
+static __attribute__ (( always_inline )) __inline__ int satsb(int x)
+{
+    if (x < -128)
+        return -128;
+    else if (x > 127)
+        return 127;
+    else
+        return x;
+}
+
+static __attribute__ (( always_inline )) __inline__ int satsw(int x)
+{
+    if (x < -32768)
+        return -32768;
+    else if (x > 32767)
+        return 32767;
+    else
+        return x;
+}
+# 361 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_paddb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = ((d->_b[0]) + (s->_b[0])); d->_b[1] = ((d->_b[1]) + (s->_b[1])); d->_b[2] = ((d->_b[2]) + (s->_b[2])); d->_b[3] = ((d->_b[3]) + (s->_b[3])); d->_b[4] = ((d->_b[4]) + (s->_b[4])); d->_b[5] = ((d->_b[5]) + (s->_b[5])); d->_b[6] = ((d->_b[6]) + (s->_b[6])); d->_b[7] = ((d->_b[7]) + (s->_b[7])); }
+void helper_paddw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = ((d->_w[0]) + (s->_w[0])); d->_w[1] = ((d->_w[1]) + (s->_w[1])); d->_w[2] = ((d->_w[2]) + (s->_w[2])); d->_w[3] = ((d->_w[3]) + (s->_w[3])); }
+void helper_paddl_mmx (MMXReg *d, MMXReg *s){ d->_l[0] = ((d->_l[0]) + (s->_l[0])); d->_l[1] = ((d->_l[1]) + (s->_l[1])); }
+void helper_paddq_mmx (MMXReg *d, MMXReg *s){ d->q = ((d->q) + (s->q)); }
+
+void helper_psubb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = ((d->_b[0]) - (s->_b[0])); d->_b[1] = ((d->_b[1]) - (s->_b[1])); d->_b[2] = ((d->_b[2]) - (s->_b[2])); d->_b[3] = ((d->_b[3]) - (s->_b[3])); d->_b[4] = ((d->_b[4]) - (s->_b[4])); d->_b[5] = ((d->_b[5]) - (s->_b[5])); d->_b[6] = ((d->_b[6]) - (s->_b[6])); d->_b[7] = ((d->_b[7]) - (s->_b[7])); }
+void helper_psubw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = ((d->_w[0]) - (s->_w[0])); d->_w[1] = ((d->_w[1]) - (s->_w[1])); d->_w[2] = ((d->_w[2]) - (s->_w[2])); d->_w[3] = ((d->_w[3]) - (s->_w[3])); }
+void helper_psubl_mmx (MMXReg *d, MMXReg *s){ d->_l[0] = ((d->_l[0]) - (s->_l[0])); d->_l[1] = ((d->_l[1]) - (s->_l[1])); }
+void helper_psubq_mmx (MMXReg *d, MMXReg *s){ d->q = ((d->q) - (s->q)); }
+
+void helper_paddusb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = satub((d->_b[0]) + (s->_b[0])); d->_b[1] = satub((d->_b[1]) + (s->_b[1])); d->_b[2] = satub((d->_b[2]) + (s->_b[2])); d->_b[3] = satub((d->_b[3]) + (s->_b[3])); d->_b[4] = satub((d->_b[4]) + (s->_b[4])); d->_b[5] = satub((d->_b[5]) + (s->_b[5])); d->_b[6] = satub((d->_b[6]) + (s->_b[6])); d->_b[7] = satub((d->_b[7]) + (s->_b[7])); }
+void helper_paddsb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = satsb((int8_t)(d->_b[0]) + (int8_t)(s->_b[0])); d->_b[1] = satsb((int8_t)(d->_b[1]) + (int8_t)(s->_b[1])); d->_b[2] = satsb((int8_t)(d->_b[2]) + (int8_t)(s->_b[2])); d->_b[3] = satsb((int8_t)(d->_b[3]) + (int8_t)(s->_b[3])); d->_b[4] = satsb((int8_t)(d->_b[4]) + (int8_t)(s->_b[4])); d->_b[5] = satsb((int8_t)(d->_b[5]) + (int8_t)(s->_b[5])); d->_b[6] = satsb((int8_t)(d->_b[6]) + (int8_t)(s->_b[6])); d->_b[7] = satsb((int8_t)(d->_b[7]) + (int8_t)(s->_b[7])); }
+void helper_psubusb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = satub((d->_b[0]) - (s->_b[0])); d->_b[1] = satub((d->_b[1]) - (s->_b[1])); d->_b[2] = satub((d->_b[2]) - (s->_b[2])); d->_b[3] = satub((d->_b[3]) - (s->_b[3])); d->_b[4] = satub((d->_b[4]) - (s->_b[4])); d->_b[5] = satub((d->_b[5]) - (s->_b[5])); d->_b[6] = satub((d->_b[6]) - (s->_b[6])); d->_b[7] = satub((d->_b[7]) - (s->_b[7])); }
+void helper_psubsb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = satsb((int8_t)(d->_b[0]) - (int8_t)(s->_b[0])); d->_b[1] = satsb((int8_t)(d->_b[1]) - (int8_t)(s->_b[1])); d->_b[2] = satsb((int8_t)(d->_b[2]) - (int8_t)(s->_b[2])); d->_b[3] = satsb((int8_t)(d->_b[3]) - (int8_t)(s->_b[3])); d->_b[4] = satsb((int8_t)(d->_b[4]) - (int8_t)(s->_b[4])); d->_b[5] = satsb((int8_t)(d->_b[5]) - (int8_t)(s->_b[5])); d->_b[6] = satsb((int8_t)(d->_b[6]) - (int8_t)(s->_b[6])); d->_b[7] = satsb((int8_t)(d->_b[7]) - (int8_t)(s->_b[7])); }
+
+void helper_paddusw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = satuw((d->_w[0]) + (s->_w[0])); d->_w[1] = satuw((d->_w[1]) + (s->_w[1])); d->_w[2] = satuw((d->_w[2]) + (s->_w[2])); d->_w[3] = satuw((d->_w[3]) + (s->_w[3])); }
+void helper_paddsw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = satsw((int16_t)(d->_w[0]) + (int16_t)(s->_w[0])); d->_w[1] = satsw((int16_t)(d->_w[1]) + (int16_t)(s->_w[1])); d->_w[2] = satsw((int16_t)(d->_w[2]) + (int16_t)(s->_w[2])); d->_w[3] = satsw((int16_t)(d->_w[3]) + (int16_t)(s->_w[3])); }
+void helper_psubusw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = satuw((d->_w[0]) - (s->_w[0])); d->_w[1] = satuw((d->_w[1]) - (s->_w[1])); d->_w[2] = satuw((d->_w[2]) - (s->_w[2])); d->_w[3] = satuw((d->_w[3]) - (s->_w[3])); }
+void helper_psubsw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = satsw((int16_t)(d->_w[0]) - (int16_t)(s->_w[0])); d->_w[1] = satsw((int16_t)(d->_w[1]) - (int16_t)(s->_w[1])); d->_w[2] = satsw((int16_t)(d->_w[2]) - (int16_t)(s->_w[2])); d->_w[3] = satsw((int16_t)(d->_w[3]) - (int16_t)(s->_w[3])); }
+
+void helper_pminub_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = ((d->_b[0]) < (s->_b[0])) ? (d->_b[0]) : (s->_b[0]); d->_b[1] = ((d->_b[1]) < (s->_b[1])) ? (d->_b[1]) : (s->_b[1]); d->_b[2] = ((d->_b[2]) < (s->_b[2])) ? (d->_b[2]) : (s->_b[2]); d->_b[3] = ((d->_b[3]) < (s->_b[3])) ? (d->_b[3]) : (s->_b[3]); d->_b[4] = ((d->_b[4]) < (s->_b[4])) ? (d->_b[4]) : (s->_b[4]); d->_b[5] = ((d->_b[5]) < (s->_b[5])) ? (d->_b[5]) : (s->_b[5]); d->_b[6] = ((d->_b[6]) < (s->_b[6])) ? (d->_b[6]) : (s->_b[6]); d->_b[7] = ((d->_b[7]) < (s->_b[7])) ? (d->_b[7]) : (s->_b[7]); }
+void helper_pmaxub_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = ((d->_b[0]) > (s->_b[0])) ? (d->_b[0]) : (s->_b[0]); d->_b[1] = ((d->_b[1]) > (s->_b[1])) ? (d->_b[1]) : (s->_b[1]); d->_b[2] = ((d->_b[2]) > (s->_b[2])) ? (d->_b[2]) : (s->_b[2]); d->_b[3] = ((d->_b[3]) > (s->_b[3])) ? (d->_b[3]) : (s->_b[3]); d->_b[4] = ((d->_b[4]) > (s->_b[4])) ? (d->_b[4]) : (s->_b[4]); d->_b[5] = ((d->_b[5]) > (s->_b[5])) ? (d->_b[5]) : (s->_b[5]); d->_b[6] = ((d->_b[6]) > (s->_b[6])) ? (d->_b[6]) : (s->_b[6]); d->_b[7] = ((d->_b[7]) > (s->_b[7])) ? (d->_b[7]) : (s->_b[7]); }
+
+void helper_pminsw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = ((int16_t)(d->_w[0]) < (int16_t)(s->_w[0])) ? (d->_w[0]) : (s->_w[0]); d->_w[1] = ((int16_t)(d->_w[1]) < (int16_t)(s->_w[1])) ? (d->_w[1]) : (s->_w[1]); d->_w[2] = ((int16_t)(d->_w[2]) < (int16_t)(s->_w[2])) ? (d->_w[2]) : (s->_w[2]); d->_w[3] = ((int16_t)(d->_w[3]) < (int16_t)(s->_w[3])) ? (d->_w[3]) : (s->_w[3]); }
+void helper_pmaxsw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = ((int16_t)(d->_w[0]) > (int16_t)(s->_w[0])) ? (d->_w[0]) : (s->_w[0]); d->_w[1] = ((int16_t)(d->_w[1]) > (int16_t)(s->_w[1])) ? (d->_w[1]) : (s->_w[1]); d->_w[2] = ((int16_t)(d->_w[2]) > (int16_t)(s->_w[2])) ? (d->_w[2]) : (s->_w[2]); d->_w[3] = ((int16_t)(d->_w[3]) > (int16_t)(s->_w[3])) ? (d->_w[3]) : (s->_w[3]); }
+
+void helper_pand_mmx (MMXReg *d, MMXReg *s){ d->q = (d->q) & (s->q); }
+void helper_pandn_mmx (MMXReg *d, MMXReg *s){ d->q = ((~(d->q)) & (s->q)); }
+void helper_por_mmx (MMXReg *d, MMXReg *s){ d->q = (d->q) | (s->q); }
+void helper_pxor_mmx (MMXReg *d, MMXReg *s){ d->q = (d->q) ^ (s->q); }
+
+void helper_pcmpgtb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = (int8_t)(d->_b[0]) > (int8_t)(s->_b[0]) ? -1 : 0; d->_b[1] = (int8_t)(d->_b[1]) > (int8_t)(s->_b[1]) ? -1 : 0; d->_b[2] = (int8_t)(d->_b[2]) > (int8_t)(s->_b[2]) ? -1 : 0; d->_b[3] = (int8_t)(d->_b[3]) > (int8_t)(s->_b[3]) ? -1 : 0; d->_b[4] = (int8_t)(d->_b[4]) > (int8_t)(s->_b[4]) ? -1 : 0; d->_b[5] = (int8_t)(d->_b[5]) > (int8_t)(s->_b[5]) ? -1 : 0; d->_b[6] = (int8_t)(d->_b[6]) > (int8_t)(s->_b[6]) ? -1 : 0; d->_b[7] = (int8_t)(d->_b[7]) > (int8_t)(s->_b[7]) ? -1 : 0; }
+void helper_pcmpgtw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = (int16_t)(d->_w[0]) > (int16_t)(s->_w[0]) ? -1 : 0; d->_w[1] = (int16_t)(d->_w[1]) > (int16_t)(s->_w[1]) ? -1 : 0; d->_w[2] = (int16_t)(d->_w[2]) > (int16_t)(s->_w[2]) ? -1 : 0; d->_w[3] = (int16_t)(d->_w[3]) > (int16_t)(s->_w[3]) ? -1 : 0; }
+void helper_pcmpgtl_mmx (MMXReg *d, MMXReg *s){ d->_l[0] = (int32_t)(d->_l[0]) > (int32_t)(s->_l[0]) ? -1 : 0; d->_l[1] = (int32_t)(d->_l[1]) > (int32_t)(s->_l[1]) ? -1 : 0; }
+
+void helper_pcmpeqb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = (d->_b[0]) == (s->_b[0]) ? -1 : 0; d->_b[1] = (d->_b[1]) == (s->_b[1]) ? -1 : 0; d->_b[2] = (d->_b[2]) == (s->_b[2]) ? -1 : 0; d->_b[3] = (d->_b[3]) == (s->_b[3]) ? -1 : 0; d->_b[4] = (d->_b[4]) == (s->_b[4]) ? -1 : 0; d->_b[5] = (d->_b[5]) == (s->_b[5]) ? -1 : 0; d->_b[6] = (d->_b[6]) == (s->_b[6]) ? -1 : 0; d->_b[7] = (d->_b[7]) == (s->_b[7]) ? -1 : 0; }
+void helper_pcmpeqw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = (d->_w[0]) == (s->_w[0]) ? -1 : 0; d->_w[1] = (d->_w[1]) == (s->_w[1]) ? -1 : 0; d->_w[2] = (d->_w[2]) == (s->_w[2]) ? -1 : 0; d->_w[3] = (d->_w[3]) == (s->_w[3]) ? -1 : 0; }
+void helper_pcmpeql_mmx (MMXReg *d, MMXReg *s){ d->_l[0] = (d->_l[0]) == (s->_l[0]) ? -1 : 0; d->_l[1] = (d->_l[1]) == (s->_l[1]) ? -1 : 0; }
+
+void helper_pmullw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = (d->_w[0]) * (s->_w[0]); d->_w[1] = (d->_w[1]) * (s->_w[1]); d->_w[2] = (d->_w[2]) * (s->_w[2]); d->_w[3] = (d->_w[3]) * (s->_w[3]); }
+
+void helper_pmulhrw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = ((int16_t)(d->_w[0]) * (int16_t)(s->_w[0]) + 0x8000) >> 16; d->_w[1] = ((int16_t)(d->_w[1]) * (int16_t)(s->_w[1]) + 0x8000) >> 16; d->_w[2] = ((int16_t)(d->_w[2]) * (int16_t)(s->_w[2]) + 0x8000) >> 16; d->_w[3] = ((int16_t)(d->_w[3]) * (int16_t)(s->_w[3]) + 0x8000) >> 16; }
+
+void helper_pmulhuw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = (d->_w[0]) * (s->_w[0]) >> 16; d->_w[1] = (d->_w[1]) * (s->_w[1]) >> 16; d->_w[2] = (d->_w[2]) * (s->_w[2]) >> 16; d->_w[3] = (d->_w[3]) * (s->_w[3]) >> 16; }
+void helper_pmulhw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = (int16_t)(d->_w[0]) * (int16_t)(s->_w[0]) >> 16; d->_w[1] = (int16_t)(d->_w[1]) * (int16_t)(s->_w[1]) >> 16; d->_w[2] = (int16_t)(d->_w[2]) * (int16_t)(s->_w[2]) >> 16; d->_w[3] = (int16_t)(d->_w[3]) * (int16_t)(s->_w[3]) >> 16; }
+
+void helper_pavgb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = ((d->_b[0]) + (s->_b[0]) + 1) >> 1; d->_b[1] = ((d->_b[1]) + (s->_b[1]) + 1) >> 1; d->_b[2] = ((d->_b[2]) + (s->_b[2]) + 1) >> 1; d->_b[3] = ((d->_b[3]) + (s->_b[3]) + 1) >> 1; d->_b[4] = ((d->_b[4]) + (s->_b[4]) + 1) >> 1; d->_b[5] = ((d->_b[5]) + (s->_b[5]) + 1) >> 1; d->_b[6] = ((d->_b[6]) + (s->_b[6]) + 1) >> 1; d->_b[7] = ((d->_b[7]) + (s->_b[7]) + 1) >> 1; }
+void helper_pavgw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = ((d->_w[0]) + (s->_w[0]) + 1) >> 1; d->_w[1] = ((d->_w[1]) + (s->_w[1]) + 1) >> 1; d->_w[2] = ((d->_w[2]) + (s->_w[2]) + 1) >> 1; d->_w[3] = ((d->_w[3]) + (s->_w[3]) + 1) >> 1; }
+
+void helper_pmuludq_mmx (MMXReg *d, MMXReg *s)
+{
+    d->q = (uint64_t)s->_l[0] * (uint64_t)d->_l[0];
+
+
+
+}
+
+void helper_pmaddwd_mmx (MMXReg *d, MMXReg *s)
+{
+    int i;
+
+    for(i = 0; i < (2 << 0); i++) {
+        d->_l[i] = (int16_t)s->_w[2*i] * (int16_t)d->_w[2*i] +
+            (int16_t)s->_w[2*i+1] * (int16_t)d->_w[2*i+1];
+    }
+}
+
+
+static __attribute__ (( always_inline )) __inline__ int abs1(int a)
+{
+    if (a < 0)
+        return -a;
+    else
+        return a;
+}
+
+void helper_psadbw_mmx (MMXReg *d, MMXReg *s)
+{
+    unsigned int val;
+
+    val = 0;
+    val += abs1(d->_b[0] - s->_b[0]);
+    val += abs1(d->_b[1] - s->_b[1]);
+    val += abs1(d->_b[2] - s->_b[2]);
+    val += abs1(d->_b[3] - s->_b[3]);
+    val += abs1(d->_b[4] - s->_b[4]);
+    val += abs1(d->_b[5] - s->_b[5]);
+    val += abs1(d->_b[6] - s->_b[6]);
+    val += abs1(d->_b[7] - s->_b[7]);
+    d->q = val;
+# 463 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+}
+
+void helper_maskmov_mmx (MMXReg *d, MMXReg *s, target_ulong a0)
+{
+    int i;
+    for(i = 0; i < (8 << 0); i++) {
+        if (s->_b[i] & 0x80)
+            stb_data(a0 + i, d->_b[i]);
+    }
+}
+
+void helper_movl_mm_T0_mmx (MMXReg *d, uint32_t val)
+{
+    d->_l[0] = val;
+    d->_l[1] = 0;
+
+
+
+}
+# 494 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_pshufw_mmx (MMXReg *d, MMXReg *s, int order)
+{
+    MMXReg r;
+    r._w[0] = s->_w[order & 3];
+    r._w[1] = s->_w[(order >> 2) & 3];
+    r._w[2] = s->_w[(order >> 4) & 3];
+    r._w[3] = s->_w[(order >> 6) & 3];
+    *d = r;
+}
+# 1023 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+uint32_t helper_pmovmskb_mmx(MMXReg *s)
+{
+    uint32_t val;
+    val = 0;
+    val |= (s->_b[0] >> 7);
+    val |= (s->_b[1] >> 6) & 0x02;
+    val |= (s->_b[2] >> 5) & 0x04;
+    val |= (s->_b[3] >> 4) & 0x08;
+    val |= (s->_b[4] >> 3) & 0x10;
+    val |= (s->_b[5] >> 2) & 0x20;
+    val |= (s->_b[6] >> 1) & 0x40;
+    val |= (s->_b[7]) & 0x80;
+# 1045 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+    return val;
+}
+
+void helper_packsswb_mmx (MMXReg *d, MMXReg *s)
+{
+    MMXReg r;
+
+    r._b[0] = satsb((int16_t)d->_w[0]);
+    r._b[1] = satsb((int16_t)d->_w[1]);
+    r._b[2] = satsb((int16_t)d->_w[2]);
+    r._b[3] = satsb((int16_t)d->_w[3]);
+
+
+
+
+
+
+    r._b[(4 << 0) + 0] = satsb((int16_t)s->_w[0]);
+    r._b[(4 << 0) + 1] = satsb((int16_t)s->_w[1]);
+    r._b[(4 << 0) + 2] = satsb((int16_t)s->_w[2]);
+    r._b[(4 << 0) + 3] = satsb((int16_t)s->_w[3]);
+
+
+
+
+
+
+    *d = r;
+}
+
+void helper_packuswb_mmx (MMXReg *d, MMXReg *s)
+{
+    MMXReg r;
+
+    r._b[0] = satub((int16_t)d->_w[0]);
+    r._b[1] = satub((int16_t)d->_w[1]);
+    r._b[2] = satub((int16_t)d->_w[2]);
+    r._b[3] = satub((int16_t)d->_w[3]);
+
+
+
+
+
+
+    r._b[(4 << 0) + 0] = satub((int16_t)s->_w[0]);
+    r._b[(4 << 0) + 1] = satub((int16_t)s->_w[1]);
+    r._b[(4 << 0) + 2] = satub((int16_t)s->_w[2]);
+    r._b[(4 << 0) + 3] = satub((int16_t)s->_w[3]);
+
+
+
+
+
+
+    *d = r;
+}
+
+void helper_packssdw_mmx (MMXReg *d, MMXReg *s)
+{
+    MMXReg r;
+
+    r._w[0] = satsw(d->_l[0]);
+    r._w[1] = satsw(d->_l[1]);
+
+
+
+
+    r._w[(2 << 0) + 0] = satsw(s->_l[0]);
+    r._w[(2 << 0) + 1] = satsw(s->_l[1]);
+
+
+
+
+    *d = r;
+}
+# 1189 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_punpcklbw_mmx (MMXReg *d, MMXReg *s) { MMXReg r; r._b[0] = d->_b[(0 << (0 + 2)) + 0]; r._b[1] = s->_b[(0 << (0 + 2)) + 0]; r._b[2] = d->_b[(0 << (0 + 2)) + 1]; r._b[3] = s->_b[(0 << (0 + 2)) + 1]; r._b[4] = d->_b[(0 << (0 + 2)) + 2]; r._b[5] = s->_b[(0 << (0 + 2)) + 2]; r._b[6] = d->_b[(0 << (0 + 2)) + 3]; r._b[7] = s->_b[(0 << (0 + 2)) + 3]; *d = r; } void helper_punpcklwd_mmx (MMXReg *d, MMXReg *s) { MMXReg r; r._w[0] = d->_w[(0 << (0 + 1)) + 0]; r._w[1] = s->_w[(0 << (0 + 1)) + 0]; r._w[2] = d->_w[(0 << (0 + 1)) + 1]; r._w[3] = s->_w[(0 << (0 + 1)) + 1]; *d = r; } void helper_punpckldq_mmx (MMXReg *d, MMXReg *s) { MMXReg r; r._l[0] = d->_l[(0 << 0) + 0]; r._l[1] = s->_l[(0 << 0) + 0]; *d = r; }
+void helper_punpckhbw_mmx (MMXReg *d, MMXReg *s) { MMXReg r; r._b[0] = d->_b[(1 << (0 + 2)) + 0]; r._b[1] = s->_b[(1 << (0 + 2)) + 0]; r._b[2] = d->_b[(1 << (0 + 2)) + 1]; r._b[3] = s->_b[(1 << (0 + 2)) + 1]; r._b[4] = d->_b[(1 << (0 + 2)) + 2]; r._b[5] = s->_b[(1 << (0 + 2)) + 2]; r._b[6] = d->_b[(1 << (0 + 2)) + 3]; r._b[7] = s->_b[(1 << (0 + 2)) + 3]; *d = r; } void helper_punpckhwd_mmx (MMXReg *d, MMXReg *s) { MMXReg r; r._w[0] = d->_w[(1 << (0 + 1)) + 0]; r._w[1] = s->_w[(1 << (0 + 1)) + 0]; r._w[2] = d->_w[(1 << (0 + 1)) + 1]; r._w[3] = s->_w[(1 << (0 + 1)) + 1]; *d = r; } void helper_punpckhdq_mmx (MMXReg *d, MMXReg *s) { MMXReg r; r._l[0] = d->_l[(1 << 0) + 0]; r._l[1] = s->_l[(1 << 0) + 0]; *d = r; }
+
+
+
+void helper_pi2fd(MMXReg *d, MMXReg *s)
+{
+    d->_s[0] = int32_to_float32(s->_l[0], &env->mmx_status);
+    d->_s[1] = int32_to_float32(s->_l[1], &env->mmx_status);
+}
+
+void helper_pi2fw(MMXReg *d, MMXReg *s)
+{
+    d->_s[0] = int32_to_float32((int16_t)s->_w[0], &env->mmx_status);
+    d->_s[1] = int32_to_float32((int16_t)s->_w[2], &env->mmx_status);
+}
+
+void helper_pf2id(MMXReg *d, MMXReg *s)
+{
+    d->_l[0] = float32_to_int32_round_to_zero(s->_s[0], &env->mmx_status);
+    d->_l[1] = float32_to_int32_round_to_zero(s->_s[1], &env->mmx_status);
+}
+
+void helper_pf2iw(MMXReg *d, MMXReg *s)
+{
+    d->_l[0] = satsw(float32_to_int32_round_to_zero(s->_s[0], &env->mmx_status));
+    d->_l[1] = satsw(float32_to_int32_round_to_zero(s->_s[1], &env->mmx_status));
+}
+
+void helper_pfacc(MMXReg *d, MMXReg *s)
+{
+    MMXReg r;
+    r._s[0] = float32_add(d->_s[0], d->_s[1], &env->mmx_status);
+    r._s[1] = float32_add(s->_s[0], s->_s[1], &env->mmx_status);
+    *d = r;
+}
+
+void helper_pfadd(MMXReg *d, MMXReg *s)
+{
+    d->_s[0] = float32_add(d->_s[0], s->_s[0], &env->mmx_status);
+    d->_s[1] = float32_add(d->_s[1], s->_s[1], &env->mmx_status);
+}
+
+void helper_pfcmpeq(MMXReg *d, MMXReg *s)
+{
+    d->_l[0] = float32_eq_quiet(d->_s[0], s->_s[0], &env->mmx_status) ? -1 : 0;
+    d->_l[1] = float32_eq_quiet(d->_s[1], s->_s[1], &env->mmx_status) ? -1 : 0;
+}
+
+void helper_pfcmpge(MMXReg *d, MMXReg *s)
+{
+    d->_l[0] = float32_le(s->_s[0], d->_s[0], &env->mmx_status) ? -1 : 0;
+    d->_l[1] = float32_le(s->_s[1], d->_s[1], &env->mmx_status) ? -1 : 0;
+}
+
+void helper_pfcmpgt(MMXReg *d, MMXReg *s)
+{
+    d->_l[0] = float32_lt(s->_s[0], d->_s[0], &env->mmx_status) ? -1 : 0;
+    d->_l[1] = float32_lt(s->_s[1], d->_s[1], &env->mmx_status) ? -1 : 0;
+}
+
+void helper_pfmax(MMXReg *d, MMXReg *s)
+{
+    if (float32_lt(d->_s[0], s->_s[0], &env->mmx_status))
+        d->_s[0] = s->_s[0];
+    if (float32_lt(d->_s[1], s->_s[1], &env->mmx_status))
+        d->_s[1] = s->_s[1];
+}
+
+void helper_pfmin(MMXReg *d, MMXReg *s)
+{
+    if (float32_lt(s->_s[0], d->_s[0], &env->mmx_status))
+        d->_s[0] = s->_s[0];
+    if (float32_lt(s->_s[1], d->_s[1], &env->mmx_status))
+        d->_s[1] = s->_s[1];
+}
+
+void helper_pfmul(MMXReg *d, MMXReg *s)
+{
+    d->_s[0] = float32_mul(d->_s[0], s->_s[0], &env->mmx_status);
+    d->_s[1] = float32_mul(d->_s[1], s->_s[1], &env->mmx_status);
+}
+
+void helper_pfnacc(MMXReg *d, MMXReg *s)
+{
+    MMXReg r;
+    r._s[0] = float32_sub(d->_s[0], d->_s[1], &env->mmx_status);
+    r._s[1] = float32_sub(s->_s[0], s->_s[1], &env->mmx_status);
+    *d = r;
+}
+
+void helper_pfpnacc(MMXReg *d, MMXReg *s)
+{
+    MMXReg r;
+    r._s[0] = float32_sub(d->_s[0], d->_s[1], &env->mmx_status);
+    r._s[1] = float32_add(s->_s[0], s->_s[1], &env->mmx_status);
+    *d = r;
+}
+
+void helper_pfrcp(MMXReg *d, MMXReg *s)
+{
+    d->_s[0] = float32_div((0x3f800000), s->_s[0], &env->mmx_status);
+    d->_s[1] = d->_s[0];
+}
+
+void helper_pfrsqrt(MMXReg *d, MMXReg *s)
+{
+    d->_l[1] = s->_l[0] & 0x7fffffff;
+    d->_s[1] = float32_div((0x3f800000),
+                              float32_sqrt(d->_s[1], &env->mmx_status),
+                              &env->mmx_status);
+    d->_l[1] |= s->_l[0] & 0x80000000;
+    d->_l[0] = d->_l[1];
+}
+
+void helper_pfsub(MMXReg *d, MMXReg *s)
+{
+    d->_s[0] = float32_sub(d->_s[0], s->_s[0], &env->mmx_status);
+    d->_s[1] = float32_sub(d->_s[1], s->_s[1], &env->mmx_status);
+}
+
+void helper_pfsubr(MMXReg *d, MMXReg *s)
+{
+    d->_s[0] = float32_sub(s->_s[0], d->_s[0], &env->mmx_status);
+    d->_s[1] = float32_sub(s->_s[1], d->_s[1], &env->mmx_status);
+}
+
+void helper_pswapd(MMXReg *d, MMXReg *s)
+{
+    MMXReg r;
+    r._l[0] = s->_l[1];
+    r._l[1] = s->_l[0];
+    *d = r;
+}
+
+
+
+void helper_pshufb_mmx (MMXReg *d, MMXReg *s)
+{
+    int i;
+    MMXReg r;
+
+    for (i = 0; i < (8 << 0); i++)
+        r._b[i] = (s->_b[i] & 0x80) ? 0 : (d->_b[s->_b[i] & ((8 << 0) - 1)]);
+
+    *d = r;
+}
+
+void helper_phaddw_mmx (MMXReg *d, MMXReg *s)
+{
+    d->_w[0] = (int16_t)d->_w[0] + (int16_t)d->_w[1];
+    d->_w[1] = (int16_t)d->_w[2] + (int16_t)d->_w[3];
+    ;
+    ;
+    d->_w[(2 << 0) + 0] = (int16_t)s->_w[0] + (int16_t)s->_w[1];
+    d->_w[(2 << 0) + 1] = (int16_t)s->_w[2] + (int16_t)s->_w[3];
+    ;
+    ;
+}
+
+void helper_phaddd_mmx (MMXReg *d, MMXReg *s)
+{
+    d->_l[0] = (int32_t)d->_l[0] + (int32_t)d->_l[1];
+    ;
+    d->_l[(1 << 0) + 0] = (int32_t)s->_l[0] + (int32_t)s->_l[1];
+    ;
+}
+
+void helper_phaddsw_mmx (MMXReg *d, MMXReg *s)
+{
+    d->_w[0] = satsw((int16_t)d->_w[0] + (int16_t)d->_w[1]);
+    d->_w[1] = satsw((int16_t)d->_w[2] + (int16_t)d->_w[3]);
+    ;
+    ;
+    d->_w[(2 << 0) + 0] = satsw((int16_t)s->_w[0] + (int16_t)s->_w[1]);
+    d->_w[(2 << 0) + 1] = satsw((int16_t)s->_w[2] + (int16_t)s->_w[3]);
+    ;
+    ;
+}
+
+void helper_pmaddubsw_mmx (MMXReg *d, MMXReg *s)
+{
+    d->_w[0] = satsw((int8_t)s->_b[0] * (uint8_t)d->_b[0] +
+                    (int8_t)s->_b[1] * (uint8_t)d->_b[1]);
+    d->_w[1] = satsw((int8_t)s->_b[2] * (uint8_t)d->_b[2] +
+                    (int8_t)s->_b[3] * (uint8_t)d->_b[3]);
+    d->_w[2] = satsw((int8_t)s->_b[4] * (uint8_t)d->_b[4] +
+                    (int8_t)s->_b[5] * (uint8_t)d->_b[5]);
+    d->_w[3] = satsw((int8_t)s->_b[6] * (uint8_t)d->_b[6] +
+                    (int8_t)s->_b[7] * (uint8_t)d->_b[7]);
+# 1389 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+}
+
+void helper_phsubw_mmx (MMXReg *d, MMXReg *s)
+{
+    d->_w[0] = (int16_t)d->_w[0] - (int16_t)d->_w[1];
+    d->_w[1] = (int16_t)d->_w[2] - (int16_t)d->_w[3];
+    ;
+    ;
+    d->_w[(2 << 0) + 0] = (int16_t)s->_w[0] - (int16_t)s->_w[1];
+    d->_w[(2 << 0) + 1] = (int16_t)s->_w[2] - (int16_t)s->_w[3];
+    ;
+    ;
+}
+
+void helper_phsubd_mmx (MMXReg *d, MMXReg *s)
+{
+    d->_l[0] = (int32_t)d->_l[0] - (int32_t)d->_l[1];
+    ;
+    d->_l[(1 << 0) + 0] = (int32_t)s->_l[0] - (int32_t)s->_l[1];
+    ;
+}
+
+void helper_phsubsw_mmx (MMXReg *d, MMXReg *s)
+{
+    d->_w[0] = satsw((int16_t)d->_w[0] - (int16_t)d->_w[1]);
+    d->_w[1] = satsw((int16_t)d->_w[2] - (int16_t)d->_w[3]);
+    ;
+    ;
+    d->_w[(2 << 0) + 0] = satsw((int16_t)s->_w[0] - (int16_t)s->_w[1]);
+    d->_w[(2 << 0) + 1] = satsw((int16_t)s->_w[2] - (int16_t)s->_w[3]);
+    ;
+    ;
+}
+
+
+
+
+void helper_pabsb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = s->_b[0] > (127) ? -(int8_t ) s->_b[0] : s->_b[0]; d->_b[1] = s->_b[1] > (127) ? -(int8_t ) s->_b[1] : s->_b[1]; d->_b[2] = s->_b[2] > (127) ? -(int8_t ) s->_b[2] : s->_b[2]; d->_b[3] = s->_b[3] > (127) ? -(int8_t ) s->_b[3] : s->_b[3]; d->_b[4] = s->_b[4] > (127) ? -(int8_t ) s->_b[4] : s->_b[4]; d->_b[5] = s->_b[5] > (127) ? -(int8_t ) s->_b[5] : s->_b[5]; d->_b[6] = s->_b[6] > (127) ? -(int8_t ) s->_b[6] : s->_b[6]; d->_b[7] = s->_b[7] > (127) ? -(int8_t ) s->_b[7] : s->_b[7]; }
+void helper_pabsw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = s->_w[0] > (32767) ? -(int16_t) s->_w[0] : s->_w[0]; d->_w[1] = s->_w[1] > (32767) ? -(int16_t) s->_w[1] : s->_w[1]; d->_w[2] = s->_w[2] > (32767) ? -(int16_t) s->_w[2] : s->_w[2]; d->_w[3] = s->_w[3] > (32767) ? -(int16_t) s->_w[3] : s->_w[3]; }
+void helper_pabsd_mmx (MMXReg *d, MMXReg *s){ d->_l[0] = s->_l[0] > (2147483647) ? -(int32_t) s->_l[0] : s->_l[0]; d->_l[1] = s->_l[1] > (2147483647) ? -(int32_t) s->_l[1] : s->_l[1]; }
+
+
+void helper_pmulhrsw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = ((int16_t) d->_w[0] * (int16_t) s->_w[0] + 0x4000) >> 15; d->_w[1] = ((int16_t) d->_w[1] * (int16_t) s->_w[1] + 0x4000) >> 15; d->_w[2] = ((int16_t) d->_w[2] * (int16_t) s->_w[2] + 0x4000) >> 15; d->_w[3] = ((int16_t) d->_w[3] * (int16_t) s->_w[3] + 0x4000) >> 15; }
+
+
+
+
+void helper_psignb_mmx (MMXReg *d, MMXReg *s){ d->_b[0] = s->_b[0] <= (127) ? s->_b[0] ? d->_b[0] : 0 : -(int8_t ) d->_b[0]; d->_b[1] = s->_b[1] <= (127) ? s->_b[1] ? d->_b[1] : 0 : -(int8_t ) d->_b[1]; d->_b[2] = s->_b[2] <= (127) ? s->_b[2] ? d->_b[2] : 0 : -(int8_t ) d->_b[2]; d->_b[3] = s->_b[3] <= (127) ? s->_b[3] ? d->_b[3] : 0 : -(int8_t ) d->_b[3]; d->_b[4] = s->_b[4] <= (127) ? s->_b[4] ? d->_b[4] : 0 : -(int8_t ) d->_b[4]; d->_b[5] = s->_b[5] <= (127) ? s->_b[5] ? d->_b[5] : 0 : -(int8_t ) d->_b[5]; d->_b[6] = s->_b[6] <= (127) ? s->_b[6] ? d->_b[6] : 0 : -(int8_t ) d->_b[6]; d->_b[7] = s->_b[7] <= (127) ? s->_b[7] ? d->_b[7] : 0 : -(int8_t ) d->_b[7]; }
+void helper_psignw_mmx (MMXReg *d, MMXReg *s){ d->_w[0] = s->_w[0] <= (32767) ? s->_w[0] ? d->_w[0] : 0 : -(int16_t) d->_w[0]; d->_w[1] = s->_w[1] <= (32767) ? s->_w[1] ? d->_w[1] : 0 : -(int16_t) d->_w[1]; d->_w[2] = s->_w[2] <= (32767) ? s->_w[2] ? d->_w[2] : 0 : -(int16_t) d->_w[2]; d->_w[3] = s->_w[3] <= (32767) ? s->_w[3] ? d->_w[3] : 0 : -(int16_t) d->_w[3]; }
+void helper_psignd_mmx (MMXReg *d, MMXReg *s){ d->_l[0] = s->_l[0] <= (2147483647) ? s->_l[0] ? d->_l[0] : 0 : -(int32_t) d->_l[0]; d->_l[1] = s->_l[1] <= (2147483647) ? s->_l[1] ? d->_l[1] : 0 : -(int32_t) d->_l[1]; }
+
+void helper_palignr_mmx (MMXReg *d, MMXReg *s, int32_t shift)
+{
+    MMXReg r;
+
+
+    if (shift >= (16 << 0)) {
+        r.q = 0;
+        ;
+    } else {
+        shift <<= 3;
+
+
+        r.q = (shift - 0 < 64 && shift - 0 > -64 ? shift - 0 > 0 ? s->q >> (shift - 0) : (s->q << -(shift - 0)) : 0) |
+                 (shift - 64 < 64 && shift - 64 > -64 ? shift - 64 > 0 ? d->q >> (shift - 64) : (d->q << -(shift - 64)) : 0);
+# 1465 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+    }
+
+    *d = r;
+}
+# 5695 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h" 1
+# 38 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_psrlw_xmm(XMMReg *d, XMMReg *s)
+{
+    int shift;
+
+    if (s->_q[0] > 15) {
+        d->_q[0] = 0;
+
+        d->_q[1] = 0;
+
+    } else {
+        shift = s->_b[0];
+        d->_w[0] >>= shift;
+        d->_w[1] >>= shift;
+        d->_w[2] >>= shift;
+        d->_w[3] >>= shift;
+
+        d->_w[4] >>= shift;
+        d->_w[5] >>= shift;
+        d->_w[6] >>= shift;
+        d->_w[7] >>= shift;
+
+    }
+}
+
+void helper_psraw_xmm(XMMReg *d, XMMReg *s)
+{
+    int shift;
+
+    if (s->_q[0] > 15) {
+        shift = 15;
+    } else {
+        shift = s->_b[0];
+    }
+    d->_w[0] = (int16_t)d->_w[0] >> shift;
+    d->_w[1] = (int16_t)d->_w[1] >> shift;
+    d->_w[2] = (int16_t)d->_w[2] >> shift;
+    d->_w[3] = (int16_t)d->_w[3] >> shift;
+
+    d->_w[4] = (int16_t)d->_w[4] >> shift;
+    d->_w[5] = (int16_t)d->_w[5] >> shift;
+    d->_w[6] = (int16_t)d->_w[6] >> shift;
+    d->_w[7] = (int16_t)d->_w[7] >> shift;
+
+}
+
+void helper_psllw_xmm(XMMReg *d, XMMReg *s)
+{
+    int shift;
+
+    if (s->_q[0] > 15) {
+        d->_q[0] = 0;
+
+        d->_q[1] = 0;
+
+    } else {
+        shift = s->_b[0];
+        d->_w[0] <<= shift;
+        d->_w[1] <<= shift;
+        d->_w[2] <<= shift;
+        d->_w[3] <<= shift;
+
+        d->_w[4] <<= shift;
+        d->_w[5] <<= shift;
+        d->_w[6] <<= shift;
+        d->_w[7] <<= shift;
+
+    }
+}
+
+void helper_psrld_xmm(XMMReg *d, XMMReg *s)
+{
+    int shift;
+
+    if (s->_q[0] > 31) {
+        d->_q[0] = 0;
+
+        d->_q[1] = 0;
+
+    } else {
+        shift = s->_b[0];
+        d->_l[0] >>= shift;
+        d->_l[1] >>= shift;
+
+        d->_l[2] >>= shift;
+        d->_l[3] >>= shift;
+
+    }
+}
+
+void helper_psrad_xmm(XMMReg *d, XMMReg *s)
+{
+    int shift;
+
+    if (s->_q[0] > 31) {
+        shift = 31;
+    } else {
+        shift = s->_b[0];
+    }
+    d->_l[0] = (int32_t)d->_l[0] >> shift;
+    d->_l[1] = (int32_t)d->_l[1] >> shift;
+
+    d->_l[2] = (int32_t)d->_l[2] >> shift;
+    d->_l[3] = (int32_t)d->_l[3] >> shift;
+
+}
+
+void helper_pslld_xmm(XMMReg *d, XMMReg *s)
+{
+    int shift;
+
+    if (s->_q[0] > 31) {
+        d->_q[0] = 0;
+
+        d->_q[1] = 0;
+
+    } else {
+        shift = s->_b[0];
+        d->_l[0] <<= shift;
+        d->_l[1] <<= shift;
+
+        d->_l[2] <<= shift;
+        d->_l[3] <<= shift;
+
+    }
+}
+
+void helper_psrlq_xmm(XMMReg *d, XMMReg *s)
+{
+    int shift;
+
+    if (s->_q[0] > 63) {
+        d->_q[0] = 0;
+
+        d->_q[1] = 0;
+
+    } else {
+        shift = s->_b[0];
+        d->_q[0] >>= shift;
+
+        d->_q[1] >>= shift;
+
+    }
+}
+
+void helper_psllq_xmm(XMMReg *d, XMMReg *s)
+{
+    int shift;
+
+    if (s->_q[0] > 63) {
+        d->_q[0] = 0;
+
+        d->_q[1] = 0;
+
+    } else {
+        shift = s->_b[0];
+        d->_q[0] <<= shift;
+
+        d->_q[1] <<= shift;
+
+    }
+}
+
+
+void helper_psrldq_xmm(XMMReg *d, XMMReg *s)
+{
+    int shift, i;
+
+    shift = s->_l[0];
+    if (shift > 16)
+        shift = 16;
+    for(i = 0; i < 16 - shift; i++)
+        d->_b[i] = d->_b[i + shift];
+    for(i = 16 - shift; i < 16; i++)
+        d->_b[i] = 0;
+}
+
+void helper_pslldq_xmm(XMMReg *d, XMMReg *s)
+{
+    int shift, i;
+
+    shift = s->_l[0];
+    if (shift > 16)
+        shift = 16;
+    for(i = 15; i >= shift; i--)
+        d->_b[i] = d->_b[i - shift];
+    for(i = 0; i < shift; i++)
+        d->_b[i] = 0;
+}
+# 361 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_paddb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = ((d->_b[0]) + (s->_b[0])); d->_b[1] = ((d->_b[1]) + (s->_b[1])); d->_b[2] = ((d->_b[2]) + (s->_b[2])); d->_b[3] = ((d->_b[3]) + (s->_b[3])); d->_b[4] = ((d->_b[4]) + (s->_b[4])); d->_b[5] = ((d->_b[5]) + (s->_b[5])); d->_b[6] = ((d->_b[6]) + (s->_b[6])); d->_b[7] = ((d->_b[7]) + (s->_b[7])); d->_b[8] = ((d->_b[8]) + (s->_b[8])); d->_b[9] = ((d->_b[9]) + (s->_b[9])); d->_b[10] = ((d->_b[10]) + (s->_b[10])); d->_b[11] = ((d->_b[11]) + (s->_b[11])); d->_b[12] = ((d->_b[12]) + (s->_b[12])); d->_b[13] = ((d->_b[13]) + (s->_b[13])); d->_b[14] = ((d->_b[14]) + (s->_b[14])); d->_b[15] = ((d->_b[15]) + (s->_b[15]));}
+void helper_paddw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = ((d->_w[0]) + (s->_w[0])); d->_w[1] = ((d->_w[1]) + (s->_w[1])); d->_w[2] = ((d->_w[2]) + (s->_w[2])); d->_w[3] = ((d->_w[3]) + (s->_w[3])); d->_w[4] = ((d->_w[4]) + (s->_w[4])); d->_w[5] = ((d->_w[5]) + (s->_w[5])); d->_w[6] = ((d->_w[6]) + (s->_w[6])); d->_w[7] = ((d->_w[7]) + (s->_w[7]));}
+void helper_paddl_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = ((d->_l[0]) + (s->_l[0])); d->_l[1] = ((d->_l[1]) + (s->_l[1])); d->_l[2] = ((d->_l[2]) + (s->_l[2])); d->_l[3] = ((d->_l[3]) + (s->_l[3]));}
+void helper_paddq_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = ((d->_q[0]) + (s->_q[0])); d->_q[1] = ((d->_q[1]) + (s->_q[1]));}
+
+void helper_psubb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = ((d->_b[0]) - (s->_b[0])); d->_b[1] = ((d->_b[1]) - (s->_b[1])); d->_b[2] = ((d->_b[2]) - (s->_b[2])); d->_b[3] = ((d->_b[3]) - (s->_b[3])); d->_b[4] = ((d->_b[4]) - (s->_b[4])); d->_b[5] = ((d->_b[5]) - (s->_b[5])); d->_b[6] = ((d->_b[6]) - (s->_b[6])); d->_b[7] = ((d->_b[7]) - (s->_b[7])); d->_b[8] = ((d->_b[8]) - (s->_b[8])); d->_b[9] = ((d->_b[9]) - (s->_b[9])); d->_b[10] = ((d->_b[10]) - (s->_b[10])); d->_b[11] = ((d->_b[11]) - (s->_b[11])); d->_b[12] = ((d->_b[12]) - (s->_b[12])); d->_b[13] = ((d->_b[13]) - (s->_b[13])); d->_b[14] = ((d->_b[14]) - (s->_b[14])); d->_b[15] = ((d->_b[15]) - (s->_b[15]));}
+void helper_psubw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = ((d->_w[0]) - (s->_w[0])); d->_w[1] = ((d->_w[1]) - (s->_w[1])); d->_w[2] = ((d->_w[2]) - (s->_w[2])); d->_w[3] = ((d->_w[3]) - (s->_w[3])); d->_w[4] = ((d->_w[4]) - (s->_w[4])); d->_w[5] = ((d->_w[5]) - (s->_w[5])); d->_w[6] = ((d->_w[6]) - (s->_w[6])); d->_w[7] = ((d->_w[7]) - (s->_w[7]));}
+void helper_psubl_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = ((d->_l[0]) - (s->_l[0])); d->_l[1] = ((d->_l[1]) - (s->_l[1])); d->_l[2] = ((d->_l[2]) - (s->_l[2])); d->_l[3] = ((d->_l[3]) - (s->_l[3]));}
+void helper_psubq_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = ((d->_q[0]) - (s->_q[0])); d->_q[1] = ((d->_q[1]) - (s->_q[1]));}
+
+void helper_paddusb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = satub((d->_b[0]) + (s->_b[0])); d->_b[1] = satub((d->_b[1]) + (s->_b[1])); d->_b[2] = satub((d->_b[2]) + (s->_b[2])); d->_b[3] = satub((d->_b[3]) + (s->_b[3])); d->_b[4] = satub((d->_b[4]) + (s->_b[4])); d->_b[5] = satub((d->_b[5]) + (s->_b[5])); d->_b[6] = satub((d->_b[6]) + (s->_b[6])); d->_b[7] = satub((d->_b[7]) + (s->_b[7])); d->_b[8] = satub((d->_b[8]) + (s->_b[8])); d->_b[9] = satub((d->_b[9]) + (s->_b[9])); d->_b[10] = satub((d->_b[10]) + (s->_b[10])); d->_b[11] = satub((d->_b[11]) + (s->_b[11])); d->_b[12] = satub((d->_b[12]) + (s->_b[12])); d->_b[13] = satub((d->_b[13]) + (s->_b[13])); d->_b[14] = satub((d->_b[14]) + (s->_b[14])); d->_b[15] = satub((d->_b[15]) + (s->_b[15]));}
+void helper_paddsb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = satsb((int8_t)(d->_b[0]) + (int8_t)(s->_b[0])); d->_b[1] = satsb((int8_t)(d->_b[1]) + (int8_t)(s->_b[1])); d->_b[2] = satsb((int8_t)(d->_b[2]) + (int8_t)(s->_b[2])); d->_b[3] = satsb((int8_t)(d->_b[3]) + (int8_t)(s->_b[3])); d->_b[4] = satsb((int8_t)(d->_b[4]) + (int8_t)(s->_b[4])); d->_b[5] = satsb((int8_t)(d->_b[5]) + (int8_t)(s->_b[5])); d->_b[6] = satsb((int8_t)(d->_b[6]) + (int8_t)(s->_b[6])); d->_b[7] = satsb((int8_t)(d->_b[7]) + (int8_t)(s->_b[7])); d->_b[8] = satsb((int8_t)(d->_b[8]) + (int8_t)(s->_b[8])); d->_b[9] = satsb((int8_t)(d->_b[9]) + (int8_t)(s->_b[9])); d->_b[10] = satsb((int8_t)(d->_b[10]) + (int8_t)(s->_b[10])); d->_b[11] = satsb((int8_t)(d->_b[11]) + (int8_t)(s->_b[11])); d->_b[12] = satsb((int8_t)(d->_b[12]) + (int8_t)(s->_b[12])); d->_b[13] = satsb((int8_t)(d->_b[13]) + (int8_t)(s->_b[13])); d->_b[14] = satsb((int8_t)(d->_b[14]) + (int8_t)(s->_b[14])); d->_b[15] = satsb((int8_t)(d->_b[15]) + (int8_t)(s->_b[15]));}
+void helper_psubusb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = satub((d->_b[0]) - (s->_b[0])); d->_b[1] = satub((d->_b[1]) - (s->_b[1])); d->_b[2] = satub((d->_b[2]) - (s->_b[2])); d->_b[3] = satub((d->_b[3]) - (s->_b[3])); d->_b[4] = satub((d->_b[4]) - (s->_b[4])); d->_b[5] = satub((d->_b[5]) - (s->_b[5])); d->_b[6] = satub((d->_b[6]) - (s->_b[6])); d->_b[7] = satub((d->_b[7]) - (s->_b[7])); d->_b[8] = satub((d->_b[8]) - (s->_b[8])); d->_b[9] = satub((d->_b[9]) - (s->_b[9])); d->_b[10] = satub((d->_b[10]) - (s->_b[10])); d->_b[11] = satub((d->_b[11]) - (s->_b[11])); d->_b[12] = satub((d->_b[12]) - (s->_b[12])); d->_b[13] = satub((d->_b[13]) - (s->_b[13])); d->_b[14] = satub((d->_b[14]) - (s->_b[14])); d->_b[15] = satub((d->_b[15]) - (s->_b[15]));}
+void helper_psubsb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = satsb((int8_t)(d->_b[0]) - (int8_t)(s->_b[0])); d->_b[1] = satsb((int8_t)(d->_b[1]) - (int8_t)(s->_b[1])); d->_b[2] = satsb((int8_t)(d->_b[2]) - (int8_t)(s->_b[2])); d->_b[3] = satsb((int8_t)(d->_b[3]) - (int8_t)(s->_b[3])); d->_b[4] = satsb((int8_t)(d->_b[4]) - (int8_t)(s->_b[4])); d->_b[5] = satsb((int8_t)(d->_b[5]) - (int8_t)(s->_b[5])); d->_b[6] = satsb((int8_t)(d->_b[6]) - (int8_t)(s->_b[6])); d->_b[7] = satsb((int8_t)(d->_b[7]) - (int8_t)(s->_b[7])); d->_b[8] = satsb((int8_t)(d->_b[8]) - (int8_t)(s->_b[8])); d->_b[9] = satsb((int8_t)(d->_b[9]) - (int8_t)(s->_b[9])); d->_b[10] = satsb((int8_t)(d->_b[10]) - (int8_t)(s->_b[10])); d->_b[11] = satsb((int8_t)(d->_b[11]) - (int8_t)(s->_b[11])); d->_b[12] = satsb((int8_t)(d->_b[12]) - (int8_t)(s->_b[12])); d->_b[13] = satsb((int8_t)(d->_b[13]) - (int8_t)(s->_b[13])); d->_b[14] = satsb((int8_t)(d->_b[14]) - (int8_t)(s->_b[14])); d->_b[15] = satsb((int8_t)(d->_b[15]) - (int8_t)(s->_b[15]));}
+
+void helper_paddusw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = satuw((d->_w[0]) + (s->_w[0])); d->_w[1] = satuw((d->_w[1]) + (s->_w[1])); d->_w[2] = satuw((d->_w[2]) + (s->_w[2])); d->_w[3] = satuw((d->_w[3]) + (s->_w[3])); d->_w[4] = satuw((d->_w[4]) + (s->_w[4])); d->_w[5] = satuw((d->_w[5]) + (s->_w[5])); d->_w[6] = satuw((d->_w[6]) + (s->_w[6])); d->_w[7] = satuw((d->_w[7]) + (s->_w[7]));}
+void helper_paddsw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = satsw((int16_t)(d->_w[0]) + (int16_t)(s->_w[0])); d->_w[1] = satsw((int16_t)(d->_w[1]) + (int16_t)(s->_w[1])); d->_w[2] = satsw((int16_t)(d->_w[2]) + (int16_t)(s->_w[2])); d->_w[3] = satsw((int16_t)(d->_w[3]) + (int16_t)(s->_w[3])); d->_w[4] = satsw((int16_t)(d->_w[4]) + (int16_t)(s->_w[4])); d->_w[5] = satsw((int16_t)(d->_w[5]) + (int16_t)(s->_w[5])); d->_w[6] = satsw((int16_t)(d->_w[6]) + (int16_t)(s->_w[6])); d->_w[7] = satsw((int16_t)(d->_w[7]) + (int16_t)(s->_w[7]));}
+void helper_psubusw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = satuw((d->_w[0]) - (s->_w[0])); d->_w[1] = satuw((d->_w[1]) - (s->_w[1])); d->_w[2] = satuw((d->_w[2]) - (s->_w[2])); d->_w[3] = satuw((d->_w[3]) - (s->_w[3])); d->_w[4] = satuw((d->_w[4]) - (s->_w[4])); d->_w[5] = satuw((d->_w[5]) - (s->_w[5])); d->_w[6] = satuw((d->_w[6]) - (s->_w[6])); d->_w[7] = satuw((d->_w[7]) - (s->_w[7]));}
+void helper_psubsw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = satsw((int16_t)(d->_w[0]) - (int16_t)(s->_w[0])); d->_w[1] = satsw((int16_t)(d->_w[1]) - (int16_t)(s->_w[1])); d->_w[2] = satsw((int16_t)(d->_w[2]) - (int16_t)(s->_w[2])); d->_w[3] = satsw((int16_t)(d->_w[3]) - (int16_t)(s->_w[3])); d->_w[4] = satsw((int16_t)(d->_w[4]) - (int16_t)(s->_w[4])); d->_w[5] = satsw((int16_t)(d->_w[5]) - (int16_t)(s->_w[5])); d->_w[6] = satsw((int16_t)(d->_w[6]) - (int16_t)(s->_w[6])); d->_w[7] = satsw((int16_t)(d->_w[7]) - (int16_t)(s->_w[7]));}
+
+void helper_pminub_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = ((d->_b[0]) < (s->_b[0])) ? (d->_b[0]) : (s->_b[0]); d->_b[1] = ((d->_b[1]) < (s->_b[1])) ? (d->_b[1]) : (s->_b[1]); d->_b[2] = ((d->_b[2]) < (s->_b[2])) ? (d->_b[2]) : (s->_b[2]); d->_b[3] = ((d->_b[3]) < (s->_b[3])) ? (d->_b[3]) : (s->_b[3]); d->_b[4] = ((d->_b[4]) < (s->_b[4])) ? (d->_b[4]) : (s->_b[4]); d->_b[5] = ((d->_b[5]) < (s->_b[5])) ? (d->_b[5]) : (s->_b[5]); d->_b[6] = ((d->_b[6]) < (s->_b[6])) ? (d->_b[6]) : (s->_b[6]); d->_b[7] = ((d->_b[7]) < (s->_b[7])) ? (d->_b[7]) : (s->_b[7]); d->_b[8] = ((d->_b[8]) < (s->_b[8])) ? (d->_b[8]) : (s->_b[8]); d->_b[9] = ((d->_b[9]) < (s->_b[9])) ? (d->_b[9]) : (s->_b[9]); d->_b[10] = ((d->_b[10]) < (s->_b[10])) ? (d->_b[10]) : (s->_b[10]); d->_b[11] = ((d->_b[11]) < (s->_b[11])) ? (d->_b[11]) : (s->_b[11]); d->_b[12] = ((d->_b[12]) < (s->_b[12])) ? (d->_b[12]) : (s->_b[12]); d->_b[13] = ((d->_b[13]) < (s->_b[13])) ? (d->_b[13]) : (s->_b[13]); d->_b[14] = ((d->_b[14]) < (s->_b[14])) ? (d->_b[14]) : (s->_b[14]); d->_b[15] = ((d->_b[15]) < (s->_b[15])) ? (d->_b[15]) : (s->_b[15]);}
+void helper_pmaxub_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = ((d->_b[0]) > (s->_b[0])) ? (d->_b[0]) : (s->_b[0]); d->_b[1] = ((d->_b[1]) > (s->_b[1])) ? (d->_b[1]) : (s->_b[1]); d->_b[2] = ((d->_b[2]) > (s->_b[2])) ? (d->_b[2]) : (s->_b[2]); d->_b[3] = ((d->_b[3]) > (s->_b[3])) ? (d->_b[3]) : (s->_b[3]); d->_b[4] = ((d->_b[4]) > (s->_b[4])) ? (d->_b[4]) : (s->_b[4]); d->_b[5] = ((d->_b[5]) > (s->_b[5])) ? (d->_b[5]) : (s->_b[5]); d->_b[6] = ((d->_b[6]) > (s->_b[6])) ? (d->_b[6]) : (s->_b[6]); d->_b[7] = ((d->_b[7]) > (s->_b[7])) ? (d->_b[7]) : (s->_b[7]); d->_b[8] = ((d->_b[8]) > (s->_b[8])) ? (d->_b[8]) : (s->_b[8]); d->_b[9] = ((d->_b[9]) > (s->_b[9])) ? (d->_b[9]) : (s->_b[9]); d->_b[10] = ((d->_b[10]) > (s->_b[10])) ? (d->_b[10]) : (s->_b[10]); d->_b[11] = ((d->_b[11]) > (s->_b[11])) ? (d->_b[11]) : (s->_b[11]); d->_b[12] = ((d->_b[12]) > (s->_b[12])) ? (d->_b[12]) : (s->_b[12]); d->_b[13] = ((d->_b[13]) > (s->_b[13])) ? (d->_b[13]) : (s->_b[13]); d->_b[14] = ((d->_b[14]) > (s->_b[14])) ? (d->_b[14]) : (s->_b[14]); d->_b[15] = ((d->_b[15]) > (s->_b[15])) ? (d->_b[15]) : (s->_b[15]);}
+
+void helper_pminsw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = ((int16_t)(d->_w[0]) < (int16_t)(s->_w[0])) ? (d->_w[0]) : (s->_w[0]); d->_w[1] = ((int16_t)(d->_w[1]) < (int16_t)(s->_w[1])) ? (d->_w[1]) : (s->_w[1]); d->_w[2] = ((int16_t)(d->_w[2]) < (int16_t)(s->_w[2])) ? (d->_w[2]) : (s->_w[2]); d->_w[3] = ((int16_t)(d->_w[3]) < (int16_t)(s->_w[3])) ? (d->_w[3]) : (s->_w[3]); d->_w[4] = ((int16_t)(d->_w[4]) < (int16_t)(s->_w[4])) ? (d->_w[4]) : (s->_w[4]); d->_w[5] = ((int16_t)(d->_w[5]) < (int16_t)(s->_w[5])) ? (d->_w[5]) : (s->_w[5]); d->_w[6] = ((int16_t)(d->_w[6]) < (int16_t)(s->_w[6])) ? (d->_w[6]) : (s->_w[6]); d->_w[7] = ((int16_t)(d->_w[7]) < (int16_t)(s->_w[7])) ? (d->_w[7]) : (s->_w[7]);}
+void helper_pmaxsw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = ((int16_t)(d->_w[0]) > (int16_t)(s->_w[0])) ? (d->_w[0]) : (s->_w[0]); d->_w[1] = ((int16_t)(d->_w[1]) > (int16_t)(s->_w[1])) ? (d->_w[1]) : (s->_w[1]); d->_w[2] = ((int16_t)(d->_w[2]) > (int16_t)(s->_w[2])) ? (d->_w[2]) : (s->_w[2]); d->_w[3] = ((int16_t)(d->_w[3]) > (int16_t)(s->_w[3])) ? (d->_w[3]) : (s->_w[3]); d->_w[4] = ((int16_t)(d->_w[4]) > (int16_t)(s->_w[4])) ? (d->_w[4]) : (s->_w[4]); d->_w[5] = ((int16_t)(d->_w[5]) > (int16_t)(s->_w[5])) ? (d->_w[5]) : (s->_w[5]); d->_w[6] = ((int16_t)(d->_w[6]) > (int16_t)(s->_w[6])) ? (d->_w[6]) : (s->_w[6]); d->_w[7] = ((int16_t)(d->_w[7]) > (int16_t)(s->_w[7])) ? (d->_w[7]) : (s->_w[7]);}
+
+void helper_pand_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = (d->_q[0]) & (s->_q[0]); d->_q[1] = (d->_q[1]) & (s->_q[1]);}
+void helper_pandn_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = ((~(d->_q[0])) & (s->_q[0])); d->_q[1] = ((~(d->_q[1])) & (s->_q[1]));}
+void helper_por_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = (d->_q[0]) | (s->_q[0]); d->_q[1] = (d->_q[1]) | (s->_q[1]);}
+void helper_pxor_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = (d->_q[0]) ^ (s->_q[0]); d->_q[1] = (d->_q[1]) ^ (s->_q[1]);}
+
+void helper_pcmpgtb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = (int8_t)(d->_b[0]) > (int8_t)(s->_b[0]) ? -1 : 0; d->_b[1] = (int8_t)(d->_b[1]) > (int8_t)(s->_b[1]) ? -1 : 0; d->_b[2] = (int8_t)(d->_b[2]) > (int8_t)(s->_b[2]) ? -1 : 0; d->_b[3] = (int8_t)(d->_b[3]) > (int8_t)(s->_b[3]) ? -1 : 0; d->_b[4] = (int8_t)(d->_b[4]) > (int8_t)(s->_b[4]) ? -1 : 0; d->_b[5] = (int8_t)(d->_b[5]) > (int8_t)(s->_b[5]) ? -1 : 0; d->_b[6] = (int8_t)(d->_b[6]) > (int8_t)(s->_b[6]) ? -1 : 0; d->_b[7] = (int8_t)(d->_b[7]) > (int8_t)(s->_b[7]) ? -1 : 0; d->_b[8] = (int8_t)(d->_b[8]) > (int8_t)(s->_b[8]) ? -1 : 0; d->_b[9] = (int8_t)(d->_b[9]) > (int8_t)(s->_b[9]) ? -1 : 0; d->_b[10] = (int8_t)(d->_b[10]) > (int8_t)(s->_b[10]) ? -1 : 0; d->_b[11] = (int8_t)(d->_b[11]) > (int8_t)(s->_b[11]) ? -1 : 0; d->_b[12] = (int8_t)(d->_b[12]) > (int8_t)(s->_b[12]) ? -1 : 0; d->_b[13] = (int8_t)(d->_b[13]) > (int8_t)(s->_b[13]) ? -1 : 0; d->_b[14] = (int8_t)(d->_b[14]) > (int8_t)(s->_b[14]) ? -1 : 0; d->_b[15] = (int8_t)(d->_b[15]) > (int8_t)(s->_b[15]) ? -1 : 0;}
+void helper_pcmpgtw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = (int16_t)(d->_w[0]) > (int16_t)(s->_w[0]) ? -1 : 0; d->_w[1] = (int16_t)(d->_w[1]) > (int16_t)(s->_w[1]) ? -1 : 0; d->_w[2] = (int16_t)(d->_w[2]) > (int16_t)(s->_w[2]) ? -1 : 0; d->_w[3] = (int16_t)(d->_w[3]) > (int16_t)(s->_w[3]) ? -1 : 0; d->_w[4] = (int16_t)(d->_w[4]) > (int16_t)(s->_w[4]) ? -1 : 0; d->_w[5] = (int16_t)(d->_w[5]) > (int16_t)(s->_w[5]) ? -1 : 0; d->_w[6] = (int16_t)(d->_w[6]) > (int16_t)(s->_w[6]) ? -1 : 0; d->_w[7] = (int16_t)(d->_w[7]) > (int16_t)(s->_w[7]) ? -1 : 0;}
+void helper_pcmpgtl_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = (int32_t)(d->_l[0]) > (int32_t)(s->_l[0]) ? -1 : 0; d->_l[1] = (int32_t)(d->_l[1]) > (int32_t)(s->_l[1]) ? -1 : 0; d->_l[2] = (int32_t)(d->_l[2]) > (int32_t)(s->_l[2]) ? -1 : 0; d->_l[3] = (int32_t)(d->_l[3]) > (int32_t)(s->_l[3]) ? -1 : 0;}
+
+void helper_pcmpeqb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = (d->_b[0]) == (s->_b[0]) ? -1 : 0; d->_b[1] = (d->_b[1]) == (s->_b[1]) ? -1 : 0; d->_b[2] = (d->_b[2]) == (s->_b[2]) ? -1 : 0; d->_b[3] = (d->_b[3]) == (s->_b[3]) ? -1 : 0; d->_b[4] = (d->_b[4]) == (s->_b[4]) ? -1 : 0; d->_b[5] = (d->_b[5]) == (s->_b[5]) ? -1 : 0; d->_b[6] = (d->_b[6]) == (s->_b[6]) ? -1 : 0; d->_b[7] = (d->_b[7]) == (s->_b[7]) ? -1 : 0; d->_b[8] = (d->_b[8]) == (s->_b[8]) ? -1 : 0; d->_b[9] = (d->_b[9]) == (s->_b[9]) ? -1 : 0; d->_b[10] = (d->_b[10]) == (s->_b[10]) ? -1 : 0; d->_b[11] = (d->_b[11]) == (s->_b[11]) ? -1 : 0; d->_b[12] = (d->_b[12]) == (s->_b[12]) ? -1 : 0; d->_b[13] = (d->_b[13]) == (s->_b[13]) ? -1 : 0; d->_b[14] = (d->_b[14]) == (s->_b[14]) ? -1 : 0; d->_b[15] = (d->_b[15]) == (s->_b[15]) ? -1 : 0;}
+void helper_pcmpeqw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = (d->_w[0]) == (s->_w[0]) ? -1 : 0; d->_w[1] = (d->_w[1]) == (s->_w[1]) ? -1 : 0; d->_w[2] = (d->_w[2]) == (s->_w[2]) ? -1 : 0; d->_w[3] = (d->_w[3]) == (s->_w[3]) ? -1 : 0; d->_w[4] = (d->_w[4]) == (s->_w[4]) ? -1 : 0; d->_w[5] = (d->_w[5]) == (s->_w[5]) ? -1 : 0; d->_w[6] = (d->_w[6]) == (s->_w[6]) ? -1 : 0; d->_w[7] = (d->_w[7]) == (s->_w[7]) ? -1 : 0;}
+void helper_pcmpeql_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = (d->_l[0]) == (s->_l[0]) ? -1 : 0; d->_l[1] = (d->_l[1]) == (s->_l[1]) ? -1 : 0; d->_l[2] = (d->_l[2]) == (s->_l[2]) ? -1 : 0; d->_l[3] = (d->_l[3]) == (s->_l[3]) ? -1 : 0;}
+
+void helper_pmullw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = (d->_w[0]) * (s->_w[0]); d->_w[1] = (d->_w[1]) * (s->_w[1]); d->_w[2] = (d->_w[2]) * (s->_w[2]); d->_w[3] = (d->_w[3]) * (s->_w[3]); d->_w[4] = (d->_w[4]) * (s->_w[4]); d->_w[5] = (d->_w[5]) * (s->_w[5]); d->_w[6] = (d->_w[6]) * (s->_w[6]); d->_w[7] = (d->_w[7]) * (s->_w[7]);}
+
+
+
+void helper_pmulhuw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = (d->_w[0]) * (s->_w[0]) >> 16; d->_w[1] = (d->_w[1]) * (s->_w[1]) >> 16; d->_w[2] = (d->_w[2]) * (s->_w[2]) >> 16; d->_w[3] = (d->_w[3]) * (s->_w[3]) >> 16; d->_w[4] = (d->_w[4]) * (s->_w[4]) >> 16; d->_w[5] = (d->_w[5]) * (s->_w[5]) >> 16; d->_w[6] = (d->_w[6]) * (s->_w[6]) >> 16; d->_w[7] = (d->_w[7]) * (s->_w[7]) >> 16;}
+void helper_pmulhw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = (int16_t)(d->_w[0]) * (int16_t)(s->_w[0]) >> 16; d->_w[1] = (int16_t)(d->_w[1]) * (int16_t)(s->_w[1]) >> 16; d->_w[2] = (int16_t)(d->_w[2]) * (int16_t)(s->_w[2]) >> 16; d->_w[3] = (int16_t)(d->_w[3]) * (int16_t)(s->_w[3]) >> 16; d->_w[4] = (int16_t)(d->_w[4]) * (int16_t)(s->_w[4]) >> 16; d->_w[5] = (int16_t)(d->_w[5]) * (int16_t)(s->_w[5]) >> 16; d->_w[6] = (int16_t)(d->_w[6]) * (int16_t)(s->_w[6]) >> 16; d->_w[7] = (int16_t)(d->_w[7]) * (int16_t)(s->_w[7]) >> 16;}
+
+void helper_pavgb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = ((d->_b[0]) + (s->_b[0]) + 1) >> 1; d->_b[1] = ((d->_b[1]) + (s->_b[1]) + 1) >> 1; d->_b[2] = ((d->_b[2]) + (s->_b[2]) + 1) >> 1; d->_b[3] = ((d->_b[3]) + (s->_b[3]) + 1) >> 1; d->_b[4] = ((d->_b[4]) + (s->_b[4]) + 1) >> 1; d->_b[5] = ((d->_b[5]) + (s->_b[5]) + 1) >> 1; d->_b[6] = ((d->_b[6]) + (s->_b[6]) + 1) >> 1; d->_b[7] = ((d->_b[7]) + (s->_b[7]) + 1) >> 1; d->_b[8] = ((d->_b[8]) + (s->_b[8]) + 1) >> 1; d->_b[9] = ((d->_b[9]) + (s->_b[9]) + 1) >> 1; d->_b[10] = ((d->_b[10]) + (s->_b[10]) + 1) >> 1; d->_b[11] = ((d->_b[11]) + (s->_b[11]) + 1) >> 1; d->_b[12] = ((d->_b[12]) + (s->_b[12]) + 1) >> 1; d->_b[13] = ((d->_b[13]) + (s->_b[13]) + 1) >> 1; d->_b[14] = ((d->_b[14]) + (s->_b[14]) + 1) >> 1; d->_b[15] = ((d->_b[15]) + (s->_b[15]) + 1) >> 1;}
+void helper_pavgw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = ((d->_w[0]) + (s->_w[0]) + 1) >> 1; d->_w[1] = ((d->_w[1]) + (s->_w[1]) + 1) >> 1; d->_w[2] = ((d->_w[2]) + (s->_w[2]) + 1) >> 1; d->_w[3] = ((d->_w[3]) + (s->_w[3]) + 1) >> 1; d->_w[4] = ((d->_w[4]) + (s->_w[4]) + 1) >> 1; d->_w[5] = ((d->_w[5]) + (s->_w[5]) + 1) >> 1; d->_w[6] = ((d->_w[6]) + (s->_w[6]) + 1) >> 1; d->_w[7] = ((d->_w[7]) + (s->_w[7]) + 1) >> 1;}
+
+void helper_pmuludq_xmm (XMMReg *d, XMMReg *s)
+{
+    d->_q[0] = (uint64_t)s->_l[0] * (uint64_t)d->_l[0];
+
+    d->_q[1] = (uint64_t)s->_l[2] * (uint64_t)d->_l[2];
+
+}
+
+void helper_pmaddwd_xmm (XMMReg *d, XMMReg *s)
+{
+    int i;
+
+    for(i = 0; i < (2 << 1); i++) {
+        d->_l[i] = (int16_t)s->_w[2*i] * (int16_t)d->_w[2*i] +
+            (int16_t)s->_w[2*i+1] * (int16_t)d->_w[2*i+1];
+    }
+}
+# 437 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_psadbw_xmm (XMMReg *d, XMMReg *s)
+{
+    unsigned int val;
+
+    val = 0;
+    val += abs1(d->_b[0] - s->_b[0]);
+    val += abs1(d->_b[1] - s->_b[1]);
+    val += abs1(d->_b[2] - s->_b[2]);
+    val += abs1(d->_b[3] - s->_b[3]);
+    val += abs1(d->_b[4] - s->_b[4]);
+    val += abs1(d->_b[5] - s->_b[5]);
+    val += abs1(d->_b[6] - s->_b[6]);
+    val += abs1(d->_b[7] - s->_b[7]);
+    d->_q[0] = val;
+
+    val = 0;
+    val += abs1(d->_b[8] - s->_b[8]);
+    val += abs1(d->_b[9] - s->_b[9]);
+    val += abs1(d->_b[10] - s->_b[10]);
+    val += abs1(d->_b[11] - s->_b[11]);
+    val += abs1(d->_b[12] - s->_b[12]);
+    val += abs1(d->_b[13] - s->_b[13]);
+    val += abs1(d->_b[14] - s->_b[14]);
+    val += abs1(d->_b[15] - s->_b[15]);
+    d->_q[1] = val;
+
+}
+
+void helper_maskmov_xmm (XMMReg *d, XMMReg *s, target_ulong a0)
+{
+    int i;
+    for(i = 0; i < (8 << 1); i++) {
+        if (s->_b[i] & 0x80)
+            stb_data(a0 + i, d->_b[i]);
+    }
+}
+
+void helper_movl_mm_T0_xmm (XMMReg *d, uint32_t val)
+{
+    d->_l[0] = val;
+    d->_l[1] = 0;
+
+    d->_q[1] = 0;
+
+}
+# 504 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_shufps(XMMReg *d, XMMReg *s, int order)
+{
+    XMMReg r;
+    r._l[0] = d->_l[order & 3];
+    r._l[1] = d->_l[(order >> 2) & 3];
+    r._l[2] = s->_l[(order >> 4) & 3];
+    r._l[3] = s->_l[(order >> 6) & 3];
+    *d = r;
+}
+
+void helper_shufpd(XMMReg *d, XMMReg *s, int order)
+{
+    XMMReg r;
+    r._q[0] = d->_q[order & 1];
+    r._q[1] = s->_q[(order >> 1) & 1];
+    *d = r;
+}
+
+void helper_pshufd_xmm (XMMReg *d, XMMReg *s, int order)
+{
+    XMMReg r;
+    r._l[0] = s->_l[order & 3];
+    r._l[1] = s->_l[(order >> 2) & 3];
+    r._l[2] = s->_l[(order >> 4) & 3];
+    r._l[3] = s->_l[(order >> 6) & 3];
+    *d = r;
+}
+
+void helper_pshuflw_xmm (XMMReg *d, XMMReg *s, int order)
+{
+    XMMReg r;
+    r._w[0] = s->_w[order & 3];
+    r._w[1] = s->_w[(order >> 2) & 3];
+    r._w[2] = s->_w[(order >> 4) & 3];
+    r._w[3] = s->_w[(order >> 6) & 3];
+    r._q[1] = s->_q[1];
+    *d = r;
+}
+
+void helper_pshufhw_xmm (XMMReg *d, XMMReg *s, int order)
+{
+    XMMReg r;
+    r._q[0] = s->_q[0];
+    r._w[4] = s->_w[4 + (order & 3)];
+    r._w[5] = s->_w[4 + ((order >> 2) & 3)];
+    r._w[6] = s->_w[4 + ((order >> 4) & 3)];
+    r._w[7] = s->_w[4 + ((order >> 6) & 3)];
+    *d = r;
+}
+# 596 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_addps (XMMReg *d, XMMReg *s){ d->_s[0] = float32_add(d->_s[0], s->_s[0], &env->sse_status); d->_s[1] = float32_add(d->_s[1], s->_s[1], &env->sse_status); d->_s[2] = float32_add(d->_s[2], s->_s[2], &env->sse_status); d->_s[3] = float32_add(d->_s[3], s->_s[3], &env->sse_status);}void helper_addss (XMMReg *d, XMMReg *s){ d->_s[0] = float32_add(d->_s[0], s->_s[0], &env->sse_status);}void helper_addpd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_add(d->_d[0], s->_d[0], &env->sse_status); d->_d[1] = float64_add(d->_d[1], s->_d[1], &env->sse_status);}void helper_addsd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_add(d->_d[0], s->_d[0], &env->sse_status);}
+void helper_subps (XMMReg *d, XMMReg *s){ d->_s[0] = float32_sub(d->_s[0], s->_s[0], &env->sse_status); d->_s[1] = float32_sub(d->_s[1], s->_s[1], &env->sse_status); d->_s[2] = float32_sub(d->_s[2], s->_s[2], &env->sse_status); d->_s[3] = float32_sub(d->_s[3], s->_s[3], &env->sse_status);}void helper_subss (XMMReg *d, XMMReg *s){ d->_s[0] = float32_sub(d->_s[0], s->_s[0], &env->sse_status);}void helper_subpd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_sub(d->_d[0], s->_d[0], &env->sse_status); d->_d[1] = float64_sub(d->_d[1], s->_d[1], &env->sse_status);}void helper_subsd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_sub(d->_d[0], s->_d[0], &env->sse_status);}
+void helper_mulps (XMMReg *d, XMMReg *s){ d->_s[0] = float32_mul(d->_s[0], s->_s[0], &env->sse_status); d->_s[1] = float32_mul(d->_s[1], s->_s[1], &env->sse_status); d->_s[2] = float32_mul(d->_s[2], s->_s[2], &env->sse_status); d->_s[3] = float32_mul(d->_s[3], s->_s[3], &env->sse_status);}void helper_mulss (XMMReg *d, XMMReg *s){ d->_s[0] = float32_mul(d->_s[0], s->_s[0], &env->sse_status);}void helper_mulpd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_mul(d->_d[0], s->_d[0], &env->sse_status); d->_d[1] = float64_mul(d->_d[1], s->_d[1], &env->sse_status);}void helper_mulsd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_mul(d->_d[0], s->_d[0], &env->sse_status);}
+void helper_divps (XMMReg *d, XMMReg *s){ d->_s[0] = float32_div(d->_s[0], s->_s[0], &env->sse_status); d->_s[1] = float32_div(d->_s[1], s->_s[1], &env->sse_status); d->_s[2] = float32_div(d->_s[2], s->_s[2], &env->sse_status); d->_s[3] = float32_div(d->_s[3], s->_s[3], &env->sse_status);}void helper_divss (XMMReg *d, XMMReg *s){ d->_s[0] = float32_div(d->_s[0], s->_s[0], &env->sse_status);}void helper_divpd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_div(d->_d[0], s->_d[0], &env->sse_status); d->_d[1] = float64_div(d->_d[1], s->_d[1], &env->sse_status);}void helper_divsd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_div(d->_d[0], s->_d[0], &env->sse_status);}
+void helper_minps (XMMReg *d, XMMReg *s){ d->_s[0] = float32_lt(d->_s[0], s->_s[0], &env->sse_status) ? (d->_s[0]) : (s->_s[0]); d->_s[1] = float32_lt(d->_s[1], s->_s[1], &env->sse_status) ? (d->_s[1]) : (s->_s[1]); d->_s[2] = float32_lt(d->_s[2], s->_s[2], &env->sse_status) ? (d->_s[2]) : (s->_s[2]); d->_s[3] = float32_lt(d->_s[3], s->_s[3], &env->sse_status) ? (d->_s[3]) : (s->_s[3]);}void helper_minss (XMMReg *d, XMMReg *s){ d->_s[0] = float32_lt(d->_s[0], s->_s[0], &env->sse_status) ? (d->_s[0]) : (s->_s[0]);}void helper_minpd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_lt(d->_d[0], s->_d[0], &env->sse_status) ? (d->_d[0]) : (s->_d[0]); d->_d[1] = float64_lt(d->_d[1], s->_d[1], &env->sse_status) ? (d->_d[1]) : (s->_d[1]);}void helper_minsd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_lt(d->_d[0], s->_d[0], &env->sse_status) ? (d->_d[0]) : (s->_d[0]);}
+void helper_maxps (XMMReg *d, XMMReg *s){ d->_s[0] = float32_lt(s->_s[0], d->_s[0], &env->sse_status) ? (d->_s[0]) : (s->_s[0]); d->_s[1] = float32_lt(s->_s[1], d->_s[1], &env->sse_status) ? (d->_s[1]) : (s->_s[1]); d->_s[2] = float32_lt(s->_s[2], d->_s[2], &env->sse_status) ? (d->_s[2]) : (s->_s[2]); d->_s[3] = float32_lt(s->_s[3], d->_s[3], &env->sse_status) ? (d->_s[3]) : (s->_s[3]);}void helper_maxss (XMMReg *d, XMMReg *s){ d->_s[0] = float32_lt(s->_s[0], d->_s[0], &env->sse_status) ? (d->_s[0]) : (s->_s[0]);}void helper_maxpd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_lt(s->_d[0], d->_d[0], &env->sse_status) ? (d->_d[0]) : (s->_d[0]); d->_d[1] = float64_lt(s->_d[1], d->_d[1], &env->sse_status) ? (d->_d[1]) : (s->_d[1]);}void helper_maxsd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_lt(s->_d[0], d->_d[0], &env->sse_status) ? (d->_d[0]) : (s->_d[0]);}
+void helper_sqrtps (XMMReg *d, XMMReg *s){ d->_s[0] = float32_sqrt(s->_s[0], &env->sse_status); d->_s[1] = float32_sqrt(s->_s[1], &env->sse_status); d->_s[2] = float32_sqrt(s->_s[2], &env->sse_status); d->_s[3] = float32_sqrt(s->_s[3], &env->sse_status);}void helper_sqrtss (XMMReg *d, XMMReg *s){ d->_s[0] = float32_sqrt(s->_s[0], &env->sse_status);}void helper_sqrtpd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_sqrt(s->_d[0], &env->sse_status); d->_d[1] = float64_sqrt(s->_d[1], &env->sse_status);}void helper_sqrtsd (XMMReg *d, XMMReg *s){ d->_d[0] = float64_sqrt(s->_d[0], &env->sse_status);}
+
+
+
+void helper_cvtps2pd(XMMReg *d, XMMReg *s)
+{
+    float32 s0, s1;
+    s0 = s->_s[0];
+    s1 = s->_s[1];
+    d->_d[0] = float32_to_float64(s0, &env->sse_status);
+    d->_d[1] = float32_to_float64(s1, &env->sse_status);
+}
+
+void helper_cvtpd2ps(XMMReg *d, XMMReg *s)
+{
+    d->_s[0] = float64_to_float32(s->_d[0], &env->sse_status);
+    d->_s[1] = float64_to_float32(s->_d[1], &env->sse_status);
+    d->_q[1] = 0;
+}
+
+void helper_cvtss2sd(XMMReg *d, XMMReg *s)
+{
+    d->_d[0] = float32_to_float64(s->_s[0], &env->sse_status);
+}
+
+void helper_cvtsd2ss(XMMReg *d, XMMReg *s)
+{
+    d->_s[0] = float64_to_float32(s->_d[0], &env->sse_status);
+}
+
+
+void helper_cvtdq2ps(XMMReg *d, XMMReg *s)
+{
+    d->_s[0] = int32_to_float32(s->_l[0], &env->sse_status);
+    d->_s[1] = int32_to_float32(s->_l[1], &env->sse_status);
+    d->_s[2] = int32_to_float32(s->_l[2], &env->sse_status);
+    d->_s[3] = int32_to_float32(s->_l[3], &env->sse_status);
+}
+
+void helper_cvtdq2pd(XMMReg *d, XMMReg *s)
+{
+    int32_t l0, l1;
+    l0 = (int32_t)s->_l[0];
+    l1 = (int32_t)s->_l[1];
+    d->_d[0] = int32_to_float64(l0, &env->sse_status);
+    d->_d[1] = int32_to_float64(l1, &env->sse_status);
+}
+
+void helper_cvtpi2ps(XMMReg *d, MMXReg *s)
+{
+    d->_s[0] = int32_to_float32(s->_l[0], &env->sse_status);
+    d->_s[1] = int32_to_float32(s->_l[1], &env->sse_status);
+}
+
+void helper_cvtpi2pd(XMMReg *d, MMXReg *s)
+{
+    d->_d[0] = int32_to_float64(s->_l[0], &env->sse_status);
+    d->_d[1] = int32_to_float64(s->_l[1], &env->sse_status);
+}
+
+void helper_cvtsi2ss(XMMReg *d, uint32_t val)
+{
+    d->_s[0] = int32_to_float32(val, &env->sse_status);
+}
+
+void helper_cvtsi2sd(XMMReg *d, uint32_t val)
+{
+    d->_d[0] = int32_to_float64(val, &env->sse_status);
+}
+# 685 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_cvtps2dq(XMMReg *d, XMMReg *s)
+{
+    d->_l[0] = float32_to_int32(s->_s[0], &env->sse_status);
+    d->_l[1] = float32_to_int32(s->_s[1], &env->sse_status);
+    d->_l[2] = float32_to_int32(s->_s[2], &env->sse_status);
+    d->_l[3] = float32_to_int32(s->_s[3], &env->sse_status);
+}
+
+void helper_cvtpd2dq(XMMReg *d, XMMReg *s)
+{
+    d->_l[0] = float64_to_int32(s->_d[0], &env->sse_status);
+    d->_l[1] = float64_to_int32(s->_d[1], &env->sse_status);
+    d->_q[1] = 0;
+}
+
+void helper_cvtps2pi(MMXReg *d, XMMReg *s)
+{
+    d->_l[0] = float32_to_int32(s->_s[0], &env->sse_status);
+    d->_l[1] = float32_to_int32(s->_s[1], &env->sse_status);
+}
+
+void helper_cvtpd2pi(MMXReg *d, XMMReg *s)
+{
+    d->_l[0] = float64_to_int32(s->_d[0], &env->sse_status);
+    d->_l[1] = float64_to_int32(s->_d[1], &env->sse_status);
+}
+
+int32_t helper_cvtss2si(XMMReg *s)
+{
+    return float32_to_int32(s->_s[0], &env->sse_status);
+}
+
+int32_t helper_cvtsd2si(XMMReg *s)
+{
+    return float64_to_int32(s->_d[0], &env->sse_status);
+}
+# 735 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_cvttps2dq(XMMReg *d, XMMReg *s)
+{
+    d->_l[0] = float32_to_int32_round_to_zero(s->_s[0], &env->sse_status);
+    d->_l[1] = float32_to_int32_round_to_zero(s->_s[1], &env->sse_status);
+    d->_l[2] = float32_to_int32_round_to_zero(s->_s[2], &env->sse_status);
+    d->_l[3] = float32_to_int32_round_to_zero(s->_s[3], &env->sse_status);
+}
+
+void helper_cvttpd2dq(XMMReg *d, XMMReg *s)
+{
+    d->_l[0] = float64_to_int32_round_to_zero(s->_d[0], &env->sse_status);
+    d->_l[1] = float64_to_int32_round_to_zero(s->_d[1], &env->sse_status);
+    d->_q[1] = 0;
+}
+
+void helper_cvttps2pi(MMXReg *d, XMMReg *s)
+{
+    d->_l[0] = float32_to_int32_round_to_zero(s->_s[0], &env->sse_status);
+    d->_l[1] = float32_to_int32_round_to_zero(s->_s[1], &env->sse_status);
+}
+
+void helper_cvttpd2pi(MMXReg *d, XMMReg *s)
+{
+    d->_l[0] = float64_to_int32_round_to_zero(s->_d[0], &env->sse_status);
+    d->_l[1] = float64_to_int32_round_to_zero(s->_d[1], &env->sse_status);
+}
+
+int32_t helper_cvttss2si(XMMReg *s)
+{
+    return float32_to_int32_round_to_zero(s->_s[0], &env->sse_status);
+}
+
+int32_t helper_cvttsd2si(XMMReg *s)
+{
+    return float64_to_int32_round_to_zero(s->_d[0], &env->sse_status);
+}
+# 784 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_rsqrtps(XMMReg *d, XMMReg *s)
+{
+    d->_s[0] = float32_div((0x3f800000),
+                              float32_sqrt(s->_s[0], &env->sse_status),
+                              &env->sse_status);
+    d->_s[1] = float32_div((0x3f800000),
+                              float32_sqrt(s->_s[1], &env->sse_status),
+                              &env->sse_status);
+    d->_s[2] = float32_div((0x3f800000),
+                              float32_sqrt(s->_s[2], &env->sse_status),
+                              &env->sse_status);
+    d->_s[3] = float32_div((0x3f800000),
+                              float32_sqrt(s->_s[3], &env->sse_status),
+                              &env->sse_status);
+}
+
+void helper_rsqrtss(XMMReg *d, XMMReg *s)
+{
+    d->_s[0] = float32_div((0x3f800000),
+                              float32_sqrt(s->_s[0], &env->sse_status),
+                              &env->sse_status);
+}
+
+void helper_rcpps(XMMReg *d, XMMReg *s)
+{
+    d->_s[0] = float32_div((0x3f800000), s->_s[0], &env->sse_status);
+    d->_s[1] = float32_div((0x3f800000), s->_s[1], &env->sse_status);
+    d->_s[2] = float32_div((0x3f800000), s->_s[2], &env->sse_status);
+    d->_s[3] = float32_div((0x3f800000), s->_s[3], &env->sse_status);
+}
+
+void helper_rcpss(XMMReg *d, XMMReg *s)
+{
+    d->_s[0] = float32_div((0x3f800000), s->_s[0], &env->sse_status);
+}
+
+static __attribute__ (( always_inline )) __inline__ uint64_t helper_extrq(uint64_t src, int shift, int len)
+{
+    uint64_t mask;
+
+    if (len == 0) {
+        mask = ~0LL;
+    } else {
+        mask = (1ULL << len) - 1;
+    }
+    return (src >> shift) & mask;
+}
+
+void helper_extrq_r(XMMReg *d, XMMReg *s)
+{
+    d->_q[0] = helper_extrq(d->_q[0], s->_b[1], s->_b[0]);
+}
+
+void helper_extrq_i(XMMReg *d, int index, int length)
+{
+    d->_q[0] = helper_extrq(d->_q[0], index, length);
+}
+
+static __attribute__ (( always_inline )) __inline__ uint64_t helper_insertq(uint64_t src, int shift, int len)
+{
+    uint64_t mask;
+
+    if (len == 0) {
+        mask = ~0ULL;
+    } else {
+        mask = (1ULL << len) - 1;
+    }
+    return (src & ~(mask << shift)) | ((src & mask) << shift);
+}
+
+void helper_insertq_r(XMMReg *d, XMMReg *s)
+{
+    d->_q[0] = helper_insertq(s->_q[0], s->_b[9], s->_b[8]);
+}
+
+void helper_insertq_i(XMMReg *d, int index, int length)
+{
+    d->_q[0] = helper_insertq(d->_q[0], index, length);
+}
+
+void helper_haddps(XMMReg *d, XMMReg *s)
+{
+    XMMReg r;
+    r._s[0] = float32_add(d->_s[0], d->_s[1], &env->sse_status);
+    r._s[1] = float32_add(d->_s[2], d->_s[3], &env->sse_status);
+    r._s[2] = float32_add(s->_s[0], s->_s[1], &env->sse_status);
+    r._s[3] = float32_add(s->_s[2], s->_s[3], &env->sse_status);
+    *d = r;
+}
+
+void helper_haddpd(XMMReg *d, XMMReg *s)
+{
+    XMMReg r;
+    r._d[0] = float64_add(d->_d[0], d->_d[1], &env->sse_status);
+    r._d[1] = float64_add(s->_d[0], s->_d[1], &env->sse_status);
+    *d = r;
+}
+
+void helper_hsubps(XMMReg *d, XMMReg *s)
+{
+    XMMReg r;
+    r._s[0] = float32_sub(d->_s[0], d->_s[1], &env->sse_status);
+    r._s[1] = float32_sub(d->_s[2], d->_s[3], &env->sse_status);
+    r._s[2] = float32_sub(s->_s[0], s->_s[1], &env->sse_status);
+    r._s[3] = float32_sub(s->_s[2], s->_s[3], &env->sse_status);
+    *d = r;
+}
+
+void helper_hsubpd(XMMReg *d, XMMReg *s)
+{
+    XMMReg r;
+    r._d[0] = float64_sub(d->_d[0], d->_d[1], &env->sse_status);
+    r._d[1] = float64_sub(s->_d[0], s->_d[1], &env->sse_status);
+    *d = r;
+}
+
+void helper_addsubps(XMMReg *d, XMMReg *s)
+{
+    d->_s[0] = float32_sub(d->_s[0], s->_s[0], &env->sse_status);
+    d->_s[1] = float32_add(d->_s[1], s->_s[1], &env->sse_status);
+    d->_s[2] = float32_sub(d->_s[2], s->_s[2], &env->sse_status);
+    d->_s[3] = float32_add(d->_s[3], s->_s[3], &env->sse_status);
+}
+
+void helper_addsubpd(XMMReg *d, XMMReg *s)
+{
+    d->_d[0] = float64_sub(d->_d[0], s->_d[0], &env->sse_status);
+    d->_d[1] = float64_add(d->_d[1], s->_d[1], &env->sse_status);
+}
+# 948 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_cmpeqps (XMMReg *d, XMMReg *s){ d->_l[0] = float32_eq_quiet(d->_s[0], s->_s[0], &env->sse_status) ? -1 : 0; d->_l[1] = float32_eq_quiet(d->_s[1], s->_s[1], &env->sse_status) ? -1 : 0; d->_l[2] = float32_eq_quiet(d->_s[2], s->_s[2], &env->sse_status) ? -1 : 0; d->_l[3] = float32_eq_quiet(d->_s[3], s->_s[3], &env->sse_status) ? -1 : 0;}void helper_cmpeqss (XMMReg *d, XMMReg *s){ d->_l[0] = float32_eq_quiet(d->_s[0], s->_s[0], &env->sse_status) ? -1 : 0;}void helper_cmpeqpd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_eq_quiet(d->_d[0], s->_d[0], &env->sse_status) ? -1 : 0; d->_q[1] = float64_eq_quiet(d->_d[1], s->_d[1], &env->sse_status) ? -1 : 0;}void helper_cmpeqsd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_eq_quiet(d->_d[0], s->_d[0], &env->sse_status) ? -1 : 0;}
+void helper_cmpltps (XMMReg *d, XMMReg *s){ d->_l[0] = float32_lt(d->_s[0], s->_s[0], &env->sse_status) ? -1 : 0; d->_l[1] = float32_lt(d->_s[1], s->_s[1], &env->sse_status) ? -1 : 0; d->_l[2] = float32_lt(d->_s[2], s->_s[2], &env->sse_status) ? -1 : 0; d->_l[3] = float32_lt(d->_s[3], s->_s[3], &env->sse_status) ? -1 : 0;}void helper_cmpltss (XMMReg *d, XMMReg *s){ d->_l[0] = float32_lt(d->_s[0], s->_s[0], &env->sse_status) ? -1 : 0;}void helper_cmpltpd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_lt(d->_d[0], s->_d[0], &env->sse_status) ? -1 : 0; d->_q[1] = float64_lt(d->_d[1], s->_d[1], &env->sse_status) ? -1 : 0;}void helper_cmpltsd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_lt(d->_d[0], s->_d[0], &env->sse_status) ? -1 : 0;}
+void helper_cmpleps (XMMReg *d, XMMReg *s){ d->_l[0] = float32_le(d->_s[0], s->_s[0], &env->sse_status) ? -1 : 0; d->_l[1] = float32_le(d->_s[1], s->_s[1], &env->sse_status) ? -1 : 0; d->_l[2] = float32_le(d->_s[2], s->_s[2], &env->sse_status) ? -1 : 0; d->_l[3] = float32_le(d->_s[3], s->_s[3], &env->sse_status) ? -1 : 0;}void helper_cmpless (XMMReg *d, XMMReg *s){ d->_l[0] = float32_le(d->_s[0], s->_s[0], &env->sse_status) ? -1 : 0;}void helper_cmplepd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_le(d->_d[0], s->_d[0], &env->sse_status) ? -1 : 0; d->_q[1] = float64_le(d->_d[1], s->_d[1], &env->sse_status) ? -1 : 0;}void helper_cmplesd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_le(d->_d[0], s->_d[0], &env->sse_status) ? -1 : 0;}
+void helper_cmpunordps (XMMReg *d, XMMReg *s){ d->_l[0] = float32_unordered_quiet(d->_s[0], s->_s[0], &env->sse_status) ? - 1 : 0; d->_l[1] = float32_unordered_quiet(d->_s[1], s->_s[1], &env->sse_status) ? - 1 : 0; d->_l[2] = float32_unordered_quiet(d->_s[2], s->_s[2], &env->sse_status) ? - 1 : 0; d->_l[3] = float32_unordered_quiet(d->_s[3], s->_s[3], &env->sse_status) ? - 1 : 0;}void helper_cmpunordss (XMMReg *d, XMMReg *s){ d->_l[0] = float32_unordered_quiet(d->_s[0], s->_s[0], &env->sse_status) ? - 1 : 0;}void helper_cmpunordpd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_unordered_quiet(d->_d[0], s->_d[0], &env->sse_status) ? - 1 : 0; d->_q[1] = float64_unordered_quiet(d->_d[1], s->_d[1], &env->sse_status) ? - 1 : 0;}void helper_cmpunordsd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_unordered_quiet(d->_d[0], s->_d[0], &env->sse_status) ? - 1 : 0;}
+void helper_cmpneqps (XMMReg *d, XMMReg *s){ d->_l[0] = float32_eq_quiet(d->_s[0], s->_s[0], &env->sse_status) ? 0 : -1; d->_l[1] = float32_eq_quiet(d->_s[1], s->_s[1], &env->sse_status) ? 0 : -1; d->_l[2] = float32_eq_quiet(d->_s[2], s->_s[2], &env->sse_status) ? 0 : -1; d->_l[3] = float32_eq_quiet(d->_s[3], s->_s[3], &env->sse_status) ? 0 : -1;}void helper_cmpneqss (XMMReg *d, XMMReg *s){ d->_l[0] = float32_eq_quiet(d->_s[0], s->_s[0], &env->sse_status) ? 0 : -1;}void helper_cmpneqpd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_eq_quiet(d->_d[0], s->_d[0], &env->sse_status) ? 0 : -1; d->_q[1] = float64_eq_quiet(d->_d[1], s->_d[1], &env->sse_status) ? 0 : -1;}void helper_cmpneqsd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_eq_quiet(d->_d[0], s->_d[0], &env->sse_status) ? 0 : -1;}
+void helper_cmpnltps (XMMReg *d, XMMReg *s){ d->_l[0] = float32_lt(d->_s[0], s->_s[0], &env->sse_status) ? 0 : -1; d->_l[1] = float32_lt(d->_s[1], s->_s[1], &env->sse_status) ? 0 : -1; d->_l[2] = float32_lt(d->_s[2], s->_s[2], &env->sse_status) ? 0 : -1; d->_l[3] = float32_lt(d->_s[3], s->_s[3], &env->sse_status) ? 0 : -1;}void helper_cmpnltss (XMMReg *d, XMMReg *s){ d->_l[0] = float32_lt(d->_s[0], s->_s[0], &env->sse_status) ? 0 : -1;}void helper_cmpnltpd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_lt(d->_d[0], s->_d[0], &env->sse_status) ? 0 : -1; d->_q[1] = float64_lt(d->_d[1], s->_d[1], &env->sse_status) ? 0 : -1;}void helper_cmpnltsd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_lt(d->_d[0], s->_d[0], &env->sse_status) ? 0 : -1;}
+void helper_cmpnleps (XMMReg *d, XMMReg *s){ d->_l[0] = float32_le(d->_s[0], s->_s[0], &env->sse_status) ? 0 : -1; d->_l[1] = float32_le(d->_s[1], s->_s[1], &env->sse_status) ? 0 : -1; d->_l[2] = float32_le(d->_s[2], s->_s[2], &env->sse_status) ? 0 : -1; d->_l[3] = float32_le(d->_s[3], s->_s[3], &env->sse_status) ? 0 : -1;}void helper_cmpnless (XMMReg *d, XMMReg *s){ d->_l[0] = float32_le(d->_s[0], s->_s[0], &env->sse_status) ? 0 : -1;}void helper_cmpnlepd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_le(d->_d[0], s->_d[0], &env->sse_status) ? 0 : -1; d->_q[1] = float64_le(d->_d[1], s->_d[1], &env->sse_status) ? 0 : -1;}void helper_cmpnlesd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_le(d->_d[0], s->_d[0], &env->sse_status) ? 0 : -1;}
+void helper_cmpordps (XMMReg *d, XMMReg *s){ d->_l[0] = float32_unordered_quiet(d->_s[0], s->_s[0], &env->sse_status) ? 0 : -1; d->_l[1] = float32_unordered_quiet(d->_s[1], s->_s[1], &env->sse_status) ? 0 : -1; d->_l[2] = float32_unordered_quiet(d->_s[2], s->_s[2], &env->sse_status) ? 0 : -1; d->_l[3] = float32_unordered_quiet(d->_s[3], s->_s[3], &env->sse_status) ? 0 : -1;}void helper_cmpordss (XMMReg *d, XMMReg *s){ d->_l[0] = float32_unordered_quiet(d->_s[0], s->_s[0], &env->sse_status) ? 0 : -1;}void helper_cmpordpd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_unordered_quiet(d->_d[0], s->_d[0], &env->sse_status) ? 0 : -1; d->_q[1] = float64_unordered_quiet(d->_d[1], s->_d[1], &env->sse_status) ? 0 : -1;}void helper_cmpordsd (XMMReg *d, XMMReg *s){ d->_q[0] = float64_unordered_quiet(d->_d[0], s->_d[0], &env->sse_status) ? 0 : -1;}
+
+static const int comis_eflags[4] = {0x0001, 0x0040, 0, 0x0040 | 0x0004 | 0x0001};
+
+void helper_ucomiss(XMMReg *d, XMMReg *s)
+{
+    int ret;
+    float32 s0, s1;
+
+    s0 = d->_s[0];
+    s1 = s->_s[0];
+    ret = float32_compare_quiet(s0, s1, &env->sse_status);
+    (env->cc_src) = comis_eflags[ret + 1];
+}
+
+void helper_comiss(XMMReg *d, XMMReg *s)
+{
+    int ret;
+    float32 s0, s1;
+
+    s0 = d->_s[0];
+    s1 = s->_s[0];
+    ret = float32_compare(s0, s1, &env->sse_status);
+    (env->cc_src) = comis_eflags[ret + 1];
+}
+
+void helper_ucomisd(XMMReg *d, XMMReg *s)
+{
+    int ret;
+    float64 d0, d1;
+
+    d0 = d->_d[0];
+    d1 = s->_d[0];
+    ret = float64_compare_quiet(d0, d1, &env->sse_status);
+    (env->cc_src) = comis_eflags[ret + 1];
+}
+
+void helper_comisd(XMMReg *d, XMMReg *s)
+{
+    int ret;
+    float64 d0, d1;
+
+    d0 = d->_d[0];
+    d1 = s->_d[0];
+    ret = float64_compare(d0, d1, &env->sse_status);
+    (env->cc_src) = comis_eflags[ret + 1];
+}
+
+uint32_t helper_movmskps(XMMReg *s)
+{
+    int b0, b1, b2, b3;
+    b0 = s->_l[0] >> 31;
+    b1 = s->_l[1] >> 31;
+    b2 = s->_l[2] >> 31;
+    b3 = s->_l[3] >> 31;
+    return b0 | (b1 << 1) | (b2 << 2) | (b3 << 3);
+}
+
+uint32_t helper_movmskpd(XMMReg *s)
+{
+    int b0, b1;
+    b0 = s->_l[1] >> 31;
+    b1 = s->_l[3] >> 31;
+    return b0 | (b1 << 1);
+}
+
+
+
+uint32_t helper_pmovmskb_xmm(XMMReg *s)
+{
+    uint32_t val;
+    val = 0;
+    val |= (s->_b[0] >> 7);
+    val |= (s->_b[1] >> 6) & 0x02;
+    val |= (s->_b[2] >> 5) & 0x04;
+    val |= (s->_b[3] >> 4) & 0x08;
+    val |= (s->_b[4] >> 3) & 0x10;
+    val |= (s->_b[5] >> 2) & 0x20;
+    val |= (s->_b[6] >> 1) & 0x40;
+    val |= (s->_b[7]) & 0x80;
+
+    val |= (s->_b[8] << 1) & 0x0100;
+    val |= (s->_b[9] << 2) & 0x0200;
+    val |= (s->_b[10] << 3) & 0x0400;
+    val |= (s->_b[11] << 4) & 0x0800;
+    val |= (s->_b[12] << 5) & 0x1000;
+    val |= (s->_b[13] << 6) & 0x2000;
+    val |= (s->_b[14] << 7) & 0x4000;
+    val |= (s->_b[15] << 8) & 0x8000;
+
+    return val;
+}
+
+void helper_packsswb_xmm (XMMReg *d, XMMReg *s)
+{
+    XMMReg r;
+
+    r._b[0] = satsb((int16_t)d->_w[0]);
+    r._b[1] = satsb((int16_t)d->_w[1]);
+    r._b[2] = satsb((int16_t)d->_w[2]);
+    r._b[3] = satsb((int16_t)d->_w[3]);
+
+    r._b[4] = satsb((int16_t)d->_w[4]);
+    r._b[5] = satsb((int16_t)d->_w[5]);
+    r._b[6] = satsb((int16_t)d->_w[6]);
+    r._b[7] = satsb((int16_t)d->_w[7]);
+
+    r._b[(4 << 1) + 0] = satsb((int16_t)s->_w[0]);
+    r._b[(4 << 1) + 1] = satsb((int16_t)s->_w[1]);
+    r._b[(4 << 1) + 2] = satsb((int16_t)s->_w[2]);
+    r._b[(4 << 1) + 3] = satsb((int16_t)s->_w[3]);
+
+    r._b[12] = satsb((int16_t)s->_w[4]);
+    r._b[13] = satsb((int16_t)s->_w[5]);
+    r._b[14] = satsb((int16_t)s->_w[6]);
+    r._b[15] = satsb((int16_t)s->_w[7]);
+
+    *d = r;
+}
+
+void helper_packuswb_xmm (XMMReg *d, XMMReg *s)
+{
+    XMMReg r;
+
+    r._b[0] = satub((int16_t)d->_w[0]);
+    r._b[1] = satub((int16_t)d->_w[1]);
+    r._b[2] = satub((int16_t)d->_w[2]);
+    r._b[3] = satub((int16_t)d->_w[3]);
+
+    r._b[4] = satub((int16_t)d->_w[4]);
+    r._b[5] = satub((int16_t)d->_w[5]);
+    r._b[6] = satub((int16_t)d->_w[6]);
+    r._b[7] = satub((int16_t)d->_w[7]);
+
+    r._b[(4 << 1) + 0] = satub((int16_t)s->_w[0]);
+    r._b[(4 << 1) + 1] = satub((int16_t)s->_w[1]);
+    r._b[(4 << 1) + 2] = satub((int16_t)s->_w[2]);
+    r._b[(4 << 1) + 3] = satub((int16_t)s->_w[3]);
+
+    r._b[12] = satub((int16_t)s->_w[4]);
+    r._b[13] = satub((int16_t)s->_w[5]);
+    r._b[14] = satub((int16_t)s->_w[6]);
+    r._b[15] = satub((int16_t)s->_w[7]);
+
+    *d = r;
+}
+
+void helper_packssdw_xmm (XMMReg *d, XMMReg *s)
+{
+    XMMReg r;
+
+    r._w[0] = satsw(d->_l[0]);
+    r._w[1] = satsw(d->_l[1]);
+
+    r._w[2] = satsw(d->_l[2]);
+    r._w[3] = satsw(d->_l[3]);
+
+    r._w[(2 << 1) + 0] = satsw(s->_l[0]);
+    r._w[(2 << 1) + 1] = satsw(s->_l[1]);
+
+    r._w[6] = satsw(s->_l[2]);
+    r._w[7] = satsw(s->_l[3]);
+
+    *d = r;
+}
+# 1189 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_punpcklbw_xmm (XMMReg *d, XMMReg *s) { XMMReg r; r._b[0] = d->_b[(0 << (1 + 2)) + 0]; r._b[1] = s->_b[(0 << (1 + 2)) + 0]; r._b[2] = d->_b[(0 << (1 + 2)) + 1]; r._b[3] = s->_b[(0 << (1 + 2)) + 1]; r._b[4] = d->_b[(0 << (1 + 2)) + 2]; r._b[5] = s->_b[(0 << (1 + 2)) + 2]; r._b[6] = d->_b[(0 << (1 + 2)) + 3]; r._b[7] = s->_b[(0 << (1 + 2)) + 3]; r._b[8] = d->_b[(0 << (1 + 2)) + 4]; r._b[9] = s->_b[(0 << (1 + 2)) + 4]; r._b[10] = d->_b[(0 << (1 + 2)) + 5]; r._b[11] = s->_b[(0 << (1 + 2)) + 5]; r._b[12] = d->_b[(0 << (1 + 2)) + 6]; r._b[13] = s->_b[(0 << (1 + 2)) + 6]; r._b[14] = d->_b[(0 << (1 + 2)) + 7]; r._b[15] = s->_b[(0 << (1 + 2)) + 7]; *d = r; } void helper_punpcklwd_xmm (XMMReg *d, XMMReg *s) { XMMReg r; r._w[0] = d->_w[(0 << (1 + 1)) + 0]; r._w[1] = s->_w[(0 << (1 + 1)) + 0]; r._w[2] = d->_w[(0 << (1 + 1)) + 1]; r._w[3] = s->_w[(0 << (1 + 1)) + 1]; r._w[4] = d->_w[(0 << (1 + 1)) + 2]; r._w[5] = s->_w[(0 << (1 + 1)) + 2]; r._w[6] = d->_w[(0 << (1 + 1)) + 3]; r._w[7] = s->_w[(0 << (1 + 1)) + 3]; *d = r; } void helper_punpckldq_xmm (XMMReg *d, XMMReg *s) { XMMReg r; r._l[0] = d->_l[(0 << 1) + 0]; r._l[1] = s->_l[(0 << 1) + 0]; r._l[2] = d->_l[(0 << 1) + 1]; r._l[3] = s->_l[(0 << 1) + 1]; *d = r; } void helper_punpcklqdq_xmm (XMMReg *d, XMMReg *s) { XMMReg r; r._q[0] = d->_q[0]; r._q[1] = s->_q[0]; *d = r; }
+void helper_punpckhbw_xmm (XMMReg *d, XMMReg *s) { XMMReg r; r._b[0] = d->_b[(1 << (1 + 2)) + 0]; r._b[1] = s->_b[(1 << (1 + 2)) + 0]; r._b[2] = d->_b[(1 << (1 + 2)) + 1]; r._b[3] = s->_b[(1 << (1 + 2)) + 1]; r._b[4] = d->_b[(1 << (1 + 2)) + 2]; r._b[5] = s->_b[(1 << (1 + 2)) + 2]; r._b[6] = d->_b[(1 << (1 + 2)) + 3]; r._b[7] = s->_b[(1 << (1 + 2)) + 3]; r._b[8] = d->_b[(1 << (1 + 2)) + 4]; r._b[9] = s->_b[(1 << (1 + 2)) + 4]; r._b[10] = d->_b[(1 << (1 + 2)) + 5]; r._b[11] = s->_b[(1 << (1 + 2)) + 5]; r._b[12] = d->_b[(1 << (1 + 2)) + 6]; r._b[13] = s->_b[(1 << (1 + 2)) + 6]; r._b[14] = d->_b[(1 << (1 + 2)) + 7]; r._b[15] = s->_b[(1 << (1 + 2)) + 7]; *d = r; } void helper_punpckhwd_xmm (XMMReg *d, XMMReg *s) { XMMReg r; r._w[0] = d->_w[(1 << (1 + 1)) + 0]; r._w[1] = s->_w[(1 << (1 + 1)) + 0]; r._w[2] = d->_w[(1 << (1 + 1)) + 1]; r._w[3] = s->_w[(1 << (1 + 1)) + 1]; r._w[4] = d->_w[(1 << (1 + 1)) + 2]; r._w[5] = s->_w[(1 << (1 + 1)) + 2]; r._w[6] = d->_w[(1 << (1 + 1)) + 3]; r._w[7] = s->_w[(1 << (1 + 1)) + 3]; *d = r; } void helper_punpckhdq_xmm (XMMReg *d, XMMReg *s) { XMMReg r; r._l[0] = d->_l[(1 << 1) + 0]; r._l[1] = s->_l[(1 << 1) + 0]; r._l[2] = d->_l[(1 << 1) + 1]; r._l[3] = s->_l[(1 << 1) + 1]; *d = r; } void helper_punpckhqdq_xmm (XMMReg *d, XMMReg *s) { XMMReg r; r._q[0] = d->_q[1]; r._q[1] = s->_q[1]; *d = r; }
+# 1326 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_pshufb_xmm (XMMReg *d, XMMReg *s)
+{
+    int i;
+    XMMReg r;
+
+    for (i = 0; i < (8 << 1); i++)
+        r._b[i] = (s->_b[i] & 0x80) ? 0 : (d->_b[s->_b[i] & ((8 << 1) - 1)]);
+
+    *d = r;
+}
+
+void helper_phaddw_xmm (XMMReg *d, XMMReg *s)
+{
+    d->_w[0] = (int16_t)d->_w[0] + (int16_t)d->_w[1];
+    d->_w[1] = (int16_t)d->_w[2] + (int16_t)d->_w[3];
+    d->_w[2] = (int16_t)d->_w[4] + (int16_t)d->_w[5];
+    d->_w[3] = (int16_t)d->_w[6] + (int16_t)d->_w[7];
+    d->_w[(2 << 1) + 0] = (int16_t)s->_w[0] + (int16_t)s->_w[1];
+    d->_w[(2 << 1) + 1] = (int16_t)s->_w[2] + (int16_t)s->_w[3];
+    d->_w[6] = (int16_t)s->_w[4] + (int16_t)s->_w[5];
+    d->_w[7] = (int16_t)s->_w[6] + (int16_t)s->_w[7];
+}
+
+void helper_phaddd_xmm (XMMReg *d, XMMReg *s)
+{
+    d->_l[0] = (int32_t)d->_l[0] + (int32_t)d->_l[1];
+    d->_l[1] = (int32_t)d->_l[2] + (int32_t)d->_l[3];
+    d->_l[(1 << 1) + 0] = (int32_t)s->_l[0] + (int32_t)s->_l[1];
+    d->_l[3] = (int32_t)s->_l[2] + (int32_t)s->_l[3];
+}
+
+void helper_phaddsw_xmm (XMMReg *d, XMMReg *s)
+{
+    d->_w[0] = satsw((int16_t)d->_w[0] + (int16_t)d->_w[1]);
+    d->_w[1] = satsw((int16_t)d->_w[2] + (int16_t)d->_w[3]);
+    d->_w[2] = satsw((int16_t)d->_w[4] + (int16_t)d->_w[5]);
+    d->_w[3] = satsw((int16_t)d->_w[6] + (int16_t)d->_w[7]);
+    d->_w[(2 << 1) + 0] = satsw((int16_t)s->_w[0] + (int16_t)s->_w[1]);
+    d->_w[(2 << 1) + 1] = satsw((int16_t)s->_w[2] + (int16_t)s->_w[3]);
+    d->_w[6] = satsw((int16_t)s->_w[4] + (int16_t)s->_w[5]);
+    d->_w[7] = satsw((int16_t)s->_w[6] + (int16_t)s->_w[7]);
+}
+
+void helper_pmaddubsw_xmm (XMMReg *d, XMMReg *s)
+{
+    d->_w[0] = satsw((int8_t)s->_b[0] * (uint8_t)d->_b[0] +
+                    (int8_t)s->_b[1] * (uint8_t)d->_b[1]);
+    d->_w[1] = satsw((int8_t)s->_b[2] * (uint8_t)d->_b[2] +
+                    (int8_t)s->_b[3] * (uint8_t)d->_b[3]);
+    d->_w[2] = satsw((int8_t)s->_b[4] * (uint8_t)d->_b[4] +
+                    (int8_t)s->_b[5] * (uint8_t)d->_b[5]);
+    d->_w[3] = satsw((int8_t)s->_b[6] * (uint8_t)d->_b[6] +
+                    (int8_t)s->_b[7] * (uint8_t)d->_b[7]);
+
+    d->_w[4] = satsw((int8_t)s->_b[8] * (uint8_t)d->_b[8] +
+                    (int8_t)s->_b[9] * (uint8_t)d->_b[9]);
+    d->_w[5] = satsw((int8_t)s->_b[10] * (uint8_t)d->_b[10] +
+                    (int8_t)s->_b[11] * (uint8_t)d->_b[11]);
+    d->_w[6] = satsw((int8_t)s->_b[12] * (uint8_t)d->_b[12] +
+                    (int8_t)s->_b[13] * (uint8_t)d->_b[13]);
+    d->_w[7] = satsw((int8_t)s->_b[14] * (uint8_t)d->_b[14] +
+                    (int8_t)s->_b[15] * (uint8_t)d->_b[15]);
+
+}
+
+void helper_phsubw_xmm (XMMReg *d, XMMReg *s)
+{
+    d->_w[0] = (int16_t)d->_w[0] - (int16_t)d->_w[1];
+    d->_w[1] = (int16_t)d->_w[2] - (int16_t)d->_w[3];
+    d->_w[2] = (int16_t)d->_w[4] - (int16_t)d->_w[5];
+    d->_w[3] = (int16_t)d->_w[6] - (int16_t)d->_w[7];
+    d->_w[(2 << 1) + 0] = (int16_t)s->_w[0] - (int16_t)s->_w[1];
+    d->_w[(2 << 1) + 1] = (int16_t)s->_w[2] - (int16_t)s->_w[3];
+    d->_w[6] = (int16_t)s->_w[4] - (int16_t)s->_w[5];
+    d->_w[7] = (int16_t)s->_w[6] - (int16_t)s->_w[7];
+}
+
+void helper_phsubd_xmm (XMMReg *d, XMMReg *s)
+{
+    d->_l[0] = (int32_t)d->_l[0] - (int32_t)d->_l[1];
+    d->_l[1] = (int32_t)d->_l[2] - (int32_t)d->_l[3];
+    d->_l[(1 << 1) + 0] = (int32_t)s->_l[0] - (int32_t)s->_l[1];
+    d->_l[3] = (int32_t)s->_l[2] - (int32_t)s->_l[3];
+}
+
+void helper_phsubsw_xmm (XMMReg *d, XMMReg *s)
+{
+    d->_w[0] = satsw((int16_t)d->_w[0] - (int16_t)d->_w[1]);
+    d->_w[1] = satsw((int16_t)d->_w[2] - (int16_t)d->_w[3]);
+    d->_w[2] = satsw((int16_t)d->_w[4] - (int16_t)d->_w[5]);
+    d->_w[3] = satsw((int16_t)d->_w[6] - (int16_t)d->_w[7]);
+    d->_w[(2 << 1) + 0] = satsw((int16_t)s->_w[0] - (int16_t)s->_w[1]);
+    d->_w[(2 << 1) + 1] = satsw((int16_t)s->_w[2] - (int16_t)s->_w[3]);
+    d->_w[6] = satsw((int16_t)s->_w[4] - (int16_t)s->_w[5]);
+    d->_w[7] = satsw((int16_t)s->_w[6] - (int16_t)s->_w[7]);
+}
+
+
+
+
+void helper_pabsb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = s->_b[0] > (127) ? -(int8_t ) s->_b[0] : s->_b[0]; d->_b[1] = s->_b[1] > (127) ? -(int8_t ) s->_b[1] : s->_b[1]; d->_b[2] = s->_b[2] > (127) ? -(int8_t ) s->_b[2] : s->_b[2]; d->_b[3] = s->_b[3] > (127) ? -(int8_t ) s->_b[3] : s->_b[3]; d->_b[4] = s->_b[4] > (127) ? -(int8_t ) s->_b[4] : s->_b[4]; d->_b[5] = s->_b[5] > (127) ? -(int8_t ) s->_b[5] : s->_b[5]; d->_b[6] = s->_b[6] > (127) ? -(int8_t ) s->_b[6] : s->_b[6]; d->_b[7] = s->_b[7] > (127) ? -(int8_t ) s->_b[7] : s->_b[7]; d->_b[8] = s->_b[8] > (127) ? -(int8_t ) s->_b[8] : s->_b[8]; d->_b[9] = s->_b[9] > (127) ? -(int8_t ) s->_b[9] : s->_b[9]; d->_b[10] = s->_b[10] > (127) ? -(int8_t ) s->_b[10] : s->_b[10]; d->_b[11] = s->_b[11] > (127) ? -(int8_t ) s->_b[11] : s->_b[11]; d->_b[12] = s->_b[12] > (127) ? -(int8_t ) s->_b[12] : s->_b[12]; d->_b[13] = s->_b[13] > (127) ? -(int8_t ) s->_b[13] : s->_b[13]; d->_b[14] = s->_b[14] > (127) ? -(int8_t ) s->_b[14] : s->_b[14]; d->_b[15] = s->_b[15] > (127) ? -(int8_t ) s->_b[15] : s->_b[15];}
+void helper_pabsw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = s->_w[0] > (32767) ? -(int16_t) s->_w[0] : s->_w[0]; d->_w[1] = s->_w[1] > (32767) ? -(int16_t) s->_w[1] : s->_w[1]; d->_w[2] = s->_w[2] > (32767) ? -(int16_t) s->_w[2] : s->_w[2]; d->_w[3] = s->_w[3] > (32767) ? -(int16_t) s->_w[3] : s->_w[3]; d->_w[4] = s->_w[4] > (32767) ? -(int16_t) s->_w[4] : s->_w[4]; d->_w[5] = s->_w[5] > (32767) ? -(int16_t) s->_w[5] : s->_w[5]; d->_w[6] = s->_w[6] > (32767) ? -(int16_t) s->_w[6] : s->_w[6]; d->_w[7] = s->_w[7] > (32767) ? -(int16_t) s->_w[7] : s->_w[7];}
+void helper_pabsd_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = s->_l[0] > (2147483647) ? -(int32_t) s->_l[0] : s->_l[0]; d->_l[1] = s->_l[1] > (2147483647) ? -(int32_t) s->_l[1] : s->_l[1]; d->_l[2] = s->_l[2] > (2147483647) ? -(int32_t) s->_l[2] : s->_l[2]; d->_l[3] = s->_l[3] > (2147483647) ? -(int32_t) s->_l[3] : s->_l[3];}
+
+
+void helper_pmulhrsw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = ((int16_t) d->_w[0] * (int16_t) s->_w[0] + 0x4000) >> 15; d->_w[1] = ((int16_t) d->_w[1] * (int16_t) s->_w[1] + 0x4000) >> 15; d->_w[2] = ((int16_t) d->_w[2] * (int16_t) s->_w[2] + 0x4000) >> 15; d->_w[3] = ((int16_t) d->_w[3] * (int16_t) s->_w[3] + 0x4000) >> 15; d->_w[4] = ((int16_t) d->_w[4] * (int16_t) s->_w[4] + 0x4000) >> 15; d->_w[5] = ((int16_t) d->_w[5] * (int16_t) s->_w[5] + 0x4000) >> 15; d->_w[6] = ((int16_t) d->_w[6] * (int16_t) s->_w[6] + 0x4000) >> 15; d->_w[7] = ((int16_t) d->_w[7] * (int16_t) s->_w[7] + 0x4000) >> 15;}
+
+
+
+
+void helper_psignb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = s->_b[0] <= (127) ? s->_b[0] ? d->_b[0] : 0 : -(int8_t ) d->_b[0]; d->_b[1] = s->_b[1] <= (127) ? s->_b[1] ? d->_b[1] : 0 : -(int8_t ) d->_b[1]; d->_b[2] = s->_b[2] <= (127) ? s->_b[2] ? d->_b[2] : 0 : -(int8_t ) d->_b[2]; d->_b[3] = s->_b[3] <= (127) ? s->_b[3] ? d->_b[3] : 0 : -(int8_t ) d->_b[3]; d->_b[4] = s->_b[4] <= (127) ? s->_b[4] ? d->_b[4] : 0 : -(int8_t ) d->_b[4]; d->_b[5] = s->_b[5] <= (127) ? s->_b[5] ? d->_b[5] : 0 : -(int8_t ) d->_b[5]; d->_b[6] = s->_b[6] <= (127) ? s->_b[6] ? d->_b[6] : 0 : -(int8_t ) d->_b[6]; d->_b[7] = s->_b[7] <= (127) ? s->_b[7] ? d->_b[7] : 0 : -(int8_t ) d->_b[7]; d->_b[8] = s->_b[8] <= (127) ? s->_b[8] ? d->_b[8] : 0 : -(int8_t ) d->_b[8]; d->_b[9] = s->_b[9] <= (127) ? s->_b[9] ? d->_b[9] : 0 : -(int8_t ) d->_b[9]; d->_b[10] = s->_b[10] <= (127) ? s->_b[10] ? d->_b[10] : 0 : -(int8_t ) d->_b[10]; d->_b[11] = s->_b[11] <= (127) ? s->_b[11] ? d->_b[11] : 0 : -(int8_t ) d->_b[11]; d->_b[12] = s->_b[12] <= (127) ? s->_b[12] ? d->_b[12] : 0 : -(int8_t ) d->_b[12]; d->_b[13] = s->_b[13] <= (127) ? s->_b[13] ? d->_b[13] : 0 : -(int8_t ) d->_b[13]; d->_b[14] = s->_b[14] <= (127) ? s->_b[14] ? d->_b[14] : 0 : -(int8_t ) d->_b[14]; d->_b[15] = s->_b[15] <= (127) ? s->_b[15] ? d->_b[15] : 0 : -(int8_t ) d->_b[15];}
+void helper_psignw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = s->_w[0] <= (32767) ? s->_w[0] ? d->_w[0] : 0 : -(int16_t) d->_w[0]; d->_w[1] = s->_w[1] <= (32767) ? s->_w[1] ? d->_w[1] : 0 : -(int16_t) d->_w[1]; d->_w[2] = s->_w[2] <= (32767) ? s->_w[2] ? d->_w[2] : 0 : -(int16_t) d->_w[2]; d->_w[3] = s->_w[3] <= (32767) ? s->_w[3] ? d->_w[3] : 0 : -(int16_t) d->_w[3]; d->_w[4] = s->_w[4] <= (32767) ? s->_w[4] ? d->_w[4] : 0 : -(int16_t) d->_w[4]; d->_w[5] = s->_w[5] <= (32767) ? s->_w[5] ? d->_w[5] : 0 : -(int16_t) d->_w[5]; d->_w[6] = s->_w[6] <= (32767) ? s->_w[6] ? d->_w[6] : 0 : -(int16_t) d->_w[6]; d->_w[7] = s->_w[7] <= (32767) ? s->_w[7] ? d->_w[7] : 0 : -(int16_t) d->_w[7];}
+void helper_psignd_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = s->_l[0] <= (2147483647) ? s->_l[0] ? d->_l[0] : 0 : -(int32_t) d->_l[0]; d->_l[1] = s->_l[1] <= (2147483647) ? s->_l[1] ? d->_l[1] : 0 : -(int32_t) d->_l[1]; d->_l[2] = s->_l[2] <= (2147483647) ? s->_l[2] ? d->_l[2] : 0 : -(int32_t) d->_l[2]; d->_l[3] = s->_l[3] <= (2147483647) ? s->_l[3] ? d->_l[3] : 0 : -(int32_t) d->_l[3];}
+
+void helper_palignr_xmm (XMMReg *d, XMMReg *s, int32_t shift)
+{
+    XMMReg r;
+
+
+    if (shift >= (16 << 1)) {
+        r._q[0] = 0;
+        r._q[1] = 0;
+    } else {
+        shift <<= 3;
+
+
+
+
+
+        r._q[0] = (shift - 0 < 64 && shift - 0 > -64 ? shift - 0 > 0 ? s->_q[0] >> (shift - 0) : (s->_q[0] << -(shift - 0)) : 0) |
+                 (shift - 64 < 64 && shift - 64 > -64 ? shift - 64 > 0 ? s->_q[1] >> (shift - 64) : (s->_q[1] << -(shift - 64)) : 0) |
+                 (shift - 128 < 64 && shift - 128 > -64 ? shift - 128 > 0 ? d->_q[0] >> (shift - 128) : (d->_q[0] << -(shift - 128)) : 0) |
+                 (shift - 192 < 64 && shift - 192 > -64 ? shift - 192 > 0 ? d->_q[1] >> (shift - 192) : (d->_q[1] << -(shift - 192)) : 0);
+        r._q[1] = (shift + 64 < 64 && shift + 64 > -64 ? shift + 64 > 0 ? s->_q[0] >> (shift + 64) : (s->_q[0] << -(shift + 64)) : 0) |
+                 (shift - 0 < 64 && shift - 0 > -64 ? shift - 0 > 0 ? s->_q[1] >> (shift - 0) : (s->_q[1] << -(shift - 0)) : 0) |
+                 (shift - 64 < 64 && shift - 64 > -64 ? shift - 64 > 0 ? d->_q[0] >> (shift - 64) : (d->_q[0] << -(shift - 64)) : 0) |
+                 (shift - 128 < 64 && shift - 128 > -64 ? shift - 128 > 0 ? d->_q[1] >> (shift - 128) : (d->_q[1] << -(shift - 128)) : 0);
+
+
+    }
+
+    *d = r;
+}
+# 1531 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_pblendvb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = (env->xmm_regs[0]._b[0] & 0x80) ? s->_b[0] : d->_b[0]; d->_b[1] = (env->xmm_regs[0]._b[1] & 0x80) ? s->_b[1] : d->_b[1]; if (16 > 2) { d->_b[2] = (env->xmm_regs[0]._b[2] & 0x80) ? s->_b[2] : d->_b[2]; d->_b[3] = (env->xmm_regs[0]._b[3] & 0x80) ? s->_b[3] : d->_b[3]; if (16 > 4) { d->_b[4] = (env->xmm_regs[0]._b[4] & 0x80) ? s->_b[4] : d->_b[4]; d->_b[5] = (env->xmm_regs[0]._b[5] & 0x80) ? s->_b[5] : d->_b[5]; d->_b[6] = (env->xmm_regs[0]._b[6] & 0x80) ? s->_b[6] : d->_b[6]; d->_b[7] = (env->xmm_regs[0]._b[7] & 0x80) ? s->_b[7] : d->_b[7]; if (16 > 8) { d->_b[8] = (env->xmm_regs[0]._b[8] & 0x80) ? s->_b[8] : d->_b[8]; d->_b[9] = (env->xmm_regs[0]._b[9] & 0x80) ? s->_b[9] : d->_b[9]; d->_b[10] = (env->xmm_regs[0]._b[10] & 0x80) ? s->_b[10] : d->_b[10]; d->_b[11] = (env->xmm_regs[0]._b[11] & 0x80) ? s->_b[11] : d->_b[11]; d->_b[12] = (env->xmm_regs[0]._b[12] & 0x80) ? s->_b[12] : d->_b[12]; d->_b[13] = (env->xmm_regs[0]._b[13] & 0x80) ? s->_b[13] : d->_b[13]; d->_b[14] = (env->xmm_regs[0]._b[14] & 0x80) ? s->_b[14] : d->_b[14]; d->_b[15] = (env->xmm_regs[0]._b[15] & 0x80) ? s->_b[15] : d->_b[15]; } } }}
+void helper_blendvps_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = (env->xmm_regs[0]._l[0] & 0x80000000) ? s->_l[0] : d->_l[0]; d->_l[1] = (env->xmm_regs[0]._l[1] & 0x80000000) ? s->_l[1] : d->_l[1]; if (4 > 2) { d->_l[2] = (env->xmm_regs[0]._l[2] & 0x80000000) ? s->_l[2] : d->_l[2]; d->_l[3] = (env->xmm_regs[0]._l[3] & 0x80000000) ? s->_l[3] : d->_l[3]; if (4 > 4) { d->_l[4] = (env->xmm_regs[0]._l[4] & 0x80000000) ? s->_l[4] : d->_l[4]; d->_l[5] = (env->xmm_regs[0]._l[5] & 0x80000000) ? s->_l[5] : d->_l[5]; d->_l[6] = (env->xmm_regs[0]._l[6] & 0x80000000) ? s->_l[6] : d->_l[6]; d->_l[7] = (env->xmm_regs[0]._l[7] & 0x80000000) ? s->_l[7] : d->_l[7]; if (4 > 8) { d->_l[8] = (env->xmm_regs[0]._l[8] & 0x80000000) ? s->_l[8] : d->_l[8]; d->_l[9] = (env->xmm_regs[0]._l[9] & 0x80000000) ? s->_l[9] : d->_l[9]; d->_l[10] = (env->xmm_regs[0]._l[10] & 0x80000000) ? s->_l[10] : d->_l[10]; d->_l[11] = (env->xmm_regs[0]._l[11] & 0x80000000) ? s->_l[11] : d->_l[11]; d->_l[12] = (env->xmm_regs[0]._l[12] & 0x80000000) ? s->_l[12] : d->_l[12]; d->_l[13] = (env->xmm_regs[0]._l[13] & 0x80000000) ? s->_l[13] : d->_l[13]; d->_l[14] = (env->xmm_regs[0]._l[14] & 0x80000000) ? s->_l[14] : d->_l[14]; d->_l[15] = (env->xmm_regs[0]._l[15] & 0x80000000) ? s->_l[15] : d->_l[15]; } } }}
+void helper_blendvpd_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = (env->xmm_regs[0]._q[0] & 0x8000000000000000LL) ? s->_q[0] : d->_q[0]; d->_q[1] = (env->xmm_regs[0]._q[1] & 0x8000000000000000LL) ? s->_q[1] : d->_q[1]; if (2 > 2) { d->_q[2] = (env->xmm_regs[0]._q[2] & 0x8000000000000000LL) ? s->_q[2] : d->_q[2]; d->_q[3] = (env->xmm_regs[0]._q[3] & 0x8000000000000000LL) ? s->_q[3] : d->_q[3]; if (2 > 4) { d->_q[4] = (env->xmm_regs[0]._q[4] & 0x8000000000000000LL) ? s->_q[4] : d->_q[4]; d->_q[5] = (env->xmm_regs[0]._q[5] & 0x8000000000000000LL) ? s->_q[5] : d->_q[5]; d->_q[6] = (env->xmm_regs[0]._q[6] & 0x8000000000000000LL) ? s->_q[6] : d->_q[6]; d->_q[7] = (env->xmm_regs[0]._q[7] & 0x8000000000000000LL) ? s->_q[7] : d->_q[7]; if (2 > 8) { d->_q[8] = (env->xmm_regs[0]._q[8] & 0x8000000000000000LL) ? s->_q[8] : d->_q[8]; d->_q[9] = (env->xmm_regs[0]._q[9] & 0x8000000000000000LL) ? s->_q[9] : d->_q[9]; d->_q[10] = (env->xmm_regs[0]._q[10] & 0x8000000000000000LL) ? s->_q[10] : d->_q[10]; d->_q[11] = (env->xmm_regs[0]._q[11] & 0x8000000000000000LL) ? s->_q[11] : d->_q[11]; d->_q[12] = (env->xmm_regs[0]._q[12] & 0x8000000000000000LL) ? s->_q[12] : d->_q[12]; d->_q[13] = (env->xmm_regs[0]._q[13] & 0x8000000000000000LL) ? s->_q[13] : d->_q[13]; d->_q[14] = (env->xmm_regs[0]._q[14] & 0x8000000000000000LL) ? s->_q[14] : d->_q[14]; d->_q[15] = (env->xmm_regs[0]._q[15] & 0x8000000000000000LL) ? s->_q[15] : d->_q[15]; } } }}
+
+void helper_ptest_xmm (XMMReg *d, XMMReg *s)
+{
+    uint64_t zf = (s->_q[0] & d->_q[0]) | (s->_q[1] & d->_q[1]);
+    uint64_t cf = (s->_q[0] & ~d->_q[0]) | (s->_q[1] & ~d->_q[1]);
+
+    (env->cc_src) = (zf ? 0 : 0x0040) | (cf ? 0 : 0x0001);
+}
+# 1560 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+void helper_pmovsxbw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = (int8_t) s->_b[0]; d->_w[1] = (int8_t) s->_b[1]; if (8 > 2) { d->_w[2] = (int8_t) s->_b[2]; d->_w[3] = (int8_t) s->_b[3]; if (8 > 4) { d->_w[4] = (int8_t) s->_b[4]; d->_w[5] = (int8_t) s->_b[5]; d->_w[6] = (int8_t) s->_b[6]; d->_w[7] = (int8_t) s->_b[7]; } }}
+void helper_pmovsxbd_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = (int8_t) s->_b[0]; d->_l[1] = (int8_t) s->_b[1]; if (4 > 2) { d->_l[2] = (int8_t) s->_b[2]; d->_l[3] = (int8_t) s->_b[3]; if (4 > 4) { d->_l[4] = (int8_t) s->_b[4]; d->_l[5] = (int8_t) s->_b[5]; d->_l[6] = (int8_t) s->_b[6]; d->_l[7] = (int8_t) s->_b[7]; } }}
+void helper_pmovsxbq_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = (int8_t) s->_b[0]; d->_q[1] = (int8_t) s->_b[1]; if (2 > 2) { d->_q[2] = (int8_t) s->_b[2]; d->_q[3] = (int8_t) s->_b[3]; if (2 > 4) { d->_q[4] = (int8_t) s->_b[4]; d->_q[5] = (int8_t) s->_b[5]; d->_q[6] = (int8_t) s->_b[6]; d->_q[7] = (int8_t) s->_b[7]; } }}
+void helper_pmovsxwd_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = (int16_t) s->_w[0]; d->_l[1] = (int16_t) s->_w[1]; if (4 > 2) { d->_l[2] = (int16_t) s->_w[2]; d->_l[3] = (int16_t) s->_w[3]; if (4 > 4) { d->_l[4] = (int16_t) s->_w[4]; d->_l[5] = (int16_t) s->_w[5]; d->_l[6] = (int16_t) s->_w[6]; d->_l[7] = (int16_t) s->_w[7]; } }}
+void helper_pmovsxwq_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = (int16_t) s->_w[0]; d->_q[1] = (int16_t) s->_w[1]; if (2 > 2) { d->_q[2] = (int16_t) s->_w[2]; d->_q[3] = (int16_t) s->_w[3]; if (2 > 4) { d->_q[4] = (int16_t) s->_w[4]; d->_q[5] = (int16_t) s->_w[5]; d->_q[6] = (int16_t) s->_w[6]; d->_q[7] = (int16_t) s->_w[7]; } }}
+void helper_pmovsxdq_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = (int32_t) s->_l[0]; d->_q[1] = (int32_t) s->_l[1]; if (2 > 2) { d->_q[2] = (int32_t) s->_l[2]; d->_q[3] = (int32_t) s->_l[3]; if (2 > 4) { d->_q[4] = (int32_t) s->_l[4]; d->_q[5] = (int32_t) s->_l[5]; d->_q[6] = (int32_t) s->_l[6]; d->_q[7] = (int32_t) s->_l[7]; } }}
+void helper_pmovzxbw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = s->_b[0]; d->_w[1] = s->_b[1]; if (8 > 2) { d->_w[2] = s->_b[2]; d->_w[3] = s->_b[3]; if (8 > 4) { d->_w[4] = s->_b[4]; d->_w[5] = s->_b[5]; d->_w[6] = s->_b[6]; d->_w[7] = s->_b[7]; } }}
+void helper_pmovzxbd_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = s->_b[0]; d->_l[1] = s->_b[1]; if (4 > 2) { d->_l[2] = s->_b[2]; d->_l[3] = s->_b[3]; if (4 > 4) { d->_l[4] = s->_b[4]; d->_l[5] = s->_b[5]; d->_l[6] = s->_b[6]; d->_l[7] = s->_b[7]; } }}
+void helper_pmovzxbq_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = s->_b[0]; d->_q[1] = s->_b[1]; if (2 > 2) { d->_q[2] = s->_b[2]; d->_q[3] = s->_b[3]; if (2 > 4) { d->_q[4] = s->_b[4]; d->_q[5] = s->_b[5]; d->_q[6] = s->_b[6]; d->_q[7] = s->_b[7]; } }}
+void helper_pmovzxwd_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = s->_w[0]; d->_l[1] = s->_w[1]; if (4 > 2) { d->_l[2] = s->_w[2]; d->_l[3] = s->_w[3]; if (4 > 4) { d->_l[4] = s->_w[4]; d->_l[5] = s->_w[5]; d->_l[6] = s->_w[6]; d->_l[7] = s->_w[7]; } }}
+void helper_pmovzxwq_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = s->_w[0]; d->_q[1] = s->_w[1]; if (2 > 2) { d->_q[2] = s->_w[2]; d->_q[3] = s->_w[3]; if (2 > 4) { d->_q[4] = s->_w[4]; d->_q[5] = s->_w[5]; d->_q[6] = s->_w[6]; d->_q[7] = s->_w[7]; } }}
+void helper_pmovzxdq_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = s->_l[0]; d->_q[1] = s->_l[1]; if (2 > 2) { d->_q[2] = s->_l[2]; d->_q[3] = s->_l[3]; if (2 > 4) { d->_q[4] = s->_l[4]; d->_q[5] = s->_l[5]; d->_q[6] = s->_l[6]; d->_q[7] = s->_l[7]; } }}
+
+void helper_pmuldq_xmm (XMMReg *d, XMMReg *s)
+{
+    d->_q[0] = (int64_t) (int32_t) d->_l[0] * (int32_t) s->_l[0];
+    d->_q[1] = (int64_t) (int32_t) d->_l[2] * (int32_t) s->_l[2];
+}
+
+
+void helper_pcmpeqq_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = d->_q[0] == s->_q[0] ? -1 : 0; d->_q[1] = d->_q[1] == s->_q[1] ? -1 : 0;}
+
+void helper_packusdw_xmm (XMMReg *d, XMMReg *s)
+{
+    d->_w[0] = satuw((int32_t) d->_l[0]);
+    d->_w[1] = satuw((int32_t) d->_l[1]);
+    d->_w[2] = satuw((int32_t) d->_l[2]);
+    d->_w[3] = satuw((int32_t) d->_l[3]);
+    d->_w[4] = satuw((int32_t) s->_l[0]);
+    d->_w[5] = satuw((int32_t) s->_l[1]);
+    d->_w[6] = satuw((int32_t) s->_l[2]);
+    d->_w[7] = satuw((int32_t) s->_l[3]);
+}
+
+
+
+
+
+void helper_pminsb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = ((((int8_t) d->_b[0]) < ((int8_t) s->_b[0])) ? ((int8_t) d->_b[0]) : ((int8_t) s->_b[0])); d->_b[1] = ((((int8_t) d->_b[1]) < ((int8_t) s->_b[1])) ? ((int8_t) d->_b[1]) : ((int8_t) s->_b[1])); d->_b[2] = ((((int8_t) d->_b[2]) < ((int8_t) s->_b[2])) ? ((int8_t) d->_b[2]) : ((int8_t) s->_b[2])); d->_b[3] = ((((int8_t) d->_b[3]) < ((int8_t) s->_b[3])) ? ((int8_t) d->_b[3]) : ((int8_t) s->_b[3])); d->_b[4] = ((((int8_t) d->_b[4]) < ((int8_t) s->_b[4])) ? ((int8_t) d->_b[4]) : ((int8_t) s->_b[4])); d->_b[5] = ((((int8_t) d->_b[5]) < ((int8_t) s->_b[5])) ? ((int8_t) d->_b[5]) : ((int8_t) s->_b[5])); d->_b[6] = ((((int8_t) d->_b[6]) < ((int8_t) s->_b[6])) ? ((int8_t) d->_b[6]) : ((int8_t) s->_b[6])); d->_b[7] = ((((int8_t) d->_b[7]) < ((int8_t) s->_b[7])) ? ((int8_t) d->_b[7]) : ((int8_t) s->_b[7])); d->_b[8] = ((((int8_t) d->_b[8]) < ((int8_t) s->_b[8])) ? ((int8_t) d->_b[8]) : ((int8_t) s->_b[8])); d->_b[9] = ((((int8_t) d->_b[9]) < ((int8_t) s->_b[9])) ? ((int8_t) d->_b[9]) : ((int8_t) s->_b[9])); d->_b[10] = ((((int8_t) d->_b[10]) < ((int8_t) s->_b[10])) ? ((int8_t) d->_b[10]) : ((int8_t) s->_b[10])); d->_b[11] = ((((int8_t) d->_b[11]) < ((int8_t) s->_b[11])) ? ((int8_t) d->_b[11]) : ((int8_t) s->_b[11])); d->_b[12] = ((((int8_t) d->_b[12]) < ((int8_t) s->_b[12])) ? ((int8_t) d->_b[12]) : ((int8_t) s->_b[12])); d->_b[13] = ((((int8_t) d->_b[13]) < ((int8_t) s->_b[13])) ? ((int8_t) d->_b[13]) : ((int8_t) s->_b[13])); d->_b[14] = ((((int8_t) d->_b[14]) < ((int8_t) s->_b[14])) ? ((int8_t) d->_b[14]) : ((int8_t) s->_b[14])); d->_b[15] = ((((int8_t) d->_b[15]) < ((int8_t) s->_b[15])) ? ((int8_t) d->_b[15]) : ((int8_t) s->_b[15]));}
+void helper_pminsd_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = ((((int32_t) d->_l[0]) < ((int32_t) s->_l[0])) ? ((int32_t) d->_l[0]) : ((int32_t) s->_l[0])); d->_l[1] = ((((int32_t) d->_l[1]) < ((int32_t) s->_l[1])) ? ((int32_t) d->_l[1]) : ((int32_t) s->_l[1])); d->_l[2] = ((((int32_t) d->_l[2]) < ((int32_t) s->_l[2])) ? ((int32_t) d->_l[2]) : ((int32_t) s->_l[2])); d->_l[3] = ((((int32_t) d->_l[3]) < ((int32_t) s->_l[3])) ? ((int32_t) d->_l[3]) : ((int32_t) s->_l[3]));}
+void helper_pminuw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = (((d->_w[0]) < (s->_w[0])) ? (d->_w[0]) : (s->_w[0])); d->_w[1] = (((d->_w[1]) < (s->_w[1])) ? (d->_w[1]) : (s->_w[1])); d->_w[2] = (((d->_w[2]) < (s->_w[2])) ? (d->_w[2]) : (s->_w[2])); d->_w[3] = (((d->_w[3]) < (s->_w[3])) ? (d->_w[3]) : (s->_w[3])); d->_w[4] = (((d->_w[4]) < (s->_w[4])) ? (d->_w[4]) : (s->_w[4])); d->_w[5] = (((d->_w[5]) < (s->_w[5])) ? (d->_w[5]) : (s->_w[5])); d->_w[6] = (((d->_w[6]) < (s->_w[6])) ? (d->_w[6]) : (s->_w[6])); d->_w[7] = (((d->_w[7]) < (s->_w[7])) ? (d->_w[7]) : (s->_w[7]));}
+void helper_pminud_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = (((d->_l[0]) < (s->_l[0])) ? (d->_l[0]) : (s->_l[0])); d->_l[1] = (((d->_l[1]) < (s->_l[1])) ? (d->_l[1]) : (s->_l[1])); d->_l[2] = (((d->_l[2]) < (s->_l[2])) ? (d->_l[2]) : (s->_l[2])); d->_l[3] = (((d->_l[3]) < (s->_l[3])) ? (d->_l[3]) : (s->_l[3]));}
+void helper_pmaxsb_xmm (XMMReg *d, XMMReg *s){ d->_b[0] = ((((int8_t) d->_b[0]) > ((int8_t) s->_b[0])) ? ((int8_t) d->_b[0]) : ((int8_t) s->_b[0])); d->_b[1] = ((((int8_t) d->_b[1]) > ((int8_t) s->_b[1])) ? ((int8_t) d->_b[1]) : ((int8_t) s->_b[1])); d->_b[2] = ((((int8_t) d->_b[2]) > ((int8_t) s->_b[2])) ? ((int8_t) d->_b[2]) : ((int8_t) s->_b[2])); d->_b[3] = ((((int8_t) d->_b[3]) > ((int8_t) s->_b[3])) ? ((int8_t) d->_b[3]) : ((int8_t) s->_b[3])); d->_b[4] = ((((int8_t) d->_b[4]) > ((int8_t) s->_b[4])) ? ((int8_t) d->_b[4]) : ((int8_t) s->_b[4])); d->_b[5] = ((((int8_t) d->_b[5]) > ((int8_t) s->_b[5])) ? ((int8_t) d->_b[5]) : ((int8_t) s->_b[5])); d->_b[6] = ((((int8_t) d->_b[6]) > ((int8_t) s->_b[6])) ? ((int8_t) d->_b[6]) : ((int8_t) s->_b[6])); d->_b[7] = ((((int8_t) d->_b[7]) > ((int8_t) s->_b[7])) ? ((int8_t) d->_b[7]) : ((int8_t) s->_b[7])); d->_b[8] = ((((int8_t) d->_b[8]) > ((int8_t) s->_b[8])) ? ((int8_t) d->_b[8]) : ((int8_t) s->_b[8])); d->_b[9] = ((((int8_t) d->_b[9]) > ((int8_t) s->_b[9])) ? ((int8_t) d->_b[9]) : ((int8_t) s->_b[9])); d->_b[10] = ((((int8_t) d->_b[10]) > ((int8_t) s->_b[10])) ? ((int8_t) d->_b[10]) : ((int8_t) s->_b[10])); d->_b[11] = ((((int8_t) d->_b[11]) > ((int8_t) s->_b[11])) ? ((int8_t) d->_b[11]) : ((int8_t) s->_b[11])); d->_b[12] = ((((int8_t) d->_b[12]) > ((int8_t) s->_b[12])) ? ((int8_t) d->_b[12]) : ((int8_t) s->_b[12])); d->_b[13] = ((((int8_t) d->_b[13]) > ((int8_t) s->_b[13])) ? ((int8_t) d->_b[13]) : ((int8_t) s->_b[13])); d->_b[14] = ((((int8_t) d->_b[14]) > ((int8_t) s->_b[14])) ? ((int8_t) d->_b[14]) : ((int8_t) s->_b[14])); d->_b[15] = ((((int8_t) d->_b[15]) > ((int8_t) s->_b[15])) ? ((int8_t) d->_b[15]) : ((int8_t) s->_b[15]));}
+void helper_pmaxsd_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = ((((int32_t) d->_l[0]) > ((int32_t) s->_l[0])) ? ((int32_t) d->_l[0]) : ((int32_t) s->_l[0])); d->_l[1] = ((((int32_t) d->_l[1]) > ((int32_t) s->_l[1])) ? ((int32_t) d->_l[1]) : ((int32_t) s->_l[1])); d->_l[2] = ((((int32_t) d->_l[2]) > ((int32_t) s->_l[2])) ? ((int32_t) d->_l[2]) : ((int32_t) s->_l[2])); d->_l[3] = ((((int32_t) d->_l[3]) > ((int32_t) s->_l[3])) ? ((int32_t) d->_l[3]) : ((int32_t) s->_l[3]));}
+void helper_pmaxuw_xmm (XMMReg *d, XMMReg *s){ d->_w[0] = (((d->_w[0]) > (s->_w[0])) ? (d->_w[0]) : (s->_w[0])); d->_w[1] = (((d->_w[1]) > (s->_w[1])) ? (d->_w[1]) : (s->_w[1])); d->_w[2] = (((d->_w[2]) > (s->_w[2])) ? (d->_w[2]) : (s->_w[2])); d->_w[3] = (((d->_w[3]) > (s->_w[3])) ? (d->_w[3]) : (s->_w[3])); d->_w[4] = (((d->_w[4]) > (s->_w[4])) ? (d->_w[4]) : (s->_w[4])); d->_w[5] = (((d->_w[5]) > (s->_w[5])) ? (d->_w[5]) : (s->_w[5])); d->_w[6] = (((d->_w[6]) > (s->_w[6])) ? (d->_w[6]) : (s->_w[6])); d->_w[7] = (((d->_w[7]) > (s->_w[7])) ? (d->_w[7]) : (s->_w[7]));}
+void helper_pmaxud_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = (((d->_l[0]) > (s->_l[0])) ? (d->_l[0]) : (s->_l[0])); d->_l[1] = (((d->_l[1]) > (s->_l[1])) ? (d->_l[1]) : (s->_l[1])); d->_l[2] = (((d->_l[2]) > (s->_l[2])) ? (d->_l[2]) : (s->_l[2])); d->_l[3] = (((d->_l[3]) > (s->_l[3])) ? (d->_l[3]) : (s->_l[3]));}
+
+
+void helper_pmulld_xmm (XMMReg *d, XMMReg *s){ d->_l[0] = (int32_t) d->_l[0] * (int32_t) s->_l[0]; d->_l[1] = (int32_t) d->_l[1] * (int32_t) s->_l[1]; d->_l[2] = (int32_t) d->_l[2] * (int32_t) s->_l[2]; d->_l[3] = (int32_t) d->_l[3] * (int32_t) s->_l[3];}
+
+void helper_phminposuw_xmm (XMMReg *d, XMMReg *s)
+{
+    int idx = 0;
+
+    if (s->_w[1] < s->_w[idx])
+        idx = 1;
+    if (s->_w[2] < s->_w[idx])
+        idx = 2;
+    if (s->_w[3] < s->_w[idx])
+        idx = 3;
+    if (s->_w[4] < s->_w[idx])
+        idx = 4;
+    if (s->_w[5] < s->_w[idx])
+        idx = 5;
+    if (s->_w[6] < s->_w[idx])
+        idx = 6;
+    if (s->_w[7] < s->_w[idx])
+        idx = 7;
+
+    d->_q[1] = 0;
+    d->_l[1] = 0;
+    d->_w[1] = idx;
+    d->_w[0] = s->_w[idx];
+}
+
+void helper_roundps_xmm (XMMReg *d, XMMReg *s, uint32_t mode)
+{
+    signed char prev_rounding_mode;
+
+    prev_rounding_mode = env->sse_status.float_rounding_mode;
+    if (!(mode & (1 << 2)))
+        switch (mode & 3) {
+        case 0:
+            set_float_rounding_mode(float_round_nearest_even, &env->sse_status);
+            break;
+        case 1:
+            set_float_rounding_mode(float_round_down, &env->sse_status);
+            break;
+        case 2:
+            set_float_rounding_mode(float_round_up, &env->sse_status);
+            break;
+        case 3:
+            set_float_rounding_mode(float_round_to_zero, &env->sse_status);
+            break;
+        }
+
+    d->_s[0] = float32_round_to_int(s->_s[0], &env->sse_status);
+    d->_s[1] = float32_round_to_int(s->_s[1], &env->sse_status);
+    d->_s[2] = float32_round_to_int(s->_s[2], &env->sse_status);
+    d->_s[3] = float32_round_to_int(s->_s[3], &env->sse_status);
+# 1668 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+    env->sse_status.float_rounding_mode = prev_rounding_mode;
+}
+
+void helper_roundpd_xmm (XMMReg *d, XMMReg *s, uint32_t mode)
+{
+    signed char prev_rounding_mode;
+
+    prev_rounding_mode = env->sse_status.float_rounding_mode;
+    if (!(mode & (1 << 2)))
+        switch (mode & 3) {
+        case 0:
+            set_float_rounding_mode(float_round_nearest_even, &env->sse_status);
+            break;
+        case 1:
+            set_float_rounding_mode(float_round_down, &env->sse_status);
+            break;
+        case 2:
+            set_float_rounding_mode(float_round_up, &env->sse_status);
+            break;
+        case 3:
+            set_float_rounding_mode(float_round_to_zero, &env->sse_status);
+            break;
+        }
+
+    d->_d[0] = float64_round_to_int(s->_d[0], &env->sse_status);
+    d->_d[1] = float64_round_to_int(s->_d[1], &env->sse_status);
+# 1702 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+    env->sse_status.float_rounding_mode = prev_rounding_mode;
+}
+
+void helper_roundss_xmm (XMMReg *d, XMMReg *s, uint32_t mode)
+{
+    signed char prev_rounding_mode;
+
+    prev_rounding_mode = env->sse_status.float_rounding_mode;
+    if (!(mode & (1 << 2)))
+        switch (mode & 3) {
+        case 0:
+            set_float_rounding_mode(float_round_nearest_even, &env->sse_status);
+            break;
+        case 1:
+            set_float_rounding_mode(float_round_down, &env->sse_status);
+            break;
+        case 2:
+            set_float_rounding_mode(float_round_up, &env->sse_status);
+            break;
+        case 3:
+            set_float_rounding_mode(float_round_to_zero, &env->sse_status);
+            break;
+        }
+
+    d->_s[0] = float32_round_to_int(s->_s[0], &env->sse_status);
+# 1735 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+    env->sse_status.float_rounding_mode = prev_rounding_mode;
+}
+
+void helper_roundsd_xmm (XMMReg *d, XMMReg *s, uint32_t mode)
+{
+    signed char prev_rounding_mode;
+
+    prev_rounding_mode = env->sse_status.float_rounding_mode;
+    if (!(mode & (1 << 2)))
+        switch (mode & 3) {
+        case 0:
+            set_float_rounding_mode(float_round_nearest_even, &env->sse_status);
+            break;
+        case 1:
+            set_float_rounding_mode(float_round_down, &env->sse_status);
+            break;
+        case 2:
+            set_float_rounding_mode(float_round_up, &env->sse_status);
+            break;
+        case 3:
+            set_float_rounding_mode(float_round_to_zero, &env->sse_status);
+            break;
+        }
+
+    d->_d[0] = float64_round_to_int(s->_d[0], &env->sse_status);
+# 1768 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/ops_sse.h"
+    env->sse_status.float_rounding_mode = prev_rounding_mode;
+}
+
+
+void helper_blendps_xmm (XMMReg *d, XMMReg *s, uint32_t imm){ d->_l[0] = ((imm >> 0) & 1) ? s->_l[0] : d->_l[0]; d->_l[1] = ((imm >> 1) & 1) ? s->_l[1] : d->_l[1]; if (4 > 2) { d->_l[2] = ((imm >> 2) & 1) ? s->_l[2] : d->_l[2]; d->_l[3] = ((imm >> 3) & 1) ? s->_l[3] : d->_l[3]; if (4 > 4) { d->_l[4] = ((imm >> 4) & 1) ? s->_l[4] : d->_l[4]; d->_l[5] = ((imm >> 5) & 1) ? s->_l[5] : d->_l[5]; d->_l[6] = ((imm >> 6) & 1) ? s->_l[6] : d->_l[6]; d->_l[7] = ((imm >> 7) & 1) ? s->_l[7] : d->_l[7]; if (4 > 8) { d->_l[8] = ((imm >> 8) & 1) ? s->_l[8] : d->_l[8]; d->_l[9] = ((imm >> 9) & 1) ? s->_l[9] : d->_l[9]; d->_l[10] = ((imm >> 10) & 1) ? s->_l[10] : d->_l[10]; d->_l[11] = ((imm >> 11) & 1) ? s->_l[11] : d->_l[11]; d->_l[12] = ((imm >> 12) & 1) ? s->_l[12] : d->_l[12]; d->_l[13] = ((imm >> 13) & 1) ? s->_l[13] : d->_l[13]; d->_l[14] = ((imm >> 14) & 1) ? s->_l[14] : d->_l[14]; d->_l[15] = ((imm >> 15) & 1) ? s->_l[15] : d->_l[15]; } } }}
+void helper_blendpd_xmm (XMMReg *d, XMMReg *s, uint32_t imm){ d->_q[0] = ((imm >> 0) & 1) ? s->_q[0] : d->_q[0]; d->_q[1] = ((imm >> 1) & 1) ? s->_q[1] : d->_q[1]; if (2 > 2) { d->_q[2] = ((imm >> 2) & 1) ? s->_q[2] : d->_q[2]; d->_q[3] = ((imm >> 3) & 1) ? s->_q[3] : d->_q[3]; if (2 > 4) { d->_q[4] = ((imm >> 4) & 1) ? s->_q[4] : d->_q[4]; d->_q[5] = ((imm >> 5) & 1) ? s->_q[5] : d->_q[5]; d->_q[6] = ((imm >> 6) & 1) ? s->_q[6] : d->_q[6]; d->_q[7] = ((imm >> 7) & 1) ? s->_q[7] : d->_q[7]; if (2 > 8) { d->_q[8] = ((imm >> 8) & 1) ? s->_q[8] : d->_q[8]; d->_q[9] = ((imm >> 9) & 1) ? s->_q[9] : d->_q[9]; d->_q[10] = ((imm >> 10) & 1) ? s->_q[10] : d->_q[10]; d->_q[11] = ((imm >> 11) & 1) ? s->_q[11] : d->_q[11]; d->_q[12] = ((imm >> 12) & 1) ? s->_q[12] : d->_q[12]; d->_q[13] = ((imm >> 13) & 1) ? s->_q[13] : d->_q[13]; d->_q[14] = ((imm >> 14) & 1) ? s->_q[14] : d->_q[14]; d->_q[15] = ((imm >> 15) & 1) ? s->_q[15] : d->_q[15]; } } }}
+void helper_pblendw_xmm (XMMReg *d, XMMReg *s, uint32_t imm){ d->_w[0] = ((imm >> 0) & 1) ? s->_w[0] : d->_w[0]; d->_w[1] = ((imm >> 1) & 1) ? s->_w[1] : d->_w[1]; if (8 > 2) { d->_w[2] = ((imm >> 2) & 1) ? s->_w[2] : d->_w[2]; d->_w[3] = ((imm >> 3) & 1) ? s->_w[3] : d->_w[3]; if (8 > 4) { d->_w[4] = ((imm >> 4) & 1) ? s->_w[4] : d->_w[4]; d->_w[5] = ((imm >> 5) & 1) ? s->_w[5] : d->_w[5]; d->_w[6] = ((imm >> 6) & 1) ? s->_w[6] : d->_w[6]; d->_w[7] = ((imm >> 7) & 1) ? s->_w[7] : d->_w[7]; if (8 > 8) { d->_w[8] = ((imm >> 8) & 1) ? s->_w[8] : d->_w[8]; d->_w[9] = ((imm >> 9) & 1) ? s->_w[9] : d->_w[9]; d->_w[10] = ((imm >> 10) & 1) ? s->_w[10] : d->_w[10]; d->_w[11] = ((imm >> 11) & 1) ? s->_w[11] : d->_w[11]; d->_w[12] = ((imm >> 12) & 1) ? s->_w[12] : d->_w[12]; d->_w[13] = ((imm >> 13) & 1) ? s->_w[13] : d->_w[13]; d->_w[14] = ((imm >> 14) & 1) ? s->_w[14] : d->_w[14]; d->_w[15] = ((imm >> 15) & 1) ? s->_w[15] : d->_w[15]; } } }}
+
+void helper_dpps_xmm (XMMReg *d, XMMReg *s, uint32_t mask)
+{
+    float32 iresult = (0);
+
+    if (mask & (1 << 4))
+        iresult = float32_add(iresult,
+                        float32_mul(d->_s[0], s->_s[0], &env->sse_status),
+                        &env->sse_status);
+    if (mask & (1 << 5))
+        iresult = float32_add(iresult,
+                        float32_mul(d->_s[1], s->_s[1], &env->sse_status),
+                        &env->sse_status);
+    if (mask & (1 << 6))
+        iresult = float32_add(iresult,
+                        float32_mul(d->_s[2], s->_s[2], &env->sse_status),
+                        &env->sse_status);
+    if (mask & (1 << 7))
+        iresult = float32_add(iresult,
+                        float32_mul(d->_s[3], s->_s[3], &env->sse_status),
+                        &env->sse_status);
+    d->_s[0] = (mask & (1 << 0)) ? iresult : (0);
+    d->_s[1] = (mask & (1 << 1)) ? iresult : (0);
+    d->_s[2] = (mask & (1 << 2)) ? iresult : (0);
+    d->_s[3] = (mask & (1 << 3)) ? iresult : (0);
+}
+
+void helper_dppd_xmm (XMMReg *d, XMMReg *s, uint32_t mask)
+{
+    float64 iresult = (0);
+
+    if (mask & (1 << 4))
+        iresult = float64_add(iresult,
+                        float64_mul(d->_d[0], s->_d[0], &env->sse_status),
+                        &env->sse_status);
+    if (mask & (1 << 5))
+        iresult = float64_add(iresult,
+                        float64_mul(d->_d[1], s->_d[1], &env->sse_status),
+                        &env->sse_status);
+    d->_d[0] = (mask & (1 << 0)) ? iresult : (0);
+    d->_d[1] = (mask & (1 << 1)) ? iresult : (0);
+}
+
+void helper_mpsadbw_xmm (XMMReg *d, XMMReg *s, uint32_t offset)
+{
+    int s0 = (offset & 3) << 2;
+    int d0 = (offset & 4) << 0;
+    int i;
+    XMMReg r;
+
+    for (i = 0; i < 8; i++, d0++) {
+        r._w[i] = 0;
+        r._w[i] += abs1(d->_b[d0 + 0] - s->_b[s0 + 0]);
+        r._w[i] += abs1(d->_b[d0 + 1] - s->_b[s0 + 1]);
+        r._w[i] += abs1(d->_b[d0 + 2] - s->_b[s0 + 2]);
+        r._w[i] += abs1(d->_b[d0 + 3] - s->_b[s0 + 3]);
+    }
+
+    *d = r;
+}
+
+
+
+
+void helper_pcmpgtq_xmm (XMMReg *d, XMMReg *s){ d->_q[0] = d->_q[0] > s->_q[0] ? -1 : 0; d->_q[1] = d->_q[1] > s->_q[1] ? -1 : 0;}
+
+static __attribute__ (( always_inline )) __inline__ int pcmp_elen(int reg, uint32_t ctrl)
+{
+    int val;
+
+
+    if (ctrl >> 8)
+        val = abs1((int64_t) env->regs[reg]);
+    else
+        val = abs1((int32_t) env->regs[reg]);
+
+    if (ctrl & 1) {
+        if (val > 8)
+            return 8;
+    } else
+        if (val > 16)
+            return 16;
+
+    return val;
+}
+
+static __attribute__ (( always_inline )) __inline__ int pcmp_ilen(XMMReg *r, uint8_t ctrl)
+{
+    int val = 0;
+
+    if (ctrl & 1) {
+        while (val < 8 && r->_w[val])
+            val++;
+    } else
+        while (val < 16 && r->_b[val])
+            val++;
+
+    return val;
+}
+
+static __attribute__ (( always_inline )) __inline__ int pcmp_val(XMMReg *r, uint8_t ctrl, int i)
+{
+    switch ((ctrl >> 0) & 3) {
+    case 0:
+        return r->_b[i];
+    case 1:
+        return r->_w[i];
+    case 2:
+        return (int8_t) r->_b[i];
+    case 3:
+    default:
+        return (int16_t) r->_w[i];
+    }
+}
+
+static __attribute__ (( always_inline )) __inline__ unsigned pcmpxstrx(XMMReg *d, XMMReg *s,
+                int8_t ctrl, int valids, int validd)
+{
+    unsigned int res = 0;
+    int v;
+    int j, i;
+    int upper = (ctrl & 1) ? 7 : 15;
+
+    valids--;
+    validd--;
+
+    (env->cc_src) = (valids < upper ? 0x0040 : 0) | (validd < upper ? 0x0080 : 0);
+
+    switch ((ctrl >> 2) & 3) {
+    case 0:
+        for (j = valids; j >= 0; j--) {
+            res <<= 1;
+            v = pcmp_val(s, ctrl, j);
+            for (i = validd; i >= 0; i--)
+                res |= (v == pcmp_val(d, ctrl, i));
+        }
+        break;
+    case 1:
+        for (j = valids; j >= 0; j--) {
+            res <<= 1;
+            v = pcmp_val(s, ctrl, j);
+            for (i = ((validd - 1) | 1); i >= 0; i -= 2)
+                res |= (pcmp_val(d, ctrl, i - 0) <= v &&
+                        pcmp_val(d, ctrl, i - 1) >= v);
+        }
+        break;
+    case 2:
+        res = (2 << (upper - (((valids) > (validd)) ? (valids) : (validd)))) - 1;
+        res <<= (((valids) > (validd)) ? (valids) : (validd)) - (((valids) < (validd)) ? (valids) : (validd));
+        for (i = (((valids) < (validd)) ? (valids) : (validd)); i >= 0; i--) {
+            res <<= 1;
+            v = pcmp_val(s, ctrl, i);
+            res |= (v == pcmp_val(d, ctrl, i));
+        }
+        break;
+    case 3:
+        for (j = valids - validd; j >= 0; j--) {
+            res <<= 1;
+            res |= 1;
+            for (i = (((upper - j) < (validd)) ? (upper - j) : (validd)); i >= 0; i--)
+                res &= (pcmp_val(s, ctrl, i + j) == pcmp_val(d, ctrl, i));
+        }
+        break;
+    }
+
+    switch ((ctrl >> 4) & 3) {
+    case 1:
+        res ^= (2 << upper) - 1;
+        break;
+    case 3:
+        res ^= (2 << valids) - 1;
+        break;
+    }
+
+    if (res)
+       (env->cc_src) |= 0x0001;
+    if (res & 1)
+       (env->cc_src) |= 0x0800;
+
+    return res;
+}
+
+static __attribute__ (( always_inline )) __inline__ int rffs1(unsigned int val)
+{
+    int ret = 1, hi;
+
+    for (hi = sizeof(val) * 4; hi; hi /= 2)
+        if (val >> hi) {
+            val >>= hi;
+            ret += hi;
+        }
+
+    return ret;
+}
+
+static __attribute__ (( always_inline )) __inline__ int ffs1(unsigned int val)
+{
+    int ret = 1, hi;
+
+    for (hi = sizeof(val) * 4; hi; hi /= 2)
+        if (val << hi) {
+            val <<= hi;
+            ret += hi;
+        }
+
+    return ret;
+}
+
+void helper_pcmpestri_xmm (XMMReg *d, XMMReg *s, uint32_t ctrl)
+{
+    unsigned int res = pcmpxstrx(d, s, ctrl,
+                    pcmp_elen(2, ctrl),
+                    pcmp_elen(0, ctrl));
+
+    if (res)
+        env->regs[1] = ((ctrl & (1 << 6)) ? rffs1 : ffs1)(res) - 1;
+    else
+        env->regs[1] = 16 >> (ctrl & (1 << 0));
+}
+
+void helper_pcmpestrm_xmm (XMMReg *d, XMMReg *s, uint32_t ctrl)
+{
+    int i;
+    unsigned int res = pcmpxstrx(d, s, ctrl,
+                    pcmp_elen(2, ctrl),
+                    pcmp_elen(0, ctrl));
+
+    if ((ctrl >> 6) & 1) {
+        if (ctrl & 1)
+            for (i = 0; i < 8; i++, res >>= 1) {
+                d->_w[i] = (res & 1) ? ~0 : 0;
+            }
+        else
+            for (i = 0; i < 16; i++, res >>= 1) {
+                d->_b[i] = (res & 1) ? ~0 : 0;
+            }
+    } else {
+        d->_q[1] = 0;
+        d->_q[0] = res;
+    }
+}
+
+void helper_pcmpistri_xmm (XMMReg *d, XMMReg *s, uint32_t ctrl)
+{
+    unsigned int res = pcmpxstrx(d, s, ctrl,
+                    pcmp_ilen(s, ctrl),
+                    pcmp_ilen(d, ctrl));
+
+    if (res)
+        env->regs[1] = ((ctrl & (1 << 6)) ? rffs1 : ffs1)(res) - 1;
+    else
+        env->regs[1] = 16 >> (ctrl & (1 << 0));
+}
+
+void helper_pcmpistrm_xmm (XMMReg *d, XMMReg *s, uint32_t ctrl)
+{
+    int i;
+    unsigned int res = pcmpxstrx(d, s, ctrl,
+                    pcmp_ilen(s, ctrl),
+                    pcmp_ilen(d, ctrl));
+
+    if ((ctrl >> 6) & 1) {
+        if (ctrl & 1)
+            for (i = 0; i < 8; i++, res >>= 1) {
+                d->_w[i] = (res & 1) ? ~0 : 0;
+            }
+        else
+            for (i = 0; i < 16; i++, res >>= 1) {
+                d->_b[i] = (res & 1) ? ~0 : 0;
+            }
+    } else {
+        d->_q[1] = 0;
+        d->_q[0] = res;
+    }
+}
+
+
+
+target_ulong helper_crc32(uint32_t crc1, target_ulong msg, uint32_t len)
+{
+    target_ulong crc = (msg & ((target_ulong) -1 >>
+                            (32 - len))) ^ crc1;
+
+    while (len--)
+        crc = (crc >> 1) ^ ((crc & 1) ? 0x82f63b78 : 0);
+
+    return crc;
+}
+
+
+
+target_ulong helper_popcnt(target_ulong n, uint32_t type)
+{
+    (env->cc_src) = n ? 0 : 0x0040;
+
+    n = (n & ((target_ulong) -1 / ((1LL << (1 << 0)) + 1))) + ((n >> (1 << 0)) & ((target_ulong) -1 / ((1LL << (1 << 0)) + 1)));
+    n = (n & ((target_ulong) -1 / ((1LL << (1 << 1)) + 1))) + ((n >> (1 << 1)) & ((target_ulong) -1 / ((1LL << (1 << 1)) + 1)));
+    n = (n & ((target_ulong) -1 / ((1LL << (1 << 2)) + 1))) + ((n >> (1 << 2)) & ((target_ulong) -1 / ((1LL << (1 << 2)) + 1)));
+    n = (n & ((target_ulong) -1 / ((1LL << (1 << 3)) + 1))) + ((n >> (1 << 3)) & ((target_ulong) -1 / ((1LL << (1 << 3)) + 1)));
+    if (type == 1)
+        return n & 0xff;
+
+    n = (n & ((target_ulong) -1 / ((1LL << (1 << 4)) + 1))) + ((n >> (1 << 4)) & ((target_ulong) -1 / ((1LL << (1 << 4)) + 1)));
+
+    return n;
+
+
+
+
+
+
+}
+# 5698 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h" 1
+# 54 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h"
+static int compute_all_addb(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_src);
+    src2 = (env->cc_dst) - (env->cc_src);
+    cf = (uint8_t)(env->cc_dst) < (uint8_t)src1;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint8_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 0))) & 0x80;
+    of = lshift((src1 ^ src2 ^ -1) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 0))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_addb(void)
+{
+    int cf;
+    target_long src1;
+    src1 = (env->cc_src);
+    cf = (uint8_t)(env->cc_dst) < (uint8_t)src1;
+    return cf;
+}
+
+static int compute_all_adcb(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_src);
+    src2 = (env->cc_dst) - (env->cc_src) - 1;
+    cf = (uint8_t)(env->cc_dst) <= (uint8_t)src1;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint8_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 0))) & 0x80;
+    of = lshift((src1 ^ src2 ^ -1) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 0))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_adcb(void)
+{
+    int cf;
+    target_long src1;
+    src1 = (env->cc_src);
+    cf = (uint8_t)(env->cc_dst) <= (uint8_t)src1;
+    return cf;
+}
+
+static int compute_all_subb(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src);
+    src2 = (env->cc_src);
+    cf = (uint8_t)src1 < (uint8_t)src2;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint8_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 0))) & 0x80;
+    of = lshift((src1 ^ src2) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 0))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_subb(void)
+{
+    int cf;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src);
+    src2 = (env->cc_src);
+    cf = (uint8_t)src1 < (uint8_t)src2;
+    return cf;
+}
+
+static int compute_all_sbbb(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src) + 1;
+    src2 = (env->cc_src);
+    cf = (uint8_t)src1 <= (uint8_t)src2;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint8_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 0))) & 0x80;
+    of = lshift((src1 ^ src2) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 0))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_sbbb(void)
+{
+    int cf;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src) + 1;
+    src2 = (env->cc_src);
+    cf = (uint8_t)src1 <= (uint8_t)src2;
+    return cf;
+}
+
+static int compute_all_logicb(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = 0;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint8_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 0))) & 0x80;
+    of = 0;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_logicb(void)
+{
+    return 0;
+}
+
+static int compute_all_incb(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) - 1;
+    src2 = 1;
+    cf = (env->cc_src);
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint8_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 0))) & 0x80;
+    of = (((env->cc_dst) & 0xff) == (((target_ulong)1) << ((1 << (3 + 0)) - 1))) << 11;
+    return cf | pf | af | zf | sf | of;
+}
+# 191 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h"
+static int compute_all_decb(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + 1;
+    src2 = 1;
+    cf = (env->cc_src);
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint8_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 0))) & 0x80;
+    of = (((env->cc_dst) & 0xff) == ((target_ulong)(((target_ulong)1) << ((1 << (3 + 0)) - 1)) - 1)) << 11;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_all_shlb(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = ((env->cc_src) >> ((1 << (3 + 0)) - 1)) & 0x0001;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint8_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 0))) & 0x80;
+
+    of = lshift((env->cc_src) ^ (env->cc_dst), 12 - (1 << (3 + 0))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_shlb(void)
+{
+    return ((env->cc_src) >> ((1 << (3 + 0)) - 1)) & 0x0001;
+}
+# 231 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h"
+static int compute_all_sarb(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = (env->cc_src) & 1;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint8_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 0))) & 0x80;
+
+    of = lshift((env->cc_src) ^ (env->cc_dst), 12 - (1 << (3 + 0))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+# 255 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h"
+static int compute_all_mulb(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = ((env->cc_src) != 0);
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint8_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 0))) & 0x80;
+    of = cf << 11;
+    return cf | pf | af | zf | sf | of;
+}
+
+
+
+target_ulong helper_rclb(target_ulong t0, target_ulong t1)
+{
+    int count, eflags;
+    target_ulong src;
+    target_long res;
+
+    count = t1 & 0x1f;
+
+
+
+    count = rclb_table[count];
+
+    if (count) {
+        eflags = helper_cc_compute_all((env->cc_op));
+        t0 &= 0xff;
+        src = t0;
+        res = (t0 << count) | ((target_ulong)(eflags & 0x0001) << (count - 1));
+        if (count > 1)
+            res |= t0 >> ((1 << (3 + 0)) + 1 - count);
+        t0 = res;
+        env->cc_tmp = (eflags & ~(0x0001 | 0x0800)) |
+            (lshift(src ^ t0, 11 - ((1 << (3 + 0)) - 1)) & 0x0800) |
+            ((src >> ((1 << (3 + 0)) - count)) & 0x0001);
+    } else {
+        env->cc_tmp = -1;
+    }
+    return t0;
+}
+
+target_ulong helper_rcrb(target_ulong t0, target_ulong t1)
+{
+    int count, eflags;
+    target_ulong src;
+    target_long res;
+
+    count = t1 & 0x1f;
+
+
+
+    count = rclb_table[count];
+
+    if (count) {
+        eflags = helper_cc_compute_all((env->cc_op));
+        t0 &= 0xff;
+        src = t0;
+        res = (t0 >> count) | ((target_ulong)(eflags & 0x0001) << ((1 << (3 + 0)) - count));
+        if (count > 1)
+            res |= t0 << ((1 << (3 + 0)) + 1 - count);
+        t0 = res;
+        env->cc_tmp = (eflags & ~(0x0001 | 0x0800)) |
+            (lshift(src ^ t0, 11 - ((1 << (3 + 0)) - 1)) & 0x0800) |
+            ((src >> (count - 1)) & 0x0001);
+    } else {
+        env->cc_tmp = -1;
+    }
+    return t0;
+}
+# 5701 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h" 1
+# 54 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h"
+static int compute_all_addw(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_src);
+    src2 = (env->cc_dst) - (env->cc_src);
+    cf = (uint16_t)(env->cc_dst) < (uint16_t)src1;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint16_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 1))) & 0x80;
+    of = lshift((src1 ^ src2 ^ -1) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 1))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_addw(void)
+{
+    int cf;
+    target_long src1;
+    src1 = (env->cc_src);
+    cf = (uint16_t)(env->cc_dst) < (uint16_t)src1;
+    return cf;
+}
+
+static int compute_all_adcw(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_src);
+    src2 = (env->cc_dst) - (env->cc_src) - 1;
+    cf = (uint16_t)(env->cc_dst) <= (uint16_t)src1;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint16_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 1))) & 0x80;
+    of = lshift((src1 ^ src2 ^ -1) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 1))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_adcw(void)
+{
+    int cf;
+    target_long src1;
+    src1 = (env->cc_src);
+    cf = (uint16_t)(env->cc_dst) <= (uint16_t)src1;
+    return cf;
+}
+
+static int compute_all_subw(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src);
+    src2 = (env->cc_src);
+    cf = (uint16_t)src1 < (uint16_t)src2;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint16_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 1))) & 0x80;
+    of = lshift((src1 ^ src2) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 1))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_subw(void)
+{
+    int cf;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src);
+    src2 = (env->cc_src);
+    cf = (uint16_t)src1 < (uint16_t)src2;
+    return cf;
+}
+
+static int compute_all_sbbw(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src) + 1;
+    src2 = (env->cc_src);
+    cf = (uint16_t)src1 <= (uint16_t)src2;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint16_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 1))) & 0x80;
+    of = lshift((src1 ^ src2) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 1))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_sbbw(void)
+{
+    int cf;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src) + 1;
+    src2 = (env->cc_src);
+    cf = (uint16_t)src1 <= (uint16_t)src2;
+    return cf;
+}
+
+static int compute_all_logicw(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = 0;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint16_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 1))) & 0x80;
+    of = 0;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_logicw(void)
+{
+    return 0;
+}
+
+static int compute_all_incw(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) - 1;
+    src2 = 1;
+    cf = (env->cc_src);
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint16_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 1))) & 0x80;
+    of = (((env->cc_dst) & 0xffff) == (((target_ulong)1) << ((1 << (3 + 1)) - 1))) << 11;
+    return cf | pf | af | zf | sf | of;
+}
+# 191 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h"
+static int compute_all_decw(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + 1;
+    src2 = 1;
+    cf = (env->cc_src);
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint16_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 1))) & 0x80;
+    of = (((env->cc_dst) & 0xffff) == ((target_ulong)(((target_ulong)1) << ((1 << (3 + 1)) - 1)) - 1)) << 11;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_all_shlw(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = ((env->cc_src) >> ((1 << (3 + 1)) - 1)) & 0x0001;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint16_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 1))) & 0x80;
+
+    of = lshift((env->cc_src) ^ (env->cc_dst), 12 - (1 << (3 + 1))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_shlw(void)
+{
+    return ((env->cc_src) >> ((1 << (3 + 1)) - 1)) & 0x0001;
+}
+# 231 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h"
+static int compute_all_sarw(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = (env->cc_src) & 1;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint16_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 1))) & 0x80;
+
+    of = lshift((env->cc_src) ^ (env->cc_dst), 12 - (1 << (3 + 1))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+# 255 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h"
+static int compute_all_mulw(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = ((env->cc_src) != 0);
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint16_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 1))) & 0x80;
+    of = cf << 11;
+    return cf | pf | af | zf | sf | of;
+}
+
+
+
+target_ulong helper_rclw(target_ulong t0, target_ulong t1)
+{
+    int count, eflags;
+    target_ulong src;
+    target_long res;
+
+    count = t1 & 0x1f;
+
+    count = rclw_table[count];
+
+
+
+    if (count) {
+        eflags = helper_cc_compute_all((env->cc_op));
+        t0 &= 0xffff;
+        src = t0;
+        res = (t0 << count) | ((target_ulong)(eflags & 0x0001) << (count - 1));
+        if (count > 1)
+            res |= t0 >> ((1 << (3 + 1)) + 1 - count);
+        t0 = res;
+        env->cc_tmp = (eflags & ~(0x0001 | 0x0800)) |
+            (lshift(src ^ t0, 11 - ((1 << (3 + 1)) - 1)) & 0x0800) |
+            ((src >> ((1 << (3 + 1)) - count)) & 0x0001);
+    } else {
+        env->cc_tmp = -1;
+    }
+    return t0;
+}
+
+target_ulong helper_rcrw(target_ulong t0, target_ulong t1)
+{
+    int count, eflags;
+    target_ulong src;
+    target_long res;
+
+    count = t1 & 0x1f;
+
+    count = rclw_table[count];
+
+
+
+    if (count) {
+        eflags = helper_cc_compute_all((env->cc_op));
+        t0 &= 0xffff;
+        src = t0;
+        res = (t0 >> count) | ((target_ulong)(eflags & 0x0001) << ((1 << (3 + 1)) - count));
+        if (count > 1)
+            res |= t0 << ((1 << (3 + 1)) + 1 - count);
+        t0 = res;
+        env->cc_tmp = (eflags & ~(0x0001 | 0x0800)) |
+            (lshift(src ^ t0, 11 - ((1 << (3 + 1)) - 1)) & 0x0800) |
+            ((src >> (count - 1)) & 0x0001);
+    } else {
+        env->cc_tmp = -1;
+    }
+    return t0;
+}
+# 5705 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+
+
+
+# 1 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h" 1
+# 54 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/helper_template.h"
+static int compute_all_addl(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_src);
+    src2 = (env->cc_dst) - (env->cc_src);
+    cf = (uint32_t)(env->cc_dst) < (uint32_t)src1;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint32_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 2))) & 0x80;
+    of = lshift((src1 ^ src2 ^ -1) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 2))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_addl(void)
+{
+    int cf;
+    target_long src1;
+    src1 = (env->cc_src);
+    cf = (uint32_t)(env->cc_dst) < (uint32_t)src1;
+    return cf;
+}
+
+static int compute_all_adcl(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_src);
+    src2 = (env->cc_dst) - (env->cc_src) - 1;
+    cf = (uint32_t)(env->cc_dst) <= (uint32_t)src1;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint32_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 2))) & 0x80;
+    of = lshift((src1 ^ src2 ^ -1) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 2))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_adcl(void)
+{
+    int cf;
+    target_long src1;
+    src1 = (env->cc_src);
+    cf = (uint32_t)(env->cc_dst) <= (uint32_t)src1;
+    return cf;
+}
+
+static int compute_all_subl(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src);
+    src2 = (env->cc_src);
+    cf = (uint32_t)src1 < (uint32_t)src2;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint32_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 2))) & 0x80;
+    of = lshift((src1 ^ src2) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 2))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_subl(void)
+{
+    int cf;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src);
+    src2 = (env->cc_src);
+    cf = (uint32_t)src1 < (uint32_t)src2;
+    return cf;
+}
+
+static int compute_all_sbbl(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src) + 1;
+    src2 = (env->cc_src);
+    cf = (uint32_t)src1 <= (uint32_t)src2;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint32_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 2))) & 0x80;
+    of = lshift((src1 ^ src2) & (src1 ^ (env->cc_dst)), 12 - (1 << (3 + 2))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_sbbl(void)
+{
+    int cf;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + (env->cc_src) + 1;
+    src2 = (env->cc_src);
+    cf = (uint32_t)src1 <= (uint32_t)src2;
+    return cf;
+}
+
+static int compute_all_logicl(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = 0;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint32_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 2))) & 0x80;
+    of = 0;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_logicl(void)
+{
+    return 0;
+}
+
+static int compute_all_incl(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) - 1;
+    src2 = 1;
+    cf = (env->cc_src);
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint32_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 2))) & 0x80;
+    of = (((env->cc_dst) & 0xffffffff) == (((target_ulong)1) << ((1 << (3 + 2)) - 1))) << 11;
+    return cf | pf | af | zf | sf | of;
+}
+
+
+static int compute_c_incl(void)
+{
+    return (env->cc_src);
+}
+
+
+static int compute_all_decl(void)
+{
+    int cf, pf, af, zf, sf, of;
+    target_long src1, src2;
+    src1 = (env->cc_dst) + 1;
+    src2 = 1;
+    cf = (env->cc_src);
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = ((env->cc_dst) ^ src1 ^ src2) & 0x10;
+    zf = ((uint32_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 2))) & 0x80;
+    of = (((env->cc_dst) & 0xffffffff) == ((target_ulong)(((target_ulong)1) << ((1 << (3 + 2)) - 1)) - 1)) << 11;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_all_shll(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = ((env->cc_src) >> ((1 << (3 + 2)) - 1)) & 0x0001;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint32_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 2))) & 0x80;
+
+    of = lshift((env->cc_src) ^ (env->cc_dst), 12 - (1 << (3 + 2))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+static int compute_c_shll(void)
+{
+    return ((env->cc_src) >> ((1 << (3 + 2)) - 1)) & 0x0001;
+}
+
+
+static int compute_c_sarl(void)
+{
+    return (env->cc_src) & 1;
+}
+
+
+static int compute_all_sarl(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = (env->cc_src) & 1;
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint32_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 2))) & 0x80;
+
+    of = lshift((env->cc_src) ^ (env->cc_dst), 12 - (1 << (3 + 2))) & 0x0800;
+    return cf | pf | af | zf | sf | of;
+}
+
+
+static int compute_c_mull(void)
+{
+    int cf;
+    cf = ((env->cc_src) != 0);
+    return cf;
+}
+
+
+
+
+static int compute_all_mull(void)
+{
+    int cf, pf, af, zf, sf, of;
+    cf = ((env->cc_src) != 0);
+    pf = parity_table[(uint8_t)(env->cc_dst)];
+    af = 0;
+    zf = ((uint32_t)(env->cc_dst) == 0) << 6;
+    sf = lshift((env->cc_dst), 8 - (1 << (3 + 2))) & 0x80;
+    of = cf << 11;
+    return cf | pf | af | zf | sf | of;
+}
+
+
+
+target_ulong helper_rcll(target_ulong t0, target_ulong t1)
+{
+    int count, eflags;
+    target_ulong src;
+    target_long res;
+
+    count = t1 & 0x1f;
+
+
+
+
+
+    if (count) {
+        eflags = helper_cc_compute_all((env->cc_op));
+        t0 &= 0xffffffff;
+        src = t0;
+        res = (t0 << count) | ((target_ulong)(eflags & 0x0001) << (count - 1));
+        if (count > 1)
+            res |= t0 >> ((1 << (3 + 2)) + 1 - count);
+        t0 = res;
+        env->cc_tmp = (eflags & ~(0x0001 | 0x0800)) |
+            (lshift(src ^ t0, 11 - ((1 << (3 + 2)) - 1)) & 0x0800) |
+            ((src >> ((1 << (3 + 2)) - count)) & 0x0001);
+    } else {
+        env->cc_tmp = -1;
+    }
+    return t0;
+}
+
+target_ulong helper_rcrl(target_ulong t0, target_ulong t1)
+{
+    int count, eflags;
+    target_ulong src;
+    target_long res;
+
+    count = t1 & 0x1f;
+
+
+
+
+
+    if (count) {
+        eflags = helper_cc_compute_all((env->cc_op));
+        t0 &= 0xffffffff;
+        src = t0;
+        res = (t0 >> count) | ((target_ulong)(eflags & 0x0001) << ((1 << (3 + 2)) - count));
+        if (count > 1)
+            res |= t0 << ((1 << (3 + 2)) + 1 - count);
+        t0 = res;
+        env->cc_tmp = (eflags & ~(0x0001 | 0x0800)) |
+            (lshift(src ^ t0, 11 - ((1 << (3 + 2)) - 1)) & 0x0800) |
+            ((src >> (count - 1)) & 0x0001);
+    } else {
+        env->cc_tmp = -1;
+    }
+    return t0;
+}
+# 5709 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c" 2
+# 5720 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+target_ulong helper_bsf(target_ulong t0)
+{
+    int count;
+    target_ulong res;
+
+    res = t0;
+    count = 0;
+    while ((res & 1) == 0) {
+        count++;
+        res >>= 1;
+    }
+    return count;
+}
+
+target_ulong helper_lzcnt(target_ulong t0, int wordsize)
+{
+    int count;
+    target_ulong res, mask;
+
+    if (wordsize > 0 && t0 == 0) {
+        return wordsize;
+    }
+    res = t0;
+    count = 32 - 1;
+    mask = (target_ulong)1 << (32 - 1);
+    while ((res & mask) == 0) {
+        count--;
+        res <<= 1;
+    }
+    if (wordsize > 0) {
+        return wordsize - 1 - count;
+    }
+    return count;
+}
+
+target_ulong helper_bsr(target_ulong t0)
+{
+ return helper_lzcnt(t0, 0);
+}
+
+static int compute_all_eflags(void)
+{
+    return (env->cc_src);
+}
+
+static int compute_c_eflags(void)
+{
+    return (env->cc_src) & 0x0001;
+}
+
+uint32_t helper_cc_compute_all(int op)
+{
+    switch (op) {
+    default: return 0;
+
+    case CC_OP_EFLAGS: return compute_all_eflags();
+
+    case CC_OP_MULB: return compute_all_mulb();
+    case CC_OP_MULW: return compute_all_mulw();
+    case CC_OP_MULL: return compute_all_mull();
+
+    case CC_OP_ADDB: return compute_all_addb();
+    case CC_OP_ADDW: return compute_all_addw();
+    case CC_OP_ADDL: return compute_all_addl();
+
+    case CC_OP_ADCB: return compute_all_adcb();
+    case CC_OP_ADCW: return compute_all_adcw();
+    case CC_OP_ADCL: return compute_all_adcl();
+
+    case CC_OP_SUBB: return compute_all_subb();
+    case CC_OP_SUBW: return compute_all_subw();
+    case CC_OP_SUBL: return compute_all_subl();
+
+    case CC_OP_SBBB: return compute_all_sbbb();
+    case CC_OP_SBBW: return compute_all_sbbw();
+    case CC_OP_SBBL: return compute_all_sbbl();
+
+    case CC_OP_LOGICB: return compute_all_logicb();
+    case CC_OP_LOGICW: return compute_all_logicw();
+    case CC_OP_LOGICL: return compute_all_logicl();
+
+    case CC_OP_INCB: return compute_all_incb();
+    case CC_OP_INCW: return compute_all_incw();
+    case CC_OP_INCL: return compute_all_incl();
+
+    case CC_OP_DECB: return compute_all_decb();
+    case CC_OP_DECW: return compute_all_decw();
+    case CC_OP_DECL: return compute_all_decl();
+
+    case CC_OP_SHLB: return compute_all_shlb();
+    case CC_OP_SHLW: return compute_all_shlw();
+    case CC_OP_SHLL: return compute_all_shll();
+
+    case CC_OP_SARB: return compute_all_sarb();
+    case CC_OP_SARW: return compute_all_sarw();
+    case CC_OP_SARL: return compute_all_sarl();
+# 5838 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    }
+}
+
+uint32_t cpu_cc_compute_all(CPUX86State *env1, int op)
+{
+    CPUX86State *saved_env;
+    uint32_t ret;
+
+    saved_env = env;
+    env = env1;
+    ret = helper_cc_compute_all(op);
+    env = saved_env;
+    return ret;
+}
+
+uint32_t helper_cc_compute_c(int op)
+{
+    switch (op) {
+    default: return 0;
+
+    case CC_OP_EFLAGS: return compute_c_eflags();
+
+    case CC_OP_MULB: return compute_c_mull();
+    case CC_OP_MULW: return compute_c_mull();
+    case CC_OP_MULL: return compute_c_mull();
+
+    case CC_OP_ADDB: return compute_c_addb();
+    case CC_OP_ADDW: return compute_c_addw();
+    case CC_OP_ADDL: return compute_c_addl();
+
+    case CC_OP_ADCB: return compute_c_adcb();
+    case CC_OP_ADCW: return compute_c_adcw();
+    case CC_OP_ADCL: return compute_c_adcl();
+
+    case CC_OP_SUBB: return compute_c_subb();
+    case CC_OP_SUBW: return compute_c_subw();
+    case CC_OP_SUBL: return compute_c_subl();
+
+    case CC_OP_SBBB: return compute_c_sbbb();
+    case CC_OP_SBBW: return compute_c_sbbw();
+    case CC_OP_SBBL: return compute_c_sbbl();
+
+    case CC_OP_LOGICB: return compute_c_logicb();
+    case CC_OP_LOGICW: return compute_c_logicw();
+    case CC_OP_LOGICL: return compute_c_logicl();
+
+    case CC_OP_INCB: return compute_c_incl();
+    case CC_OP_INCW: return compute_c_incl();
+    case CC_OP_INCL: return compute_c_incl();
+
+    case CC_OP_DECB: return compute_c_incl();
+    case CC_OP_DECW: return compute_c_incl();
+    case CC_OP_DECL: return compute_c_incl();
+
+    case CC_OP_SHLB: return compute_c_shlb();
+    case CC_OP_SHLW: return compute_c_shlw();
+    case CC_OP_SHLL: return compute_c_shll();
+
+    case CC_OP_SARB: return compute_c_sarl();
+    case CC_OP_SARW: return compute_c_sarl();
+    case CC_OP_SARL: return compute_c_sarl();
+# 5921 "/var/tmp/portage/app-emulation/qemu-kvm-1.1.1-r3/work/qemu-kvm-1.1.1/target-i386/op_helper.c"
+    }
+}