]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/ppc/ppc_vm_init.c
xnu-792.18.15.tar.gz
[apple/xnu.git] / osfmk / ppc / ppc_vm_init.c
index 61fa389aa33d7f2078e6acdc6dc5ab5dc5e9965f..ce2205ed8530f821ee78e9f74ca62e61303a302d 100644 (file)
@@ -1,14 +1,19 @@
 /*
  * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_LICENSE_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. 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
@@ -18,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@
@@ -39,6 +44,7 @@
 #include <kern/assert.h>
 #include <kern/cpu_number.h>
 #include <kern/thread.h>
+#include <console/serial_protos.h>
 
 #include <ppc/proc_reg.h>
 #include <ppc/Firmware.h>
@@ -60,7 +66,6 @@ unsigned int hash_table_size;                 /* Hash table size */
 int         hash_table_shift;           /* "ht_shift" boot arg, used to scale hash_table_size */
 vm_offset_t taproot_addr;                              /* (BRINGUP) */
 unsigned int taproot_size;                             /* (BRINGUP) */
-unsigned int serialmode;                               /* Serial mode keyboard and console control */
 extern int disableConsoleOutput;
 
 struct shadowBAT shadow_BAT;
@@ -235,13 +240,13 @@ void ppc_vm_init(uint64_t mem_limit, boot_args *args)
        pmap_bootstrap(max_mem, &first_avail, kmapsize);
 
        pmap_map(trunc_page(exception_entry), trunc_page(exception_entry), 
-               round_page(exception_end), VM_PROT_READ|VM_PROT_EXECUTE);
+               round_page(exception_end), VM_PROT_READ|VM_PROT_EXECUTE, VM_WIMG_USE_DEFAULT);
 
        pmap_map(trunc_page(sectTEXTB), trunc_page(sectTEXTB), 
-               round_page(sectTEXTB+sectSizeTEXT), VM_PROT_READ|VM_PROT_EXECUTE);
+               round_page(sectTEXTB+sectSizeTEXT), VM_PROT_READ|VM_PROT_EXECUTE, VM_WIMG_USE_DEFAULT);
 
        pmap_map(trunc_page(sectDATAB), trunc_page(sectDATAB), 
-               round_page(sectDATAB+sectSizeDATA), VM_PROT_READ|VM_PROT_WRITE);
+               round_page(sectDATAB+sectSizeDATA), VM_PROT_READ|VM_PROT_WRITE, VM_WIMG_USE_DEFAULT);
 
 /* The KLD and LINKEDIT segments are unloaded in toto after boot completes,
 * but via ml_static_mfree(), through IODTFreeLoaderInfo(). Hence, we have
@@ -253,7 +258,7 @@ void ppc_vm_init(uint64_t mem_limit, boot_args *args)
              addr += PAGE_SIZE) {
 
             pmap_enter(kernel_pmap, (vm_map_offset_t)addr, (ppnum_t)(addr>>12), 
-                       VM_PROT_READ|VM_PROT_WRITE, 
+                       VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE
                        VM_WIMG_USE_DEFAULT, TRUE);
 
        }
@@ -263,7 +268,7 @@ void ppc_vm_init(uint64_t mem_limit, boot_args *args)
              addr += PAGE_SIZE) {
 
             pmap_enter(kernel_pmap, (vm_map_offset_t)addr, (ppnum_t)(addr>>12), 
-                       VM_PROT_READ|VM_PROT_WRITE, 
+                       VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE
                        VM_WIMG_USE_DEFAULT, TRUE);
 
        }
@@ -274,7 +279,7 @@ void ppc_vm_init(uint64_t mem_limit, boot_args *args)
 
            pmap_enter(kernel_pmap, (vm_map_offset_t)addr,
                        (ppnum_t)(addr>>12), 
-                       VM_PROT_READ|VM_PROT_WRITE, 
+                       VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE
                        VM_WIMG_USE_DEFAULT, TRUE);
 
        }
@@ -284,7 +289,7 @@ void ppc_vm_init(uint64_t mem_limit, boot_args *args)
              addr += PAGE_SIZE) {
 
             pmap_enter(kernel_pmap, (vm_map_offset_t)addr, (ppnum_t)(addr>>12), 
-                       VM_PROT_READ|VM_PROT_WRITE, 
+                       VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE
                        VM_WIMG_USE_DEFAULT, TRUE);
 
        }
@@ -307,7 +312,7 @@ void ppc_vm_init(uint64_t mem_limit, boot_args *args)
        for(addr = trunc_page(end); addr < round_page(static_memory_end); addr += PAGE_SIZE) {
 
                pmap_enter(kernel_pmap, (vm_map_address_t)addr, (ppnum_t)addr>>12, 
-                       VM_PROT_READ|VM_PROT_WRITE, 
+                       VM_PROT_READ|VM_PROT_WRITE|VM_PROT_EXECUTE
                        VM_WIMG_USE_DEFAULT, TRUE);
 
        }