|
|
1.1 root 1: /*
2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * The contents of this file constitute Original Code as defined in and
7: * are subject to the Apple Public Source License Version 1.1 (the
8: * "License"). You may not use this file except in compliance with the
9: * License. Please obtain a copy of the License at
10: * http://www.apple.com/publicsource and read it before using this file.
11: *
12: * This Original Code and all software distributed under the License are
13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17: * License for the specific language governing rights and limitations
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: /*
23: * @OSF_COPYRIGHT@
24: */
25:
26: #ifndef _PPC_MISC_PROTOS_H_
27: #define _PPC_MISC_PROTOS_H_
28:
29: #include <cpus.h>
30: #include <debug.h>
31: #include <mach_kdb.h>
32: #include <mach_kgdb.h>
33: #include <mach_kdp.h>
34: #include <mach_debug.h>
35:
36: #include <ppc/thread.h>
37: #include <ppc/boot.h>
38: #include <ppc/thread_act.h>
39: #include <mach/vm_types.h>
40: #include <kern/cpu_data.h>
41: #include <mach/ppc/thread_status.h>
42: #include <stdarg.h>
43:
44: extern int strcmp(const char *s1, const char *s2);
45: extern int strncmp(const char *s1, const char *s2, unsigned long n);
46: extern char *strcat(char *dest, const char *src);
47: extern char *strcpy(char *dest, const char *src);
48:
49: extern void vprintf(const char *fmt, va_list args);
50: extern void printf(const char *fmt, ...);
51:
52: extern void bcopy_nc(char *from, char *to, int size); /* uncached-safe */
53:
54: extern void ppc_init(boot_args *args);
55: extern struct ppc_saved_state *enterDebugger(unsigned int trap,
56: struct ppc_saved_state *state,
57: unsigned int dsisr);
58:
59: extern void ppc_vm_init(unsigned int mem_size, boot_args *args);
60: extern void regDump(struct ppc_saved_state *state);
61:
62: extern void autoconf(void);
63: extern void machine_init(void);
64: extern void machine_conf(void);
65: extern void probeio(void);
66: extern int cons_find(boolean_t);
67: extern void machine_startup(boot_args *args);
68:
69: extern void interrupt_init(void);
70: extern void interrupt_enable(void);
71: extern void interrupt_disable(void);
72: #if MACH_KDB
73: extern void db_interrupt_enable(void);
74: extern void db_interrupt_disable(void);
75: #endif /* MACH_KDB */
76: extern void amic_init(void);
77:
78: extern void phys_zero(vm_offset_t, vm_size_t);
79: extern void phys_copy(vm_offset_t, vm_offset_t, vm_size_t);
80:
81: extern void Load_context(thread_t th);
82:
83: extern struct thread_shuttle *Switch_context(struct thread_shuttle *old,
84: void (*cont)(void),
85: struct thread_shuttle *new);
86:
87: extern int nsec_to_processor_clock_ticks(int nsec);
88:
89: extern void tick_delay(int ticks);
90:
91: #ifdef DEBUG
92: #define DPRINTF(x) { printf("%s : ",__FUNCTION__);printf x; }
93: #endif /* DEBUG */
94:
95: #if MACH_ASSERT
96: extern void dump_pcb(pcb_t pcb);
97: extern void dump_thread(thread_t th);
98: #endif
99:
100: #if NCPUS > 1
101: extern void mp_probe_cpus(void);
102: #if MACH_KDB
103: extern void remote_kdb(void);
104: extern void clear_kdb_intr(void);
105: extern void kdb_console(void);
106: #endif /* MACH_KDB */
107: #endif /* NCPUS > 1 */
108:
109: #endif /* _PPC_MISC_PROTOS_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.