Clean up RCS ids
[projects/cmucl/cmucl.git] / src / lisp / arch.h
CommitLineData
82a2bc67 1/*
2
82a2bc67 3 This code was written as part of the CMU Common Lisp project at
4 Carnegie Mellon University, and has been placed in the public domain.
5
6*/
7
62957726 8#ifndef __ARCH_H__
9#define __ARCH_H__
10
11#include "os.h"
12#include "signal.h"
13
cb786538 14extern char *arch_init(fpu_mode_t);
15
9a8c1c2f 16extern void arch_skip_instruction(os_context_t * scp);
17extern boolean arch_pseudo_atomic_atomic(os_context_t * scp);
18extern void arch_set_pseudo_atomic_interrupted(os_context_t * scp);
0ed6918a 19extern os_vm_address_t arch_get_bad_addr(HANDLER_ARGS);
9a8c1c2f 20extern unsigned char *arch_internal_error_arguments(os_context_t * scp);
62957726 21extern unsigned long arch_install_breakpoint(void *pc);
22extern void arch_remove_breakpoint(void *pc, unsigned long orig_inst);
23extern void arch_install_interrupt_handlers(void);
9a8c1c2f 24extern void arch_do_displaced_inst(os_context_t * scp, unsigned long orig_inst);
62957726 25extern lispobj funcall0(lispobj function);
26extern lispobj funcall1(lispobj function, lispobj arg0);
27extern lispobj funcall2(lispobj function, lispobj arg0, lispobj arg1);
28extern lispobj funcall3(lispobj function, lispobj arg0, lispobj arg1,
29 lispobj arg2);
30
441a76a6
RT
31extern void arch_make_linkage_entry(long, void *, long);
32extern long arch_linkage_entry(unsigned long);
33void arch_make_lazy_linkage(long linkage_entry);
34long arch_linkage_entry(unsigned long retaddr);
35
36
c66586ed 37extern void fpu_save(void *);
38extern void fpu_restore(void *);
2daa0e7c
RT
39extern void sse_save(void *);
40extern void sse_restore(void *);
441a76a6
RT
41extern void save_fpu_state(void*);
42extern void restore_fpu_state(void*);
c66586ed 43
441a76a6
RT
44#if defined(i386) || defined(__x86_64)
45#include "x86-arch.h"
46#endif
bf84be07 47
441a76a6
RT
48#if defined(DARWIN) && defined(__ppc__)
49#include "ppc-arch.h"
cb786538 50#endif
51
441a76a6
RT
52#if defined(sparc)
53#include "sparc-arch.h"
54#endif
62957726 55#endif /* __ARCH_H__ */