Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/dev/acpi



> Module Name:  src
> Committed By: christos
> Date:         Mon Jul 19 00:59:32 UTC 2010
> 
> Modified Files:
>       src/sys/dev/acpi: acpi_cpu.c acpi_cpu.h acpi_cpu_cstate.c
> 
> Log Message:
> XXX: If this is not correct, revert or fix.
> This makes my laptop boot instead of panic:
> 
> panic: kernel diagnostic assertion "native_idle != NULL" failed: file
> "../../../../arch/x86/acpi/acpi_cpu_md.c", line 155
> fatal breakpoint trap in supervisor mode
> type 1 code 0 rip ffffffff8022e4ad cs 8 rflags 246 cr2  0 cpl 0 rsp
> ffff80004c37db10
> 
> trace
> breakpoint() at netbsd:breakpoint+0x5
> panic() at netbsd:panic+0x2ba
> kern_assert() at netbsd:kern_assert+0x2d
> acpicpu_md_idle_stop() at netbsd:acpicpu_md_idle_stop+0x62
> acpicpu_cstate_callback() at netbsd:acpicpu_cstate_callback+0x34
> sysmon_task_queue_thread() at netbsd:sysmon_task_queue_thread+0x41
> 
> 1. ACPI seems to define cpuids 1..n; we define 0..n-1. Adjust for that

No, ACPI enumerates cpus 0..n-1 by specification.

> 2. My laptop is dual core, but ACPI reports 4 cpu nodes. Instead of
>    attaching the unmatched ones, make the match fail. Do we want to
>    attach and do nothing instead?

Uh, do your two cores attach on id 1 and 2 and ids 0 and 3
are unused?

That sounds like your laptop vendor prepared the BIOS to
deliver laptop models with a quad-core cpu.

> 3. Create a flag, and only set it after we are completely initialized,
>    so the sysmon thread does not try to access unitialized state.


Home | Main Index | Thread Index | Old Index