From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Shevchenko Date: Thu, 9 Apr 2020 12:02:05 +0300 Subject: [PATCH v5 12/29] dm: core: Add basic ACPI support In-Reply-To: <20200408165737.v5.12.Ia5e9ba1f146567b18e9183395484bf04d2e5ba6a@changeid> References: <20200408225749.171380-1-sjg@chromium.org> <20200408165737.v5.12.Ia5e9ba1f146567b18e9183395484bf04d2e5ba6a@changeid> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, Apr 9, 2020 at 2:01 AM Simon Glass wrote: > > ACPI (Advanced Configuration and Power Interface) is a standard for > specifying information about a platform. It is a little like device > tree but the bindings are part of the specification and it supports an > interpreted bytecode language. > > Driver model does not use ACPI for U-Boot's configuration, but it is > convenient to have it support generation of ACPI tables for passing to > Linux, etc. > > As a starting point, add an optional set of ACPI operations to each > device. Initially only a single operation is available, to obtain the > ACPI name for the device. More operations are added later. > > Enable ACPI for sandbox to ensure build coverage and so that we can add > tests. > +int acpi_copy_name(char *out_name, const char *name) > +{ > + strncpy(out_name, name, ACPI_NAME_MAX); _LEN. The idea as I tried to explain that name can have only 4 bytes at the end of the page. I dunno what U-Boot does if you access out of the boundaries to the page which is not mapped to MMU (in OSes it will be page fault). Does U-Boot map all pages to MMU? In any case, the code above has this subtle issue. We may live with it, but since it's a generic kinda function, better to be pedantic about it. > + out_name[ACPI_NAME_LEN] = '\0'; > + > + return 0; > +} -- With Best Regards, Andy Shevchenko