ACPI causes page fault/panic upon reboot
Peter Schultz
pmes at bis.midco.net
Thu Jan 1 09:30:17 PST 2004
Dan Hulme wrote:
> Ok, I did as you said, and replaced "Microsoft Windows" with "FreeBSD"
> in the following. I also set the two variables in loader.conf. The
> result was that it loaded on boot, but for some reason it couldn't mount
> my root partition. I disabled acpi and was able to boot. I looked more
> carefully at the result of compiling, and this is what I saw:
>
Can you provide a verbose dmesg, `boot -Dhv'? How many instances of
Windows did you change? If there's more than one, you might want to try
changing one at a time.
> acpi.asl 123: If (S3EN)
> Error 1037 - ^ syntax error
>
> Here are the surrounding lines. To be honest, I really don't see what
> could be causing a syntax error.
>
> 118 Name (_S0, Package (0x02)
> 119 {
> 120 0x00,
> 121 0x00
> 122 })
^
It looks like you've got an extra closing paren at the end of line 122.
> 123 If (S3EN)
> 124 {
> 125 Name (_S3, Package (0x02)
> 126 {
> 127 0x05,
> 128 0x05
> 129 })
> 130 }
> 131 Else
> 132 {
> 133 Name (_S1, Package (0x02)
> 134 {
> 135 0x01,
> 136 0x01
> 137 })
> 138 }
>
> -Dan
>
Pete...
> Name (OSFL, 0x03)
> Method (_INI, 0, NotSerialized)
> {
> If (MCTH (\_OS, "Microsoft Windows"))
> {
> Store (0x01, OSFL)
> }
> Else
> {
>
> Peter Schultz wrote:
>
>
>>Dan Hulme wrote:
>>
>>
>>>Disabling ACPI fixes the problem. The problem appears to be in dc0,
>>>however. See my other reply for details.
>>>
>>
>>You might be able to use ACPI, run this command:
>>
>>`acpidump -t -d > your.asl'
>>
>>In your.asl, change if statements that compare the value of _OS from
>>"Windows" to "FreeBSD". For example*:
>>
>>If (MCTH (\_OS, "Microsoft Windows NT"))
>>{
>> Return (PIC1)
>>}
>>Else
>>{
>> Return (PIC0)
>>}
>>
>>Overridden for use with FreeBSD:
>>If (MCTH (\_OS, "FreeBSD"))
>>{
>> Return (PIC1)
>>}
>>Else
>>{
>> Return (PIC0)
>>}
>>
>>After you customize your.asl, you'll want to compile** it, run:
>>
>>`iasl -f your.asl'
>>
>>DSDT.aml is the default output filename for the above command. It's
>>machine code you can offer to ACPI instead of using the DSDT provided
>>with your motherboard. You do this by editing /boot/loader.conf, add:
>>
>>acpi_dsdt_load="YES"
>>acpi_dsdt_name="/boot/DSDT.aml"
>>
>>Remember to move DSDT.aml to the /boot directory. That's what I've
>>done to get ACPI working back to how it was in the past.
>>
>>HTH,
>>Pete...
>>
>>* From my OEM ASL, a partnership with Microsoft?
>>
>>** We're forcing compilation because it seems most OEM ASLs are buggy.
>>
>>
>
More information about the freebsd-current
mailing list