[gem5-dev] Asking for advice about customized Load instruction
Dear, Recently, I would like to add some customized RISC-V instructions as a supplement to gem5. Effective address named "EA" is calculated as follow in "riscv/isa/formats/mem.isa" However, "offset" is calculated as sext<12>(IMM12) within the body of "def format Load". Such assignment is fit for non-compressed instruction. For compressed Load instructions (customized instructions by ourselves), however, how can I make "offset" a different value with the expected operations? Best Regards, Jiasen Huang temp4cj.png Description: Binary data ___ 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] Re: bug squashing renamed pinned registers in o3?
Hi Gabe, If you encounter a further problem which hangs simulation when using O3, please also cherry-pick this related patch: https://gem5-review.googlesource.com/c/public/gem5/+/26203, which fixes a permanent pipeline stalling problem also caused by renaming mode switching. Hsuan ___ 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[develop]: configs: Update starter_fs.py for latest Arm FS binaries.
Hello Andreas Sandberg, Giacomo Travaglini, I'd like you to do a code review. Please visit https://gem5-review.googlesource.com/c/public/gem5/+/30814 to review the following change. Change subject: configs: Update starter_fs.py for latest Arm FS binaries. .. configs: Update starter_fs.py for latest Arm FS binaries. Updated the default kernel and root device names to match the latest Arm full-system binaries available for download on the gem5 website. Also added a command line option to allow the root device to be specified as an optional command line argument. Change-Id: I27f90ffaf0f4b35c5dcc4c22ac2fbd34f8a040a4 Reviewed-by: Giacomo Travaglini Reviewed-by: Andreas Sandberg --- M configs/example/arm/starter_fs.py 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/configs/example/arm/starter_fs.py b/configs/example/arm/starter_fs.py index 3033890..8dee137 100644 --- a/configs/example/arm/starter_fs.py +++ b/configs/example/arm/starter_fs.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016-2017 ARM Limited +# Copyright (c) 2016-2017, 2020 ARM Limited # All rights reserved. # # The license below extends only to copyright in the software and shall @@ -58,9 +58,9 @@ import devices -default_dist_version = '20170616' -default_kernel = 'vmlinux.vexpress_gem5_v1_64.' + default_dist_version +default_kernel = 'vmlinux.arm64' default_disk = 'linaro-minimal-aarch64.img' +default_root_device = '/dev/vda1' # Pre-defined CPU configurations. Each tuple must be ordered as : (cpu_class, @@ -112,7 +112,7 @@ # Add the PCI devices we need for this system. The base system # doesn't have any PCI devices by default since they are assumed -# to be added by the configurastion scripts needin them. +# to be added by the configuration scripts needing them. system.pci_devices = [ # Create a VirtIO block device for the system's boot # disk. Attach the disk image using gem5's Copy-on-Write @@ -165,7 +165,7 @@ # memory layout. "norandmaps", # Tell Linux where to find the root disk image. -"root=/dev/vda", +"root=%s" % args.root_device, # Mount the root disk read-write by default. "rw", # Tell Linux about the amount of physical memory present. @@ -206,6 +206,10 @@ parser.add_argument("--disk-image", type=str, default=default_disk, help="Disk to instantiate") +parser.add_argument("--root-device", type=str, +default=default_root_device, +help="OS device name for root partition (default: {})" + .format(default_root_device)) parser.add_argument("--script", type=str, default="", help = "Linux bootscript") parser.add_argument("--cpu", type=str, choices=list(cpu_types.keys()), -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/30814 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: I27f90ffaf0f4b35c5dcc4c22ac2fbd34f8a040a4 Gerrit-Change-Number: 30814 Gerrit-PatchSet: 1 Gerrit-Owner: Richard Cooper Gerrit-Reviewer: Andreas Sandberg Gerrit-Reviewer: Giacomo Travaglini 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[develop]: base: Improve error message occurs when base couldn't open a file
Hoa Nguyen has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/30794 ) Change subject: base: Improve error message occurs when base couldn't open a file .. base: Improve error message occurs when base couldn't open a file Change-Id: Icaa571216f0eed4527a6aaddcf0c6814ad282c56 Signed-off-by: Hoa Nguyen Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/30794 Reviewed-by: Giacomo Travaglini Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- M src/base/output.cc 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved Giacomo Travaglini: Looks good to me, approved kokoro: Regressions pass diff --git a/src/base/output.cc b/src/base/output.cc index 47b8aa7..5703a37 100644 --- a/src/base/output.cc +++ b/src/base/output.cc @@ -84,9 +84,11 @@ _mode(mode), _recreateable(recreateable), _fstream(static_cast(_stream)) { -_fstream->open(dir.resolve(_name).c_str(), _mode); +std::string resolved_path = dir.resolve(_name); -assert(_fstream->is_open()); +_fstream->open(resolved_path.c_str(), _mode); + +panic_if(!_fstream->is_open(), "Failed to open \"%s\"\n", resolved_path); } template -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/30794 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: Icaa571216f0eed4527a6aaddcf0c6814ad282c56 Gerrit-Change-Number: 30794 Gerrit-PatchSet: 2 Gerrit-Owner: Hoa Nguyen Gerrit-Reviewer: Bobby R. Bruce Gerrit-Reviewer: Giacomo Travaglini Gerrit-Reviewer: Hoa Nguyen Gerrit-Reviewer: Jason Lowe-Power Gerrit-Reviewer: Trivikram Reddy 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[develop]: mem: Fix python3 incompatibility issue in slicc's HTML builder
Hoa Nguyen has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/30874 ) Change subject: mem: Fix python3 incompatibility issue in slicc's HTML builder .. mem: Fix python3 incompatibility issue in slicc's HTML builder In python3, an iterator does not have the next() method. next(iterator) works in both python2.7+ and python3. Change-Id: Ic1ceb993018a0f37e8d30086a054ffc2e311bb46 Signed-off-by: Hoa Nguyen --- M src/mem/slicc/generate/html.py 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mem/slicc/generate/html.py b/src/mem/slicc/generate/html.py index ecb4baa..c0ed368 100644 --- a/src/mem/slicc/generate/html.py +++ b/src/mem/slicc/generate/html.py @@ -62,7 +62,7 @@ if i + 1 < len(short): # -- Proceed to next char. Yes I know that changing # the loop var is ugly! -i,c = gen.next() +i,c = next(gen) munged_shorthand += "" munged_shorthand += c munged_shorthand += "" -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/30874 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: Ic1ceb993018a0f37e8d30086a054ffc2e311bb46 Gerrit-Change-Number: 30874 Gerrit-PatchSet: 1 Gerrit-Owner: Hoa Nguyen 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[develop]: mem: Fix python3 incompatibility issue in slicc's HTML builder
Hoa Nguyen has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/30874 ) Change subject: mem: Fix python3 incompatibility issue in slicc's HTML builder .. mem: Fix python3 incompatibility issue in slicc's HTML builder In python3, an iterator does not have the next() method. next(iterator) works in both python2.7+ and python3. Change-Id: Ic1ceb993018a0f37e8d30086a054ffc2e311bb46 Signed-off-by: Hoa Nguyen Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/30874 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- M src/mem/slicc/generate/html.py 1 file 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/mem/slicc/generate/html.py b/src/mem/slicc/generate/html.py index ecb4baa..c0ed368 100644 --- a/src/mem/slicc/generate/html.py +++ b/src/mem/slicc/generate/html.py @@ -62,7 +62,7 @@ if i + 1 < len(short): # -- Proceed to next char. Yes I know that changing # the loop var is ugly! -i,c = gen.next() +i,c = next(gen) munged_shorthand += "" munged_shorthand += c munged_shorthand += "" -- To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/30874 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: Ic1ceb993018a0f37e8d30086a054ffc2e311bb46 Gerrit-Change-Number: 30874 Gerrit-PatchSet: 2 Gerrit-Owner: Hoa Nguyen Gerrit-Reviewer: Bobby R. Bruce Gerrit-Reviewer: Hoa Nguyen Gerrit-Reviewer: Jason Lowe-Power Gerrit-Reviewer: Nikos Nikoleris 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