64-bit fixes

General 64-bit fixes and a hack for x86 to Sparc64 crosscompiling problem,
where x86 misses 128-bit types.



git-svn-id: svn://coreboot.org/openbios/openbios-devel@68 f158a5a8-5612-0410-a976-696ce0be7e32
diff --git a/kernel/forth.c b/kernel/forth.c
index 5869a39..8fb2688 100644
--- a/kernel/forth.c
+++ b/kernel/forth.c
@@ -330,8 +330,13 @@
 {
 	const ucell b = POP();
 	const ducell a = DPOP();
+#ifdef NEED_FAKE_INT128_T
+        fprintf(stderr, "mudivmode called\n");
+        exit(-1);
+#else
 	PUSH(a % b);
 	DPUSH(a / b);
+#endif
 }
 
 
@@ -475,7 +480,12 @@
 {
 	const dcell d2 = DPOP();
 	const dcell d1 = DPOP();
+#ifdef NEED_FAKE_INT128_T
+        fprintf(stderr, "dplus called\n");
+        exit(-1);
+#else
 	DPUSH(d1 + d2);
+#endif
 }
 
 
@@ -487,7 +497,12 @@
 {
 	const dcell d2 = DPOP();
 	const dcell d1 = DPOP();
+#ifdef NEED_FAKE_INT128_T
+        fprintf(stderr, "dminus called\n");
+        exit(-1);
+#else
 	DPUSH(d1 - d2);
+#endif
 }
 
 
@@ -499,7 +514,12 @@
 {
 	const cell u2 = POP();
 	const cell u1 = POP();
+#ifdef NEED_FAKE_INT128_T
+        fprintf(stderr, "mmult called\n");
+        exit(-1);
+#else
 	DPUSH((dcell) u1 * u2);
+#endif
 }
 
 
@@ -511,7 +531,12 @@
 {
 	const ucell u2 = POP();
 	const ucell u1 = POP();
+#ifdef NEED_FAKE_INT128_T
+        fprintf(stderr, "ummult called\n");
+        exit(-1);
+#else
 	DPUSH((ducell) u1 * u2);
+#endif
 }