]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/ppc/machine_routines.h
xnu-1228.3.13.tar.gz
[apple/xnu.git] / osfmk / ppc / machine_routines.h
index cdde41a1d3843a331dc303b3709d7ca664cf4002..08cb102e7cea0bf77569df3cdda7473ef80a7c6f 100644 (file)
@@ -1,31 +1,29 @@
 /*
 /*
- * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
  *
  *
- * @APPLE_LICENSE_OSREFERENCE_HEADER_START@
+ * @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.  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 
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 
- * Please see the License for the specific language governing rights and 
+ * 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.
+ * 
+ * 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,
+ * 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.
  * limitations under the License.
- *
- * @APPLE_LICENSE_OSREFERENCE_HEADER_END@
+ * 
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  * @OSF_COPYRIGHT@
  */
 /*
  * @OSF_COPYRIGHT@
@@ -98,6 +96,9 @@ extern vm_offset_t            ml_static_ptovirt(
 extern vm_offset_t             ml_vtophys(
                                                        vm_offset_t                     vaddr);
 
 extern vm_offset_t             ml_vtophys(
                                                        vm_offset_t                     vaddr);
 
+vm_size_t ml_nofault_copy(
+       vm_offset_t virtsrc, vm_offset_t virtdst, vm_size_t size);
+
 /* PCI config cycle probing */
 extern boolean_t               ml_probe_read(
                                                        vm_offset_t                     paddr,
 /* PCI config cycle probing */
 extern boolean_t               ml_probe_read(
                                                        vm_offset_t                     paddr,
@@ -210,6 +211,11 @@ extern void                                bzero_phys(
                                                        addr64_t                        phys_address,
                                                        uint32_t                        length);
 
                                                        addr64_t                        phys_address,
                                                        uint32_t                        length);
 
+/* Zero bytes starting at a physical address that's uncacheable */
+extern void                            bzero_phys_nc(
+                                                       addr64_t                        phys_address,
+                                                       uint32_t                        length);
+
 #endif /* KERNEL_PRIVATE */
 
 #ifdef XNU_KERNEL_PRIVATE
 #endif /* KERNEL_PRIVATE */
 
 #ifdef XNU_KERNEL_PRIVATE
@@ -220,24 +226,17 @@ extern vm_offset_t                ml_io_map(
                                                        vm_offset_t                     phys_addr, 
                                                        vm_size_t                       size);
 
                                                        vm_offset_t                     phys_addr, 
                                                        vm_size_t                       size);
 
+void   ml_get_bouncepool_info(
+        vm_offset_t *phys_addr,
+       vm_size_t   *size);
+
+
 /* boot memory allocation */
 extern vm_offset_t             ml_static_malloc(
                                                        vm_size_t                       size);
 
 #endif /* PEXPERT_KERNEL_PRIVATE || MACH_KERNEL_PRIVATE */
 
 /* boot memory allocation */
 extern vm_offset_t             ml_static_malloc(
                                                        vm_size_t                       size);
 
 #endif /* PEXPERT_KERNEL_PRIVATE || MACH_KERNEL_PRIVATE */
 
-#if    defined(BSD_KERNEL_PRIVATE) || defined(MACH_KERNEL_PRIVATE)
-
-extern int                             set_be_bit(
-                                                       void);
-
-extern int                             clr_be_bit(
-                                                       void);
-
-extern int                             be_tracing(
-                                                       void);
-
-#endif /* BSD_KERNEL_PRIVATE || MACH_KERNEL_PRIVATE */
 
 #ifdef MACH_KERNEL_PRIVATE
 extern void                            ml_init_interrupt(
 
 #ifdef MACH_KERNEL_PRIVATE
 extern void                            ml_init_interrupt(
@@ -321,6 +320,8 @@ extern unsigned int         ml_scom_read(
 
 extern uint32_t                ml_hdec_ratio(void);
 
 
 extern uint32_t                ml_hdec_ratio(void);
 
+extern int boffSettingsInit;
+
 #endif /* KERNEL_PRIVATE */
 
 #endif /* _PPC_MACHINE_ROUTINES_H_ */
 #endif /* KERNEL_PRIVATE */
 
 #endif /* _PPC_MACHINE_ROUTINES_H_ */