diff options
Diffstat (limited to 'slof/ppc64.h')
-rw-r--r-- | slof/ppc64.h | 32 |
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); |