RE: [Devel] Reserved method has too many arguments (_OSC requires 4)

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

 



Please send the acpidump for this machine, we'd like to take a look at this.
Thanks,
Bob


>-----Original Message-----
>From: Thomas Renninger [mailto:trenn@xxxxxxx]
>Sent: Monday, March 15, 2010 2:31 AM
>To: Moore, Robert
>Cc: linux-acpi@xxxxxxxxxxxxxxx; devel@xxxxxxxxxx
>Subject: Re: [Devel] Reserved method has too many arguments (_OSC requires
>4)
>
>On Friday 12 March 2010 16:58:41 Moore, Robert wrote:
>>
>> >My other concern/question is: what exactly happens in such a case?
>> >Will _OSC get invoked at all?
>> >If yes, what will be the last argument, zero, -1?
>>
>> The method will be invoked with the 4 arguments, the correct number.
>> What will happen then is one of three things:
>>
>> 1) The method attempts to access the phantom fifth argument and it
>> will then be aborted with an AE_AML_UNINITIALIZED_ARG exception.
>>
>> 2) The method has some other confusion about the first four arguments
>> (given that it is already confused about the number of arguments in
>> the first place), and does something unpredictable.
>>
>> 3) The method does not attempt to access the fifth argument, understands
>> the first four arguments correctly and runs to completion correctly.
>
>I expect I have the first with acpiexec I get:
>execute \_SB_.PCI0._OSC 1 1 1 1
>Executing \_SB_.PCI0._OSC
>ACPI Error: Uninitialized Arg[4] at node 0x6c9648 (20100304/dsmthdat-544)
>ACPI Exception: AE_AML_UNINITIALIZED_ARG, While resolving operands for
>[Store] (20100304/dswexec-554)
>[AcpiExec] Exception AE_AML_UNINITIALIZED_ARG during execution of method
>[_OSC] Opcode [Store] @12
>
>**** Exception AE_AML_UNINITIALIZED_ARG during execution of method
>[\_SB_.PCI0._OSC] (Node 0x67b7c0)
>
>Thanks!
>
>> >This is not the first time I see this message.
>> >It would be great to get (from include/linux/kernel.h):
>>
>> I've seen this suggestion before, I'll add it as something to look at
>> -- since it goes far beyond one or two error messages.
>Great, would be the possibilty/interface, first for now.
>This would help with most important/upcoming messages and newly written
>code.
>No need to go through all files and adjust every potential message.
>
>> In the meantime, the existing error message could use some improvement
>> to clarify it, any suggestions?
>Hm, not sure if this is necessary or possible.
>More important would be to find out what the fifth argument is for and how
>to solve this if Linux has to be able to differ _OSC 4 vs 5 arguments?
>As this is the 2nd OEM (maybe only one BIOS devel company?) making use of
>this...
>It's always the PCI root bridge _OSC method with 5 arguments, there are
>other _OSC methods (e.g. processor capabilities) which still have 4 args.
>This should be the first kind of such differentiation and probably is
>really
>ugly to implement?
>
>With the one vendor we are a bit in touch, I try to find out more.
>
>Thanks,
>
>     Thomas
>
>> >-----Original Message-----
>> >From: devel-bounces@xxxxxxxxxx [mailto:devel-bounces@xxxxxxxxxx] On
>Behalf
>> >Of Thomas Renninger
>> >Sent: Friday, March 12, 2010 6:01 AM
>> >To: linux-acpi@xxxxxxxxxxxxxxx
>> >Cc: devel@xxxxxxxxxx
>> >Subject: [Devel] Reserved method has too many arguments (_OSC requires
>4)
>> >
>> >Hi,
>> >
>> >I have a laptop freezing early, acpi=off and noapic helps.
>> >I wonder whether this could have to do with the broken _OSC method.
>> >
>> >I cannot access the machine myself, eventually I can get more info
>> >if needed, but the machine is freezing really early (after ACPI
>> >initialization, somewhere around bringing up CPUs (possibly when
>> >starting PCI init already?).
>> >
>> >This is not the first time I see this message.
>> >It would be great to get (from include/linux/kernel.h):
>> >#define FW_BUG          "[Firmware Bug]: "
>> >#define FW_WARN         "[Firmware Warn]: "
>> >#define FW_INFO         "[Firmware Info]: "
>> >marked messages into ACPICA and blame the guys who are responsible
>> >for that.
>> >
>> >My other concern/question is: what exactly happens in such a case?
>> >Will _OSC get invoked at all?
>> >If yes, what will be the last argument, zero, -1?
>> >
>> >Hmm, I doubt it has to do with the freeze, but it would still be
>> >great if someone knowing these parts could comment what people
>> >with such a BIOS could expect to happen.
>> >
>> >Thanks,
>> >
>> >  Thomas
>> >
>> >Method (_OSC, 5, NotSerialized)
>> >{
>> >   Store (Arg3, Local0)
>> >   Multiply (Local0, 0x04, Local1)
>> >   Name (BUF1, Buffer (Local1) {})
>> >   Store (Arg4, BUF1)
>> >   Store (Zero, Local1)
>> >   Store (Zero, Local2)
>> >   While (Local0)
>> >   {
>> >       Multiply (Local1, 0x04, Local2)
>> >       CreateDWordField (BUF1, Local2, CAPB)
>> >       If (Arg2)
>> >       {
>> >           If (LEqual (Local1, Zero))
>> >           {
>> >               And (CAPB, 0xFFFFFFFC)
>> >           }
>> >       }
>> >       Increment (Local1)
>> >       Decrement (Local0)
>> >   }
>> >   Return (BUF1)
>> >}
>> >_______________________________________________
>> >Devel mailing list
>> >Devel@xxxxxxxxxx
>> >http://lists.acpica.org/listinfo/devel
>>

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux