Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add i.MX93 support + bugfixes #50

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion apps/scheduler/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ static void yield_fn(int argc, char **argv)
seL4_Yield();
}

seL4_Send(ep, seL4_MessageInfo_new(0, 0, 0, 0));
/* Do a blocking call that doens't return: */
seL4_Call(ep, seL4_MessageInfo_new(0, 0, 0, 0));
}

static void benchmark_yield(seL4_CPtr ep, ccnt_t *results, volatile ccnt_t *end)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@

#ifdef CONFIG_KERNEL_MCS
#define DO_REPLY_RECV_1(ep, ip, ro, swi) do { \
seL4_MessageInfo_t m = seL4_MessageInfo_new(0, 0, 0, 1); \
register seL4_Word src asm("r0") = (seL4_Word)ep; \
register seL4_MessageInfo_t info asm("r1") = seL4_MessageInfo_new(0, 0, 0, 1); \
register seL4_Word info asm("r1") = m.words[0]; \
register seL4_Word scno asm("r7") = seL4_SysReplyRecv; \
register seL4_Word ro_copy asm("r6") = (seL4_Word) ro; \
register seL4_Word mr0 asm("r2") = ip; \
Expand All @@ -25,8 +26,9 @@

#else
#define DO_REPLY_RECV_1(ep, ip, ro, swi) do { \
seL4_MessageInfo_t m = seL4_MessageInfo_new(0, 0, 0, 1); \
register seL4_Word src asm("r0") = (seL4_Word)ep; \
register seL4_MessageInfo_t info asm("r1") = seL4_MessageInfo_new(0, 0, 0, 1); \
register seL4_Word info asm("r1") = m.words[0]; \
register seL4_Word scno asm("r7") = seL4_SysReplyRecv; \
register seL4_Word mr0 asm("r2") = ip; \
asm volatile(NOPS swi NOPS \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@

#ifdef CONFIG_KERNEL_MCS
#define DO_REPLY_RECV_1(ep, ip, ro, swi) do { \
seL4_MessageInfo_t m = seL4_MessageInfo_new(0, 0, 0, 1); \
register seL4_Word src asm("x0") = (seL4_Word)ep; \
register seL4_MessageInfo_t info asm("x1") = seL4_MessageInfo_new(0, 0, 0, 1); \
register seL4_Word info asm("x1") = m.words[0]; \
register seL4_Word scno asm("x7") = seL4_SysReplyRecv; \
register seL4_Word ro_copy asm("x6") = (seL4_Word) ro; \
register seL4_Word mr0 asm("x2") = ip; \
Expand All @@ -25,8 +26,9 @@

#else
#define DO_REPLY_RECV_1(ep, ip, ro, swi) do { \
seL4_MessageInfo_t m = seL4_MessageInfo_new(0, 0, 0, 1); \
register seL4_Word src asm("x0") = (seL4_Word)ep; \
register seL4_MessageInfo_t info asm("x1") = seL4_MessageInfo_new(0, 0, 0, 1); \
register seL4_Word info asm("x1") = m.words[0]; \
register seL4_Word scno asm("x7") = seL4_SysReplyRecv; \
register seL4_Word mr0 asm("x2") = ip; \
asm volatile(NOPS swi NOPS \
Expand Down
6 changes: 5 additions & 1 deletion settings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,11 @@ if(NOT Sel4benchAllowSettingsOverride)

if(SMP)
if(RELEASE)
set(KernelMaxNumNodes 4 CACHE STRING "" FORCE)
if(KernelPlatformIMX93)
set(KernelMaxNumNodes 2 CACHE STRING "" FORCE)
else()
set(KernelMaxNumNodes 4 CACHE STRING "" FORCE)
endif()
set(AppSmpBench ON CACHE BOOL "" FORCE)
if(KernelPlatImx6)
set(ElfloaderMode "secure supervisor" CACHE STRING "" FORCE)
Expand Down