Skip to content

Misalignment issue with spinlock #153

@daniel-rossier

Description

@daniel-rossier

@AndreCostaaa I'm facing an issue when injecting a SO3 capsule (container) from LInux.
When starting the OS, I got the following:


soo ~ # ./injector /mnt/ME/virt64.itb 
SOO ME injector (Smart Object Oriented based virtualization framework).
Version: 2025.5
ITB: Domain load addr = 0x41080000
ITB: Domain entry addr = 0x41080000
***************************** Loading SO3 Guest Container *****************************
Max dom size 67108864
Domain length = 16384 pages.
*** Setup page tables of the domain: ***
   Real physical address    	: 0x61000000
   Map size (bytes) 		: 0x4000000
   Intermediate phys address    : 0x41000000
   Stage-2 vttbr 		: (va) 0x10000010d000 - (pa) 0x4010d000
ME FDT device tree: 0x43000000 (phys)


********** Smart Object Oriented SO3 Operating System **********
Copyright (c) 2014-2023 REDS Institute, HEIG-VD, Yverdon
Vers[SO3 INFO] <kernel_start:105> Now bootstraping the kernel ...
SOO Virtualizer (avz) shared page:

- Dom phys offset: 41000000

BUG in /home/rossierd/soo/soo/ME/so3/so3/arch/arm64/include/asm/spinlock.h at line: 41
kernel_panic: entering infinite loop... CPU: 3

The spinlock used at this time is in kernel/timer.c in the following function:

static inline void add_timer(struct timer *timer)
{
	add_entry(&per_cpu(timers, timer->cpu), timer);
}

I merged the updates from origin/main.

Any idea?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions