+ 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