source: release/1.9/source/lisp-kernel/platform-linuxppc64.h @ 16083

Last change on this file since 16083 was 13649, checked in by gb, 9 years ago

Remove some identical macro definitions (introduced in a recent change.)

File size: 2.0 KB
Line 
1/*
2   Copyright (C) 2010 Clozure Associates
3   Copyright (C) 1994-2001 Digitool, Inc
4   This file is part of Clozure CL. 
5
6   Clozure CL is licensed under the terms of the Lisp Lesser GNU Public
7   License , known as the LLGPL and distributed with Clozure CL as the
8   file "LICENSE".  The LLGPL consists of a preamble and the LGPL,
9   which is distributed with Clozure CL as the file "LGPL".  Where these
10   conflict, the preamble takes precedence. 
11
12   Clozure CL is referenced in the preamble as the "LIBRARY."
13
14   The LLGPL is also available online at
15   http://opensource.franz.com/preamble.html
16*/
17
18#define WORD_SIZE 64
19#define PLATFORM_OS PLATFORM_OS_LINUX
20#define PLATFORM_CPU PLATFORM_CPU_PPC
21#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_64
22
23typedef struct ucontext ExceptionInformation;
24
25#include "standard-inttypes.h"
26
27#define MAXIMUM_MAPPABLE_MEMORY (512L<<30L)
28#define IMAGE_BASE_ADDRESS 0x50000000000L
29
30#include "lisptypes.h"
31#include "ppc-constants64.h"
32
33/* xp accessors.  Logically identical on linuxppc32/64. */
34#define XP_PTREGS(x) ((x)->uc_mcontext.regs)
35#define xpGPRvector(x) ((natural *)(XP_PTREGS(x)))
36#define xpGPR(x,gprno) (xpGPRvector(x)[gprno])
37#define set_xpGPR(x,gpr,new) xpGPR((x),(gpr)) = (natural)(new)
38#define xpPC(x) (*((pc*)(&(XP_PTREGS(x)->nip))))
39#define set_xpPC(x,new) (xpPC(x) = (pc)(new))
40#define xpLR(x) (*((pc*)(&(XP_PTREGS(x)->link))))
41#define xpCTR(x) (*(pc*)(&(XP_PTREGS(x)->ctr)))
42#define xpXER(x) (XP_PTREGS(x)->xer)
43#define xpCCR(x) (XP_PTREGS(x)->ccr)
44#define xpMSR(x) (XP_PTREGS(x)->msr)
45#define xpDSISR(x) (XP_PTREGS(x)->dsisr)
46#define xpDAR(x) (XP_PTREGS(x)->dar)
47#define xpTRAP(x) (XP_PTREGS(x)->trap)
48#define xpFPSCR(x) (XP_PTREGS(x)->gpr[PT_FPSCR])
49#define xpFPRvector(x) ((double *)(&(XP_PTREGS(x)->gpr[PT_FPR0])))
50#define xpFPR(x,fprno) (xpFPRvector(x)[fprno])
51
52/*
53   Work around a Darwin G5 bug (present in OSX 10.2.7, 10.2.8, and later
54   versions.  See platform-darwinppc*.h for details
55*/
56#define DarwinSigReturn(context)
57#define SIGRETURN(context)
58
59#include "os-linux.h"
Note: See TracBrowser for help on using the repository browser.