[Bug 239245] r350026 will panic on ppc64 PowerMac G5 in vm_phys_enqueue_contig

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Jul 16 14:31:53 UTC 2019


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

Mark Johnston <markj at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |markj at FreeBSD.org

--- Comment #5 from Mark Johnston <markj at FreeBSD.org> ---
(In reply to Kyle Evans from comment #4)
I think the real problem is the very large "segind" value.  VM_PHYSSEG_MAX is
16 on powerpc.  The physical memory segments are initialized based on
phys_avail[] in vm_page_startup().

Can we see the output of a verbose boot ("boot -v" at the loader)?  I would in
particular like to see the output of this chunk of code:

205         if (bootverbose) {                                                  
206                 int indx;                                                   
207                                                                             
208                 printf("Physical memory chunk(s):\n");                      
209                 for (indx = 0; phys_avail[indx + 1] != 0; indx += 2) {      
210                         vm_paddr_t size1 =                                  
211                             phys_avail[indx + 1] - phys_avail[indx];        
212                                                                             
213                         #ifdef __powerpc64__                                
214                         printf("0x%016jx - 0x%016jx, %ju bytes (%ju
pages)\n",                                                                      
215                         #else                                               
216                         printf("0x%09jx - 0x%09jx, %ju bytes (%ju
pages)\n",                                                                      
217                         #endif                                              
218                             (uintmax_t)phys_avail[indx],                    
219                             (uintmax_t)phys_avail[indx + 1] - 1,            
220                             (uintmax_t)size1, (uintmax_t)size1 /
PAGE_SIZE);                                                                     
221                 }                                                           
222         }

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


More information about the freebsd-bugs mailing list