[gem5-dev] Change in gem5/gem5[develop]: sparc, configs: Initialize ROMs directly, not with the workload.

2020-04-16 Thread Gabe Black (Gerrit)
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27268 )


Change subject: sparc,configs: Initialize ROMs directly, not with the  
workload.

..

sparc,configs: Initialize ROMs directly, not with the workload.

This simplifies the SPARC FS workload significantly, and removes
assumptions about what ROMs exist, where they go, etc. It removes
other components from the loop which don't have anything to contribute
as far as setting up the ROMs.

One side effect of this is that there isn't specialized support for
adding PC based events which would fire in the ROMs, but that was never
done and the files that were being used were flat binary blobs with no
symbols in the first place.

This also necessitates building a unified image which goes into the single
8MB ROM that is located at address 0xfff000. That is simply done
with the following commands:

dd if=/dev/zero of=t1000_rom.bin bs=1024 count=8192
dd if=reset_new.bin of=t1000_rom.bin
dd if=q_new.bin of=t1000_rom.bin bs=1024 seek=64
dd if=openboot_new.bin of=t1000_rom.bin bs=1024 seek=512

This results in an 8MB blob which can be loaded verbatim into the ROM.
Alternatively, and with some extra effort, an ELF file could be
constructed which had each of these components as segments, offset to the
right location in the ELF header. That would be slightly more work to set  
up,

but wouldn't waste space on regions of the image that are all zeroes.

Change-Id: Id4e08f4e047e7bd36a416c197a36be841eba4a15
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27268
Reviewed-by: Gabe Black 
Maintainer: Gabe Black 
Tested-by: Gem5 Cloud Project GCB service account  
<345032938...@cloudbuild.gserviceaccount.com>

---
M configs/common/FSConfig.py
M src/arch/sparc/SparcFsWorkload.py
M src/arch/sparc/fs_workload.cc
M src/arch/sparc/fs_workload.hh
4 files changed, 10 insertions(+), 267 deletions(-)

Approvals:
  Gabe Black: Looks good to me, approved; Looks good to me, approved
  Gem5 Cloud Project GCB service account: Regressions pass



diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py
index 41b70d7..376ae1a 100644
--- a/configs/common/FSConfig.py
+++ b/configs/common/FSConfig.py
@@ -147,26 +147,20 @@
   self.t1000.hvuart.pio_addr + uart_pio_size - 1)
 ]

-workload = SparcFsWorkload(
-reset_bin=binary('reset_new.bin'),
-hypervisor_bin=binary('q_new.bin'),
-openboot_bin=binary('openboot_new.bin'),
-nvram_bin=binary('nvram1'),
-hypervisor_desc_bin=binary('1up-hv.bin'),
-partition_desc_bin=binary('1up-md.bin'),
-)
+workload = SparcFsWorkload()

 # ROM for OBP/Reset/Hypervisor
-self.rom = SimpleMemory(range=AddrRange(workload._rom_base,  
size='8MB'))

+self.rom = SimpleMemory(image_file=binary('t1000_rom.bin'),
+range=AddrRange(0xfff000, size='8MB'))
 # nvram
-self.nvram = SimpleMemory(
-range=AddrRange(workload._nvram_base, size='8kB'))
+self.nvram = SimpleMemory(image_file=binary('nvram1'),
+range=AddrRange(0x1f1100, size='8kB'))
 # hypervisor description
-self.hypervisor_desc = SimpleMemory(
-range=AddrRange(workload._hypervisor_desc_base, size='8kB'))
+self.hypervisor_desc = SimpleMemory(image_file=binary('1up-hv.bin'),
+range=AddrRange(0x1f1208, size='8kB'))
 # partition description
-self.partition_desc = SimpleMemory(
-range=AddrRange(workload._partition_desc_base, size='8kB'))
+self.partition_desc = SimpleMemory(image_file=binary('1up-md.bin'),
+range=AddrRange(0x1f1200, size='8kB'))

 self.rom.port = self.membus.master
 self.nvram.port = self.membus.master
diff --git a/src/arch/sparc/SparcFsWorkload.py  
b/src/arch/sparc/SparcFsWorkload.py

