[Bug 238730] r349241 on ppc64 IBM 970 instant panic in vm_mem_init(0)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Jul 15 03:43:38 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238730

Mark Millard <marklmi26-fbsd at yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marklmi26-fbsd at yahoo.com

--- Comment #10 from Mark Millard <marklmi26-fbsd at yahoo.com> ---
(In reply to Dennis Clarke from comment #0)

. . .
>     set usefdt=1
. . .

Avoid usefdt=1 . It is known to be wrong and not work.
Unless something roughly equivalent to my patches that
were listed in:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233863

are in place, the following apply for usefdt=1 :

A) hrowpic.c uninorth.c openpic.c all need to be
   corrected for at least one of OF_xref_from_node
   or OF_node_from_xref use. (Pure FreeBSD issue.)

B) FreeBSD choose to truncate large nodes but Apple
   has nodes that are truncated and so information
   is not preserved in such cases. (Pure FreeBSD
   issue as far as I can tell. I do not claim to
   know the detailed conequences of the truncations:
   I choose to preserver information.)

C) The translation to fdt avoided /memory0/available
   information being used (and respected). The need to
   resepct the information was demonstrated on the
   iMac G3. (Pure FreeBSD issue as far as I can tell.)

D) The FreeBSD code for the powerpc64 Macs expects
   fixed child/sibling relationships in the openfirmware
   nodes (instead of always searching) but usefdt
   reverses the ordering of the siblings (and so changes
   what is the the first child of a node that has
   childern). (Either side could be changed to avoid
   the mismatch. I choose the conversion to fdt
   preserving order.)

E) Apple made some of its own rules in its supposed
   OpenFirmware implemenation, violating the
   standard. Avoiding information loss for such (without
   messing up handling of standards-conformant contexts),
   requires changes. (There is no way Apple will fix
   things now. So handling the oddities vs. not is a
   matter of choice for FreeBSD.)

F) There was also an issue for filling translations[]
   from trans_cells[] that I ran into, but I no longer
   remember if the Macs would actually see the problem
   if other things were corrected and made tolerant
   of Apple's OpenFirmware node oddities.

[None of (A)-(F) addresses the stuck-sleeping processes
that lead to the fans going fast and the like. I've Mac
specific changes for that (that is only active on Macs).
But the changes are not bugzilla anywhere.]

I expect that Justin and company are only intending on
the default lack of usefdt as what they are enabling, at
least for now. So if you specify a context with usefdt=1
I do not expect it to get much attention (for now).

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list