RE: nfit issue

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

 



+ linux acpi
+qemu-devel

> -----Original Message-----
> From: Dan Williams [mailto:dan.j.williams@xxxxxxxxx]
> Sent: Monday, April 16, 2018 10:23 AM
> To: Schmauss, Erik <erik.schmauss@xxxxxxxxx>
> Cc: Zhang, Haozhong <haozhong.zhang@xxxxxxxxx>; Moore, Robert
> <robert.moore@xxxxxxxxx>; He, Junyan <junyan.he@xxxxxxxxx>
> Subject: Re: nfit issue
> 
> Let's move this discussion on to the mailing list and copy linux-
> acpi@xxxxxxxxxxxxxxx and qemu-devel@xxxxxxxxxx.
> 
> On Mon, Apr 16, 2018 at 10:16 AM, Schmauss, Erik <erik.schmauss@xxxxxxxxx>
> wrote:
> > Hi,
> >
> > I took a look at the SSDT and I have a few comments.
> >
> > Compiler ID is BXPC so these ACPI tables were compiled using something other
> than iASL. This ends up generating some strange ACPI tables that are allowed. I
> have trouble editing and re-compiling these tables using iASL. If possible,  please
> use iASL to build the tables. Also, if you have any trouble using iASL, please let us
> know.
> >

Hi,

> > The issue with these ACPI tables seem to be that there is a forward reference
> to MEMA that the new patches cannot handle. MEMA is declared and defined at
> the very end of the ACPI table and MEMA is used to define the NRAM operation
> region which is earlier in the table. If you move MEMA to the top of the table,
> this ends up working fine. However, this should be fixed in ACPICA code as it is a
> regression.

I've done a lot of windows testing today and ASL code like the following is not good on windows:

OperationRegion (NRAM, SystemMemory, OBJ1, 0x1000) // OBJ1 not found here
Field (NRAM,.....)
{
  ...
}

Name (OBJ1, 0x1234) // OBJ1 declared here

Windows cannot handle this forward reference so OBJ1 is not found.
>From what I can tell, operation region NRAM is not created as a result.
We used to support this code but the new patches close support for this. If windows AML interpreter does not
Support this, I don't think we should be supporting it either.

I think we can call this a firmware bug and have the qemu developers fix this.
In order to fix the above code, we need to declare OBJ1 before declaring OperationRegion(NRAM,....)

So it would look like this: 

Name (OBJ1, 0x1234) // OBJ1 declared here
OperationRegion (NRAM, SystemMemory, OBJ1, 0x1000) // OBJ1 found in above line
Field (NRAM,.....)
{
  ...
}

Erik

> >
> > Erik
> >
> >> -----Original Message-----
> >> From: Zhang, Haozhong
> >> Sent: Sunday, April 15, 2018 5:40 PM
> >> To: Moore, Robert <robert.moore@xxxxxxxxx>
> >> Cc: Williams, Dan J <dan.j.williams@xxxxxxxxx>; Schmauss, Erik
> >> <erik.schmauss@xxxxxxxxx>; He, Junyan <junyan.he@xxxxxxxxx>
> >> Subject: Re: nfit issue
> >>
> >> +Junyan, who is taking over my work on CR on KVM and QEMU
> >>
> >> On 04/14/18 08:30 +0800, Moore, Robert wrote:
> >> > MEMA is the missing symbol. It exists nowhere in either the DSDT or
> >> > SSDT
> >> >
> >> > -----Original Message-----
> >> > From: Dan Williams [mailto:dan.j.williams@xxxxxxxxx]
> >> > Sent: Friday, April 13, 2018 5:10 PM
> >> > To: Moore, Robert <robert.moore@xxxxxxxxx>
> >> > Cc: Schmauss, Erik <erik.schmauss@xxxxxxxxx>; Zhang, Haozhong
> >> > <haozhong.zhang@xxxxxxxxx>
> >> > Subject: Re: nfit issue
> >> >
> >> > [ adding Haozhong ]
> >> >
> >> > This is just my virtual machine, I've never tried to boot Windows on it.
> >> >
> >> > That said this should also be a bug report to the qemu-kvm folks to
> >> > fix up their
> >> ACPI implementation.
> >> >
> >> > Haozhong, can you take a look at these errors reported by the
> >> > latest Linux
> >> master branch when parsing the NFIT tables:
> >> >
> >> > ACPI BIOS Error (bug): Failure looking up [\_SB.NVDR.MEMA],
> >> AE_NOT_FOUND (20180313/psargs-330)
> >> >    ACPI Error: Method parse/execution failed \, AE_NOT_FOUND
> >> > (20180313/psparse-516)
> >> >    ACPI Error: Invalid zero thread count in method (20180313/dsmethod-
> 760)
> >> >    ACPI Error: Invalid OwnerId: 0x00 (20180313/utownerid-156)
> >> >    ACPI Error: AE_NOT_FOUND, (SSDT:  NVDIMM) while loading table
> >> > (20180313/tbxfload-197)
> >> >    ACPI Error: 1 table load failures, 1 successful
> >> > (20180313/tbxfload-215)
> >> >
> >> >
> >> > Bob expects these might also cause compat problems for Windows.
> >> >
> >> > On Fri, Apr 13, 2018 at 4:44 PM, Moore, Robert
> >> > <robert.moore@xxxxxxxxx>
> >> wrote:
> >> > > Dan,
> >> > >
> >> > >
> >> > >
> >> > > We are starting to get a handle on this, at least a bit
> >> > >
> >> > >
> >> > >
> >> > > I have a couple questions:
> >> > >
> >> > >
> >> > >
> >> > > 1)      What kind of machine is this?
> >> > >
> >> > > 2)      Does it run windows correctly?
> >> > >
> >> > > 3)      Has it ever run windows?
> >> > >
> >> > >
> >> > >
> >> > > There is at least one bug in the DSDT/SSDT that can cause major
> >> > > problems, in the _DSM/NFIT area. The AE_NOT_FOUND error you have
> >> > > seen is in fact correct, and represents the table bug. There is
> >> > > an unresolved
> >> symbol.
> >> > >
> >> > >
> >> > >
> >> > > That’s about as far as I have gotten.
> >> > >
> >> > > Bob
> >> > >
> >> > >
> >> > >
> >> > >
> >> > >
> >> > >
��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[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