index 7f4677e..6244882 100644
--- a/src/arch/sparc/SparcFsWorkload.py
+++ b/src/arch/sparc/SparcFsWorkload.py
@@ -26,7 +26,6 @@

 from m5.params import *

-from m5.objects.SimpleMemory import SimpleMemory
 from m5.objects.OsKernel import OsKernel

 class SparcFsWorkload(OsKernel):
@@ -35,28 +34,3 @@
 cxx_class = 'SparcISA::FsWorkload'

 load_addr_mask = 0xff
-
-_rom_base = 0xfff000
-_nvram_base = 0x1f1100
-_hypervisor_desc_base = 0x1f1208
-_partition_desc_base = 0x1f1200
-
-reset_addr = Param.Addr(_rom_base, "Address to load ROM at")
-hypervisor_addr = Param.Addr(Addr('64kB') + _rom_base,
- "Address to load hypervisor at")
-openboot_addr = Param.Addr(Addr('512kB') + _rom_base,
-   "Address to load openboot at")
-nvram_addr = Param.Addr(_nvram_base, "Address to put the nvram")
-hypervisor_desc_addr = Param.Addr(_hypervisor_desc_base,
-"Address for the hypervisor description")
-partition_desc_addr = 

[gem5-dev] Change in gem5/gem5[develop]: mem: Support initializing a memory with an image file.

2020-04-16 Thread Gabe Black (Gerrit)
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27267 )


Change subject: mem: Support initializing a memory with an image file.
..

mem: Support initializing a memory with an image file.

This is particularly useful for ROMs. It avoids forcing other components
of the simulation (the System object, the Workload object) from having
to know what ROMs exist, where they are, and what goes on them, and
leaves that to the config script.

Change-Id: Ibbccb82e0d289f0b3942728c30b8f69d28ba
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27267
Reviewed-by: Gabe Black 
Maintainer: Gabe Black 
Tested-by: Gem5 Cloud Project GCB service account  
<345032938...@cloudbuild.gserviceaccount.com>

Tested-by: kokoro 
---
M src/mem/AbstractMemory.py
M src/mem/abstract_mem.cc
M src/mem/abstract_mem.hh
3 files changed, 41 insertions(+), 0 deletions(-)

Approvals:
  Gabe Black: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass
  Gem5 Cloud Project GCB service account: Regressions pass



diff --git a/src/mem/AbstractMemory.py b/src/mem/AbstractMemory.py
index 897e9e3..4c21d52 100644
--- a/src/mem/AbstractMemory.py
+++ b/src/mem/AbstractMemory.py
@@ -64,3 +64,8 @@
 # configuration information about the physical memory layout to
 # the kernel, e.g. using ATAG or ACPI
 conf_table_reported = Param.Bool(True, "Report to configuration table")
+
+# Image file to load into this memory as its initial contents. This is
+# particularly useful for ROMs.
+image_file = Param.String('',
+"Image to load into memory as its initial contents")
diff --git a/src/mem/abstract_mem.cc b/src/mem/abstract_mem.cc
index b5412ba..aa80011 100644
--- a/src/mem/abstract_mem.cc
+++ b/src/mem/abstract_mem.cc
@@ -43,6 +43,8 @@
 #include 

 #include "arch/locked_mem.hh"
+#include "base/loader/memory_image.hh"
+#include "base/loader/object_file.hh"
 #include "cpu/base.hh"
 #include "cpu/thread_context.hh"
 #include "debug/LLSC.hh"
@@ -67,6 +69,38 @@
 }

 void
+AbstractMemory::initState()
+{
+ClockedObject::initState();
+
+const auto  = params()->image_file;
+if (file == "")
+return;
+
+auto *object = createObjectFile(file, true);
+fatal_if(!object, "%s: Could not load %s.", name(), file);
+
+panic_if(!object->loadGlobalSymbols(debugSymbolTable),
+ "%s: Could not load symbols from %s.", name(), file);
+
+MemoryImage image = object->buildImage();
+
+AddrRange image_range(image.minAddr(), image.maxAddr());
+if (!range.contains(image_range.start())) {
+warn("%s: Moving image from %s to memory address range %s.",
+name(), image_range.to_string(), range.to_string());
+image = image.offset(range.start());
+image_range = AddrRange(image.minAddr(), image.maxAddr());
+}
+panic_if(!image_range.isSubset(range), "%s: memory image %s doesn't  
fit.",

+ name(), file);
+
+PortProxy proxy([this](PacketPtr pkt) { functionalAccess(pkt); },  
size());

+
+panic_if(!image.write(proxy), "%s: Unable to write image.");
+}
+
+void
 AbstractMemory::setBackingStore(uint8_t* pmem_addr)
 {
 // If there was an existing backdoor, let everybody know it's going  
away.

diff --git a/src/mem/abstract_mem.hh b/src/mem/abstract_mem.hh
index b1d54fd..616fd0e 100644
--- a/src/mem/abstract_mem.hh
+++ b/src/mem/abstract_mem.hh
@@ -209,6 +209,8 @@
 AbstractMemory(const Params* p);
 virtual ~AbstractMemory() {}

+void initState() override;
+
 /**
  * See if this is a null memory that should never store data and
  * always return zero.

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ibbccb82e0d289f0b3942728c30b8f69d28ba
Gerrit-Change-Number: 27267
Gerrit-PatchSet: 4
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Alexandru Duțu 
Gerrit-Reviewer: Bradford Beckmann 
Gerrit-Reviewer: GAURAV JAIN 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Gem5 Cloud Project GCB service account  
<345032938...@cloudbuild.gserviceaccount.com>

Gerrit-Reviewer: Giacomo Travaglini 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Matt Sinclair 
Gerrit-Reviewer: Matthew Poremba 
Gerrit-Reviewer: Nikos Nikoleris 
Gerrit-Reviewer: kokoro 
Gerrit-CC: Earl Ou 
Gerrit-CC: Yu-hsin Wang 
Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Re: [gem5-dev] gem5-resources: Feedback appreciated!

2020-04-16 Thread Bobby Bruce
Ciro,

Could you flesh out for me what you're asking here, and how it relates to
this gem5-resources repository?

If you want to add code compilable to all ISAs, etc, you'll be free to do
so.

Bobby
--
Dr. Bobby R. Bruce
Room 2235,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net


On Thu, Apr 16, 2020 at 2:40 AM Ciro Santilli  wrote:

> Thanks for this Bobby,
>
> I think this is in your plans, but just to confirm, what I would really
> like to see is a way to build all ISA agnostic C/C++ userland (and
> hopefully baremetal) sources that generate for a give ISA with a single
> build command along the lines of:
> https://gem5-review.googlesource.com/c/public/gem5/+/27308/1/tests/test-progs/Makefile
> (except possibly for huge userland executables that take a long time to
> compile or have non-trivial dependencies)
>
> 
> From: gem5-dev  on behalf of Gabe Black <
> gabebl...@google.com>
> Sent: Tuesday, April 14, 2020 2:43 AM
> To: gem5 Developer List 
> Subject: Re: [gem5-dev] gem5-resources: Feedback appreciated!
>
> I think this is a good idea. I would advocate to not use Make for these
> since it sort of falls over, or gets very complicated, when trying to build
> the same source for multiple target architectures simultaneously. I have
> CLs which convert the m5 utility's build over to scons which I think worked
> out well, and with some thought could be regularized and hopefully made
> easy to stamp out for different test, etc, sources. Of course, as long as
> we don't say though shalt use make, it doesn't really matter in the short
> term since that's relatively easy to change in the future.
>
> Gabe
>
> On Mon, Apr 13, 2020 at 11:58 AM Bobby Bruce  wrote:
>
> > Dear all,
> >
> > As part of the gem5 20 release, we want to improve the way we handle the
> > gem5 resources. What I mean by resources are things such as test
> programs,
> > images, kernels, etc; stuff that we don't strictly need to compile or run
> > gem5, but we frequently use (and/or may be difficult to distribute as
> part
> > of gem5 due to licencing conflicts). At present, some of these are
> > currently committed within the gem5 repository, and some are pulled from
> > our Google Cloud bucket as needed (there may be others outside of this of
> > which I am not aware of).
> >
> > The problem at present is:
> > A) The resources are not available in some common way across the project.
> > B) The resources change over time and this change is not well recorded,
> > particularly in the case of compiled binaries. The source of these
> binaries
> > needs to be provided and changes to them properly logged.
> > C) Similar to B), resources do not map to versions. A resource can change
> > in our cloud bucket over time, which may break certain activities if
> needed
> > by a previous version of gem5.
> >
> > The proposal is to add another repository alongside gem5 and gem5-website
> > on googlesource. This repository will contain the resources' sources,
> which
> > can be compiled to produce the resources used by the project. I've
> started
> > producing this here: https://github.com/gem5/gem5-resources. Please
> have a
> > look and consult the README.md for an explanation on how this repository
> > would work.
> >
> > The compiled products of this repo would be uploaded to our
> dist.gem5.org
> > bucket. If someone wanted to alter or add a resource to gem5, they'd do
> so
> > in this repo (via Gerrit). The gem5-resource directory would adopt the
> same
> > versioning and master/develop branch split system as gem5 currently does.
> > So, as gem5 v20.0.0.0 is released, so would gem5-resources v20.0.0.0.
> > Version X of gem5 would always be assumed to work with version X of
> > gem5-resources. The dist.gem5.org bucket would be kept up to date.
> > dist.gem5.org/dist/current would track changes made to the
> gem5-resources
> > develop branch with dist.gem5.org/dist/${VERSION}
> 
> >  containing the resources
> > for the ${VERSION} release.
> >
> > A few notes:
> > - gem5 19 contains tests that pull from dist.gem5.org/dist/current. I
> > believe I'll need to apply a hotfix to this release to pull from
> > dist.gem5.org/dist/v19-0-0-1 instead.
> > - Right now there is a lot of stuff on dist.gem5.org/dist/current which
> I
> > do not have sources for. I may need to ask around. This may be a bit of
> > work.
> >
> > I'd appreciate feedback on this, if anyone has any, before I proceed
> > further with this plan.
> >
> > Kind regards,
> > Bobby
> > --
> > Dr. Bobby R. Bruce
> > Room 2235,
> > Kemper Hall, UC Davis
> > Davis,
> > CA, 95616
> >
> > web: https://www.bobbybruce.net
> > ___
> > gem5-dev mailing list
> > gem5-dev@gem5.org
> > http://m5sim.org/mailman/listinfo/gem5-dev
> ___
> gem5-dev mailing list
> gem5-dev@gem5.org
> 

[gem5-dev] Change in gem5/gem5[develop]: sim-se: add missing path redirection to mmap createObjectFile

2020-04-16 Thread Ciro Santilli (Gerrit)
Ciro Santilli has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27887 )



Change subject: sim-se: add missing path redirection to mmap  
createObjectFile

..

sim-se: add missing path redirection to mmap createObjectFile

The redirection call was mistakenly removed at:
Ide158e69cdff19bc81157e3e9826bcabc2a51140 and that breaks running
dynamically linked executables in SE.

JIRA: https://gem5.atlassian.net/browse/GEM5-430

Change-Id: I33419c78fbf183cda0bba98f7035a2b25ebc6fa3
---
M src/sim/syscall_emul.hh
1 file changed, 2 insertions(+), 1 deletion(-)



diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh
index e1a23a0..11561a6 100644
--- a/src/sim/syscall_emul.hh
+++ b/src/sim/syscall_emul.hh
@@ -1713,7 +1713,8 @@
 if (p->interpImage.contains(tc->pcState().instAddr())) {
 std::shared_ptr fdep = (*p->fds)[tgt_fd];
 auto ffdp = std::dynamic_pointer_cast(fdep);
-ObjectFile *lib = createObjectFile(ffdp->getFileName());
+ObjectFile *lib = createObjectFile(p->checkPathRedirect(
+ffdp->getFileName()));
 DPRINTF_SYSCALL(Verbose, "Loading symbols from %s\n",
 ffdp->getFileName());


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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I33419c78fbf183cda0bba98f7035a2b25ebc6fa3
Gerrit-Change-Number: 27887
Gerrit-PatchSet: 1
Gerrit-Owner: Ciro Santilli 
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[develop]: configs: make --disk-images optional in fs.py

2020-04-16 Thread Ciro Santilli (Gerrit)
Ciro Santilli has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27867 )



Change subject: configs: make --disk-images optional in fs.py
..

configs: make --disk-images optional in fs.py

The main applications are to run baremetal programs and initramfs Linux
kernel.

Before this patch, disks() calls in makeArmSystem would throw:

IOError: Can't find file 'linux-aarch32-ael.img' on M5_PATH.

In order to achieve this, this commit also removes the default hardcoded
disk image basenames.

For example, before this commit, running without a --disk-image in X86
would automatically search for an image with basename x86root.img in
M5_PATH, which means we would either have to ignore any disk image error,
or else running without disk images would fail.

After this commit, you would have to pass --disk-image x86root.img to
achieve the old behaviour.

Change-Id: I0ae8c4b3b93d0074fd4fca0d5ed52181c50b6c04
---
M configs/common/Benchmarks.py
M configs/common/FSConfig.py
2 files changed, 2 insertions(+), 17 deletions(-)



diff --git a/configs/common/Benchmarks.py b/configs/common/Benchmarks.py
index 4c905e3..8477d77 100644
--- a/configs/common/Benchmarks.py
+++ b/configs/common/Benchmarks.py
@@ -55,16 +55,8 @@
 def disks(self):
 if self.disknames:
 return [disk(diskname) for diskname in self.disknames]
-elif buildEnv['TARGET_ISA'] == 'x86':
-return [env.get('LINUX_IMAGE', disk('x86root.img'))]
-elif buildEnv['TARGET_ISA'] == 'arm':
-return [env.get('LINUX_IMAGE', disk('linux-aarch32-ael.img'))]
-elif buildEnv['TARGET_ISA'] == 'sparc':
-return [env.get('LINUX_IMAGE', disk('disk.s10hw2'))]
 else:
-print("Don't know what default disk image to use for %s ISA" %
-buildEnv['TARGET_ISA'])
-exit(1)
+return []

 def rootdev(self):
 if self.root:
diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py
index 41b70d7..26a8ed3 100644
--- a/configs/common/FSConfig.py
+++ b/configs/common/FSConfig.py
@@ -211,13 +211,6 @@
 self.realview = platform_class()
 self._bootmem = self.realview.bootmem

-if isinstance(self.realview, VExpress_EMM64):
-if os.path.split(mdesc.disks()[0])[-1] == 'linux-aarch32-ael.img':
-print("Selected 64-bit ARM architecture, updating default "
-  "disk image...")
-mdesc.diskname = 'linaro-minimal-aarch64.img'
-
-
 # Attach any PCI devices this platform supports
 self.realview.attachPciDevices()

@@ -284,7 +277,7 @@
 # the error message below. The disk can have any name now and
 # doesn't need to include 'android' substring.
 if (mdesc.disks() and
- 
os.path.split(mdesc.disks()[0])[-1]).lower().count('android'):
+ 
os.path.split(mdesc.disks()[0])[-1].lower().count('android')):

 if 'android' not in mdesc.os_type():
 fatal("It looks like you are trying to boot an Android " \
   "platform.  To boot Android, you must specify " \

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I0ae8c4b3b93d0074fd4fca0d5ed52181c50b6c04
Gerrit-Change-Number: 27867
Gerrit-PatchSet: 1
Gerrit-Owner: Ciro Santilli 
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Re: [gem5-dev] gem5-resources: Feedback appreciated!

2020-04-16 Thread Ciro Santilli
Thanks for this Bobby,

I think this is in your plans, but just to confirm, what I would really like to 
see is a way to build all ISA agnostic C/C++ userland (and hopefully baremetal) 
sources that generate for a give ISA with a single build command along the 
lines of: 
https://gem5-review.googlesource.com/c/public/gem5/+/27308/1/tests/test-progs/Makefile
 (except possibly for huge userland executables that take a long time to 
compile or have non-trivial dependencies)


From: gem5-dev  on behalf of Gabe Black 

Sent: Tuesday, April 14, 2020 2:43 AM
To: gem5 Developer List 
Subject: Re: [gem5-dev] gem5-resources: Feedback appreciated!

I think this is a good idea. I would advocate to not use Make for these
since it sort of falls over, or gets very complicated, when trying to build
the same source for multiple target architectures simultaneously. I have
CLs which convert the m5 utility's build over to scons which I think worked
out well, and with some thought could be regularized and hopefully made
easy to stamp out for different test, etc, sources. Of course, as long as
we don't say though shalt use make, it doesn't really matter in the short
term since that's relatively easy to change in the future.

Gabe

On Mon, Apr 13, 2020 at 11:58 AM Bobby Bruce  wrote:

> Dear all,
>
> As part of the gem5 20 release, we want to improve the way we handle the
> gem5 resources. What I mean by resources are things such as test programs,
> images, kernels, etc; stuff that we don't strictly need to compile or run
> gem5, but we frequently use (and/or may be difficult to distribute as part
> of gem5 due to licencing conflicts). At present, some of these are
> currently committed within the gem5 repository, and some are pulled from
> our Google Cloud bucket as needed (there may be others outside of this of
> which I am not aware of).
>
> The problem at present is:
> A) The resources are not available in some common way across the project.
> B) The resources change over time and this change is not well recorded,
> particularly in the case of compiled binaries. The source of these binaries
> needs to be provided and changes to them properly logged.
> C) Similar to B), resources do not map to versions. A resource can change
> in our cloud bucket over time, which may break certain activities if needed
> by a previous version of gem5.
>
> The proposal is to add another repository alongside gem5 and gem5-website
> on googlesource. This repository will contain the resources' sources, which
> can be compiled to produce the resources used by the project. I've started
> producing this here: https://github.com/gem5/gem5-resources. Please have a
> look and consult the README.md for an explanation on how this repository
> would work.
>
> The compiled products of this repo would be uploaded to our dist.gem5.org
> bucket. If someone wanted to alter or add a resource to gem5, they'd do so
> in this repo (via Gerrit). The gem5-resource directory would adopt the same
> versioning and master/develop branch split system as gem5 currently does.
> So, as gem5 v20.0.0.0 is released, so would gem5-resources v20.0.0.0.
> Version X of gem5 would always be assumed to work with version X of
> gem5-resources. The dist.gem5.org bucket would be kept up to date.
> dist.gem5.org/dist/current would track changes made to the gem5-resources
> develop branch with dist.gem5.org/dist/${VERSION}
>  containing the resources
> for the ${VERSION} release.
>
> A few notes:
> - gem5 19 contains tests that pull from dist.gem5.org/dist/current. I
> believe I'll need to apply a hotfix to this release to pull from
> dist.gem5.org/dist/v19-0-0-1 instead.
> - Right now there is a lot of stuff on dist.gem5.org/dist/current which I
> do not have sources for. I may need to ask around. This may be a bit of
> work.
>
> I'd appreciate feedback on this, if anyone has any, before I proceed
> further with this plan.
>
> Kind regards,
> Bobby
> --
> Dr. Bobby R. Bruce
> Room 2235,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
> ___
> gem5-dev mailing list
> gem5-dev@gem5.org
> http://m5sim.org/mailman/listinfo/gem5-dev
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[develop]: util: Add config files for crosstool-ng toolchains.

2020-04-16 Thread Gabe Black (Gerrit)
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27758 )


Change subject: util: Add config files for crosstool-ng toolchains.
..

util: Add config files for crosstool-ng toolchains.

There is one for each arch gem5 supports, except RISCV which is not
supported by crosstool-ng at the moment. All configs are for Linux, also
because that's what crosstool-ng tends to support.

Change-Id: I898a9e8c7b144c3d690c232fd4fb20ede5430def
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27758
Tested-by: Gem5 Cloud Project GCB service account  
<345032938...@cloudbuild.gserviceaccount.com>

Reviewed-by: Ciro Santilli 
Maintainer: Gabe Black 
---
A util/crosstool-ng/aarch64-linux-gnu.defconfig
A util/crosstool-ng/arm-linux-gnueabihf.defconfig
A util/crosstool-ng/mipsel-linux-gnu.defconfig
A util/crosstool-ng/powerpc-linux-gnu.defconfig
A util/crosstool-ng/sparc64-linux-gnu.defconfig
5 files changed, 53 insertions(+), 0 deletions(-)

Approvals:
  Ciro Santilli: Looks good to me, approved
  Gabe Black: Looks good to me, approved
  Gem5 Cloud Project GCB service account: Regressions pass



diff --git a/util/crosstool-ng/aarch64-linux-gnu.defconfig  
b/util/crosstool-ng/aarch64-linux-gnu.defconfig

new file mode 100644
index 000..385e405
--- /dev/null
+++ b/util/crosstool-ng/aarch64-linux-gnu.defconfig
@@ -0,0 +1,10 @@
+CT_CONFIG_VERSION="3"
+CT_ARCH_ARM=y
+CT_OMIT_TARGET_VENDOR=y
+CT_ARCH_64=y
+CT_KERNEL_LINUX=y
+CT_BINUTILS_PLUGINS=y
+CT_BINUTILS_FOR_TARGET=y
+CT_CREATE_LDSO_CONF=y
+CT_CC_LANG_CXX=y
+CT_DEBUG_GDB=y
diff --git a/util/crosstool-ng/arm-linux-gnueabihf.defconfig  
b/util/crosstool-ng/arm-linux-gnueabihf.defconfig

new file mode 100644
index 000..af6c1e3
--- /dev/null
+++ b/util/crosstool-ng/arm-linux-gnueabihf.defconfig
@@ -0,0 +1,11 @@
+CT_CONFIG_VERSION="3"
+CT_ARCH_ARM=y
+CT_ARCH_ARM_INTERWORKING=y
+CT_OMIT_TARGET_VENDOR=y
+CT_MULTILIB=y
+CT_ARCH_FLOAT_HW=y
+CT_KERNEL_LINUX=y
+CT_BINUTILS_PLUGINS=y
+CT_BINUTILS_FOR_TARGET=y
+CT_CC_LANG_CXX=y
+CT_DEBUG_GDB=y
diff --git a/util/crosstool-ng/mipsel-linux-gnu.defconfig  
b/util/crosstool-ng/mipsel-linux-gnu.defconfig

new file mode 100644
index 000..d457c80
--- /dev/null
+++ b/util/crosstool-ng/mipsel-linux-gnu.defconfig
@@ -0,0 +1,11 @@
+CT_CONFIG_VERSION="3"
+CT_ARCH_MIPS=y
+CT_OMIT_TARGET_VENDOR=y
+CT_ARCH_LE=y
+CT_ARCH_FLOAT_HW=y
+CT_KERNEL_LINUX=y
+CT_BINUTILS_PLUGINS=y
+CT_BINUTILS_FOR_TARGET=y
+CT_CREATE_LDSO_CONF=y
+CT_CC_LANG_CXX=y
+CT_DEBUG_GDB=y
diff --git a/util/crosstool-ng/powerpc-linux-gnu.defconfig  
b/util/crosstool-ng/powerpc-linux-gnu.defconfig

new file mode 100644
index 000..345d24e
--- /dev/null
+++ b/util/crosstool-ng/powerpc-linux-gnu.defconfig
@@ -0,0 +1,10 @@
+CT_CONFIG_VERSION="3"
+CT_ARCH_POWERPC=y
+CT_OMIT_TARGET_VENDOR=y
+CT_ARCH_FLOAT_HW=y
+CT_KERNEL_LINUX=y
+CT_BINUTILS_PLUGINS=y
+CT_BINUTILS_FOR_TARGET=y
+CT_CREATE_LDSO_CONF=y
+CT_CC_LANG_CXX=y
+CT_DEBUG_GDB=y
diff --git a/util/crosstool-ng/sparc64-linux-gnu.defconfig  
b/util/crosstool-ng/sparc64-linux-gnu.defconfig

new file mode 100644
index 000..4a9b3b9
--- /dev/null
+++ b/util/crosstool-ng/sparc64-linux-gnu.defconfig
@@ -0,0 +1,11 @@
+CT_CONFIG_VERSION="3"
+CT_ARCH_SPARC=y
+CT_OMIT_TARGET_VENDOR=y
+CT_ARCH_64=y
+CT_ARCH_FLOAT_HW=y
+CT_KERNEL_LINUX=y
+CT_BINUTILS_PLUGINS=y
+CT_BINUTILS_FOR_TARGET=y
+CT_CREATE_LDSO_CONF=y
+CT_CC_LANG_CXX=y
+CT_DEBUG_GDB=y

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I898a9e8c7b144c3d690c232fd4fb20ede5430def
Gerrit-Change-Number: 27758
Gerrit-PatchSet: 3
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Ciro Santilli 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Gem5 Cloud Project GCB service account  
<345032938...@cloudbuild.gserviceaccount.com>

Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev