All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Robert Hoo <robert.hu@linux.intel.com>
Cc: mst@redhat.com, xiaoguangrong.eric@gmail.com, ani@anisinha.ca,
	jingqi.liu@intel.com, qemu-devel@nongnu.org, robert.hu@intel.com
Subject: Re: [PATCH v4 5/5] test/acpi/bios-tables-test: SSDT: update golden master binaries
Date: Mon, 26 Sep 2022 15:22:14 +0200	[thread overview]
Message-ID: <20220926152214.05255edf@redhat.com> (raw)
In-Reply-To: <783af0cd89700c2c3ae9c6b2b1e49dab0a2d3f70.camel@linux.intel.com>

On Thu, 22 Sep 2022 20:29:12 +0800
Robert Hoo <robert.hu@linux.intel.com> wrote:

> On Thu, 2022-09-22 at 20:21 +0800, Robert Hoo wrote:
> > And empty bios-tables-test-allowed-diff.h.
> > 
> > Diff of ASL form, from qtest testlog.txt:
> > 
> > --- /tmp/asl-RFWZS1.dsl	2022-09-22 18:25:06.191519589 +0800
> > +++ /tmp/asl-B1ZZS1.dsl	2022-09-22 18:25:06.187519182 +0800
> > @@ -1,30 +1,30 @@
> >  /*
> >   * Intel ACPI Component Architecture
> >   * AML/ASL+ Disassembler version 20180629 (64-bit version)
> >   * Copyright (c) 2000 - 2018 Intel Corporation
> >   *
> >   * Disassembling to symbolic ASL+ operators
> >   *
> > - * Disassembly of tests/data/acpi/pc/SSDT.dimmpxm, Thu Sep 22
> > 18:25:06 2022
> > + * Disassembly of /tmp/aml-YYZZS1, Thu Sep 22 18:25:06 2022
> >   *
> >   * Original Table Header:
> >   *     Signature        "SSDT"
> > - *     Length           0x000002DE (734)
> > + *     Length           0x00000717 (1815)
> >   *     Revision         0x01
> > - *     Checksum         0x56
> > + *     Checksum         0xBC
> >   *     OEM ID           "BOCHS "
> >   *     OEM Table ID     "NVDIMM"
> >   *     OEM Revision     0x00000001 (1)
> >   *     Compiler ID      "BXPC"
> >   *     Compiler Version 0x00000001 (1)
> >   */
> >  DefinitionBlock ("", "SSDT", 1, "BOCHS ", "NVDIMM", 0x00000001)
> >  {
> >      Scope (\_SB)
> >      {
> >          Device (NVDR)
> >          {
> >              Name (_HID, "ACPI0012" /* NVDIMM Root Device */)  //
> > _HID: Hardware ID
> >              Method (NCAL, 5, Serialized)
> >              {
> >                  Local6 = MEMA /* \MEMA */
> > @@ -49,52 +49,52 @@
> >                      ODAT,   32736
> >                  }
> > 
> >                  If ((Arg4 == Zero))
> >                  {
> >                      Local0 = ToUUID ("2f10e7a4-9e91-11e4-89d3-
> > 123b93f75cba")
> >                  }
> >                  ElseIf ((Arg4 == 0x00010000))
> >                  {
> >                      Local0 = ToUUID ("648b9cf2-cda1-4312-8ad9-
> > 49c4af32bd62")
> >                  }
> >                  Else
> >                  {
> >                      Local0 = ToUUID ("4309ac30-0d11-11e4-9191-
> > 0800200c9a66")
> >                  }
> > 
> > -                If (((Local6 == Zero) | (Arg0 != Local0)))
> > +                If (((Local6 == Zero) || (Arg0 != Local0)))
> >                  {
> >                      If ((Arg2 == Zero))
> >                      {
> >                          Return (Buffer (One)
> >                          {
> >                               0x00                                   
> >           // .
> >                          })
> >                      }
> > 
> >                      Return (Buffer (One)
> >                      {
> >                           0x01                                       
> >       // .
> >                      })
> >                  }
> > 
> >                  HDLE = Arg4
> >                  REVS = Arg1
> >                  FUNC = Arg2
> > -                If (((ObjectType (Arg3) == 0x04) & (SizeOf (Arg3) ==
> > One)))
> > +                If (((ObjectType (Arg3) == 0x04) && (SizeOf (Arg3)
> > == One)))
> >                  {
> >                      Local2 = Arg3 [Zero]
> >                      Local3 = DerefOf (Local2)
> >                      FARG = Local3
> >                  }
> > 
> >                  NTFI = Local6
> >                  Local1 = (RLEN - 0x04)
> >                  If ((Local1 < 0x08))
> >                  {
> >                      Local2 = Zero
> >                      Name (TBUF, Buffer (One)
> >                      {
> >                           0x00                                       
> >       // .
> >                      })
> >                      Local7 = Buffer (Zero){}
> > @@ -161,45 +161,234 @@
> >                      Else
> >                      {
> >                          If ((Local1 == Zero))
> >                          {
> >                              Return (Local2)
> >                          }
> > 
> >                          Local3 += Local1
> >                          Concatenate (Local2, Local0, Local2)
> >                      }
> >                  }
> >              }
> > 
> >              Device (NV00)
> >              {
> >                  Name (_ADR, One)  // _ADR: Address
> > +                Method (_LSI, 0, Serialized)  // _LSI: Label Storage
> > Information
> > +                {
> > +                    Local0 = NCAL (ToUUID ("4309ac30-0d11-11e4-9191-
> > 0800200c9a66"), One, 0x04, Zero, One)
> > +                    CreateDWordField (Local0, Zero, STTS)
> > +                    CreateDWordField (Local0, 0x04, SLSA)
> > +                    CreateDWordField (Local0, 0x08, MAXT)
> > +                    Local1 = Package (0x03)
> > +                        {
> > +                            STTS,
> > +                            SLSA,
> > +                            MAXT
> > +                        }
> > +                    Return (Local1)
> > +                }
> > +
> > +                Method (_LSR, 2, Serialized)  // _LSR: Label Storage
> > Read
> > +                {
> > +                    Name (INPT, Buffer (0x08)
> > +                    {
> > +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> > 0x00   // ........
> > +                    })
> > +                    CreateDWordField (INPT, Zero, OFST)
> > +                    CreateDWordField (INPT, 0x04, LEN)
> > +                    OFST = Arg0
> > +                    LEN = Arg1
> > +                    Local0 = Package (0x01)
> > +                        {
> > +                            INPT
> > +                        }
> > +                    Local3 = NCAL (ToUUID ("4309ac30-0d11-11e4-9191-
> > 0800200c9a66"), One, 0x05, Local0, One)
> > +                    CreateDWordField (Local3, Zero, STTS)
> > +                    CreateField (Local3, 0x20, (LEN << 0x03), LDAT)
> > +                    Name (LSA, Buffer (Zero){})
> > +                    ToBuffer (LDAT, LSA) /*
> > \_SB_.NVDR.NV00._LSR.LSA_ */
> > +                    Local1 = Package (0x02)
> > +                        {
> > +                            STTS,
> > +                            LSA
> > +                        }  
> Hi Igor,
> 
> Here is a little different from original proposal 
> https://lore.kernel.org/qemu-devel/80b09055416c790922c7c3db60d2ba865792d1b0.camel@linux.intel.com/
> 
>    Local1 = Package (0x2) {STTS, toBuffer(LDAT)}
> 
> Because in my test, Linux guest complains:
> 
> [    3.884656] ACPI Error: AE_SUPPORT, Expressions within package
> elements are not supported (20220331/dspkginit-172)
> [    3.887104] ACPI Error: Aborting method \_SB.NVDR.NV00._LSR due to
> previous error (AE_SUPPORT) (20220331/psparse-531)
> 
> 
> So I have to move toBuffer() out of Package{} and name LSA to hold the
> buffer. If you have better idea, pls. let me know.

Would something like following work?

LocalX =  Buffer (Zero){}
LocalY = Package (0x01) { LocalX }

> 
> > +                    Return (Local1)
> > +                }
> > +
> > +                Method (_LSW, 3, Serialized)  // _LSW: Label Storage
> > Write
> > +                {
> > +                    Local2 = Arg2
> > +                    Name (INPT, Buffer (0x08)
> > +                    {
> > +                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> > 0x00   // ........
> > +                    })
> > +                    CreateDWordField (INPT, Zero, OFST)
> > +                    CreateDWordField (INPT, 0x04, TLEN)
> > +                    OFST = Arg0
> > +                    TLEN = Arg1
> > +                    Concatenate (INPT, Local2, INPT) /*
> > \_SB_.NVDR.NV00._LSW.INPT */
> > +                    Local0 = Package (0x01)
> > +                        {
> > +                            INPT
> > +                        }
> > +                    Local3 = NCAL (ToUUID ("4309ac30-0d11-11e4-9191-
> > 0800200c9a66"), One, 0x06, Local0, One)
> > +                    CreateDWordField (Local3, Zero, STTS)
> > +                    Return (STTS) /* \_SB_.NVDR.NV00._LSW.STTS */
> > +                }
> > +
> > (iterates in each NV)
> > 
> > Signed-off-by: Robert Hoo <robert.hu@linux.intel.com>
> > ---
> >  tests/data/acpi/pc/SSDT.dimmpxm             | Bin 734 -> 1815 bytes
> >  tests/data/acpi/q35/SSDT.dimmpxm            | Bin 734 -> 1815 bytes
> >  tests/qtest/bios-tables-test-allowed-diff.h |   2 --
> >  3 files changed, 2 deletions(-)
> > 
> > diff --git a/tests/data/acpi/pc/SSDT.dimmpxm
> > b/tests/data/acpi/pc/SSDT.dimmpxm
> > index
> > ac55387d57e48adb99eb738a102308688a262fb8..70f133412f5e0aa128ab210245a
> > 8de7304eeb843 100644
> > GIT binary patch
> > literal 1815
> > zcmdUwyKmD_6vnUPv~g}y6emHgc**|(X$OSF0FILox3Lr1ZmHx-examI3c8|YVC!RO  
> > z2@)c;%774ZDvwC)2sTzGCN_pj>?}wOz&%bMqC!xRK#<|wbI(0K`Q7hx6kRVFqX~qV  
> > z7sa|%)dh8?Br6KtBZP{x4GGpv_2!(V7cFzGeuJKCoK=-eBcjxh3x)9sl%G1ON@8t<
> > zC}l-#nk#BUt~04IjN>%dL<KcdC}Xaspw6mBMHbA}GjPCGOSQ6~m1lIJGObENMbxgY
> > zd`g(B+2~ZOl~ti$5{;G5iQtsKhzOs<nect)eDBFFfA>xHlK*k;x!u1QobwmcfE+b^
> > zczo}A|8-XCzLj4+n|SHk{n4mic$$>>kzKym<B*Vk)U<=Kp5H`U{=6L|{Wc1DmWcvG
> > z76FVb02yfmT5$S-f4_s{{ziu(n;nE)vhI4s17gyIJ1qk(jyu7HZ3lA%xtvj)uE0pb
> > z$53nM?6&KW^-Z{ri#Fj5p`{kAt=n$cB6l3jBFD@@19IxL9zw`xtdg$8LlAg=q1{28
> > zrW+#4D+#S48%eHS(G5iAVIj~13LO=IVY0&vbVM52T^rF6(*yzx3({MDR0%04*|42u  
> > z2kyc74pk$D%$$vdh>qe^LJ0ZG7X5M#F6I*C?GzXSG@cDl2fPncQ;69=?`MKx80Oyc  
> > z9B;|BU2{zuQ)dbV&Js%+lfN=#)pVIV;6G{<gX4%9U>kbZ#&Nx-i*)4_an>N&6Rd6+
> > zI@DnAgic;g(t#T0WVK=NDa_GVIQn#<fIx{T!*ObvwI|*}lvAOg$NmA!kj;2qj|yh!
> > zX3nG1z=PDg8a0li5EfPCA#5NgSsa5-$boD!LCLPANZb86oIwZg!$H0TWG)1949wv}
> > z%n%5UzDSI@Rs|ErBNK2eFCN1M9Qzd;CjYDrIQIKKO#MY44mk%#@ZbKTacs|tiGdUB  
> > c@tk1)B`4Vb#EApW?>oVA@DG+o@4h6y0>WY85C8xG  
> > 
> > delta 135  
> > zcmbQvcaN1TIM^lR9uortW7tG4X>Nb5nD}6)_~<4#t%(LAjJ^|Hw{uC>PEKQ(G&v)I  
> > zVKOVD5|2#v<i2b!mdWkej0~HN7+n~(Wc<Pm3^?K)U4j@z1mazSeOZ?HIXn7fWM*YE
> > dMmNa;WevfyTuhS-Sw(n20!9!4=E=X=WB}s5Bn$um
> > 
> > diff --git a/tests/data/acpi/q35/SSDT.dimmpxm
> > b/tests/data/acpi/q35/SSDT.dimmpxm
> > index
> > 98e6f0e3f3bb02dd419e36bdd1db9b94c728c406..9ea4e0d0ceaa8a5cbd706afb6d4
> > 9de853fafe654 100644
> > GIT binary patch
> > literal 1815
> > zcmdUw%WD%+6vppl(q?j#N+yZ4_+tJ8(=J4Cp_55srp-*k%rq9JFfU2kq{_wCg}Xi$  
> > ztr5g@s0$I9lvx(s3+~*ya^=3@R@?|K)O)5cETUCVG>dc3J@?GX?|$Ee=z7T*O(4YV  
> > z6zft|7u04+RusBN2o+}<60Di(?O97NTIOo~7CqNEt16d9M5!Sc3gZ(fKXqD_#M%f^
> > z%8J-Bm(_+`XHsJr$7!yK3TmZL##~83omGvBESM|j;DD``YGpwyH+7*htx7^g)UGdo
> > zN|-Cz=v1qfRiR!IjpfgY;Ecb32%p25@LlF&|Jg2o|4sIa|8e$(J-8fP@E6j695sA+
> > z`rzi^byn)Vm0vxdc<I`M(WqY7NlN_4F5mBSNJu|v*}+)fZ=p?p&JL1(2ZcP#M1dg-
> > z07mA4jC24kIQz(d*u`;wy~~h|E<!F@b3Nh#F=@e_mVg$=o#4`zgE@j+&L~b-U?kyV  
> > zsJ(rD%XP@w23*HQ8*qluVjI@>T{mo#dk$uiW9Fa%IdxhOA>=bwNmt?_2s}66=^{?k  
> > z4H4y)gjSJ_Bv-HK1|oB?5a<Dgjtjsr*<l7cB8}{xjp&GJ0s)2v=}kYXgcOvl+s={$
> > z_uzbosu4qG&c;GSM{z14g#1;DemMsha|!ac3k(4o&xWT1-iN6v#2lOtGQltmbMJVL  
> > zx9HlgxhjpR%|d~*#FED3uMJr>UFHt?j~m6{IAZp&4ZUaMxL(smx^jv*W034ARyPbC  
> > zYOr@gCod=IKn-)U+A#PO=IARNeR@zpphT46IJL~$7jHhwsZh{k|A1x4X1tz91v7Lr  
> > z=TT|kLF!$N8plxxi>mS%HjtAnjzK5nKsK46WH(Zz<Nh4Zpo0(KAYTMB7Xmo}=I{|_  
> > z2n5GpB*t8=f(hf12{@J)Pv8QM{fZ5ff7S*Z`+Xm#{-O^@oO?#_-~OU;Y~P8AJtx?c
> > bIl=x*PO$%p6NjANcY@{MA1saDe@T1=QL*6=
> > 
> > delta 135
> > zcmbQvcaN1TIM^lR9uortquWF-X>Nb5nD}6)_~<4#t%(LAjJ^|Hw{uC>PEKQ(G&v)I
> > zVKOVD5|2#v<i2b!mdWkej0~HN7+n~(Wc<Pm3^?K)U4j@z1mazSeOZ?HIXn7fWM*YE
> > dMmNa;WevfyTuhS-Sw(n20!9!4=E=X=WB}VOBm4jW
> > 
> > diff --git a/tests/qtest/bios-tables-test-allowed-diff.h
> > b/tests/qtest/bios-tables-test-allowed-diff.h
> > index eb8bae1407..dfb8523c8b 100644
> > --- a/tests/qtest/bios-tables-test-allowed-diff.h
> > +++ b/tests/qtest/bios-tables-test-allowed-diff.h
> > @@ -1,3 +1 @@
> >  /* List of comma-separated changed AML files to ignore */
> > -"tests/data/acpi/pc/SSDT.dimmpxm",
> > -"tests/data/acpi/q35/SSDT.dimmpxm",  
> 



  reply	other threads:[~2022-09-26 13:44 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-22 12:21 [PATCH v4 0/5] Support ACPI NVDIMM Label Methods Robert Hoo
2022-09-22 12:21 ` [PATCH v4 1/5] tests/acpi: allow SSDT changes Robert Hoo
2022-09-22 12:21 ` [PATCH v4 2/5] acpi/ssdt: Fix aml_or() and aml_and() in if clause Robert Hoo
2022-09-22 12:21 ` [PATCH v4 3/5] acpi/nvdimm: define macro for NVDIMM Device _DSM Robert Hoo
2022-09-22 12:21 ` [PATCH v4 4/5] acpi/nvdimm: Implement ACPI NVDIMM Label Methods Robert Hoo
2022-10-20 11:45   ` Igor Mammedov
2022-09-22 12:21 ` [PATCH v4 5/5] test/acpi/bios-tables-test: SSDT: update golden master binaries Robert Hoo
2022-09-22 12:29   ` Robert Hoo
2022-09-26 13:22     ` Igor Mammedov [this message]
2022-09-27  0:30       ` Robert Hoo
2022-10-07 13:27         ` Robert Hoo
2022-10-20  0:48           ` Robert Hoo
2022-10-20 11:48             ` Igor Mammedov
2022-10-20 12:01               ` Michael S. Tsirkin
2022-10-20 13:11                 ` Igor Mammedov
2022-10-26 14:45   ` Michael S. Tsirkin
2022-10-27  0:49     ` Robert Hoo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220926152214.05255edf@redhat.com \
    --to=imammedo@redhat.com \
    --cc=ani@anisinha.ca \
    --cc=jingqi.liu@intel.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=robert.hu@intel.com \
    --cc=robert.hu@linux.intel.com \
    --cc=xiaoguangrong.eric@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.