From 9d37ac1fc85f74cc583fc80afe057f47fbe2c98a Mon Sep 17 00:00:00 2001
From: foreman
Date: Wed, 20 May 2015 16:30:03 -0400
Subject: [PATCH] P4 to Git Change 1152825 by bdhanase@bala_workpc_ocl on
2015/05/20 16:19:13
EPR #397491 - According to HSA-Finalizer-ADD, for GPUVM32 private_segment_aperture_base_hi and group_segment_aperture_base_hi should be equal to the 32 bits of the 32 bit private and group segment flat address aperture.
Reviewed by: German
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#362 edit
---
rocclr/runtime/device/gpu/gpuvirtual.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/rocclr/runtime/device/gpu/gpuvirtual.cpp b/rocclr/runtime/device/gpu/gpuvirtual.cpp
index 43c6e42e8d..b569109fa5 100644
--- a/rocclr/runtime/device/gpu/gpuvirtual.cpp
+++ b/rocclr/runtime/device/gpu/gpuvirtual.cpp
@@ -618,10 +618,11 @@ VirtualGPU::allocHsaQueueMem()
}
memset(queue, 0, sizeof(amd_queue_t));
// Provide private and local heap addresses
+ const static uint addressShift = LP64_SWITCH(0, 32);
queue->private_segment_aperture_base_hi =
- static_cast(dev().gslCtx()->getPrivateApertureBase()>>32);
+ static_cast(dev().gslCtx()->getPrivateApertureBase()>>addressShift);
queue->group_segment_aperture_base_hi =
- static_cast(dev().gslCtx()->getSharedApertureBase()>>32);
+ static_cast(dev().gslCtx()->getSharedApertureBase()>>addressShift);
hsaQueueMem_->unmap(NULL);
return true;
}