Re: Wrong number of CPUs detected on RPI3 and FreeBSD 13.1

From: Otacilio <otacilio.neto_at_bsd.com.br>
Date: Sun, 05 Jun 2022 11:18:57 UTC
After some debug I found that this routine is returning -1:

vi +50 /usr/src/sys/dev/psci/psci.h

/* Handler to let us call into the PSCI/SMCCC firmware */
extern psci_callfn_t psci_callfn;
static inline int
psci_call(register_t a, register_t b, register_t c, register_t d)
{

         return (psci_callfn(a, b, c, d, 0, 0, 0, 0, NULL));
}

/*
  * PSCI return codes.
  */
#define PSCI_RETVAL_SUCCESS             0
#define PSCI_RETVAL_NOT_SUPPORTED       -1
#define PSCI_RETVAL_INVALID_PARAMS      -2

Someone can give-me a hint about the function of psci_callfn ?

Thanks a lot


Em 02/06/2022 11:54, Ronald Klop escreveu:
> No solution, just a data point. My RPI3B+ works fine.
>
> $ cat /var/run/dmesg.boot  | grep CPU
> Starting CPU 1 (1)
> Starting CPU 2 (2)
> Starting CPU 3 (3)
> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
> cpulist0: <Open Firmware CPU Group> on ofwbus0
> cpu0: <Open Firmware CPU> on cpulist0
> bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
> cpu1: <Open Firmware CPU> on cpulist0
> cpu2: <Open Firmware CPU> on cpulist0
> cpu3: <Open Firmware CPU> on cpulist0
> armv8crypto0: CPU lacks AES instructions
> CPU  0: ARM Cortex-A53 r0p4 affinity:  0
> CPU  1: ARM Cortex-A53 r0p4 affinity:  1
> CPU  2: ARM Cortex-A53 r0p4 affinity:  2
> CPU  3: ARM Cortex-A53 r0p4 affinity:  3
>
> $ uname -a
> FreeBSD rpi3 13.1-RELEASE FreeBSD 13.1-RELEASE 
> releng/13.1-n250148-fc952ac2212 GENERIC arm64
>
> $ sysctl hw.model
> hw.model: ARM Cortex-A53 r0p4
>
> # ofwdump -a -P model  | head -n5
> Node 0x48:
>   model:
>     52 61 73 70 62 65 72 72 79 20 50 69 20 33 20 4d 6f 64 65 6c
>     20 42 20 50 6c 75 73 20 52 65 76 20 31 2e 33 00
>     'Raspberry Pi 3 Model B Plus Rev 1.3'
>
> I don't know how to help further, but maybe this gives a difference to 
> dive into.
>
> Regards,
> Ronald.
>
> *Van:* Otacilio <otacilio.neto@bsd.com.br>
> *Datum:* donderdag, 2 juni 2022 14:04
> *Aan:* freebsd-arm@freebsd.org
> *Onderwerp:* Wrong number of CPUs detected on RPI3 and FreeBSD 13.1
>
>     Dears
>
>
>     Yesterday I have finished a upgrade from source code of a FreeBSD
>     12.2 to FreeBSD 13.1 running on RPI3. After upgrade, this machine
>     only one CPU is detected.
>
>     RPI3 with problem
>
>     [ota@azul ~]$ cat /var/run/dmesg.boot  | grep CPU
>     Starting CPU 1 (1)
>     Starting CPU 1 (2)
>     Starting CPU 1 (3)
>     FreeBSD/SMP: Multiprocessor System Detected: 1 CPUs
>     cpulist0: <Open Firmware CPU Group> on ofwbus0
>     cpu0: <Open Firmware CPU> on cpulist0
>     bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
>     cpu1: <Open Firmware CPU> on cpulist0
>     cpu2: <Open Firmware CPU> on cpulist0
>     cpu3: <Open Firmware CPU> on cpulist0
>     armv8crypto0: CPU lacks AES instructions
>     CPU  0: ARM Cortex-A53 r0p4 affinity:  0
>     [ota@azul ~]$ uname -a
>     FreeBSD azul 13.1-RELEASE FreeBSD 13.1-RELEASE
>     releng/13.1-n250148-fc952ac2212 GENERIC arm64
>
>     Another system running on a rpi4 the CPUs detected and initialized
>     are ok:
>
>     RPI4 running OK
>
>     [ota@verde ~]$ cat /var/run/dmesg.boot  | grep CPU
>     Starting CPU 1 (1)
>     Starting CPU 2 (2)
>     Starting CPU 3 (3)
>     FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
>     cpulist0: <Open Firmware CPU Group> on ofwbus0
>     cpu0: <Open Firmware CPU> on cpulist0
>     bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
>     cpu1: <Open Firmware CPU> on cpulist0
>     cpu2: <Open Firmware CPU> on cpulist0
>     cpu3: <Open Firmware CPU> on cpulist0
>     armv8crypto0: CPU lacks AES instructions
>     CPU  0: ARM Cortex-A72 r0p3 affinity:  0
>     CPU  1: ARM Cortex-A72 r0p3 affinity:  1
>     CPU  2: ARM Cortex-A72 r0p3 affinity:  2
>     CPU  3: ARM Cortex-A72 r0p3 affinity:  3
>     [ota@verde ~]$ uname -a
>     FreeBSD verde 13.1-RELEASE FreeBSD 13.1-RELEASE
>     releng/13.1-n250148-fc952ac2212 GENERIC arm64
>
>
>     Someone can give-me a hint about how to solve this?
>
>
>     Thanks a lot
>
>     ------------------------------------------------------------------------
>