On Wed, 18 May 2022 08:20:56 +0800 Robert Hoo <robert...@linux.intel.com> wrote:
> On Fri, 2022-05-06 at 11:23 +0200, Igor Mammedov wrote: > > > > > > > > No, sorry, I didn't explain it clear. > > > No extra interface/ABI but these 3 must _LS{I,R,W} nvdimm-sub- > > > device > > > methods. Of course, I'm going to extract 'SystemIO' and > > > 'SystemMemory' > > > operation regions out of NACL to be globally available. > > > > > > The buffer (BUFF in above patch) will be gone. It is added by my > > > this > > > patch, its mere use is to covert param of _LS{I,R,W} into those of > > > NACL. If I implemented each _LS{I,R,W} on their own, rather than > > > wrap > > > the multi-purpose NACL, no buffer needed, at least I now assume so. > > > And, why declare the 4K buffer global to sub-nvdimm? I now recall > > > that > > > it is because if not each sub-nvdimm device would contain a 4K > > > buff, > > > which will make this SSDT enormously large. > > > > ok, lets see how it will look like when you are done. > > In ASL, can we define package with Arg in? e.g. > > Name (PKG1, Package () > { > Arg0, > Arg1, > Arg2 > }) Looking at the spec it doesn't seem to be a valid construct. see "DefPackage :=" and "PackageElement :=" definitions. However you can try to play with RefOf to turn ArgX into reference (mind 'read' rules fro ArgTerm). > But it cannot pass compilation. Any approach to achieve this? if so, we > can still use simpler wrap scheme like v1 and save the 4K buffer. > > > > > > > > > > So unless we have to add new host/guest ABI, I'd prefer reusing > > > > existing one and complicate only new _LS{I,R,W} AML without > > > > touching NACL or host side. > > > > > > As mentioned above, I assume no new host/guest ABI, just extract > > > 'SystemIO' and 'SystemMemory' operation regions to a higher level > > > scope. > > > > >