shader.cc (11308:7d8836fd043d) | shader.cc (11386:94c09b607a84) |
---|---|
1/* 2 * Copyright (c) 2011-2015 Advanced Micro Devices, Inc. 3 * All rights reserved. 4 * 5 * For use for simulation and test purposes only 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions are met: --- 64 unchanged lines hidden (view full) --- 73Shader::mmap(int length) 74{ 75 76 Addr start; 77 78 // round up length to the next page 79 length = roundUp(length, TheISA::PageBytes); 80 | 1/* 2 * Copyright (c) 2011-2015 Advanced Micro Devices, Inc. 3 * All rights reserved. 4 * 5 * For use for simulation and test purposes only 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions are met: --- 64 unchanged lines hidden (view full) --- 73Shader::mmap(int length) 74{ 75 76 Addr start; 77 78 // round up length to the next page 79 length = roundUp(length, TheISA::PageBytes); 80 |
81 if (X86Linux64::mmapGrowsDown()) { | 81 Process *proc = gpuTc->getProcessPtr(); 82 83 if (proc->mmapGrowsDown()) { |
82 DPRINTF(HSAIL, "GROWS DOWN"); | 84 DPRINTF(HSAIL, "GROWS DOWN"); |
83 start = gpuTc->getProcessPtr()->mmap_end -length; 84 gpuTc->getProcessPtr()->mmap_end = start; | 85 start = proc->mmap_end - length; 86 proc->mmap_end = start; |
85 } else { 86 DPRINTF(HSAIL, "GROWS UP"); | 87 } else { 88 DPRINTF(HSAIL, "GROWS UP"); |
87 start = gpuTc->getProcessPtr()->mmap_end; 88 gpuTc->getProcessPtr()->mmap_end += length; | 89 start = proc->mmap_end; 90 proc->mmap_end += length; |
89 90 // assertion to make sure we don't overwrite the stack (it grows down) | 91 92 // assertion to make sure we don't overwrite the stack (it grows down) |
91 assert(gpuTc->getProcessPtr()->mmap_end < 92 gpuTc->getProcessPtr()->stack_base - 93 gpuTc->getProcessPtr()->max_stack_size); 94 | 93 assert(proc->mmap_end < proc->stack_base - proc->max_stack_size); |
95 } 96 97 DPRINTF(HSAIL,"Shader::mmap start= %#x, %#x\n", start, length); 98 | 94 } 95 96 DPRINTF(HSAIL,"Shader::mmap start= %#x, %#x\n", start, length); 97 |
99 gpuTc->getProcessPtr()->allocateMem(start,length); | 98 proc->allocateMem(start, length); |
100 101 return start; 102} 103 104void 105Shader::init() 106{ 107 // grab the threadContext of the thread running on the CPU --- 305 unchanged lines hidden --- | 99 100 return start; 101} 102 103void 104Shader::init() 105{ 106 // grab the threadContext of the thread running on the CPU --- 305 unchanged lines hidden --- |