mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-30 02:28:54 +00:00
ef130a3bf9
Issue #3111 - enable vt-x in kernel configuration Kernel patches: - add unrestricted guest support - avoid kernel boot failure when vt-x is not available - avoid nullpointer in kernel when vcpu is not fully setup - avoid vcpu scheduling bug which causes starvation on same/below prio level - save efer register correctly from guest
28 lines
809 B
Diff
28 lines
809 B
Diff
--- src/kernel/sel4/src/kernel/thread.c
|
|
+++ src/kernel/sel4/src/kernel/thread.c
|
|
@@ -437,8 +437,11 @@ scheduleTCB(tcb_t *tptr)
|
|
void
|
|
timerTick(void)
|
|
{
|
|
- if (likely(thread_state_get_tsType(NODE_STATE(ksCurThread)->tcbState) ==
|
|
- ThreadState_Running)) {
|
|
+ switch (thread_state_get_tsType(NODE_STATE(ksCurThread)->tcbState)) {
|
|
+ case ThreadState_Running:
|
|
+#ifdef CONFIG_VTX
|
|
+ case ThreadState_RunningVM:
|
|
+#endif
|
|
if (NODE_STATE(ksCurThread)->tcbTimeSlice > 1) {
|
|
NODE_STATE(ksCurThread)->tcbTimeSlice--;
|
|
} else {
|
|
@@ -446,6 +449,10 @@ timerTick(void)
|
|
SCHED_APPEND_CURRENT_TCB;
|
|
rescheduleRequired();
|
|
}
|
|
+ break;
|
|
+ default:
|
|
+ /* no tick updates */
|
|
+ break;
|
|
}
|
|
|
|
if (CONFIG_NUM_DOMAINS > 1) {
|