]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/ppc/misc_protos.h
xnu-1228.3.13.tar.gz
[apple/xnu.git] / osfmk / ppc / misc_protos.h
index 30b1612e8bc10b869d3c9221b0cfa3e688b6d9cf..27ad339bbeea375d468ee9b892cc96b8fd35f8e7 100644 (file)
@@ -1,23 +1,29 @@
 /*
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
  *
  *
- * @APPLE_LICENSE_HEADER_START@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
  * 
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License").  You may not use this file except in compliance with the
- * License.  Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
+ * 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. 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.
  * 
  * 
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * 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
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
- * License for the specific language governing rights and limitations
- * under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * 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@
  */
 /*
  * @OSF_COPYRIGHT@
 #ifndef _PPC_MISC_PROTOS_H_
 #define _PPC_MISC_PROTOS_H_
 
 #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 <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 <ppc/boot.h>
-#include <kern/thread_act.h>
+#include <kern/thread.h>
 #include <mach/vm_types.h>
 #include <kern/cpu_data.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 <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 void            machine_conf(
+                                       void);
+
+extern void            machine_startup(void);
+
+extern void            ppc_vm_init(
+                                       uint64_t                        ppc_mem_size,
+                                       boot_args                       *args);
 
 
-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 int             ppcNull(
+                                       struct savearea         *asavearea);
 
 
-extern void vprintf(const char *fmt, va_list args);
-extern void printf(const char *fmt, ...);
+extern int             ppcNullinst(
+                                       struct savearea         *asavearea);
 
 
-extern void bcopy_nc(char *from, char *to, int size); /* uncached-safe */
-extern void bcopy_phys(char *from, char *to, int size); /* Physical to physical copy (ints must be disabled) */
+extern void            disable_bluebox_internal(
+                                       thread_t                act);
 
 
-extern void ppc_init(boot_args *args);
-extern struct ppc_saved_state *enterDebugger(unsigned int trap,
-                                     struct ppc_saved_state *state,
-                                     unsigned int dsisr);
+extern uint64_t        hid0get64(
+                                       void);
 
 
-extern void ppc_vm_init(unsigned int mem_size, boot_args *args);
-extern void regDump(struct ppc_saved_state *state);
+extern void            hid5set64(
+                                       uint64_t);
 
 
-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 void            Load_context(
+                                       thread_t                        th);
 
 
-extern void interrupt_init(void);
-extern void interrupt_enable(void);
-extern void interrupt_disable(void);
-extern void disable_bluebox_internal(thread_act_t act);
-#if    MACH_KDB
-extern void db_interrupt_enable(void);
-extern void db_interrupt_disable(void);
-#endif /* MACH_KDB */
-extern void amic_init(void);
+thread_t Switch_context(thread_t, thread_continue_t, thread_t);
 
 
-extern void phys_zero(vm_offset_t, vm_size_t);
-extern void phys_copy(vm_offset_t, vm_offset_t, vm_size_t);
+extern void            vec_save(
+                                       struct facility_context *vec_fc);
 
 
-extern void Load_context(thread_t th);
+extern void            toss_live_fpu(
+                                       struct facility_context *fpu_fc);
 
 
-extern struct thread_shuttle *Switch_context(struct thread_shuttle   *old,
-                                     void                    (*cont)(void),
-                                     struct thread_shuttle   *new);
+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);
 
 
+extern void            commit_paniclog(
+                                       void);
 #ifdef DEBUG
 #define DPRINTF(x) { printf("%s : ",__FUNCTION__);printf x; }
 #endif /* DEBUG */
 
 #if MACH_ASSERT
 #ifdef DEBUG
 #define DPRINTF(x) { printf("%s : ",__FUNCTION__);printf x; }
 #endif /* DEBUG */
 
 #if MACH_ASSERT
-extern void dump_pcb(pcb_t pcb);
-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_ */
 
 #endif /* _PPC_MISC_PROTOS_H_ */