Testing Fiasco.OC+L4re on ODROID-X2(Exynos4412)

Reinier Millo Sánchez rmillo at uclv.cu
Fri May 22 08:03:24 CEST 2015


Hi Adam and L4 community

I've been testing somethings on the Odroid-X2(Exynos4412). It seems that 
the IRQ handler only handles the first IRQ and disables the IRQs. I have 
added the following code to check the IRQs in the function 
Kernel_thread::bootstrap() in the file 
src/kernel/fiasco/src/kern/kernel_thread.cpp

    Per_cpu_data::run_late_ctors(Cpu::invalid());
    bootstrap_arch();

    Timer_tick::enable(current_cpu());
    Proc::sti();

    ++ Proc::Status st = Proc::interrupts();
    ++ if(st & Proc::Status_interrupts_disabled)
    ++    printf("IRQs are enabled\n");
    ++ else
    ++    printf("IRQs are disabled\n");

    Watchdog::enable();

I'm trying to check that the IRQs are enabled. The Proc::sti() must 
activate the IRQs in the CPSR registers, and Proc::interrupts() must 
return if the interrupts are enabled, but always i'm getting "IRQs are 
disabled". I have tested the hardware with a Linux kernel and it's 
working fine. I have tested "CPSIE i" and "CPSIE f" to enable the 
interrupts and get the same result.
I have incremented the warn level on Fiasco.OC, i'm getting:

    KERNEL: Warning Buddy:alloc Size mismatch: a80 v 1000

I have also tested the local timers on the Exynos4412. The local timer 
at CPU0 is working fine. It has been configured to auto-reload with 
12000 as interval. The local counter decrements the value and reload 
when arrives zero, but don't raises the interrupt.
To test the interrupts have created an small buffer to store the 
Kip::k()->clock on every interrupt. I have used the buffer to avoid the 
call of an interrupt inside another interrupt. I have tried to print the 
values on the function Delay::mesaure(), but it only stores one value. 
The same thing happens if I use a interrupt counter.
Now i'm trying to check the IRQ handler caller, from the general 
mechanism to the specific interrupt handler, to catch the point where 
the IRQs are been disabled.
Anyone have any suggestions?

Best regards

-- 
Lic. Reinier Millo Sánchez
Centro de Estudios de Informática
Universidad Central "Marta Abreu" de Las Villas
Carretera a Camajuaní Km 5 1/2
Santa Clara, Villa Clara, Cuba
CP 54830

"antes de discutir ... respira;
   antes de hablar ... escucha;
  antes de escribir ... piensa;
   antes de herir ... siente;
  antes de rendirte ... intenta;
   antes de morir ... vive"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20150522/bb2d096b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rmillo.vcf
Type: text/x-vcard
Size: 515 bytes
Desc: not available
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20150522/bb2d096b/attachment.vcf>


More information about the l4-hackers mailing list