From owner-freebsd-arm@freebsd.org Mon Feb 10 05:12:25 2020 Return-Path: Delivered-To: freebsd-arm@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 85BFD22CDF7 for ; Mon, 10 Feb 2020 05:12:25 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic307-8.consmr.mail.gq1.yahoo.com (sonic307-8.consmr.mail.gq1.yahoo.com [98.137.64.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48GDYN4fj6z3ysl for ; Mon, 10 Feb 2020 05:12:24 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: SPI4LDkVM1mS7OUo_9SYQ8Vdseuclg0V1dnrhFRgC7ryL0puMtnrzzlRfcywduJ WhAW8_KSPpi5SxwP65kBZzFtHJvGLzupoaAqM2gYtpIP_tuqgY8E9BdoYDPNGfaj92WiV.KwD7Bn KAsybGMn.eCp0kVDn8hJL827NU4amGPwd5gn9yMNuqgJabE3fhktI5pMNcElD_JlYTwpDxOIxxbg KKxX99vlqyzHgiSVBu_1xkvFqwh82BnYhtN6n7hvrlNgBPBT59ruXSrZshBHGfcn2euXMAhAifBx 6vwPRm1YnfY3uOyHMLqjJwud896cMPM0maeS.T7J4MmdNby2Zj0McqtDaWzK4BCKERaq6OXFLr25 Fax88Vl.lgNvThVjN0bchqxdsIE7D4opjXIRPVntTVbL2ZfVLEPqi1FWbLTaKADAnhb9aWeqC7rc Wm2DX6hkAYZOXBYuiR77rZLhRtiCtdZlxyvJrCHjQXqcafOBMy9HwJdSB8lFBkTpxslJx4TGhaTl L4vvRzIf4EBP3jBJa1YLmH0MBT9uUzx5PNlUeHAspPP1K74Y_LWaoS9GxwdRjrww4zuKE2pmMUI8 K.rLzbjtmI8D9JCTOhpj4qgCpT6dMvsEpNNVh6aOuIV1cQYQa87dEcynl9s7PiAnoSyLE9Tv4Qxw 0Bvwe87GOsDfwQttab_0RLzA__yqAd9bJl3yF7u0Q6e2h3uv_8R4AhyLVt.MBogoS7xE4PVQZGLf WAxwvxQHmLPEhyrACmTVKPvezE_.7VxwcLZ.mYbOs2..nUtShNyhSRJUIrIxK8x9SA_PJIoduDdA GfhGTMcCE38nhUe2t4SSHZ5BRttJVz2bAmfH70HlC96XdrEAuYCDs__xb7GOxJH4ugBelOXEIrjY WfCnF60GQpmxiqFnl9vwuxyC26SWFcm3iRGH0gsZH_s4JxIy90ro6HJU0Vwi20HzwQhNxs8LPfrB We59mEk4DMd9PWs8ps0KQnqsPIoDW.N6hI4Mbnbwh9qrppvcH6ZsonNynZ2Bh3zxxbulTPtk2jWE J6qPo1wr4zFELsyq5cS69onPS8BJO4fSEIpgRS1N540IncvXVwDDk8OLVaBZ0GFi2BJ3CFoZEDHa 5fBzxbdjKi9EMCISkv00ZFkPta6COyJEaqCl5CTSlStkFxhafxdhBTUGEL4xXK4aduZvwz2gxdhB rxfdP3tt0b9iKdTFmkAdDR_JZiRAg2EBnyvNcpL9a_gkK7IZv6iPViNWhj_Q15mp0dC.4EQZR47C QosaEPjyzLROKJOeftm.hm1WXBUbBCUNpuI3Cl8Mnwj.jyW_KCJhu_OvVX9JZOuBiq8fPNUqLNEc MP7NOMMPBBB4_UIPM.F0fHYXf5Fji6T7ag0K4PYEUv0BYRForFSUMsRnBkWUMbiRe6yOK9teM9Zy 9xl5dbARCWrSgFaZARiA.wm45lxo8mIMX3vNd7q64fYRuGVrH1bmv1KOCqC18RqMqNgCqmA-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.gq1.yahoo.com with HTTP; Mon, 10 Feb 2020 05:12:23 +0000 Received: by smtp419.mail.gq1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID a1c500bc931fb7ce5b9c3ff973dc2cec; Mon, 10 Feb 2020 05:12:18 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.60.0.2.5\)) Subject: RPi4's memreserve use in fdt not handled by aarch64 fdt_get_reserved_mem (called via its initarm) Message-Id: Date: Sun, 9 Feb 2020 21:12:17 -0800 To: freebsd-arm , "jeff@freebsd.org" , Kyle Evans X-Mailer: Apple Mail (2.3608.60.0.2.5) References: X-Rspamd-Queue-Id: 48GDYN4fj6z3ysl X-Spamd-Bar: - X-Spamd-Result: default: False [-1.22 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; DKIM_TRACE(0.00)[yahoo.com:+]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.34)[-0.337,0]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-0.38)[-0.382,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(0.00)[ip: (5.66), ipnet: 98.137.64.0/21(0.83), asn: 36647(0.66), country: US(-0.05)]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[32.64.137.98.list.dnswl.org : 127.0.5.0]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Feb 2020 05:12:25 -0000 aarch64 seems to be ignoring the RPi4B's memreserve use. My hypothesis is that head -r356776 and later are allocating RAM areas that overlap with the memreserve area. 1st see separate submittals about the live dts text reported by fdt print in u-boot on the example RPi4B 4 GiByte machine: https://lists.freebsd.org/pipermail/freebsd-arm/2020-February/021207.html https://lists.freebsd.org/pipermail/freebsd-arm/2020-February/021205.html Then: aarch64's initarm uses fdt_get_reserved_mem and not fdt_get_reserved_regions. So, looking at what that implies: int fdt_get_reserved_mem(struct mem_region *reserved, int *mreserved) { pcell_t reg[FDT_REG_CELLS]; phandle_t child, root; int addr_cells, size_cells; int i, rv; root = OF_finddevice("/reserved-memory"); if (root == -1) { return (ENXIO); } . . . (I'll not list it all to show the lack of memreserve handling) . . . This does not check for and handle memreserve. By contrast armv7 and armv6 each have an initarm that uses fdt_get_reserved_regions and that in turn has: int fdt_get_reserved_regions(struct mem_region *mr, int *mrcnt) { pcell_t reserve[FDT_REG_CELLS * FDT_MEM_REGIONS]; pcell_t *reservep; phandle_t memory, root; int addr_cells, size_cells; int i, res_len, rv, tuple_size, tuples; root = OF_finddevice("/"); memory = OF_finddevice("/memory"); if (memory == -1) { rv = ENXIO; goto out; } if ((rv = fdt_addrsize_cells(OF_parent(memory), &addr_cells, &size_cells)) != 0) goto out; if (addr_cells > 2) { rv = ERANGE; goto out; } tuple_size = sizeof(pcell_t) * (addr_cells + size_cells); res_len = OF_getproplen(root, "memreserve"); if (res_len <= 0 || res_len > sizeof(reserve)) { rv = ERANGE; goto out; } if (OF_getprop(root, "memreserve", reserve, res_len) <= 0) { rv = ENXIO; goto out; } . . . So this handles memreserve but not /reserved-memory . It appears that for the RPi4B's the 32-bit "normal use" has lead to aarch64 having memreserve instead of /reserved-memory . === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)