From 6bc2111c9674d0c8db22f6a6adcc00e49625aabd Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Mon, 14 Sep 2020 16:57:50 +0100 Subject: [PATCH] tests: cleanup all SE tests previously moved to gem5-resources The move was done at: https://gem5-review.googlesource.com/c/public/gem5-resources/+/32074 All files keep exact same name, or are obvious renames like underscore to -. threads/ is the only non obvious and remaps to src/simple/std_thread.cpp Only m5-exit is left because it does squashfs generation which wasn't yet moved. Change-Id: I72ad104c9311c2f81af49458bdd44e24a6bafc0a Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34476 Reviewed-by: Bobby R. Bruce Maintainer: Bobby R. Bruce Tested-by: kokoro --- tests/test-progs/chdir-print/Makefile | 20 --- tests/test-progs/chdir-print/README.txt | 67 ------- tests/test-progs/chdir-print/chdir-print.c | 77 -------- tests/test-progs/mwait/Makefile | 20 --- tests/test-progs/mwait/mwait.c | 73 -------- tests/test-progs/page-access-wrap/Makefile | 20 --- .../page-access-wrap/page-access-wrap.cpp | 65 ------- .../stack-print/bin/x86/linux/stack-print | Bin 8664 -> 0 bytes .../test-progs/stack-print/src/stack-print.c | 165 ------------------ 9 files changed, 507 deletions(-) delete mode 100644 tests/test-progs/chdir-print/Makefile delete mode 100644 tests/test-progs/chdir-print/README.txt delete mode 100644 tests/test-progs/chdir-print/chdir-print.c delete mode 100644 tests/test-progs/mwait/Makefile delete mode 100644 tests/test-progs/mwait/mwait.c delete mode 100644 tests/test-progs/page-access-wrap/Makefile delete mode 100644 tests/test-progs/page-access-wrap/page-access-wrap.cpp delete mode 100755 tests/test-progs/stack-print/bin/x86/linux/stack-print delete mode 100644 tests/test-progs/stack-print/src/stack-print.c diff --git a/tests/test-progs/chdir-print/Makefile b/tests/test-progs/chdir-print/Makefile deleted file mode 100644 index 6a357d504..000000000 --- a/tests/test-progs/chdir-print/Makefile +++ /dev/null @@ -1,20 +0,0 @@ - -CPP := g++ - -TEST_OBJS := chdir-print.o -TEST_PROGS := $(TEST_OBJS:.o=) - -# ==== Rules ================================================================== - -.PHONY: default clean - -default: $(TEST_PROGS) - -clean: - $(RM) $(TEST_OBJS) $(TEST_PROGS) - -$(TEST_PROGS): $(TEST_OBJS) - $(CPP) -static -o $@ $@.o - -%.o: %.c Makefile - $(CPP) -c -o $@ $*.c -msse3 diff --git a/tests/test-progs/chdir-print/README.txt b/tests/test-progs/chdir-print/README.txt deleted file mode 100644 index b1e921307..000000000 --- a/tests/test-progs/chdir-print/README.txt +++ /dev/null @@ -1,67 +0,0 @@ -# example test compile and run parameters -# Note: the absolute path to the chdir-print binary should be specified -# in the run command even if running from the same folder. This is needed -# because chdir is executed before triggering a clone for the file read, -# and the cloned process won't be able to find the executable if a relative -# path is provided. - -# compile examples -scons --default=X86 ./build/X86/gem5.opt PROTOCOL=MOESI_hammer -scons --default=X86 ./build/X86/gem5.opt PROTOCOL=MESI_Three_Level - -# run parameters -/build/X86/gem5.opt /configs/example/se.py -c /tests/test-progs/chdir-print/chdir-print -n2 --ruby - - -# example successful output for MESI_Three_Level: - -<...> - -**** REAL SIMULATION **** -info: Entering event queue @ 0. Starting simulation... -warn: Replacement policy updates recently became the responsibility of SLICC state machines. Make sure to setMRU() near callbacks in .sm files! -cwd: /proj/research_simu/users/jalsop/gem5-mem_dif_debug/tests/test-progs/chdir-print/ -cwd: /proc - -<...> - -processor : 0 -vendor_id : Generic -cpu family : 0 -model : 0 -model name : Generic -stepping : 0 -cpu MHz : 2000 -cache size: : 2048K -physical id : 0 -siblings : 2 -core id : 0 -cpu cores : 2 -fpu : yes -fpu exception : yes -cpuid level : 1 -wp : yes -flags : fpu -cache alignment : 64 - -processor : 1 -vendor_id : Generic -cpu family : 0 -model : 0 -model name : Generic -stepping : 0 -cpu MHz : 2000 -cache size: : 2048K -physical id : 0 -siblings : 2 -core id : 1 -cpu cores : 2 -fpu : yes -fpu exception : yes -cpuid level : 1 -wp : yes -flags : fpu -cache alignment : 64 - -SUCCESS -Exiting @ tick 2694923000 because exiting with last active thread context diff --git a/tests/test-progs/chdir-print/chdir-print.c b/tests/test-progs/chdir-print/chdir-print.c deleted file mode 100644 index 71747b62b..000000000 --- a/tests/test-progs/chdir-print/chdir-print.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2011-2015 Advanced Micro Devices, Inc. - * All rights reserved. - * - * For use for simulation and test purposes only - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include - -const int BUFFER_SIZE = 64; - -// Tests the functionality of RegisterFilesystem -int main(void) -{ - char *cwd = getcwd(NULL, PATH_MAX); - printf("cwd: %s\n", cwd); - free(cwd); - - chdir("/proc"); - - cwd = getcwd(NULL, PATH_MAX); - printf("cwd: %s\n", cwd); - free(cwd); - - FILE *fp; - char buffer[BUFFER_SIZE]; - - bool found_procline = false; - fp = popen("cat cpuinfo", "r"); - if (fp != NULL) { - while (fgets(buffer, BUFFER_SIZE, fp) != NULL) { - printf("%s", buffer); - if (strstr(buffer, "processor")) { - found_procline = true; - } - } - pclose(fp); - } - - if (found_procline) { - printf("SUCCESS\n"); - return EXIT_SUCCESS; - } - - printf("FAILURE\n"); - return EXIT_FAILURE; -} diff --git a/tests/test-progs/mwait/Makefile b/tests/test-progs/mwait/Makefile deleted file mode 100644 index 6b888118d..000000000 --- a/tests/test-progs/mwait/Makefile +++ /dev/null @@ -1,20 +0,0 @@ - -CPP := g++ - -TEST_OBJS := mwait.o -TEST_PROGS := $(TEST_OBJS:.o=) - -# ==== Rules ================================================================== - -.PHONY: default clean - -default: $(TEST_PROGS) - -clean: - $(RM) $(TEST_OBJS) $(TEST_PROGS) - -$(TEST_PROGS): $(TEST_OBJS) - $(CPP) -static -o $@ $@.o pthread.o - -%.o: %.c Makefile - $(CPP) -c -o $@ $*.c -msse3 diff --git a/tests/test-progs/mwait/mwait.c b/tests/test-progs/mwait/mwait.c deleted file mode 100644 index e1b203545..000000000 --- a/tests/test-progs/mwait/mwait.c +++ /dev/null @@ -1,73 +0,0 @@ -// author: Marc Orr - -#include -#include -#include - -#define NUM_TRIES 1000 - -// Make sure that flags and wait sit in different cache lines -volatile int flags[10]; -volatile int wait[10]; - -pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; - -void *DoWork1(void *threadid) -{ - flags[0] = flags[0] + 1; - wait[0] = 0; - pthread_exit(0); -} - -void *DoWork2(void *threadid) -{ - pthread_mutex_lock (&mutex); - flags[0] = flags[0] + 1; - pthread_mutex_unlock (&mutex); - pthread_exit(0); -} - -//////////////////////////////////////////////////////////////////////////////// -// Program main -//////////////////////////////////////////////////////////////////////////////// -int main( int argc, char** argv) -{ - // stuff for thread - pthread_t threads[1]; - - // initialize global variables - flags[0] = 0; - wait[0] = 1; - - // monitor (via gcc intrinsic) - __builtin_ia32_monitor ((void *)&flags, 0, 0); - - // invalidate flags in this cpu's cache - pthread_create(&threads[0], NULL, DoWork1, NULL); - while (wait[0]); - - // launch thread to invalidate address being monitored - pthread_create(&threads[0], NULL, DoWork2, NULL); - - // wait for other thread to modify flags - int mwait_cnt = 0; - do { - pthread_mutex_lock (&mutex); - if (flags[0] != 2) { - pthread_mutex_unlock (&mutex); - __builtin_ia32_mwait(0, 0); - } else { - pthread_mutex_unlock (&mutex); - } - mwait_cnt++; - } while (flags[0] != 2 && mwait_cnt < NUM_TRIES); - - // test may hang if mwait is not working - if (flags[0]==2) { - printf("mwait regression PASSED, flags[0] = %d\n", flags[0]); - } else { - printf("mwait regression FAILED, flags[0] = %d\n", flags[0]); - } - - return 0; -} diff --git a/tests/test-progs/page-access-wrap/Makefile b/tests/test-progs/page-access-wrap/Makefile deleted file mode 100644 index 41e7a1819..000000000 --- a/tests/test-progs/page-access-wrap/Makefile +++ /dev/null @@ -1,20 +0,0 @@ - -CPP := g++ - -TEST_OBJS := page-access-wrap.o -TEST_PROGS := $(TEST_OBJS:.o=) - -# ==== Rules ================================================================== - -.PHONY: default clean - -default: $(TEST_PROGS) - -clean: - $(RM) $(TEST_OBJS) $(TEST_PROGS) - -$(TEST_PROGS): $(TEST_OBJS) - $(CPP) -static -o $@ $@.o - -%.o: %.c Makefile - $(CPP) -c -o $@ $*.c -msse3 diff --git a/tests/test-progs/page-access-wrap/page-access-wrap.cpp b/tests/test-progs/page-access-wrap/page-access-wrap.cpp deleted file mode 100644 index 6e536aab0..000000000 --- a/tests/test-progs/page-access-wrap/page-access-wrap.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2019 Advanced Micro Devices, Inc. - * All rights reserved. - * - * For use for simulation and test purposes only - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include - -#include -#include -#include -#include - -int main(void) -{ - uint64_t page_size = 0x1000; - uint64_t num_pages = 0x10000; - uint64_t length = page_size * num_pages; - - void *raw = mmap(NULL, length, PROT_WRITE, MAP_ANON|MAP_PRIVATE, -1, 0); - uint8_t *mem = reinterpret_cast(raw); - - srand(0xABCD); - - uint64_t last_byte = page_size - 1; - uint64_t page_boundaries = num_pages - 1; - - for (int i = 0; i < 2000; i++) { - uint64_t random_boundary = rand() % page_boundaries; - uint64_t boundary_offset = random_boundary * page_size; - uint64_t boundary_last_byte = boundary_offset + last_byte; - uint32_t *poke = reinterpret_cast(mem + boundary_last_byte); - printf("%p\n", poke); - uint32_t value = *poke; - } - - return 0; -} diff --git a/tests/test-progs/stack-print/bin/x86/linux/stack-print b/tests/test-progs/stack-print/bin/x86/linux/stack-print deleted file mode 100755 index e40dc481c00117cef309f62660f95d026430e56f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8664 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 diff --git a/tests/test-progs/stack-print/src/stack-print.c b/tests/test-progs/stack-print/src/stack-print.c deleted file mode 100644 index 9fbf962bc..000000000 --- a/tests/test-progs/stack-print/src/stack-print.c +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright (c) 2017 Advanced Micro Devices, Inc. - * All rights reserved. - * - * For use for simulation and test purposes only - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - * Author: Brandon Potter - */ - -#include -#include - -int main(int argc, char **argv, char **envp) -{ - int i; - - printf("%p: argc: [%d]\n", &argc, argc); - printf("\n"); - - for (i = 0; i < argc; i++) - printf("%p: argv[%d]: [%s]\n", &argv[i], i, argv[i]); - printf("\n"); - - i = 0; - while (envp[i] != NULL) { - printf("%p: envp[%d]: [%s]\n", &envp[i], i, envp[i]); - i++; - } - printf("\n"); - - Elf64_auxv_t *auxv = (Elf64_auxv_t*)&envp[--i]; - while (auxv++) { - char *type; - switch(auxv->a_type) { - case AT_IGNORE: - type = "AT_IGNORE"; - break; - case AT_EXECFD: - type = "AT_EXECFD"; - break; - case AT_PHDR: - type = "AT_PHDR"; - break; - case AT_PHENT: - type = "AT_PHENT"; - break; - case AT_PHNUM: - type = "AT_PHNUM"; - break; - case AT_PAGESZ: - type = "AT_PAGESZ"; - break; - case AT_BASE: - type = "AT_BASE"; - break; - case AT_FLAGS: - type = "AT_FLAGS"; - break; - case AT_ENTRY: - type = "AT_ENTRY"; - break; - case AT_NOTELF: - type = "AT_NOTELF"; - break; - case AT_UID: - type = "AT_UID"; - break; - case AT_EUID: - type = "AT_EUID"; - break; - case AT_GID: - type = "AT_GID"; - break; - case AT_EGID: - type = "AT_EGID"; - break; - case AT_CLKTCK: - type = "AT_CLKTCK"; - break; - case AT_PLATFORM: - type = "AT_PLATFORM"; - break; - case AT_HWCAP: - type = "AT_HWCAP"; - break; - case AT_FPUCW: - type = "AT_FPUCW"; - break; - case AT_DCACHEBSIZE: - type = "AT_DCACHEBSIZE"; - break; - case AT_ICACHEBSIZE: - type = "AT_ICACHEBSIZE"; - break; - case AT_UCACHEBSIZE: - type = "AT_UCACHEBSIZE"; - break; - case AT_IGNOREPPC: - type = "AT_IGNOREPPC"; - break; - case AT_SECURE: - type = "AT_SECURE"; - break; - case AT_BASE_PLATFORM: - type = "AT_BASE_PLATFORM"; - break; - case AT_RANDOM: - type = "AT_RANDOM"; - break; - case AT_EXECFN: - type = "AT_EXECFN"; - break; - case AT_SYSINFO: - type = "AT_SYSINFO"; - break; - case AT_SYSINFO_EHDR: - type = "AT_SYSINFO_EHDR"; - break; - case AT_L1I_CACHESHAPE: - type = "AT_L1I_CACHESHAPE"; - break; - case AT_L1D_CACHESHAPE: - type = "AT_L1D_CACHESHAPE"; - break; - case AT_L2_CACHESHAPE: - type = "AT_L2_CACHESHAPE"; - break; - case AT_L3_CACHESHAPE: - type = "AT_L3_CACHESHAPE"; - break; - case AT_NULL: - default: - printf("\n"); - return 0; - } - printf("%p: %s: [%lx]\n", auxv, type, auxv->a_un.a_val); - } -} - -- 2.30.2