From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4F8418C4.400@domain.hid> Date: Tue, 10 Apr 2012 13:25:56 +0200 From: Gilles Chanteperdrix MIME-Version: 1.0 References: <4F50A422.50208@domain.hid> <4F55C306.8020307@domain.hid> <4F55D765.7040705@domain.hid> <4F55E390.8090706@domain.hid> <4F55FE81.6000904@domain.hid> <4F560A6C.2080306@domain.hid> <4F560B76.5080606@domain.hid> <4F5629D2.50304@domain.hid> <4F562B53.7070400@domain.hid> <4F562EC2.6040604@domain.hid> <4F56387B.40702@domain.hid> <4F575BA3.7060404@domain.hid> <4F576622.1030509@domain.hid> <4F57A567.7030008@domain.hid> <4F7C127D.2010400@domain.hid> <4F7C1484.5090406@domain.hid> <4F7C183F.5040009@domain.hid> <4F7F0D4E.8080906@domain.hid> <4F7F0E8A.70702@domain.hid> <4F7F20F0.9070007@domain.hid> <4F80BD10.2060200@domain.hid> <4F83F2C3.50704@domain.hid> <4F83F321.2030300@domain.hid> <4F83F645.7040402@domain.hid> <4F83F828.4000508@domain.hid> <4F83F929.5000300@domain.hid> <4F83FBAB.7040301@domain.hid> <4F83FF49.90608@domain.hid> <4F840DD8.2030407@domain.hid> In-Reply-To: <4F840DD8.2030407@domain.hid> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai-core] preemptive doesn't work List-Id: Xenomai life and development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Roberto Bielli Cc: xenomai@xenomai.org On 04/10/2012 12:39 PM, Roberto Bielli wrote: > Hi Gilles, > > i tried your code but th behavior is the same. > > Then i tried a linux base app and works correctly. The tsc physical address passed to user-space looks wrong. void __ipipe_mach_get_tscinfo(struct __ipipe_tscinfo *info) { info->type = IPIPE_TSC_TYPE_FREERUNNING; if (cpu_is_mx1()) { #ifdef CONFIG_ARCH_MX1 info->u.fr.counter = (unsigned *) (TIM1_BASE_ADDR + MX1_2_TCN); #endif } else if (cpu_is_mx2()) { #ifdef CONFIG_ARCH_MX2 info->u.fr.counter = (unsigned *) (GPT1_BASE_ADDR + MX1_2_TCN); #endif } else if (cpu_is_mx3() || cpu_is_mx25() ) { #if defined CONFIG_ARCH_MX3 || defined CONFIG_ARCH_MX25 info->u.fr.counter = (unsigned *) (GPT1_BASE_ADDR + MX3_TCN); #endif } info->u.fr.mask = 0xffffffff; info->u.fr.tsc = &tsc->full; } Here cpu_is_mx2() will return true, and we will not go to cpu_is_mx25(). Are you using the tsc in user-space? If you are passing --enable-arm-mach=mx2 to xenomai configure script, you are using the tsc in user-space, and it is a wonder how it works. -- Gilles.