aboutsummaryrefslogtreecommitdiff
path: root/slof/ppc64.h
diff options
context:
space:
mode:
Diffstat (limited to 'slof/ppc64.h')
-rw-r--r--slof/ppc64.h32
1 files changed, 8 insertions, 24 deletions
diff --git a/slof/ppc64.h b/slof/ppc64.h
index eff7383..2e9d90c 100644
--- a/slof/ppc64.h
+++ b/slof/ppc64.h
@@ -1,5 +1,5 @@
/******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation
+ * Copyright (c) 2004, 2008 IBM Corporation
* All rights reserved.
* This program and the accompanying materials
* are made available under the terms of the BSD License
@@ -13,38 +13,22 @@
#include <cpu.h>
#include "types.h"
+#define PAGE_SIZE 4096
+#define HEAP_SIZE 0x800000
+
#define SET_CI set_ci()
#define CLR_CI clr_ci()
// The big Forth source file that contains everything but the core engine.
// We include it as a hunk of data into the C part of SLOF; at startup
// time, this will be EVALUATE'd.
+extern char _binary_OF_fsi_start[], _binary_OF_fsi_end[];
-extern char _slof_start[];
-extern char _slof_here_start[];
-
-#define the_exception_frame ((cell *) (_slof_start))
-#define the_client_frame ((cell *) (_slof_start+0x400))
-#define the_data_stack ((cell *) (_slof_start+0x2000))
-#define the_return_stack ((cell *) (_slof_start+0x4000))
-#define the_system_stack ((cell *) (_slof_start+0x6000))
-
-// these two really need to be implemented as a plain
-// normal BUFFER: in the data space
-#define the_tib ((cell *) (_slof_start+0x8000))
-#define the_pockets ((cell *) (_slof_start+0x9000))
-#define the_comp_buffer ((cell *) (_slof_start+0xA000))
-#define the_client_stack ((cell *) (_slof_start+0xBf00))
-
-// wasteful, but who cares. 14MB should be enough.
-#define the_mem ((cell *) (_slof_here_start))
-
-#define the_heap_start ((cell *) (_slof_start+0x700000))
-#define the_heap_end ((cell *) (_slof_start+0x700000+0x800000))
+extern cell the_mem[]; /* Space for the dictionary / the HERE pointer */
+extern cell *restrict dp;
+extern cell *restrict rp;
-extern char _binary_OF_fsi_start[], _binary_OF_fsi_end[];
-//extern char _binary_vmlinux_start[], _binary_vmlinux_end[];
void client_entry_point();
extern unsigned long call_client(cell);