On 12/15/2012 04:45 PM, GUGLIELMO NAVARRA wrote:
> Da: Gilles Chanteperdrix [[email protected]]
> Inviato: sabato 15 dicembre 2012 15.54
>> Anyway, I also asked you to run the "tsc" test, what does this test tell
>> you?
You are quoting the part about the tsc test, did you try and run it?
>
> In the structure tsc_info must assign addresses (phy and virt) of timer
> assigned to clocksource or clockevent?
The tsc is a clocksource. If the tsc is based on a free running counter,
what should be accessed in user-space is the free running counter.
The counter which value changes at 27MHz.
The aim is to have an idea of the current time by reading this register.
I do not know how to explain this in any other way.
> I have assigned the offset of timer assigned to clockevent
> (base address is the same because the timer is 64-bit)
The tsc emulation code does not give a damn about any base address. It
simply needs the address of the counter. Nothing else, nothing more.
>
>
> static void l138_xenomai_tsc_init(void)
> {
> struct davinci_soc_info *soc_info = &davinci_soc_info;
> struct davinci_timer_instance *dtip = soc_info->timer_info->timers;
> void __iomem *base;
> base = ioremap(dtip[0].base, SZ_4K);
> tsc_info.type = IPIPE_TSC_TYPE_FREERUNNING;
> tsc_info.freq = l138_clock_tick_rate;
> tsc_info.counter_vaddr = (unsigned long)(base + TIM12);
> tsc_info.u.counter_paddr = dtip[0].base + TIM12;
> tsc_info.u.fr.mask = 0xffffffff;
> __ipipe_tsc_register(&tsc_info);
> }
If the registers are already ioremapped, please do not remap them a
second time. Also, if the tsc emulation was running correctly in
kernel-space, chances are the kernel-space virtual address was already
correct.
And please keep the mailing list in copy.
--
Gilles.
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai