Lucio Andrés Illanes Albornoz 61f3f4
diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h
Lucio Andrés Illanes Albornoz 61f3f4
index b342883..174dd88 100644
Lucio Andrés Illanes Albornoz 61f3f4
--- a/include/private/gcconfig.h
Lucio Andrés Illanes Albornoz 61f3f4
+++ b/include/private/gcconfig.h
Lucio Andrés Illanes Albornoz 61f3f4
@@ -109,6 +109,21 @@ EXTERN_C_BEGIN
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #   define LINUX
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 # endif
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+# if defined(__midipix__)
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+#    define MIDIPIX
Lucio Andrés Illanes Albornoz 61f3f4
+
Lucio Andrés Illanes Albornoz 61f3f4
+#    include <fcntl.h>
Lucio Andrés Illanes Albornoz 61f3f4
+#    include <sys/select.h>
Lucio Andrés Illanes Albornoz 61f3f4
+
Lucio Andrés Illanes Albornoz 61f3f4
+#    include <psxtypes/psxtypes.h>
Lucio Andrés Illanes Albornoz 61f3f4
+#    include <pemagine/pemagine.h>
Lucio Andrés Illanes Albornoz 61f3f4
+#    include <ntapi/nt_thread.h>
Lucio Andrés Illanes Albornoz 61f3f4
+
Lucio Andrés Illanes Albornoz 61f3f4
+     int __gc_data_start_mark__[1];
Lucio Andrés Illanes Albornoz 61f3f4
+     int __gc_data_end_mark__[1];
Lucio Andrés Illanes Albornoz 61f3f4
+
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+# endif
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+
Lucio Andrés Illanes Albornoz 77690b
 /* And one for NetBSD: */
Lucio Andrés Illanes Albornoz 77690b
 # if defined(__NetBSD__)
Lucio Andrés Illanes Albornoz 77690b
 #    define NETBSD
Lucio Andrés Illanes Albornoz 61f3f4
@@ -350,6 +359,16 @@ EXTERN_C_BEGIN
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #    define X86_64
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #    define mach_type_known
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 # endif
Lucio Andrés Illanes Albornoz 77690b
+# if defined(MIDIPIX)
Lucio Andrés Illanes Albornoz 77690b
+#    if defined(__i386__)
Lucio Andrés Illanes Albornoz 77690b
+#      define I386
Lucio Andrés Illanes Albornoz 77690b
+#      define mach_type_known
Lucio Andrés Illanes Albornoz 77690b
+#    endif
Lucio Andrés Illanes Albornoz 77690b
+#    if defined(__x86_64__)
Lucio Andrés Illanes Albornoz 77690b
+#      define X86_64
Lucio Andrés Illanes Albornoz 77690b
+#      define mach_type_known
Lucio Andrés Illanes Albornoz 77690b
+#    endif
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+# endif
Lucio Andrés Illanes Albornoz 77690b
 # if defined(LINUX) && (defined(i386) || defined(__i386__))
Lucio Andrés Illanes Albornoz 77690b
 #    define I386
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #    define mach_type_known
Lucio Andrés Illanes Albornoz 61f3f4
@@ -1542,6 +1561,13 @@ EXTERN_C_BEGIN
Lucio Andrés Illanes Albornoz cd4df3
           EXTERN_C_BEGIN
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #       endif
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #   endif
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+#   ifdef MIDIPIX
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+#      define OS_TYPE "MIDIPIX"
Lucio Andrés Illanes Albornoz 61f3f4
+#      define DATASTART   ((ptr_t)__gc_data_start_mark__)
Lucio Andrés Illanes Albornoz 61f3f4
+#      define DATAEND     ((ptr_t)__gc_data_end_mark__)
Lucio Andrés Illanes Albornoz 61f3f4
+#      define STACKBOTTOM (ptr_t)(((nt_tib *)pe_get_teb_address())->stack_base)
Lucio Andrés Illanes Albornoz 61f3f4
+#      define USE_MMAP_ANON
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+#   endif
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #   ifdef CYGWIN32
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #       define OS_TYPE "CYGWIN32"
Lucio Andrés Illanes Albornoz 61f3f4
 #       define WOW64_THREAD_CONTEXT_WORKAROUND
Lucio Andrés Illanes Albornoz 61f3f4
@@ -2706,6 +2732,13 @@ EXTERN_C_BEGIN
Lucio Andrés Illanes Albornoz cd4df3
           EXTERN_C_BEGIN
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #       endif
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #   endif
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+#   ifdef MIDIPIX
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+#      define OS_TYPE "MIDIPIX"
Lucio Andrés Illanes Albornoz 61f3f4
+#      define DATASTART   ((ptr_t)__gc_data_start_mark__)
Lucio Andrés Illanes Albornoz 61f3f4
+#      define DATAEND     ((ptr_t)__gc_data_end_mark__)
Lucio Andrés Illanes Albornoz 61f3f4
+#      define STACKBOTTOM (ptr_t)(((nt_tib *)pe_get_teb_address())->stack_base)
Lucio Andrés Illanes Albornoz 61f3f4
+#      define USE_MMAP_ANON
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
+#   endif
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #   ifdef DARWIN
Lucio Andrés Illanes Albornoz (arab, vxp) 8a0f36
 #     define OS_TYPE "DARWIN"
Lucio Andrés Illanes Albornoz 77690b
 #     define DARWIN_DONT_PARSE_STACK 1
Lucio Andrés Illanes Albornoz 61f3f4
@@ -3111,7 +3144,7 @@ EXTERN_C_BEGIN
Lucio Andrés Illanes Albornoz 61f3f4
 #if defined(SVR4) || defined(LINUX) || defined(IRIX5) || defined(HPUX) \
Lucio Andrés Illanes Albornoz 61f3f4
     || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \
Lucio Andrés Illanes Albornoz 61f3f4
     || defined(DGUX) || defined(BSD) || defined(HAIKU) || defined(HURD) \
Lucio Andrés Illanes Albornoz 61f3f4
-    || defined(AIX) || defined(DARWIN) || defined(OSF1)
Lucio Andrés Illanes Albornoz 61f3f4
+    || defined(AIX) || defined(DARWIN) || defined(OSF1) || defined(MIDIPIX)
Lucio Andrés Illanes Albornoz 61f3f4
 # define UNIX_LIKE      /* Basic Unix-like system calls work.   */
Lucio Andrés Illanes Albornoz 77690b
 #endif
Lucio Andrés Illanes Albornoz 77690b