Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Apr 2022 00:43:41 -0500
From:      Kyle Evans <kevans@freebsd.org>
To:        Andrew Turner <andrew@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>,  "<dev-commits-src-all@freebsd.org>" <dev-commits-src-all@freebsd.org>, dev-commits-src-main@freebsd.org
Subject:   Re: git: bcd763b642ab - main - Move the arm64 DMAP creation to C
Message-ID:  <CACNAnaEaipKjYYuDE_QdAjRk_Z0sWE5oB%2B8vhmiUdeAG5aQ_gw@mail.gmail.com>
In-Reply-To: <CACNAnaHJ4A=ynv5xt7sEh-wAWog6XtU26d2yyoMPGfdxxNUGYQ@mail.gmail.com>
References:  <202204061324.236DO0pe071404@gitrepo.freebsd.org> <CACNAnaHJ4A=ynv5xt7sEh-wAWog6XtU26d2yyoMPGfdxxNUGYQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Apr 9, 2022 at 12:31 AM Kyle Evans <kevans@freebsd.org> wrote:
>
> On Wed, Apr 6, 2022 at 8:24 AM Andrew Turner <andrew@freebsd.org> wrote:
> >
> > The branch main has been updated by andrew:
> >
> > URL: https://cgit.FreeBSD.org/src/commit/?id=bcd763b642abb4b236902e84184c579225265fb7
> >
> > commit bcd763b642abb4b236902e84184c579225265fb7
> > Author:     Andrew Turner <andrew@FreeBSD.org>
> > AuthorDate: 2022-03-15 17:05:48 +0000
> > Commit:     Andrew Turner <andrew@FreeBSD.org>
> > CommitDate: 2022-04-06 13:09:49 +0000
> >
> >     Move the arm64 DMAP creation to C
> >
> >     To simplify the creation of the direct map (DMAP) region on arm64 move
> >     it from the pre-C code into pmap. This simplifies the DMAP creation
> >     as we can use the notmal index macros, and should reduce the number
> >     of pages needed to hold the level 1 tables to just those needed.
> >
> >     Reviewed by:    alc, dch
> >     Tested by:      dch, kevans
> >     Sponsored by:   The FreeBSD Foundation
> >     Differential Revision: https://reviews.freebsd.org/D34568
>
> Our Ampere boxes were fine with this, but this seems to tickle
> something on this M1 mini that I have. Specifically, we end up dying
> while probing UEFI stuff, here:
>
> https://cgit.freebsd.org/src/tree/sys/dev/efidev/efirt.c#n183
>
> efi_systbl_phys == 0x9e0979f30, efi_systbl == 0xffffa001e0979f30
> Fatal data abort:
> ...
>   sp: ffff000000fb79b0
>   lr: ffff000000157ae0 (efirt_modevents + 94)
>  elr: ffff000000157ae8 (efirt_modevents + 9c)
> spsr:         604000c5
>  far: ffffa001e0979f30
>  esr:         96000007
> panic: vm_fault failed: ffff000000157ae8 error 1
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> db_trace_self() at db_trace_self
> db_trace_self_wrapper() at db_trace_self_wrapper+0x30
> vpanic() at vpanic+0x174
> panic() at panic+0x44
> data_abort() at data_abort+0x2f0
> handle_el1h_sync() at handle_el1h_sync+0x10
> --- exception, esr 0x96000007
> efirt_modevents() at efirt_modevents+0x9c
> module_register_init() at module_register_init+0xc4
> mi_startup() at mi_startup+0x284
> virtdone() at virtdone+0x7c

Er, maybe helpful:

Physical memory chunk(s):
  0x8010a8000 - 0x803ecbfff,    46 MB (  11812 pages)
  0x803f8c000 - 0x8053e7fff,    20 MB (   5212 pages)
  0x805402000 - 0x808f99fff,    59 MB (  15256 pages)
  0x808fb6000 - 0x80d5fffff,    70 MB (  17994 pages)
  0x80dc73000 - 0x9e096ffff,  7468 MB (1912061 pages)
  0x9e0980000 - 0x9e0a33fff,     0 MB (    180 pages)
Physical memory chunk(s):
  0x8010a8000 - 0x803ecbfff,    46 MB (  11812 pages)
  0x803f8c000 - 0x8053e7fff,    20 MB (   5212 pages)
  0x805402000 - 0x808f99fff,    59 MB (  15256 pages)
  0x808fb6000 - 0x80d5fffff,    70 MB (  17994 pages)
  0x80dc73000 - 0x9e096ffff,  7468 MB (1912061 pages)
  0x9e0980000 - 0x9e0a33fff,     0 MB (    180 pages)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaEaipKjYYuDE_QdAjRk_Z0sWE5oB%2B8vhmiUdeAG5aQ_gw>