hwpmc module does not work on armv6/armv7
Arnaud YSMAL
arnaud.ysmal at stormshield.eu
Thu Jun 6 15:54:36 UTC 2019
----- Le 6 Juin 19, à 17:36, Ian Lepore ian at freebsd.org a écrit :
> On Thu, 2019-06-06 at 17:32 +0200, Arnaud YSMAL wrote:
>> ----- Le 6 Juin 19, à 17:22, Ian Lepore ian at freebsd.org a écrit :
>>
>> > On Thu, 2019-06-06 at 15:56 +0200, Arnaud YSMAL wrote:
>> > > Hi,
>> > >
>> > > On an armv6/armv7 box, trying to load the hwpmc module lead to an
>> > > error message stating that the pmc_armv7_finalize symbol is
>> > > undefined.
>> > >
>> > > This can be fixed by adding this in sys/modules/hwpmc/Makefile :
>> > >
>> > > .if ${MACHINE_ARCH:Marmv[67]*} != ""
>> > > SRCS+= hwpmc_armv7.c
>> > > .endif
>> > >
>> > > Does anyone see any reason for not having this?
>> > >
>> > >
>> >
>> > No reason, that was just a bug. I've committed your fix as
>> > r348741,
>> > thanks!
>>
>> Thank you.
>>
>> Sorry for not spotting it earlier but, could you please fix the armv7
>> invariant build with this patch?
>>
>>
>> diff --git a/sys/dev/hwpmc/hwpmc_armv7.c
>> b/sys/dev/hwpmc/hwpmc_armv7.c
>> index 0a601145f8d..d89b5ce302f 100644
>> --- a/sys/dev/hwpmc/hwpmc_armv7.c
>> +++ b/sys/dev/hwpmc/hwpmc_armv7.c
>> @@ -315,11 +315,12 @@ armv7_intr(struct trapframe *tf)
>> int error;
>> int reg, cpu;
>>
>> + cpu = curcpu;
>> +
>> KASSERT(cpu >= 0 && cpu < pmc_cpu_max(),
>> ("[armv7,%d] CPU %d out of range", __LINE__, cpu));
>>
>> retval = 0;
>> - cpu = curcpu;
>> pc = armv7_pcpu[cpu];
>>
>> for (ri = 0; ri < armv7_npmcs; ri++) {
>>
>>
>
> Already did, right before I committed your change. :)
Thanks. :)
> I've just heard on irc that there may be other trouble lurking in armv*
> hwpmc, some kind of fallout from the changes in r334827. Manu is
> looking into it, and will probably post something on the arm@ list when
> he gets it figured out.
Thank you for the information.
>
> -- Ian
More information about the freebsd-hackers
mailing list