OpenSolaris

Printable Version Enter a New Search
Bug ID 6689201
Synopsis start and end arguments to lgrp_plat_node_memory_update() should be uint64_t's
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:numa
Keywords 32 | bit | kernel | lgroup | panic | plat_build_mem_nodes | plat_pfn_to_mem_node
Responsible Engineer Jonathan Chew
Reported Against snv_88
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_88
Fixed In snv_88
Release Fixed solaris_nevada(snv_88) , solaris_10u6(s10u6_02) (Bug ID:2162054)
Related Bugs 6594519
Submit Date 16-April-2008
Last Update Date 23-April-2008
Description
The start and end arguments to lgrp_plat_node_memory_update() should be uint64_t's not uintptr_t's to hold physical addresses.  This oversight will cause an assertion failure in plat_pfn_to_mem_node() on debug kernels and a panic in plat_build_mem_nodes() on non-debug kernels when booting a 32-bit kernel on a x86/x64 machine with more than 4 gigabytes of RAM.
Work Around
There are a couple of workarounds:

- Boot a 64-bit kernel instead of 32-bit one

- Set lgrp_plat_srat_enable to 0 in kmdb(1) before booting the kernel or by patching it in the 32-bit unix binary using mdb(1)
Comments
N/A