[gem5-dev] Change in gem5/gem5[release-staging-v20.0.0.0]: misc: Fixed GCN3_X86/HSAIL_X86 compilation errors

2020-05-19 Thread Matthew Poremba (Gerrit) via gem5-dev
Matthew Poremba has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/29305 )



Change subject: misc: Fixed GCN3_X86/HSAIL_X86 compilation errors
..

misc: Fixed GCN3_X86/HSAIL_X86 compilation errors

GCN3_X86 and HSAIL_X86 fail to compile. This patch enables compilation.

Issue-on: https://gem5.atlassian.net/browse/GEM5-556
  https://gem5.atlassian.net/browse/GEM5-561

Change-Id: Ib0882dcc013ac097d0d5ab9c0ca401ea00391616
---
M src/dev/hsa/hsa_device.cc
M src/dev/hsa/hsa_driver.cc
M src/dev/hsa/hsa_packet_processor.cc
3 files changed, 5 insertions(+), 31 deletions(-)



diff --git a/src/dev/hsa/hsa_device.cc b/src/dev/hsa/hsa_device.cc
index c23639e..78ec8e8 100644
--- a/src/dev/hsa/hsa_device.cc
+++ b/src/dev/hsa/hsa_device.cc
@@ -102,9 +102,8 @@
  * grab context zero.
  */
 auto process = sys->getThreadContext(0)->getProcessPtr();
-auto mem_state = process->memState;

-if (!mem_state->translate(vaddr, paddr)) {
+if (!process->pTable->translate(vaddr, paddr)) {
 fatal("failed translation: vaddr 0x%x\n", vaddr);
 }
 }
diff --git a/src/dev/hsa/hsa_driver.cc b/src/dev/hsa/hsa_driver.cc
index 08e1db3..3f5c8eb 100644
--- a/src/dev/hsa/hsa_driver.cc
+++ b/src/dev/hsa/hsa_driver.cc
@@ -87,32 +87,8 @@
  * Now map this virtual address to our PIO doorbell interface
  * in the page tables (non-cacheable).
  */
-mem_state->map(start, device->hsaPacketProc().pioAddr, length, false);
+process->pTable->map(start, device->hsaPacketProc().pioAddr,
+ length, false);
 DPRINTF(HSADriver, "amdkfd doorbell mapped to %xp\n", start);
 return start;
 }
-
-/**
- * Forward relevant parameters to packet processor; queueID
- * is used to link doorbell. The queueIDs are not re-used
- * in current implementation, and we allocate only one page
- * (4096 bytes) for doorbells, so check if this queue ID can
- * be mapped into that page.
- */
-void
-HSADriver::allocateQueue(const SETranslatingPortProxy _proxy, Addr  
ioc_buf)

-{
-TypedBufferArg args(ioc_buf);
-args.copyIn(mem_proxy);
-
-if (VOID_PTR_ADD32(0, queueId) >= (void*)0x1000) {
-fatal("%s: Exceeded maximum number of HSA queues allowed\n",  
name());

-}
-
-args->queue_id = queueId++;
-auto _pp = device->hsaPacketProc();
-hsa_pp.setDeviceQueueDesc(args->read_pointer_address,
-  args->ring_base_address, args->queue_id,
-  args->ring_size);
-args.copyOut(mem_proxy);
-}
diff --git a/src/dev/hsa/hsa_packet_processor.cc  
b/src/dev/hsa/hsa_packet_processor.cc

index ad59de5..5fa0fbe 100644
--- a/src/dev/hsa/hsa_packet_processor.cc
+++ b/src/dev/hsa/hsa_packet_processor.cc
@@ -127,7 +127,7 @@
   "%s: write of size %d to reg-offset %d (0x%x)\n",
   __FUNCTION__, pkt->getSize(), daddr, daddr);

-uint32_t doorbell_reg = pkt->get();
+uint32_t doorbell_reg = pkt->getLE();

 DPRINTF(HSAPacketProcessor,
 "%s: write data 0x%x to offset %d (0x%x)\n",
@@ -152,9 +152,8 @@
 // new extensions, it will likely be wrong to just arbitrarily grab  
context

 // zero.
 auto process = sys->getThreadContext(0)->getProcessPtr();
-auto mem_state = process->memState;

-if (!mem_state->translate(vaddr, paddr))
+if (!process->pTable->translate(vaddr, paddr))
 fatal("failed translation: vaddr 0x%x\n", vaddr);
 }


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/29305
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: release-staging-v20.0.0.0
Gerrit-Change-Id: Ib0882dcc013ac097d0d5ab9c0ca401ea00391616
Gerrit-Change-Number: 29305
Gerrit-PatchSet: 1
Gerrit-Owner: Matthew Poremba 
Gerrit-MessageType: newchange
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s


[gem5-dev] Change in gem5/gem5[release-staging-v20.0.0.0]: misc: Fixed GCN3_X86/HSAIL_X86 compilation errors

2020-05-18 Thread Bobby R. Bruce (Gerrit) via gem5-dev
Bobby R. Bruce has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/29293 )



Change subject: misc: Fixed GCN3_X86/HSAIL_X86 compilation errors
..

misc: Fixed GCN3_X86/HSAIL_X86 compilation errors

GCN3_X86 and HSAIL_X86 fail to compile. This patch enables compilation.

