On Thu, Apr 9, 2020 at 2:01 AM Simon Glass <s...@chromium.org> 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