104 static lgrp_cookie_stale_func_t _lgrp_cookie_stale; |
104 static lgrp_cookie_stale_func_t _lgrp_cookie_stale; |
105 static lgrp_cookie_t _lgrp_cookie; |
105 static lgrp_cookie_t _lgrp_cookie; |
106 |
106 |
107 static meminfo_func_t _meminfo; |
107 static meminfo_func_t _meminfo; |
108 |
108 |
109 // Large Page Support--mpss. |
109 // Large Page Support |
110 static bool set_mpss_range(caddr_t start, size_t bytes, size_t align); |
110 static bool setup_large_pages(caddr_t start, size_t bytes, size_t align); |
111 |
111 |
112 static void init_thread_fpu_state(void); |
112 static void init_thread_fpu_state(void); |
113 |
113 |
114 static void try_enable_extended_io(); |
114 static void try_enable_extended_io(); |
115 |
115 |
172 static int commit_memory_impl(char* addr, size_t bytes, |
172 static int commit_memory_impl(char* addr, size_t bytes, |
173 size_t alignment_hint, bool exec); |
173 size_t alignment_hint, bool exec); |
174 static char* mmap_chunk(char *addr, size_t size, int flags, int prot); |
174 static char* mmap_chunk(char *addr, size_t size, int flags, int prot); |
175 static char* anon_mmap(char* requested_addr, size_t bytes, size_t alignment_hint, bool fixed); |
175 static char* anon_mmap(char* requested_addr, size_t bytes, size_t alignment_hint, bool fixed); |
176 static bool mpss_sanity_check(bool warn, size_t * page_size); |
176 static bool mpss_sanity_check(bool warn, size_t * page_size); |
177 static bool ism_sanity_check (bool warn, size_t * page_size); |
|
178 |
177 |
179 // Workaround for 4352906. thr_stksegment sometimes returns |
178 // Workaround for 4352906. thr_stksegment sometimes returns |
180 // a bad value for the primordial thread's stack base when |
179 // a bad value for the primordial thread's stack base when |
181 // it is called more than one time. |
180 // it is called more than one time. |
182 // Workaround is to cache the initial value to avoid further |
181 // Workaround is to cache the initial value to avoid further |