Issue-on: https://gem5.atlassian.net/browse/GEM5-556
  https://gem5.atlassian.net/browse/GEM5-561

Change-Id: I663e529622ed90254eaf8be01e23991ed8271b5b
---
M src/SConscript
M src/arch/hsail/gen.py
M src/dev/hsa/HSADevice.py
M src/dev/hsa/HSADriver.py
M src/dev/hsa/hsa_device.cc
M src/dev/hsa/hsa_driver.cc
M src/dev/hsa/hsa_packet_processor.cc
7 files changed, 9 insertions(+), 9 deletions(-)



diff --git a/src/SConscript b/src/SConscript
index 134e2a5..1de8a2d 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -624,7 +624,7 @@
 isas = [ src.get_contents().decode('utf-8') for src in source ]
 target_isa = env['TARGET_ISA']
 def define(isa):
-return isa.upper() + '_ISA'
+return str(isa.upper()) + '_ISA'

 def namespace(isa):
 return isa[0].upper() + isa[1:].lower() + 'ISA'
@@ -669,7 +669,7 @@
 isas = [ src.get_contents() for src in source ]
 target_gpu_isa = env['TARGET_GPU_ISA']
 def define(isa):
-return isa.upper() + '_ISA'
+return str(isa.upper()) + '_ISA'

 def namespace(isa):
 return isa[0].upper() + isa[1:].lower() + 'ISA'
diff --git a/src/arch/hsail/gen.py b/src/arch/hsail/gen.py
index 8dcc92c..5640424 100755
--- a/src/arch/hsail/gen.py
+++ b/src/arch/hsail/gen.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python2.7
+#!/usr/bin/env python
 #  Copyright (c) 2015 Advanced Micro Devices, Inc.
 #  All rights reserved.
 #
diff --git a/src/dev/hsa/HSADevice.py b/src/dev/hsa/HSADevice.py
index 125d6ee..50e3c6d 100644
--- a/src/dev/hsa/HSADevice.py
+++ b/src/dev/hsa/HSADevice.py
@@ -35,7 +35,7 @@
 from m5.SimObject import SimObject
 from m5.params import *
 from m5.proxy import *
-from Device import DmaDevice
+from m5.objects.Device import DmaDevice

 class HSADevice(DmaDevice):
 type = 'HSADevice'
diff --git a/src/dev/hsa/HSADriver.py b/src/dev/hsa/HSADriver.py
index ed742fa..3df22a0 100644
--- a/src/dev/hsa/HSADriver.py
+++ b/src/dev/hsa/HSADriver.py
@@ -35,7 +35,7 @@
 from m5.SimObject import SimObject
 from m5.params import *
 from m5.proxy import *
-from Process import EmulatedDriver
+from m5.objects.Process import EmulatedDriver

 class HSADriver(EmulatedDriver):
 type = 'HSADriver'
diff --git a/src/dev/hsa/hsa_device.cc b/src/dev/hsa/hsa_device.cc
index 01b7a41..c23639e 100644
--- a/src/dev/hsa/hsa_device.cc
+++ b/src/dev/hsa/hsa_device.cc
@@ -102,7 +102,7 @@
  * grab context zero.
  */
 auto process = sys->getThreadContext(0)->getProcessPtr();
-auto mem_state = process->getMemState();
+auto mem_state = process->memState;

 if (!mem_state->translate(vaddr, paddr)) {
 fatal("failed translation: vaddr 0x%x\n", vaddr);
diff --git a/src/dev/hsa/hsa_driver.cc b/src/dev/hsa/hsa_driver.cc
index 5f30159..08e1db3 100644
--- a/src/dev/hsa/hsa_driver.cc
+++ b/src/dev/hsa/hsa_driver.cc
@@ -74,7 +74,7 @@
 "offset: 0x%x)\n", start, length, offset);

 auto process = tc->getProcessPtr();
-auto mem_state = process->getMemState();
+auto mem_state = process->memState;

 // Extend global mmap region if necessary.
 if (start == 0) {
diff --git a/src/dev/hsa/hsa_packet_processor.cc  
b/src/dev/hsa/hsa_packet_processor.cc

index 76da30e..ad59de5 100644
--- a/src/dev/hsa/hsa_packet_processor.cc
+++ b/src/dev/hsa/hsa_packet_processor.cc
@@ -152,7 +152,7 @@
 // new extensions, it will likely be wrong to just arbitrarily grab  
context

 // zero.
 auto process = sys->getThreadContext(0)->getProcessPtr();
-auto mem_state = process->getMemState();
+auto mem_state = process->memState;

 if (!mem_state->translate(vaddr, paddr))
 fatal("failed translation: vaddr 0x%x\n", vaddr);
@@ -396,7 +396,7 @@
  */
 auto tc = sys->getThreadContext(0);
 auto process = tc->getProcessPtr();
-auto mem_state = process->getMemState();
+auto mem_state = process->memState;
 auto _proxy = mem_state->getVirtProxy();
 TypedBufferArg prev_signal(signal_addr);
 prev_signal.copyIn(virt_proxy);

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/29293
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: release-staging-v20.0.0.0
Gerrit-Change-Id: I663e529622ed90254eaf8be01e23991ed8271b5b
Gerrit-Change-Number: 29293
Gerrit-PatchSet: 1
Gerrit-Owner: Bobby R. Bruce 
Gerrit-MessageType: newchange
___
gem5-dev mailing list --