diff --git a/kernel/power/apcr/simple_test/Makefile b/kernel/power/apcr/simple_test/Makefile
index ba7a78e83..992402f68 100644
--- a/kernel/power/apcr/simple_test/Makefile
+++ b/kernel/power/apcr/simple_test/Makefile
@@ -1,40 +1,42 @@
EXEC = test.elf
+OBJS += test.o
-H2DIR=${UPDIR}../../../..
-
-include ${H2DIR}/scripts/Makefile.inc.test
-include $(H2DIR)/scripts/Makefile.inc.tools
+include Makefile.inc
ifeq ($(INSTALLPATH),)
export INSTALLPATH := $(H2DIR)/install
endif
-ifeq ($(KERNELPATH),)
-export KERNELPATH := $(H2DIR)/kernel
-endif
-
H2K_KERNEL_PGSIZE := 2
H2K_ALLOC_HEAP_SIZE := 0x1000
BOOTVM_PROG := .test.elf
+ifeq ($(TARGET), rtl)
CRT0_S := $(INSTALLPATH)/src/min_crt0.S
CRT0_O := min_crt0.o
+NOSTARTFILES := -nostartfiles
+EXTRA_CFLAGS += -DRTL
+else
+EXTRA_CFLAGS += -DDEBUG
+endif
-
-CFLAGS = $(OPTIMIZE) -mv$(TOOLARCH) -DARCHV=$(ARCHV) -Wall -Werror -g -I$(INSTALLPATH)/include -I$(KERNELPATH)/include $(EXTRA_CFLAGS)
-LDFLAGS = -nostartfiles -L$(INSTALLPATH)/lib -moslib=h2 -Qunused-arguments
+CFLAGS := $(OPTIMIZE) -mv$(TOOLARCH) -DARCHV=$(ARCHV) -Wall -Werror -g -I$(INSTALLPATH)/include -I$(KERNELPATH)/include -Wno-builtin-requires-header $(EXTRA_CFLAGS)
+BOOTVM_LDFLAGS = $(NOSTARTFILES) -L$(INSTALLPATH)/lib -moslib=h2 -Qunused-arguments
all: $(BOOTVM_PROG)
-include $(H2DIR)/scripts/Makefile.inc.config
-include $(H2DIR)/scripts/Makefile.inc.opensource
include $(H2DIR)/scripts/Makefile.inc.bootvm
CLEANUP += *.elf $(BOOTVM_CLEAN) hello stats.* *.o pmu_statsfile.txt
+$(BOOTVM_IMAGE): LDFLAGS = $(BOOTVM_LDFLAGS)
+$(BOOTVM_PROG_TMP): LDFLAGS = $(BOOTVM_LDFLAGS)
+$(BOOTVM_PROG): LDFLAGS = $(BOOTVM_LDFLAGS)
+
$(BOOTVM_IMAGE): test.o $(CRT0_O) $(BOOTVM_IMAGE_DEPS)
- ${CC} $(LDFLAGS) $(CFLAGS) $(BOOTVM_IMAGE_CFLAGS) -Wl,--defsym=HEAP_SIZE=0x10000 -Wl,--defsym=STACK_SIZE=0x1000 -o $@ test.o $(CRT0_O) $(BOOTVM_ENTRY_O)
+ ${CC} $(LDFLAGS) $(CFLAGS) $(BOOTVM_IMAGE_CFLAGS) -Wl,--defsym=HEAP_SIZE=0x10000 -Wl,--defsym=STACK_SIZE=0x1000 -Wl,--defsym=__h2_thread_stop_hook__=0xfffffff0 -o $@ test.o $(CRT0_O) $(BOOTVM_ENTRY_O) 2>&1 | perl -pe 's/.*Symbol.*__h2_.*_hook__.*is defined in both linker script and input file.*//';
+
# This bit of stupidity is needed to suppress warnings about changing the
# recipe for test.elf
diff --git a/kernel/power/apcr/simple_test/Makefile.inc b/kernel/power/apcr/simple_test/Makefile.inc
index 9345612b4..1491fc7a8 100644
--- a/kernel/power/apcr/simple_test/Makefile.inc
+++ b/kernel/power/apcr/simple_test/Makefile.inc
@@ -1,7 +1,6 @@
# Not an H2 regression test (for now?)
# # Need to define how to get back to the main H2 dir
-# H2DIR=${UPDIR}../../../..
-
-# # Everything else defined here
-# include ${H2DIR}/scripts/Makefile.inc.test
+H2DIR=${UPDIR}../../../..
+# Everything else defined here
+include ${H2DIR}/scripts/Makefile.inc.test
diff --git a/kernel/power/apcr/simple_test/test.c b/kernel/power/apcr/simple_test/test.c
index 3d6da2b63..734a663fa 100644
--- a/kernel/power/apcr/simple_test/test.c
+++ b/kernel/power/apcr/simple_test/test.c
@@ -4,38 +4,46 @@
*/
#include
-/* #include */
-/* #include */
-/* #include */
+#include
+#include
-#ifndef DEBUG
+#ifdef RTL
#define ITERS 1
#ifndef INTERRUPT_NUM
#define INTERRUPT_NUM 3
#endif
#else
#define ITERS 2
-#ifndef INTERRUPT_NUM
-#define INTERRUPT_NUM 5
+#define HAVE_TIMER
#endif
+
+#ifdef HAVE_TIMER
+#define SLEEP (1000*1000*5)
#endif
-#define PASSFAIL_VA 0x01000000
+#define PASSFAIL_VA (H2K_GUEST_START + 0x01000000)
-int main()
+int main()
{
int i;
unsigned int *sigil = (void *)(PASSFAIL_VA);
for (i = 0; i < ITERS; i++) {
+#ifdef HAVE_TIMER
+ h2_nanosleep(SLEEP);
+#else
h2_intwait(INTERRUPT_NUM);
-
-#ifdef DEBUG
+#endif
+#ifndef RTL
*sigil = i + 1;
#endif
}
*sigil = 0xe0f0beef;
h2_dccleana(sigil);
+#ifndef RTL
+ printf("TEST PASSED\n");
+ exit(0);
+#endif
h2_thread_stop_trap(0);
return 0;
}
diff --git a/kernel/power/apcr/test_multi/Makefile b/kernel/power/apcr/test_multi/Makefile
index 960519a36..eaede4883 100644
--- a/kernel/power/apcr/test_multi/Makefile
+++ b/kernel/power/apcr/test_multi/Makefile
@@ -1,6 +1,6 @@
EXEC = test.elf
OBJS += test.o
-#OBJS += $(BOOTVM_ENTRY_O)
+
include Makefile.inc
@@ -8,10 +8,6 @@ ifeq ($(INSTALLPATH),)
export INSTALLPATH := $(H2DIR)/install
endif
-# ifeq ($(KERNELPATH),)
-# export KERNELPATH := $(H2DIR)/kernel
-# endif
-
H2K_KERNEL_PGSIZE := 2
BOOTVM_PROG := .test.elf
@@ -26,8 +22,7 @@ EXTRA_CFLAGS += -DDEBUG
endif
CFLAGS := $(OPTIMIZE) -mv$(TOOLARCH) -DARCHV=$(ARCHV) -Wall -Werror -g -I$(INSTALLPATH)/include -I$(KERNELPATH)/include -Wno-builtin-requires-header $(EXTRA_CFLAGS)
-LDFLAGS = $(NOSTARTFILES) -L$(INSTALLPATH)/lib -moslib=h2 -Qunused-arguments
-
+BOOTVM_LDFLAGS = $(NOSTARTFILES) -L$(INSTALLPATH)/lib -moslib=h2 -Qunused-arguments
all: $(BOOTVM_PROG)
@@ -35,6 +30,9 @@ include $(H2DIR)/scripts/Makefile.inc.bootvm
CLEANUP += *.elf $(BOOTVM_CLEAN) hello stats.* *.o pmu_statsfile.txt
+$(BOOTVM_IMAGE): LDFLAGS = $(BOOTVM_LDFLAGS)
+$(BOOTVM_PROG_TMP): LDFLAGS = $(BOOTVM_LDFLAGS)
+$(BOOTVM_PROG): LDFLAGS = $(BOOTVM_LDFLAGS)
$(BOOTVM_IMAGE): test.o $(CRT0_O) $(BOOTVM_IMAGE_DEPS)
${CC} $(LDFLAGS) $(CFLAGS) $(BOOTVM_IMAGE_CFLAGS) -Wl,--defsym=HEAP_SIZE=0x10000 -Wl,--defsym=STACK_SIZE=0x1000 -Wl,--defsym=__h2_thread_stop_hook__=0xfffffff0 -o $@ test.o $(CRT0_O) $(BOOTVM_ENTRY_O) 2>&1 | perl -pe 's/.*Symbol.*__h2_.*_hook__.*is defined in both linker script and input file.*//';
diff --git a/libs/h2/vmtraps/test/test_pcycles/test.c b/libs/h2/vmtraps/test/test_pcycles/test.c
index 94f468adf..16f8a9b05 100644
--- a/libs/h2/vmtraps/test/test_pcycles/test.c
+++ b/libs/h2/vmtraps/test/test_pcycles/test.c
@@ -28,7 +28,10 @@
#elif ARCHV == 5
#define PCYCLES_PER_TCYCLE 3
#define OVERHEAD 1536
-#elif ARCHV == 60
+#elif ARCHV >= 68
+#define PCYCLES_PER_TCYCLE 3
+#define OVERHEAD 1536
+#elif ARCHV >= 60
#define PCYCLES_PER_TCYCLE 2
#define OVERHEAD 1536
#else
diff --git a/scripts/testlist.v61 b/scripts/testlist.v61
index 3a04dca22..c8b36bded 100644
--- a/scripts/testlist.v61
+++ b/scripts/testlist.v61
@@ -30,9 +30,9 @@
./kernel/mem/tlbmisc/test
./kernel/mem/tlbmiss/test
#./kernel/mem/varadix/test FIXME: needs to adapt to different kernel page size/count
-#./kernel/power/apcr/test_multi FIXME: needs changes to work with new ${EXEC}_tmp make target
+./kernel/power/apcr/test_multi
./kernel/power/hvx/test
-#./kernel/power/apcr/simple_test
+./kernel/power/apcr/simple_test
./kernel/sched/check_sanity/test/tests/H2K_check_sanity/scenarios
./kernel/sched/dosched/test/test
./kernel/futex/futex/test/tests/badaccess
@@ -82,17 +82,17 @@
./kernel/vm/vmmap/test
./kernel/vm/vmcache/test
-#./libs/h2/alloc/test
-#./libs/h2/allsignal/test/simple
-#./libs/h2/allsignal/test/trapfails
-#./libs/h2/anysignal/test/simple
-#./libs/h2/anysignal/test/trapfails
-#./libs/h2/error/test/simple
-#./libs/h2/sem/test/simple
-#./libs/h2/sleep/test
-#./libs/h2/vmtraps/test/test_ie
-#./libs/h2/vmtraps/test/test_pcycles
-#./libs/h2/vmtraps/test/test_return
+./libs/h2_compat/alloc/test
+./libs/h2_compat/allsignal/test/simple
+./libs/h2_compat/allsignal/test/trapfails
+./libs/h2_compat/anysignal/test/simple
+./libs/h2_compat/anysignal/test/trapfails
+./libs/h2_compat/error/test/simple
+./libs/h2_compat/sem/test/simple
+./libs/h2_compat/sleep/test
+./libs/h2/vmtraps/test/test_ie
+./libs/h2/vmtraps/test/test_pcycles
+./libs/h2/vmtraps/test/test_return
./libs/h2/vmtraps/test/test_yield
./perf/setie
diff --git a/scripts/testlist.v81 b/scripts/testlist.v81
index 63f4ea5ca..844788fd7 100644
--- a/scripts/testlist.v81
+++ b/scripts/testlist.v81
@@ -30,16 +30,16 @@
./kernel/mem/tlbmisc/test
./kernel/mem/tlbmiss/test
# ./kernel/mem/varadix/test FIXME: needs to adapt to different kernel page size/count
-# ./kernel/power/apcr/test_multi FIXME: needs changes to work with new ${EXEC}_tmp make target
+./kernel/power/apcr/test_multi
./kernel/power/hvx/test
-#./kernel/power/apcr/simple_test
+./kernel/power/apcr/simple_test
./kernel/sched/check_sanity/test/tests/H2K_check_sanity/scenarios
./kernel/sched/dosched/test/test
./kernel/futex/futex/test/tests/badaccess
./kernel/futex/futex/test/tests/find_match
./kernel/futex/futex/test/tests/multi_va
./kernel/futex/futex/test/tests/multi_wake
-#./kernel/futex/futex/test/tests/pi # FIXME: timing-dependent fails
+./kernel/futex/futex/test/tests/pi
./kernel/futex/futex/test/tests/simple_lock_unlock
./kernel/sched/lowprio/test
./kernel/sched/resched/test
@@ -90,9 +90,8 @@
./libs/h2_compat/error/test/simple
./libs/h2_compat/sem/test/simple
./libs/h2_compat/sleep/test
-
./libs/h2/vmtraps/test/test_ie
-#./libs/h2/vmtraps/test/test_pcycles
+./libs/h2/vmtraps/test/test_pcycles
./libs/h2/vmtraps/test/test_return
./libs/h2/vmtraps/test/test_yield