Date: Mon, 31 Oct 2016 01:53:19 -0700 From: Mark Millard <markmi@dsl-only.net> To: freebsd-arm <freebsd-arm@freebsd.org> Subject: BPi-M3's A83T: "socket" 0 and "socket" 1 (clusters 0 and 1): how difficult/messy to enable use of both? Message-ID: <FA8A434F-0601-4D9E-82AA-5FF18F500781@dsl-only.net>
next in thread | raw e-mail | index | archive | help
I attempted a boot of a BPi-M3 (A83T based) via a linux image and I = noted that the boot sequence reported: [ 0.040298] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.040383] Setting up static identity map for 0x4076b5a8 - = 0x4076b600 [ 0.010000] CPU1: Booted secondary processor [ 0.010000] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.010000] CPU2: Booted secondary processor [ 0.010000] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 [ 0.010000] CPU3: Booted secondary processor [ 0.010000] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 [ 0.260089] CPU4: failed to boot: -22 [ 0.300067] CPU5: failed to boot: -22 [ 0.340070] CPU6: failed to boot: -22 [ 0.380092] CPU7: failed to boot: -22 [ 0.380310] Brought up 4 CPUs [ 0.380335] SMP: Total of 4 processors activated (19200.00 BogoMIPS). . . . [somewhat later in the sequence] . . . [ 0.010000] CPU4: Booted secondary processor [ 0.010000] CPU4: thread -1, cpu 0, socket 1, mpidr 80000100 [ 0.010000] CPU5: Booted secondary processor [ 0.010000] CPU5: thread -1, cpu 1, socket 1, mpidr 80000101 [ 0.010000] CPU6: Booted secondary processor [ 0.010000] CPU6: thread -1, cpu 2, socket 1, mpidr 80000102 [ 0.010000] CPU7: Booted secondary processor [ 0.010000] CPU7: thread -1, cpu 3, socket 1, mpidr 80000103 [I'll note that all 8 cores are of the same type (cortex-a7) for the = A83T: This is not an arm big/LITTLE context mixing core types but a more = symmetric form of NUMA(?), more like sockets with the same type of = multi-core processor in each socket and no cache spanning across the = sockets, although RAM does span the "sockets" for the A83T.] This suggests that the linux folks made the two clusters of cores in the = A83T (Allwinner's A83T_User_Manual_v1.5.1_20150513.pdf terminology ) fit = into the linux socket handling structure (a.k.a. NUMA structure, I = presume). (About 29 pages of the 547 page = A83T_User_Manual_v1.5.1_20150513.pdf mention "cluster", mostly for = details of the clusters' various control, status, mask, gating, and = power registers.) Not that I consider it likely to be reasonable but I'll ask: How likely = is it that someone could be given various pointers and bootstrap = themselves into possibly enabling such dual-cluster usage for the A83T = to a useful degree in FreeBSD? How independent of other SOC/board = details would the effort/result be (given that the A83T is what is in = use)? Would there be some sequence of stages to the effort? (The details = would probably be part of the pointers that I mentioned. . .) =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FA8A434F-0601-4D9E-82AA-5FF18F500781>