On Wed, 2019-01-09 at 15:41 +0000, Luca Boccassi wrote: > External Email > > ------------------------------------------------------------------- > --- > On Wed, 2019-01-09 at 15:34 +0000, Jerin Jacob Kollanukkaran wrote: > > > > Please check below thread and patch. > > > > > > > > http://mails.dpdk.org/archives/dev/2019-January/122676.html > > > > https://patches.dpdk.org/patch/49477/ > > > > > > > > Debian folks are building like this for the _generic_ image. > > > > What ever works for every distros, I am fine with that. > > > > > > > > meson configure -Dmachine=default > > > > meson build > > > > cd build > > > > ninja > > > > ninja install > > > > > > I think we agree on the idea of having different configs > > > for unmodified A72 core and generic build working for all. > > > > Yes, I agree. config or some scheme to address the generic and > > default > > usecase. > > > > > The remaining bits to discuss are: > > > - do we want to use the armv8 config for unmodified A72? > > > - what should be the name of the generic config? > > > > If all distros following "meson configure -Dmachine=default" scheme > > why not follow that to make generic image. i.e when machine=default > > set then Cache lize size 128B CL specific stuff be kicked in else > > it probe the value based on MIDR from sysfs. > >
When we are not cross-compiling can read CTR_EL0[1] register (DminLine) to detect the cacheline size based on the native machine. This method would satisfy all requirements and we need not maintain a mapping for cacheline_sizes w.r.t part numbers. [1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.100095_0001_02_en/way1382037583047.html (newer kernels expose it as a sysfs entry /sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size, we can use meson run_command to either run a python program with c byte code or use cc.run('<program>') to get result directly). > > > > > When digging more the config files in meson, I found this: > > > > > > http://mesonbuild.com/Cross-compilation.html#cross-file-locations > > > It says that distros or compilers should provide some config > > > files. > > > It means we should check if some standard names are emerging > > > and try to follow the same naming, or even re-use existing config > > > files. > > > > I think this for cross compilation. if I understand it correctly, > > distro folks build arm64 image on arm64 target(not on x86) with > > generic > > images with lowest denominator cpu flags and such that works for > > all > > platforms. > > > > Something similar found in arch linux website for arm64. > > https://archlinuxarm.org/platforms/armv8/generic > > > > See Platforms: ARMv8 > > > > Anyway I am leaving this decision to distro folks or whoever is > > expert > > in meson based distro build generic creation. > > Just a comment to confirm that yes, in general distributions do not > do > cross-builds, but native builds. That is certainly the case for > Debian, > and I am 99% sure it is also the case for Ubuntu and SUSE. > Regards, Pavan.