From owner-freebsd-arm@freebsd.org Tue Jan 12 02:10:25 2021 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 BF7974ED859 for ; Tue, 12 Jan 2021 02:10:25 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic314-21.consmr.mail.gq1.yahoo.com (sonic314-21.consmr.mail.gq1.yahoo.com [98.137.69.84]) (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 4DFDYq4Vhbz3m0K for ; Tue, 12 Jan 2021 02:10:22 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1610417420; bh=YdDpmzoBIpUc0HvXdZLibbPTPpuPEBJGPApu05CHeUe=; h=Subject:From:Date:To:From:Subject:Reply-To; b=Bib/0hs9OM1u5eK69X5jKIlKzZyBuNde2saVd1Z49XbNQI0rJNz1AMaX7v3qB9lwbPGuC/5UiJ2i6qQwdMnems5qEIZqHzKIw3WMKvsuvX2YLmqKFOVPqOrtr3mGO/c22sJaWK8reMbFpJRSDpy9d9lGgyuL9syaIDAsDqlPECIsgGVKIpFO6Fm3XeZI0sUtDK6tc0dUzlOdMmQJCFIsLKIz02f/rJB2342KugSAm/NQq+gFaeoWHGezu8vdg7Hn9DPQpOxjI5c+FCy9KG0G+MpfAkoTs8XDlsklLNMQt0V9nBKRp6TYz6dcImcB4zHTL+St6K5lb9WMcDJrGbll0g== X-YMail-OSG: UkuUv9sVM1l9odu.CLHcn4FuNqEsF2Ssn3UC_FNKTwEBzIf5shdywjLsztsQ38e Q.fqB7eUU0exLZN7XxMNLLirMI5eQh4Eh4J8TQZMX7s0ja_S5jJF3n79i0hqOIf8iynq6e_X0th2 8iBTY9SxvmAkRbY9UFikuMgsa0xSinKpLRLa_sPUl2Ml_Z10A8Pd04aAbCXdfYnnD2TnSOMvziyI 2wJj1okzbXJ_AXupX4nzqLXEwy.DEOyqahDnRFHSbWuCVgTiFlPq.SsMS9ACIXB9KPhn8EjKlPyT MKZpuXdAq3CyHIIlkvscHp8IaL3X6rDUM7XA8gRqitutb.FWpu8NRpNWTV_wOTR2QIDklyfMw0SN SnjFVbqDUfuEiyDeD5zHdohJdu5tDReaWkNfoFaAAlz2Lh7s62eS8RAdYBMltK8FD3NNEdQJSDfY woYiAKmkVVLZuguCh1.ASztOWGryTiin2LRqBCzNJkYuCwxBoMRCH2yhgC1SZBWbcd.Pu7kQHYRW i7.0QfyH2YARN.EG0AWOWULTVQJphgQAj8u0h4jECXieDjCobFdFt7I6klDHzRvjCRVHEt3S1HBN WNquTKHwsvw7aKqFOsJ5e8Skqks_0LPFSGvf.NHOpyEkmtsyTZqIAfc2tK_1NYrG1xqG00lQtxgH BvKKp3vfPmRK_KSrhKvocn.Jbqq1_vxe6knAbk2ousDddOfJQuk32X8odJ3L2BImGvak7Alby2Is ILI.5PtWDq9F3IKw7bwIyCRxl2r0zFzC4xVLpn8S8ojx0k2YQ8T12a2iufSKYYEeyEDsik4G5dNM GKVw0ACqqoT_I1S37l_mIfppLIG6D1VSFv8thlI6fqHAKj9ZfLTG8j8_7eud7L82gqMMTGUc0YJA tX8ryv3bHj98HudNeFTDe5M5SsFeC1BLRs1ZMCRGl71AB2kS.h3jQ7hW32rKphVBAe6i1DP2W298 guGNQ_djNaRs6B0DVE0bd1J7z3lvF8xGh1EspgZhOIT9qoettldr0DdUW3se6heFOXJWg76TOd.f IyHt2LFueYyYv3lWTaGhfcgmUskDMfO1j6YersujJ7MS_h4jl7aYgnhMFVye2u2gAR59YMG0Xxqq po9zFYW2Drg6PaBciAi7YyBIGiG4mvVXDQHn3_u9lmfr_xzYEUAp12R00Ia3yFDy8Wo1RrSzZtjd NgG3gQPuYkmbI8kvg1qHG3u4UJE3gGhUDoiojlPg4S2uPD6qnsUkDPngMp_nhht52UsQy2.Cn6A3 RYj7SxSv7N0mW0pFpNUqIWsHFz0or7FzV2HkELGLqMaCY925JuuAj6HpvCcRfbaqKgM9j5PMwZaU FB3RT4_MuRuNFhDZ.0OPXndYthh7DPZX7DhEfwTaPIntsrh55KKPAUZwZuol1Ex70Zu6c1n.yd1d lWj1QO9qgsPRnyRvLsGmfusZUmYWauiZ9vf6TPnXLpBkgKhkHM22h87ud45f2WuURzpQMlgFiP7m 96wAaJs8WXgx5ZVIMZaJ5Hblul3FMFuOOwyMV7S8iu5A_XKgGrwHgCZHF2tk_uIqpc6gTtpNxDPN P.nsagLBINt.aBeZajUvkcW1JWnlPYa5fz9Kyk3QG88pedT83Ofa3w2pW_m_gBpzztaZVEPHeeB_ ObmCV.SU4rrHVJa7F_yCOxu7O6eZPNyGRpMuANGQwpo.8EOf4QV2CIQk57ATL0AzKYrsNItiJD1e rriyMwapwiDqdc4BilIMB46iOGObVY9VyTf9NGXXEdewEhyAfNsgwL0NIvA5JlmmgQHbqK9xKF11 BTylvOCY3Xd3uDuuZe11MxwfQZvJew0y0kMVzku1M8ENpZekPB0dlSnVv6yP07he8IE5.x6wZV0a JgTauRKOWIU6GMPv_7Iw9CYe9_B3J3Ezs9o5SVc1dz.SQ1vLqq6FqIlmK8HoN7x1HQcxbd1BeRgb XgJXKMQebv_BDyetU0jBinm9lSGEKoaALhxsbiS740s1BucVm__w8A30PdMCDVpS33iTYUszpxpW TyuY6ptel34GRx6SzWBCbXPUR9wFeeTRKmUcXBECwFq.eR92qpntMhJM3vm2SAOMInP.ugmEohhc Hf00i.w4BYKfKWRb8h27tsa26jTEBBuVBHhEZnAR.EiDkuwOtD1zBvOtm90lZel5gaBOMwb6OhSY 22ACXorf3nDdg_rrsZ7Bb3ZQCYegzFEJ9Q7DG4rLELn6wi5OjI2oqrjuB36Tr.tb1WVWk7ocKPx9 2YMGQUPaZ.JoAye0dPlZj2D4Zm9efftRec5YQz9K_yNMorCkr1Qhm2cGPOIB00muVD9SBKlFGyZr 9g3dPqEdFsWHrqJ2Xx07N694dsZR6F7Z_mvqwk0xYIMpDXeSaamepq1RzSbDBSY3Q.Dw3bAcwepf TIOlH3fw.38u9ZCWicMYjzX4bIl6MNCdFsvwXTP.Udgy79hwzt88w2D14FNTVv58dKnMV4a2p2D8 PXKQMcMSI5t_cQNiclJAFzShcVy9dlE0yX_b6r14s8ud5QxZYxPIAzbpxu4Eq2XpKIdSX8asn3OQ Sz_NAJa.ufLEGKpJMfXmom2MWX20.rEI- Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.gq1.yahoo.com with HTTP; Tue, 12 Jan 2021 02:10:20 +0000 Received: by smtp407.mail.bf1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 1c1fe65feb247f9572e19e97e48fb66a; Tue, 12 Jan 2021 02:10:15 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.40.0.2.32\)) Subject: Re: PR 252541: Early kernel panic on RPi4B (Too many early devmatch mappings) From: Mark Millard In-Reply-To: Date: Mon, 11 Jan 2021 18:10:12 -0800 Cc: freebsd-arm@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <784263FD-D17C-4CA5-991E-FE93E3E584F3@yahoo.com> References: <7C6DC946-B7B6-42C8-A8B9-0471ED7B77AA@yahoo.com> To: Gordon Bergling X-Mailer: Apple Mail (2.3654.40.0.2.32) X-Rspamd-Queue-Id: 4DFDYq4Vhbz3m0K X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.50 / 15.00]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; DKIM_TRACE(0.00)[yahoo.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; NEURAL_HAM_SHORT(-1.00)[-1.000]; 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/20, country:US]; RBL_DBL_DONT_QUERY_IPS(0.00)[98.137.69.84:from]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; SPAMHAUS_ZRD(0.00)[98.137.69.84:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.84:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.84:from]; RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[freebsd-arm] X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2021 02:10:25 -0000 On 2021-Jan-11, at 16:19, Mark Millard wrote: >=20 >=20 > On 2021-Jan-11, at 14:23, Mark Millard wrote: >=20 >=20 >> On 2021-Jan-11, at 12:47, Gordon Bergling wrote: >>=20 >> Hi, >>=20 >> I am currently investigating PR 252541 (Too many early devmatch = mappings) [1]. >>=20 >> The kernel panic happends on the RPi4B. Has anyone successfully = booted a rivision >> on the RPi4B after: >>=20 >> = --------------------------------------------------------------------------= ------- >> commit e83fdf8bb391579fa422d34663cd8c1f82a00dc0 >> Author: Chuck Tuffli >> AuthorDate: 2021-01-08 22:36:37 +0000 >> Commit: Chuck Tuffli >> CommitDate: 2021-01-08 22:41:45 +0000 >>=20 >> fix big-endian platforms after 6733401935f8 >>=20 >> The NVMe byte-swap routines for big-endian platforms used memcpy() to >> move the unaligned 64-bit value into a temp register to byte swap it. >> Instead of introducing a dependency, manually byte-swap the values in >> place. >> = --------------------------------------------------------------------------= ------- >>=20 >> --Gordon >>=20 >> [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D252541 >>=20 >> I do my own builds but I'm running based on 19cca0b9613d >> with CommitDate 2021-01-09 16:21:33 -0800 : >>=20 >> # ~/fbsd-based-on-what-freebsd-main.sh mm-src >> 19cca0b9613d7c3058e41baf0204245119732235 >> CommitDate: 2021-01-09 16:21:33 -0800 >> 5d333ee67ac3 19cca0b9613d (HEAD -> mm-src) mm-src snapshot for mm's = patched build in git context. >> FreeBSD RPi4B 13.0-CURRENT FreeBSD 13.0-CURRENT = mm-src-c255807-g5d333ee67ac3 GENERIC-NODBG arm64 aarch64 1300134 = 1300134 >>=20 >> In other words, the history spanned for e83fdf8bb391 and >> after is: >>=20 >> * aio: fix the tests when ZFS is not available Alan Somers = 46 hours 2 -0/+5 >> * linuxkpi: Fix the "error: unknown type name 'u32'" compilation = issue when Neel Chauhan 47 hours 1 -0/+1 >> * netmap: vtnet: stop krings during interface reset Vincenzo = Maffione 48 hours 1 -1/+7 >> * netmap: refactor netmap_reset Vincenzo Maffione 2 days = 1 -45/+20 >> * netmap: iflib: fix asserts in netmap_fl_refill() Vincenzo = Maffione 2 days 1 -1/+2 >> * netmap: iflib: stop krings during interface reset Vincenzo = Maffione 2 days 2 -1/+10 >> * fileargs: add tests Mariusz Zaborski 2 days 3 = -0/+625 >> * tcp: don't use KTLS socket option on listening sockets Michael = Tuexen 4 days 1 -0/+10 >> * arm: revert MAXDSIZ change from 202aea9c82ea Kyle Evans = 2 days 1 -1/+1 >> * kevent(2): Bugfix for wrong EVFILT_TIMER timeouts Jan = Kokem=C3=BCller 2 days 1 -1/+1 >> * ldd: renumber executable type constants Ed Maste 2 days = 1 -2/+2 >> * diff: honour flags with -q Ed Maste 2 days 2 = -1/+13 >> * sysctl: improve debug.kdb.panic_str description Warner Losh = 2 days 1 -1/+1 >> * last(1): Add EXAMPLES section Fernando Apestegu=C3=ADa = 2 days 1 -4/+22 >> * man(1): Bump .Dd Fernando Apestegu=C3=ADa 2 days = 1 -1/+1 >> * man(1): Add EXAMPLES section Fernando Apestegu=C3=ADa = 2 days 1 -0/+35 >> * mvneta: Acquire the softc lock before clearing the MIB Mark = Johnston 2 days 1 -0/+2 >> * Add fib lookup testing module. Alexander V. Chernikov 2 days = 2 -0/+548 >> * Bring DPDK route lookups to FreeBSD. Alexander V. Chernikov = 2 days 17 -0/+6030 >> * Fix LINT kernel build after = 01f2e864f79584c0cd250a8e7cfb501a9985768a. Hans Petter Selasky = 3 days 1 -1/+4 >> * certctl: factor out certname resolution Kyle Evans 3 days = 1 -2/+17 >> * certctl: replace hardcoded uses of /usr/local Kyle Evans = 3 days 1 -2/+3 >> * fix big-endian platforms after 6733401935f8 Chuck Tuffli = 3 days 1 -5/+9 >>=20 >> The RPi4B is a 8 GiByte one, booted directly from a USB3 SSD, >> no microsd card involved. I can boot either u-boot style or >> UEFI/ACPI style from the same media, just switching config.txt >> content. >>=20 >> I do not have MMCCAM or the like: >>=20 >> # more /usr/fbsd/mm-src/sys/arm64/conf/GENERIC-NODBG=20 >> # >> # GENERIC -- Custom configuration for the arm64/aarch64 >> # >>=20 >> include "GENERIC" >>=20 >> ident GENERIC-NODBG >>=20 >> makeoptions DEBUG=3D-g # Build kernel with gdb(1) = debug symbols >>=20 >> options ALT_BREAK_TO_DEBUGGER >>=20 >> options KDB # Enable kernel debugger = support >>=20 >> # For minimum debugger support (stable branch) use: >> #options KDB_TRACE # Print a stack trace for a = panic >> options DDB # Enable the kernel debugger >>=20 >> # Extra stuff: >> #options VERBOSE_SYSINIT=3D0 # Enable verbose sysinit = messages >> #options BOOTVERBOSE=3D1 >> #options BOOTHOWTO=3DRB_VERBOSE >> #options KTR >> #options KTR_MASK=3DKTR_TRAP >> ##options KTR_CPUMASK=3D0xF >> #options KTR_VERBOSE >>=20 >> # Disable any extra checking for. . . >> nooptions DEADLKRES # Enable the deadlock = resolver >> nooptions INVARIANTS # Enable calls of extra = sanity checking >> nooptions INVARIANT_SUPPORT # Extra sanity checks of = internal structures, required by INVARIANTS >> nooptions WITNESS # Enable checks to detect = deadlocks and cycles >> nooptions WITNESS_SKIPSPIN # Don't run witness on = spinlocks for speed >> nooptions DIAGNOSTIC >> nooptions MALLOC_DEBUG_MAXZONES # Separate malloc(9) zones >> nooptions BUF_TRACKING >> nooptions FULL_BUF_TRACKING >>=20 >=20 > Looks like the message is from a KASSERT that does nothing > unless INVARIANTS/INVARIANT_SUPPORT is enabled. >=20 > Unfortunately, arftifacts.ci.freebsd.org has not started > getting git-based main builds yet. Normally I'd support > an official debug kernel from there and see if I could > repeat the problem. >=20 > So I've made my own debug kernel build for things as they > are in my context and it reproduced the problem: >=20 > Hit [Enter] to boot immediately, or any other key for command prompt. > Booting [/boot/kernel/kernel]... =20 > Using DTB provided by EFI at 0x7ef0000. > EFI framebuffer information: > addr, size 0x3e2fe000, 0x7e9000 > dimensions 1920 x 1080 > stride 1920 > masks 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 > ---<>--- > panic: Too many early devmap mappings > cpuid =3D 0 > time =3D 1 > KDB: stack backtrace: > (null)() at 0xffff000000116980 > pc =3D 0xffff000000772af4 lr =3D 0xffff000000116980 > sp =3D 0xffff0000011f1320 fp =3D 0xffff0000011f1520 >=20 > (null)() at 0xffff000000464710 > pc =3D 0xffff000000116980 lr =3D 0xffff000000464710 > sp =3D 0xffff0000011f1530 fp =3D 0xffff0000011f1590 >=20 > (null)() at 0xffff0000004644b4 > pc =3D 0xffff000000464710 lr =3D 0xffff0000004644b4 > sp =3D 0xffff0000011f15a0 fp =3D 0xffff0000011f1650 >=20 > (null)() at 0xffff0000007e9838 > pc =3D 0xffff0000004644b4 lr =3D 0xffff0000007e9838 > sp =3D 0xffff0000011f1660 fp =3D 0xffff0000011f1660 >=20 > (null)() at 0xffff00000076f744 > pc =3D 0xffff0000007e9838 lr =3D 0xffff00000076f744 > sp =3D 0xffff0000011f1670 fp =3D 0xffff0000011f1690 >=20 > (null)() at 0xffff000000782904 > pc =3D 0xffff00000076f744 lr =3D 0xffff000000782904 > sp =3D 0xffff0000011f16a0 fp =3D 0xffff0000011f16c0 >=20 > (null)() at 0xffff0000002896b0 > pc =3D 0xffff000000782904 lr =3D 0xffff0000002896b0 > sp =3D 0xffff0000011f16d0 fp =3D 0xffff0000011f1790 >=20 > (null)() at 0xffff0000007d9bb0 > pc =3D 0xffff0000002896b0 lr =3D 0xffff0000007d9bb0 > sp =3D 0xffff0000011f17a0 fp =3D 0xffff0000011f1820 >=20 > (null)() at 0xffff00000028b814 > pc =3D 0xffff0000007d9bb0 lr =3D 0xffff00000028b814 > sp =3D 0xffff0000011f1830 fp =3D 0xffff0000011f1840 >=20 > (null)() at 0xffff00000039e448 > pc =3D 0xffff00000028b814 lr =3D 0xffff00000039e448 > sp =3D 0xffff0000011f1850 fp =3D 0xffff0000011f1870 >=20 > (null)() at 0xffff0000004af2ac > pc =3D 0xffff00000039e448 lr =3D 0xffff0000004af2ac > sp =3D 0xffff0000011f1880 fp =3D 0xffff0000011f18b0 >=20 > (null)() at 0xffff00000077ef90 > pc =3D 0xffff0000004af2ac lr =3D 0xffff00000077ef90 > sp =3D 0xffff0000011f18c0 fp =3D 0xffff0000011f1a00 >=20 > (null)() at 0xffff00000000089c > pc =3D 0xffff00000077ef90 lr =3D 0xffff00000000089c > sp =3D 0xffff0000011f1a10 fp =3D 0x0000000000000000 >=20 > KDB: enter: panic > [ thread pid 0 tid 0 ] > Stopped at 0xffff0000004aeeb4 > db> dump > Cannot dump: no dump device specified. > db>=20 I stuck in some printf's showing figures in hexadecimal: . . . ---<>--- pmap_mapdev early_boot: akva_devmap_vaddr: ffff007fff816000 size: 1000 pmap_mapdev early_boot: va: ffff007fff815000 VM_MAX_KERNEL_ADDRESS: = ffff008000000000 L2_SIZE: 200000 panic: Too many early devmap mappings cpuid =3D 0 . . . For reference: #if defined(__aarch64__) || defined(__riscv) if (early_boot) { printf("pmap_mapdev early_boot: akva_devmap_vaddr: %jx size: %jx\n", (uintmax_t) akva_devmap_vaddr, (uintmax_t) size); akva_devmap_vaddr =3D trunc_page(akva_devmap_vaddr - = size); va =3D akva_devmap_vaddr; printf("pmap_mapdev early_boot: va: %jx VM_MAX_KERNEL_ADDRESS: %jx = L2_SIZE: %jx\n", (uintmax_t) va, (uintmax_t) VM_MAX_KERNEL_ADDRESS, (uintmax_t) L2_SIZE); KASSERT(va >=3D VM_MAX_KERNEL_ADDRESS - L2_SIZE, ("Too many early devmap mappings")); } else #endif So (hexadecimal): VM_MAX_KERNEL_ADDRESS - L2_SIZE =3D=3D ffff007fffe00000 and so va < VM_MAX_KERNEL_ADDRESS - L2_SIZE: ffff007fff815000 < ffff007fffe00000 by: ffff007fffe00000-ffff007fff815000 =3D=3D 5eb000 I've not done anything to track down a relationship to e83fdf8bb391 . =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)