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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions