[gem5-dev] Change in gem5/gem5[release-staging-v20.0.0.0]: x86: Set a physical address for local accesses.

2020-05-13 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/28987 )


Change subject: x86: Set a physical address for local accesses.
..

x86: Set a physical address for local accesses.

This avoids problems when other parts of the simulator blindly try to
retrieve the physical address.

Change-Id: Ia13a2b85b9f919e1e81a6a0f67d10858e98244e5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28987
Reviewed-by: Gabe Black 
Maintainer: Gabe Black 
Maintainer: Bobby R. Bruce 
Tested-by: kokoro 
---
M src/arch/x86/tlb.cc
1 file changed, 3 insertions(+), 0 deletions(-)

Approvals:
  Gabe Black: Looks good to me, approved; Looks good to me, approved
  Bobby R. Bruce: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/arch/x86/tlb.cc b/src/arch/x86/tlb.cc
index ceccba8..71ab563 100644
--- a/src/arch/x86/tlb.cc
+++ b/src/arch/x86/tlb.cc
@@ -206,6 +206,7 @@
 if (!msrAddrToIndex(regNum, vaddr))
 return std::make_shared(0);

+req->setPaddr(req->getVaddr());
 req->setLocalAccessor(
 [read,regNum](ThreadContext *tc, PacketPtr pkt)
 {
@@ -223,6 +224,7 @@
 // space.
 assert(!(IOPort & ~0x));
 if (IOPort == 0xCF8 && req->getSize() == 4) {
+req->setPaddr(req->getVaddr());
 req->setLocalAccessor(
 [read](ThreadContext *tc, PacketPtr pkt)
 {
@@ -262,6 +264,7 @@
 req->setFlags(Request::STRICT_ORDER);
 uint8_t func;
 PseudoInst::decodeAddrOffset(paddr - m5opRange.start(), func);
+req->setPaddr(req->getVaddr());
 req->setLocalAccessor(
 [func, mode](ThreadContext *tc, PacketPtr pkt) -> Cycles
 {

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28987
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: Ia13a2b85b9f919e1e81a6a0f67d10858e98244e5
Gerrit-Change-Number: 28987
Gerrit-PatchSet: 2
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Ayaz Akram 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Bradford Beckmann 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
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: Update release notes

2020-05-13 Thread Jason Lowe-Power (Gerrit) via gem5-dev
Jason Lowe-Power has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/29067 )



Change subject: misc: Update release notes
..

misc: Update release notes

Change-Id: I3851a3780aae283d4dba5ab5afa20a4a02bc8e6d
Signed-off-by: Jason Lowe-Power 
---
M RELEASE-NOTES.md
1 file changed, 71 insertions(+), 6 deletions(-)



diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index 6f80906..4916d07 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -1,11 +1,76 @@
 # Version 20.0.0.0

-* Compiling and running gem5 with Python 3 is now fully supported.
-* Compiling and running gem5 with GCC 8 and 9 is now supported.
-* Scons-based tests have been migrated to the testlib framework. Please  
consult TESTING.md for more information on how these may be run.

-* Support for the ALPHA ISA has been dropped.
+## New features
+
+* [gem5-resources  
repository](https://gem5.googlesource.com/public/gem5-resources/)
+  * This new repository will store all of the *sources* (e.g., code) used  
to create testing and research resources. This includes disk images,  
testing binaries, kernel binaries, etc.

+  * Binaries created with the sources are hosted on dist.gem5.org.
+  * Details on the new page for resources:  
.
 * Memory SimObjects can now be initialized using an image file using the  
image_file parameter.
-* The m5 utility has been revamped with a new build system based on scons,  
tests, and updated and more consistent feature support.
+* **[USER-FACING CHANGE]** The m5 utility has been revamped with a new  
build system based on scons, tests, and updated and more consistent feature  
support.

+  * To build, now use `scons build//out/m5`, not `make`.
+  * [Documentation](http://www.gem5.org/documentation/general_docs/m5ops/)  
coming soon.
 * Robust support for marshalling data from a function call inside the  
simulation to a function within gem5 using a predefined set of rules.
-* Workload configuration pulled out into its own object, simplifying the  
System object and making workload configuration more modular and flexible.
+  * Developers can specify an ABI for guest<->simultor calls and  
then "just call functions".

+  * Unifies pseudo-inst, syscall, and other support.
+  * Code within gem5 has been updated. However, users which added new  
pseudo-ops may have to update their code.
+* **[PYTHON API CHANGE]** Workload configuration pulled out into its own  
object, simplifying the System object and making workload configuration  
more modular and flexible.
+  * All full system config/run scripts must be updated (e.g., anything  
that used the `LinuxX86System` or similar SimObject).
+  * Many of the parameters of `System` are now parameters of the  
`Workload` (see `src/sim/Workload.py`).
+* For instance, many parameters of `LinuxX86System` are now part of  
`X86FsLinux` which is now the `workload` parameter of the `System`  
SimObject.
+  * See https://gem5-review.googlesource.com/c/public/gem5/+/24283/ and  
https://gem5-review.googlesource.com/c/public/gem5/+/26466 for more details.
 * Sv39 paging has been added to the RISC-V ISA, bringing gem5 close to  
running Linux on RISC-V.

+  * (Some) Baremetal OSes are now supported.
+
+## Removed features
+
+* Support for the ALPHA ISA has been dropped.
+  * All ALPHA ISA code has been removed
+  * Old "rcS" scripts for ALPHA have been removed
+
+## New supported platforms
+
+* Compiling and running gem5 with Python 3 is now fully supported.
+  * Lots of code changes required for this.
+  * There may still be some python code that's not up to date. Please open  
a [Jira ticket](https://gem5.atlassian.net/) if you find any code that  
doesn't work with python3.

+* gem5 now supports Ubuntu 20.04.
+* Compiling gem5 with GCC 8 and 9 is now supported.
+* Compiling with clang up to version 9 is now supported.
+
+## Testing improvements
+
+* Scons-based tests have been migrated to the testlib framework.
+  * Tests can now be run with `tests/main.py`, except for the unittests.
+  * Please consult TESTING.md for more information on how these may be run.
+* We are continuing to work on CI tests. Most of the plumbing is there for  
Google Cloud Build integration. See [the Jira  
issue](https://gem5.atlassian.net/browse/GEM5-237) for details.

+
+## Other API changes
+
+* **[API CHANGE]** Ruby's prefetcher renamed to RubyPrefetcher.
+  * Any SLICC protocols with prefetchers need to be updated.
+  * Some config scripts for Ruby protocols with prefetchers may need to be  
updated.

+* **[API CHANGE]** SE mode improvements.
+  * Better support for the mmap and related syscalls.
+  * A new virtual memory area API for tracking SE mode allocations.
+  * When implementing syscalls, the way that guest memory is allocated  
changes. All code in gem5 is updated, but if there are any external  
syscalls, they may need

[gem5-dev] Change in gem5/gem5[release-staging-v20.0.0.0]: util: Update style file->open for python3

2020-05-13 Thread Jason Lowe-Power (Gerrit) via gem5-dev
Jason Lowe-Power has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/29068 )



Change subject: util: Update style file->open for python3
..

util: Update style file->open for python3

Change-Id: Ibcce194b1905f0e7f29aa91fd0ff881ba879ad51
Signed-off-by: Jason Lowe-Power 
---
M util/style/file_types.py
1 file changed, 3 insertions(+), 3 deletions(-)



diff --git a/util/style/file_types.py b/util/style/file_types.py
index 2577492..40d0c6f 100644
--- a/util/style/file_types.py
+++ b/util/style/file_types.py
@@ -104,7 +104,7 @@
 # if a first line was not provided but the file is ok to open,
 # grab the first line of the file.
 if firstline is None and openok:
-handle = file(filename, 'r')
+handle = open(filename, 'r')
 firstline = handle.readline()
 handle.close()

@@ -173,7 +173,7 @@
 mode = 'r+'
 else:
 mode = 'r'
-src = file(src, mode)
+src = open(src, mode)

 orig_lines = []

@@ -196,7 +196,7 @@
 elif isinstance(dst, str):
 # if we're not updating in place and a destination file name
 # was provided, create a file object
-dst = file(dst, 'w')
+dst = open(dst, 'w')

 for line in new_lines:
 dst.write(line)

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/29068
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: Ibcce194b1905f0e7f29aa91fd0ff881ba879ad51
Gerrit-Change-Number: 29068
Gerrit-PatchSet: 1
Gerrit-Owner: Jason Lowe-Power 
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]: sim: Fixes for mremap

2020-05-13 Thread Matthew Poremba (Gerrit) via gem5-dev
Matthew Poremba has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/28948 )


Change subject: sim: Fixes for mremap
..

sim: Fixes for mremap

Remapping memory was trying to map old pages to the same new page and
calling MemState mapRegion unnecessarily. Properly increment the new
page address and remove the redundant mapRegion as remapRegion covers
its functionality.

JIRA: https://gem5.atlassian.net/browse/GEM5-475
Change-Id: Ie360755cfe488b09cbd87cd0ce525b11ac446b51
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28948
Reviewed-by: Jason Lowe-Power 
Maintainer: Jason Lowe-Power 
Tested-by: kokoro 
---
M src/sim/mem_state.cc
M src/sim/syscall_emul.hh
2 files changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/sim/mem_state.cc b/src/sim/mem_state.cc
index 42d3781..f998fff 100644
--- a/src/sim/mem_state.cc
+++ b/src/sim/mem_state.cc
@@ -369,6 +369,7 @@
  new_start_addr);

 start_addr += _pageBytes;
+new_start_addr += _pageBytes;

 /**
  * The regions need to always be page-aligned otherwise the while
diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh
index 5bd9f54..290c48e 100644
--- a/src/sim/syscall_emul.hh
+++ b/src/sim/syscall_emul.hh
@@ -1177,7 +1177,6 @@

 warn("returning %08p as start\n", new_start);
 p->memState->remapRegion(start, new_start, old_length);
-p->memState->mapRegion(new_start, new_length, "remapped");
 return new_start;
 }
 }

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28948
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: Ie360755cfe488b09cbd87cd0ce525b11ac446b51
Gerrit-Change-Number: 28948
Gerrit-PatchSet: 2
Gerrit-Owner: Matthew Poremba 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Brandon Potter 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Matthew Poremba 
Gerrit-Reviewer: Tommaso Marinelli  
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
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