1 /******************************************************************************
2 * Copyright (c) 2004, 2008 IBM Corporation
4 * This program and the accompanying materials
5 * are made available under the terms of the BSD License
6 * which accompanies this distribution, and is available at
7 * http://www.opensource.org/licenses/bsd-license.php
10 * IBM Corporation - initial implementation
11 *****************************************************************************/
13 // The Forth code words (primitives) that are specific to PowerPC64.
15 // CPU register accesses.
57 // The start address of a binary payload.
58 //con(PAYLOAD (type_u)_binary_payload_start)
60 // Calling the client program.
61 con(CLIENT-ENTRY-POINT (type_u)client_entry_point)
66 con(ROMFS-LOOKUP-ENTRY (type_u) c_romfs_lookup)
68 // not very elegant... but the only way it works for me
69 con(.WRITE-LOG-BYTE-ENTRY (type_u) writeLogByte_wrapper)
70 col(WRITE-LOG-BYTE-ENTRY .WRITE-LOG-BYTE-ENTRY @)
78 cod(BM-ALLOCATOR-INIT)
86 col(DUMBER DAAR @ C! LIT(1) DAAR +!)
88 dfr(BOOT-EXCEPTION-HANDLER)
90 col(NICEINIT DOTICK DROP DOTO EMIT DOTICK ((FIND)) DOTO (FIND) DOTICK 2DROP DOTO (REVEAL) LIT((type_u)_binary_OF_fsi_start) LIT((type_u)_binary_OF_fsi_end) OVER - DOTICK EVALUATE CATCH BOOT-EXCEPTION-HANDLER)
92 static cell xt_SYSTHROW[] = { _0 RDEPTH_X21 DUP LIT(0x100) _X3d _0BRANCH(5) SWAP DROP NICEINIT BRANCH(7) DUP LIT(0x3800) _X3d _0BRANCH(1) CLIENTINTERFACE PRINT_X2d_STATUS QUIT };
94 // sentinel, leave it here!