http://defect.opensolaris.org/bz/show_bug.cgi?id=4001
Bill Holler <bill.holler at sun.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |CAUSEKNOWN
--- Comment #1 from Bill Holler <bill.holler at sun.com> 2008-10-16 13:44:36
---
A breakpoint in cpu_acpi_cache_cst() shows it is failing to evaluate the _CST
object on this machine.
Here are the hande data structures in cpu_idle_fini() just before the
kstat_delete():
[0]> 0xffffff050ff04400 ::print cpu_acpi_state_t
{
cs_handle = 0xffffff050fbce8c8
cs_dip = 0xffffff050f164ec0
cpu_acpi_cached = 0xb
cs_pstates = {
ss_states = 0xffffff0510da6b00
ss_count = 0x2
}
cs_pct = [
{
cr_addrspace_id = 0x7f
cr_width = 0
cr_offset = 0
cr_asize = 0
cr_address = 0
}
{
cr_addrspace_id = 0x7f
cr_width = 0
cr_offset = 0
cr_asize = 0
cr_address = 0
}
]
cs_psd = {
sd_entries = 0
sd_revision = 0
sd_domain = 0
sd_type = 0
sd_num = 0
}
cs_ppc = 0
cs_tstates = {
ss_states = 0
ss_count = 0
}
cs_ptc = [
{
cr_addrspace_id = 0x7f
cr_width = 0
cr_offset = 0
cr_asize = 0
cr_address = 0
}
{
cr_addrspace_id = 0x7f
cr_width = 0
cr_offset = 0
cr_asize = 0
cr_address = 0
}
]
cs_tsd = {
sd_entries = 0
sd_revision = 0
sd_domain = 0
sd_type = 0
sd_num = 0
}
cs_tpc = 0
cs_cstates = {
ss_states = 0
ss_count = 0
}
bm_info = 0
}
handle->cs_states.ss_states is NULL.
This line of cpu_idle_fini() sets cstate to NULL:
cstate = (cpu_acpi_cstate_t *)CPU_ACPI_CSTATES(handle);
A look at cpu_acpi_get_max_cstates() shows cpu_max_cstates is set to 1
when CPU_ACPI_CSTATES(handle) is NULL:
uint_t
cpu_acpi_get_max_cstates(cpu_acpi_handle_t handle)
{
if (CPU_ACPI_CSTATES(handle))
return (CPU_ACPI_CSTATES_COUNT(handle));
else
return (1);
}
cpu_acpi_get_max_cstates assumes a kstat was created for C1.
cpu_idle_fini() is using NULL cstate in this loop:
for (i = CPU_ACPI_C1; i <= cpu_max_cstates; i++) {
if (cstate->cs_ksp != NULL)
kstat_delete(cstate->cs_ksp);
}
A possible fix is to check for NULL cstate pointer.
--
Configure bugmail: http://defect.opensolaris.org/bz/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.