Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#5865 closed bug (fixed)

PANIC: add_used_mtrr - out of MTRRs!

Reported by: tonestone57 Owned by: bonefish
Priority: normal Milestone: R1
Component: System/Kernel Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description

Alpha2 RC 36542

Laptop crashes when booting Haiku with ACPI on. Disabling ACPI, from safe mode, allows laptop to fully boot into Haiku.

Screenshot of crash attached showing stack crawl. I will look at adding syslog to ticket in next day or so if I can.

I assigned to ACPI driver but maybe System/Kernel issue?

Attachments (3)

mtrr-alpha2.jpg (346.3 KB) - added by tonestone57 9 years ago.
syslog (227.5 KB) - added by tonestone57 9 years ago.
syslog-acpi (112.6 KB) - added by tonestone57 9 years ago.

Download all attachments as: .zip

Change History (10)

Changed 9 years ago by tonestone57

Attachment: mtrr-alpha2.jpg added

Changed 9 years ago by tonestone57

Attachment: syslog added

comment:1 Changed 9 years ago by tqh

Component: Drivers/ACPISystem/Kernel
Owner: changed from nobody to axeld

The syslog seems to only be with ACPI disabled.

Also changing to system/kernel as I suspect it's more related to MTRR handling.

comment:2 Changed 9 years ago by bonefish

Owner: changed from axeld to bonefish
Status: newin-progress
Version: R1/alpha1R1/Development

Similar to #5703. I'll try to improve the MTRR algorithm later.

A related question: Is it necessary to map all ACPI memory uncachable?

comment:3 Changed 9 years ago by tqh

I can't find any specifics about how the mapping is to be done in 'ACPI Component Architecture Programmer Reference'. So I'd say no.

Changed 9 years ago by tonestone57

Attachment: syslog-acpi added

comment:4 Changed 9 years ago by tonestone57

Added to ticket syslog-acpi which is probably more helpful for you.

Booted with ACPI on, used continue (co) 3 times from KDL to boot into Haiku.

comment:5 in reply to:  3 Changed 9 years ago by bonefish

Replying to tqh:

I can't find any specifics about how the mapping is to be done in 'ACPI Component Architecture Programmer Reference'. So I'd say no.

Mmh, it might as well rely on the OS to know what physical memory ranges need what caching attributes. The e820 memory map can list two kinds of ACPI ranges, "reclaim" and "NVS", the former apparently being normal RAM. Not sure about the other. The ACPI 4.0 specs also mention in section 14.2 that the map contains extended attributes for the ranges. So it might be possible to infer the caching attributes from those.

comment:6 Changed 9 years ago by bonefish

Resolution: fixed
Status: in-progressclosed

Should be fixed in hrev36591 (trunk).

comment:7 Changed 9 years ago by tonestone57

Thanks, I will assume you have fixed this for now until I can verify with nightly image or may set up another build system to test with later on.

Note: See TracTickets for help on using tickets.