Skip to content

Misalignment issue with spinlock #153

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?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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