Merge branch 'thread_scheduler' of https://gitlab.istic.univ-rennes1.fr/simpleos/burritos into thread_scheduler
This commit is contained in:
@ -1,14 +0,0 @@
|
||||
TOPDIR=.
|
||||
include $(TOPDIR)/Makefile.config
|
||||
|
||||
#
|
||||
# Main targets
|
||||
#
|
||||
objdumps:
|
||||
$(MAKE) -C riscv_instructions
|
||||
|
||||
programs:
|
||||
$(MAKE) -C programs
|
||||
|
||||
clean:
|
||||
rm -rf $(TOPDIR)/target
|
@ -1,18 +0,0 @@
|
||||
# This is part of a GNU -*- Makefile -*-, to specify system-dependent
|
||||
# parts of the Makefile enviroment.
|
||||
#
|
||||
# This gets included as part of the GNU-Makefile used in each of
|
||||
# the subdirectories.
|
||||
#
|
||||
# Depending on your platform, you need to select the correct definition.
|
||||
|
||||
## RISCV target compilation toolchain
|
||||
RISCV_PREFIX=/opt/riscv/bin/
|
||||
RISCV_AS = $(RISCV_PREFIX)riscv64-unknown-elf-gcc -x assembler-with-cpp -march=rv64imfd
|
||||
RISCV_GCC = $(RISCV_PREFIX)riscv64-unknown-elf-gcc
|
||||
RISCV_LD = $(RISCV_PREFIX)riscv64-unknown-elf-ld
|
||||
RISCV_OBJDUMP = $(RISCV_PREFIX)riscv64-unknown-elf-objdump
|
||||
RISCV_ASFLAGS = $(RISCV_CPPFLAGS)
|
||||
RISCV_CPPFLAGS = #nil
|
||||
RISCV_CFLAGS = -Wall $(RISCV_CPPFLAGS) -march=rv64imfd
|
||||
RISCV_LDFLAGS = #nil
|
@ -1,24 +0,0 @@
|
||||
include $(TOPDIR)/Makefile.config
|
||||
|
||||
COVERAGE = $(TOPDIR)/riscv_instructions
|
||||
|
||||
AS = $(RISCV_AS) -c
|
||||
GCC = $(RISCV_GCC)
|
||||
LD = $(RISCV_LD)
|
||||
|
||||
INCPATH += -I$(TOPDIR) -I$(COVERAGE)
|
||||
ASFLAGS = $(RISCV_ASFLAGS) $(INCPATH)
|
||||
CFLAGS = $(RISCV_CFLAGS) $(INCPATH)
|
||||
|
||||
# Rules
|
||||
%.a:
|
||||
$(AR) rcv $@ $^
|
||||
|
||||
%.o: %.c
|
||||
$(GCC) $(CFLAGS) -c $<
|
||||
|
||||
%.o: %.s
|
||||
$(AS) $(ASFLAGS) -c $<
|
||||
|
||||
$(PROGRAMS):
|
||||
$(LD) $+ -o $@
|
@ -1,28 +0,0 @@
|
||||
# BurritOS Test programs
|
||||
This folder contains small C programs pertaining to the assessment of the correctness of BurritOS' behavior.
|
||||
|
||||
## Folder Structure
|
||||
- **riscv_instructions**: contains small programs for testing simulator instruction coverage.
|
||||
|
||||
## How to build
|
||||
### In the Makefile.config file
|
||||
Set the variables to the correct paths for the [RISCV Newlib compilation toolchain](https://github.com/riscv-collab/riscv-gnu-toolchain). Simply changing the `RISCV_PREFIX` variable should do the trick. **Do not forget to add a trailing slash**.
|
||||
|
||||
### Exporting objdumps
|
||||
|
||||
```
|
||||
$ make objdumps
|
||||
```
|
||||
|
||||
### Compiling programs
|
||||
```
|
||||
$ make programs
|
||||
```
|
||||
|
||||
### Cleaning
|
||||
```
|
||||
$ make clean
|
||||
```
|
||||
|
||||
### Output folder
|
||||
Compilation results are located in the target/objdumps and target/programs directories.
|
@ -1,2 +0,0 @@
|
||||
TOPDIR = ../
|
||||
include $(TOPDIR)/Makefile.objdumps
|
@ -1,15 +0,0 @@
|
||||
int main() {
|
||||
int x = 0;
|
||||
int y = 1;
|
||||
while (x <= y) {
|
||||
if (x > y) {
|
||||
x += 1;
|
||||
} else if (x == y) {
|
||||
x += y;
|
||||
} else if (x < y) {
|
||||
y += 1;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
int main() {
|
||||
int x = 1;
|
||||
if (x == 1 && x > 0) {
|
||||
x = 2;
|
||||
} else if (x || x == 0 ) {
|
||||
x = 3;
|
||||
} else {
|
||||
x = 0;
|
||||
}
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
int main() {
|
||||
int x = 0;
|
||||
switch(1) {
|
||||
case 1: x = 1; break;
|
||||
default: return;
|
||||
}
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
int test() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int main() {
|
||||
int x = test();
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
int main() {
|
||||
return 1;
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
# Simple arithmetics program
|
||||
|
||||
These allow to check whether the following instructions are correctly implemented.
|
||||
|
||||
- addi
|
||||
- sd
|
||||
- sw
|
||||
- li
|
||||
- sw
|
||||
- lw
|
||||
- mv
|
||||
- addw
|
||||
- nop
|
||||
- ld
|
||||
- ret
|
@ -1,6 +0,0 @@
|
||||
// EXPECTS TWO VARIABLES WITH A VALUE OF UNSIGNED 1
|
||||
void main() {
|
||||
unsigned int x = 0;
|
||||
unsigned int y = 1;
|
||||
x = x + y;
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
// Expecting two variables with a value of two
|
||||
void main() {
|
||||
unsigned int x = 4;
|
||||
unsigned int y = 2;
|
||||
x = x / y;
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
// EXPECTS TWO VARIABLES WITH A VALUE OF UNSIGNED 2
|
||||
void main() {
|
||||
unsigned int x = 1;
|
||||
unsigned int y = 2;
|
||||
x = x * y;
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
// EXPECTS TWO VARIABLES WITH A VALUE OF UNSIGNED 1
|
||||
void main() {
|
||||
unsigned int x = 1;
|
||||
unsigned int y = 1;
|
||||
x = x - y;
|
||||
}
|
Reference in New Issue
Block a user