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 <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Ciro Santilli
2020-09-14 16:57:50 +01:00
parent 15d60a0e7d
commit 6bc2111c96
9 changed files with 0 additions and 507 deletions

View File

@@ -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

View File

@@ -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
<GEM5_ROOT>/build/X86/gem5.opt <GEM5_ROOT>/configs/example/se.py -c <GEM5_ROOT>/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

View File

@@ -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 <linux/limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
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;
}

View File

@@ -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

View File

@@ -1,73 +0,0 @@
// author: Marc Orr
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#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;
}

View File

@@ -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

View File

@@ -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 <sys/mman.h>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <ctime>
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<uint8_t*>(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<uint32_t*>(mem + boundary_last_byte);
printf("%p\n", poke);
uint32_t value = *poke;
}
return 0;
}

View File

@@ -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 <elf.h>
#include <stdio.h>
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);
}
}