On Tue, May 19, 2015 at 01:23:06PM -0400, Jacob Stiffler wrote: > > > On 5/18/2015 3:13 PM, Denys Dmytriyenko wrote: > >On Mon, May 18, 2015 at 03:03:18PM -0400, Jacob Stiffler wrote: > >> > >>On 5/18/2015 2:11 PM, Denys Dmytriyenko wrote: > >>>On Mon, May 18, 2015 at 08:20:58AM -0400, Jacob Stiffler wrote: > >>>>To reserve contiguous memory for CMEM: > >>>>* include the "recipes-kernel/linux/cmem.inc" > >>>>* Set CMEM_BASE and CMEM_SIZE to the physical memory address and size, > >>>> respectively, to reserve for CMEM. > >>>> > >>>>Currently limited to reserving a single memory region used to create > >>>>a single buffer pool of a single buffer. > >>>Looks good. 2 comments below. > >>> > >>> > >>>>Signed-off-by: Jacob Stiffler <j-stiff...@ti.com> > >>>>--- > >>>> recipes-kernel/linux/cmem.inc | 22 ++++++++++++++++++++++ > >>>> recipes-kernel/linux/linux/cmem.dtsi | 24 ++++++++++++++++++++++++ > >>>> 2 files changed, 46 insertions(+) > >>>> create mode 100644 recipes-kernel/linux/cmem.inc > >>>> create mode 100644 recipes-kernel/linux/linux/cmem.dtsi > >>>> > >>>>diff --git a/recipes-kernel/linux/cmem.inc b/recipes-kernel/linux/cmem.inc > >>>>new file mode 100644 > >>>>index 0000000..207bdc6 > >>>>--- /dev/null > >>>>+++ b/recipes-kernel/linux/cmem.inc > >>>>@@ -0,0 +1,22 @@ > >>>>+FILESEXTRAPATHS_append := ":${THISDIR}/linux" > >>>Move the file into standard "files" directory and drop above line. > >>> > >>Ok. > >> > >>>>+SRC_URI += "file://cmem.dtsi" > >>>>+ > >>>>+CMEM_BASE ?= "" > >>>>+CMEM_SIZE ?= "" > >>>>+ > >>>>+do_compileconfigs_prepend() { > >>>Should this be do_configure_append() instead? It would probably be safer, > >>>as > >>>do_compileconfigs() is specific to multi-kernel.inc and some kernel recipes > >>>may not include it... > >>> > >>I had noticed that do_configure() gets invoked multiple times. > >> > >>I'll try it as a do_configure_append() and make sure it will work. > >Ah, you are right. Then you'd need to call this function uniquely like > >do_setup_cmem() and then addtask it after do_patch before do_configure. It > >looks like it should be safe to do it even before do_configure. It would be > >nice to do it after do_configure, but it needs to be before do_compile and > >also do_compileconfigs, while the latter one is only defined by multi-kernel > > > > This should be called before do_create_srcipk(). But I suppose it > should not be assumed that do_create_srcipk() will be run for a > general kernel recipe. > > Should do_setup_cmem() be a postfunc of do_configure()? For example: > > do_configure[postfuncs] += "do_setup_cmem"
Will it be called multiple times after each do_configure? > >>>>+ if [ ! -z "${CMEM_BASE}" ] > >>>>+ then > >>>>+ cp ${WORKDIR}/cmem.dtsi > >>>>${S}/arch/arm/boot/dts/${MACHINE}-cmem.dtsi > >>>>+ > >>>>+ sed -i -e "s|__CMEM_BASE__|${CMEM_BASE}|g" \ > >>>>+ -e "s|__CMEM_SIZE__|${CMEM_SIZE}|g" \ > >>>>+ ${S}/arch/arm/boot/dts/${MACHINE}-cmem.dtsi > >>>>+ > >>>>+ for dts in ${KERNEL_DEVICETREE} > >>>>+ do > >>>>+ echo "#include \"${MACHINE}-cmem.dtsi\"" >> > >>>>${S}/arch/arm/boot/dts/${dts%.dtb}.dts > >>>>+ done > >>>>+ fi > >>>>+} > >>>>diff --git a/recipes-kernel/linux/linux/cmem.dtsi > >>>>b/recipes-kernel/linux/linux/cmem.dtsi > >>>>new file mode 100644 > >>>>index 0000000..6b1da99 > >>>>--- /dev/null > >>>>+++ b/recipes-kernel/linux/linux/cmem.dtsi > >>>>@@ -0,0 +1,24 @@ > >>>>+/ { > >>>>+ reserved-memory { > >>>>+ cmem_block_mem_0: cmem_block_mem@__CMEM_BASE__ { > >>>>+ reg = <0x__CMEM_BASE__ 0x__CMEM_SIZE__>; > >>>>+ no-map; > >>>>+ status = "okay"; > >>>>+ }; > >>>>+ }; > >>>>+ > >>>>+ cmem { > >>>>+ compatible = "ti,cmem"; > >>>>+ #address-cells = <1>; > >>>>+ #size-cells = <0>; > >>>>+ > >>>>+ status = "okay"; > >>>>+ > >>>>+ cmem_block_0: cmem_block@0 { > >>>>+ reg = <0>; > >>>>+ memory-region = <&cmem_block_mem_0>; > >>>>+ cmem-buf-pools = <1 0x__CMEM_SIZE__>; > >>>>+ }; > >>>>+ }; > >>>>+ > >>>>+}; > >>>>-- > >>>>1.7.9.5 > >>>> > >>>>-- > >>>>_______________________________________________ > >>>>meta-ti mailing list > >>>>meta-ti@yoctoproject.org > >>>>https://lists.yoctoproject.org/listinfo/meta-ti > -- _______________________________________________ meta-ti mailing list meta-ti@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-ti