]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/ppc/misc_protos.h
xnu-1456.1.26.tar.gz
[apple/xnu.git] / osfmk / ppc / misc_protos.h
index 9c61739af97e9fd26e202831a8d4cd9743e6c1aa..d3eddc42a35ad575b6359e8ea9b80d894dcf7074 100644 (file)
@@ -1,16 +1,19 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ * 
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
  * 
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
@@ -20,7 +23,7 @@
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * 
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  * @OSF_COPYRIGHT@
 #ifndef _PPC_MISC_PROTOS_H_
 #define _PPC_MISC_PROTOS_H_
 
-#include <cpus.h>
 #include <debug.h>
 #include <mach_kdb.h>
 #include <mach_kgdb.h>
 #include <mach_kdp.h>
 #include <mach_debug.h>
 
-#include <ppc/thread.h>
 #include <ppc/boot.h>
-#include <kern/thread_act.h>
+#include <kern/thread.h>
 #include <mach/vm_types.h>
 #include <kern/cpu_data.h>
+#include <ppc/savearea.h>
 #include <mach/ppc/thread_status.h>
 #include <stdarg.h>
+#include <string.h>
+
+/* uncached-safe */
+extern void            bzero_nc(
+                                       char                            *buf, 
+                                       int                                     size);
+
+/* uncached-safe */
+void bcopy_nc(const char *, char *, int);
+
+/* Physical to physical copy (ints must be disabled) */
+extern void            bcopy_phys(
+                                       addr64_t                        from,
+                                       addr64_t                        to,
+                                       int                                     size);
+
+/* Physical to physical copy virtually (ints must be disabled) */
+extern void            bcopy_physvir_32(
+                                       addr64_t                        from,
+                                       addr64_t                        to,
+                                       int                                     size);
+
+extern void            phys_copy(
+                                       addr64_t                        from,
+                                       addr64_t                        to,
+                                       vm_size_t                       size); 
 
-extern int strcmp(const char *s1, const char *s2);
-extern int strncmp(const char *s1, const char *s2, unsigned long n);
-extern char *strcat(char *dest, const char *src);
-extern char *strcpy(char *dest, const char *src);
+extern void            machine_conf(
+                                       void);
 
-extern void vprintf(const char *fmt, va_list args);
-extern void printf(const char *fmt, ...);
+extern void            machine_startup(void);
 
-extern void    bzero_nc(char* buf, int size); /* uncached-safe */
-extern void bcopy_nc(char *from, char *to, int size); /* uncached-safe */
-extern void bcopy_phys(addr64_t from, addr64_t to, int size); /* Physical to physical copy (ints must be disabled) */
-extern void bcopy_physvir(addr64_t from, addr64_t to, int size); /* Physical to physical copy virtually (ints must be disabled) */
+extern void            ppc_vm_init(
+                                       uint64_t                        ppc_mem_size,
+                                       boot_args                       *args);
 
-extern void ppc_init(boot_args *args);
-extern struct savearea *enterDebugger(unsigned int trap,
-                                     struct savearea *state,
-                                     unsigned int dsisr);
+extern int             ppcNull(
+                                       struct savearea         *asavearea);
 
-extern void draw_panic_dialog(void);
-extern void ppc_vm_init(uint64_t mem_size, boot_args *args);
+extern int             ppcNullinst(
+                                       struct savearea         *asavearea);
 
-extern int ppcNull(struct savearea *);
-extern int ppcNullinst(struct savearea *);
+extern void            disable_bluebox_internal(
+                                       thread_t                act);
 
-extern void autoconf(void);
-extern void machine_init(void);
-extern void machine_conf(void);
-extern void probeio(void);
-extern int  cons_find(boolean_t);
-extern void machine_startup(boot_args *args);
+extern uint64_t        hid0get64(
+                                       void);
 
-extern void interrupt_init(void);
-extern void interrupt_enable(void);
-extern void interrupt_disable(void);
-extern void disable_bluebox_internal(thread_act_t act);
-extern uint64_t hid0get64(void);
-#if    MACH_KDB
-extern void db_interrupt_enable(void);
-extern void db_interrupt_disable(void);
-#endif /* MACH_KDB */
+extern void            hid5set64(
+                                       uint64_t);
 
-extern void phys_zero(vm_offset_t, vm_size_t);
-extern void phys_copy(addr64_t, addr64_t, vm_size_t);
+extern void            Load_context(
+                                       thread_t                        th);
 
-extern void Load_context(thread_t th);
+thread_t Switch_context(thread_t, thread_continue_t, thread_t);
 
-extern thread_t Switch_context(
-                                       thread_t        old,
-                                       void            (*cont)(void),
-                                       thread_t        new);
+extern void            vec_save(
+                                       struct facility_context *vec_fc);
 
-extern void fpu_save(struct facility_context *);
-extern void vec_save(struct facility_context *);
-extern void toss_live_fpu(struct facility_context *);
-extern void toss_live_vec(struct facility_context *);
+extern void            toss_live_fpu(
+                                       struct facility_context *fpu_fc);
 
-extern void condStop(unsigned int, unsigned int);
+extern void            toss_live_vec(
+                                       struct facility_context *vec_fc);
 
-extern int nsec_to_processor_clock_ticks(int nsec);
+extern struct savearea *enterDebugger(unsigned int, struct savearea *,
+               unsigned int);
 
-extern void tick_delay(int ticks);
+extern void            draw_panic_dialog(
+                                       void);
 
-#ifdef DEBUG
+extern void            commit_paniclog(
+                                       void);
+#if    DEBUG
 #define DPRINTF(x) { printf("%s : ",__FUNCTION__);printf x; }
 #endif /* DEBUG */
 
 #if MACH_ASSERT
-extern void dump_thread(thread_t th);
-#endif 
-
-#if    NCPUS > 1
-extern void mp_probe_cpus(void);
-#if    MACH_KDB
-extern void remote_kdb(void);
-extern void clear_kdb_intr(void);
-extern void kdb_console(void);
-#endif /* MACH_KDB */
-#endif /* NCPUS > 1 */
+extern void            dump_thread(
+                                       thread_t                        th);
+#endif /* MACH_ASSERT */
+
+/* XXX move to osfmk/ppc/debug.h or some other debug header */
+void print_backtrace(struct savearea *);
+int Call_Debugger(int, struct savearea *);
+int kdp_dump_trap(int, struct savearea *);
+void SysChoked(unsigned int, struct savearea *);
+int Call_DebuggerC(unsigned int, struct savearea *);
+void kdp_trap(unsigned int, struct savearea *);
 
 #endif /* _PPC_MISC_PROTOS_H_ */