| Index: src/trusted/service_runtime/arch/x86_32/sel_addrspace_x86_32.c
|
| ===================================================================
|
| --- src/trusted/service_runtime/arch/x86_32/sel_addrspace_x86_32.c (revision 6420)
|
| +++ src/trusted/service_runtime/arch/x86_32/sel_addrspace_x86_32.c (working copy)
|
| @@ -26,6 +26,18 @@
|
| *mem = (void *) NACL_TRAMPOLINE_START;
|
| result = NaCl_page_alloc_at_addr(mem, addrsp_size);
|
| *mem = 0;
|
| +#elif NACL_WINDOWS && NACL_BUILD_SUBARCH == 32
|
| + /*
|
| + * On 32 bit Windows, a 1 gigabyte block of address space is reserved before
|
| + * starting up this process to make sure we can create the sandbox. Look for
|
| + * this pre-reserved block and if found, pass its address to the page
|
| + * allocation function.
|
| + */
|
| + if (0 == NaCl_find_prereserved_sandbox_memory(mem, addrsp_size)) {
|
| + result = NaCl_page_alloc_at_addr(mem, addrsp_size);
|
| + } else {
|
| + result = NaCl_page_alloc(mem, addrsp_size);
|
| + }
|
| #else
|
| result = NaCl_page_alloc(mem, addrsp_size);
|
| #endif
|
|
|