| Age | Commit message (Collapse) | Author |
|
This should be imported from the binman module. Fix it.
Signed-off-by: Simon Glass <[email protected]>
|
|
Since this is a list of blobs, each blob should have the ability to be
faked, as with blob-ext. Update the Entry base class to set allow_fake
and use the base class in the section code also, so that this propagagtes
to blob-ext-list, which is not a section.
Signed-off-by: Simon Glass <[email protected]>
|
|
This is not really needed and it makes the message different from the
missing-blob message. Update it.
Signed-off-by: Simon Glass <[email protected]>
|
|
The Run() function automatically uses the PATH variable to locate a tool
when running it. Add a function that does this manually, so we don't have
to run a tool to find out if it is present.
This is needed by the new Bintool class, which wants to check which tools
are present.
Signed-off-by: Simon Glass <[email protected]>
|
|
Reverse the order of the return tuple, so that the filename is first.
This seems more obvious than putting the temporary directory first.
Correct a bug that leaves a space on the final line.
Allow the caller to control the name of the temporary directory.
Signed-off-by: Simon Glass <[email protected]>
|
|
This function is handy for binman as well. Move it into the shared 'tools'
module.
Signed-off-by: Simon Glass <[email protected]>
|
|
Add a new function which returns the entire result from running a tool,
not just stdout. Update Run() to use this and to return stdout on error,
if stderr is empty, since some unfortunate tools write their error
output to stdout rather than stderr.
Move building of the PATH to a separate function.
Make the exception catching more specific, to catch just ValueError, since
broad exceptions are a pain to debug.
Signed-off-by: Simon Glass <[email protected]>
|
|
At present this does not check that the external data is in the expected
place. Use a non-zero offset for the external data and check it.
Signed-off-by: Simon Glass <[email protected]>
|
|
This is a debug message at present, which is not very helpful. Print out
the error so that action can be taken.
Signed-off-by: Simon Glass <[email protected]>
|
|
Some newer toolchains do not create a symbol for the .ucode section that
this test relies on. Update the test to use the symbol that is explicitly
created, instead.
Signed-off-by: Simon Glass <[email protected]>
|
|
This behaviour is necessary with boards where the binman description
requires processing external blobs, since these may be missing.
Enable it by default, so that CI is happy. Warnings indicate that a valid
image is not produced, as with the --allow-missing option.
Signed-off-by: Simon Glass <[email protected]>
|
|
When OF_LIVE flag is enabled on a 64 bits platform, there is an
issue when dev_read_addr() is called and need to perform an address
translation using __of_translate_address().
In case of error, __of_translate_address() return's value is OF_BAD_ADDR
(wich is defined in include/dm/of.h to ((u64)-1) = 0xffffffffffffffff).
The return value of dev_read_addr() is often compared to FDT_ADDR_T_NONE
which is defined as (-1U) = 0xffffffff.
In this case the comparison is always false.
To fix this issue, define FDT_ADDR_T_NONE to (ulong)(-1) in case of
AARCH64. Update accordingly related tests.
Signed-off-by: Patrice Chotard <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
|
|
The build system already automatically looks for and includes an
in-tree *-u-boot.dtsi when building the control .dtb. However, there
are some things that are awkward to maintain in such an in-tree file,
most notably the metadata associated to public keys used for verified
boot.
The only "official" API to get that metadata into the .dtb is via
mkimage, as a side effect of building an actual signed image. But
there are multiple problems with that. First of all, the final U-Boot
(be it U-Boot proper or an SPL) image is built based on a binary
image, the .dtb, and possibly some other binary artifacts. So
modifying the .dtb after the build requires the meta-buildsystem
(Yocto, buildroot, whatnot) to know about and repeat some of the steps
that are already known to and handled by U-Boot's build system,
resulting in needless duplication of code. It's also somewhat annoying
and inconsistent to have a .dtb file in the build folder which is not
generated by the command listed in the corresponding .cmd file (that
of course applies to any generated file).
So the contents of the /signature node really needs to be baked into
the .dtb file when it is first created, which means providing the
relevant data in the form of a .dtsi file. One could in theory put
that data into the *-u-boot.dtsi file, but it's more convenient to be
able to provide it externally: For example, when developing for a
customer, it's common to use a set of dummy keys for development,
while the consultants do not (and should not) have access to the
actual keys used in production. For such a setup, it's easier if the
keys used are chosen via the meta-buildsystem and the path(s) patched
in during the configure step. And of course, nothing prevents anybody
from having DEVICE_TREE_INCLUDES point at files maintained in git, or
for that matter from including the public key metadata in the
*-u-boot.dtsi directly and ignore this feature.
There are other uses for this, e.g. in combination with ENV_IMPORT_FDT
it can be used for providing the contents of the /config/environment
node, so I don't want to tie this exclusively to use for verified
boot.
Reviewed-by: Simon Glass <[email protected]>
Signed-off-by: Rasmus Villemoes <[email protected]>
Fix doc formatting error (make htmldocs)
Signed-off-by: Simon Glass <[email protected]>
|
|
For whatever reason, usb_setup_ehci_gadget removes and probes USB device
0. However, not all systems have a device 0. Use the first device
instead.
The device probed should probably have something to do with the
controller (as specified by e.g. ums <controller> or fastboot
<controller>). In fact, I find it odd that we probe the USB device in
the first place, because this is just to set up the gadget itself.
Presumably, the controller should be probed by usb_gadget_initialize
somehow.
Signed-off-by: Sean Anderson <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
|
|
Add myself as maintainer of the generic ACPI code, until someone else
steps up to take it on.
Signed-off-by: Simon Glass <[email protected]>
|
|
Add some tables needed for ARM devices, including more MADT subtables,
a CSRT descriptor, GTDT and PPTT.
WIP: This needs comments added.
Signed-off-by: Simon Glass <[email protected]>
|
|
Add some documentation for this command.
Signed-off-by: Simon Glass <[email protected]>
|
|
At present this is really just a debugging aid, but it is a bit untidy.
Add proper columns so it is easier to read.
Sample output for coral:
=> acpi list
Name Base Size Detail
---- -------- ----- ------
RSDP 79925000 24 v02 U-BOOT
RSDT 79925030 48 v01 U-BOOT U-BOOTBL 20220101 INTL 0
XSDT 799250e0 6c v01 U-BOOT U-BOOTBL 20220101 INTL 0
FACP 79929570 f4 v04 U-BOOT U-BOOTBL 20220101 INTL 1
DSDT 79925280 32ea v02 U-BOOT U-BOOTBL 20110725 INTL 20180105
FACS 79925240 40
MCFG 79929670 2c v01 U-BOOT U-BOOTBL 20220101 INTL 0
SPCR 799296a0 50 v02 U-BOOT U-BOOTBL 20220101 INTL 0
TPM2 799296f0 4c v04 U-BOOT U-BOOTBL 20220101 INTL 0
APIC 79929740 6c v02 U-BOOT U-BOOTBL 20220101 INTL 0
SSDT 799297b0 1523 v02 U-BOOT U-BOOTBL 20220101 INTL 1
NHLT 7992ace0 e60 v05 coral coral 3 INTL 0
DBG2 7992db40 61 v00 U-BOOT U-BOOTBL 20220101 INTL 0
HPET 7992dbb0 38 v01 U-BOOT U-BOOTBL 20220101 INTL 0
Signed-off-by: Simon Glass <[email protected]>
|
|
At present this is really just a debugging aid, but it is a bit untidy.
Add proper columns and display the type name instead of a number.
Sample output for coral:
=> acpi items
Seq Type Addr Size Device/Writer
--- ----- -------- ---- -------------
0 other 79925000 240 0base
1 other 79925240 40 1facs
2 dsdt 799252a4 58 board
3 dsdt 799252fc 10 lpc
4 other 79925280 32f0 3dsdt
5 other 79928570 1000 4gnvs
6 other 79929570 100 5fact
7 other 79929670 30 5mcfg
8 other 799296a0 50 5spcr
9 other 799296f0 50 5tpm2
a other 79929740 70 5x86
b ssdt 799297d4 fe maxim-codec
c ssdt 799298d2 28 i2c2@16,0
d ssdt 799298fa 270 da-codec
e ssdt 79929b6a 28 i2c2@16,1
f ssdt 79929b92 28 i2c2@16,2
10 ssdt 79929bba 83 tpm@50
11 ssdt 79929c3d 28 i2c2@16,3
12 ssdt 79929c65 282 elan-touchscreen@10
13 ssdt 79929ee7 285 raydium-touchscreen@39
14 ssdt 7992a16c 28 i2c2@17,0
15 ssdt 7992a194 d8 elan-touchpad@15
16 ssdt 7992a26c 163 synaptics-touchpad@2c
17 ssdt 7992a3cf 28 i2c2@17,1
18 ssdt 7992a3f7 111 wacom-digitizer@9
19 ssdt 7992a508 8f sdmmc@1b,0
1a ssdt 7992a597 4b wifi
1b ssdt 7992a5e2 1a0 cpu@0
1c ssdt 7992a782 1a0 cpu@1
1d ssdt 7992a922 1a0 cpu@2
1e ssdt 7992aac2 211 cpu@3
1f other 799297b0 1530 6ssdt
20 other 7992ace0 2f10 8dev
Signed-off-by: Simon Glass <[email protected]>
|
|
At present this list is used to collect items within the DSDT and SSDT
tables. It is useful for it to collect the whole tables as well, so there
is a list of what was created and which write created each one.
Refactor the code accordingly.
Signed-off-by: Simon Glass <[email protected]>
|
|
Move this over to use a writer file, moving the code from the x86
implementation.
There is no need to store a separate variable since we can simply access
the ACPI context.
With this, the original monolithic x86 function for writing ACPI tables
is gone.
Note that QEMU has its own implementation.
Signed-off-by: Simon Glass <[email protected]>
|
|
Move this over to use a writer function, moving the code from the x86
implementation.
Signed-off-by: Simon Glass <[email protected]>
|
|
Update this function to the newer style, so we can avoid passing and
returning an address through this function.
Also move this function out of the x86 code so it can be used by other
archs.
Signed-off-by: Simon Glass <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
|
|
Move this table over to use a writer function, moving the code from the
x86 implementation.
Signed-off-by: Simon Glass <[email protected]>
|
|
Move this table over to use a writer function, for x86 only.
Signed-off-by: Simon Glass <[email protected]>
|
|
Move this table over to use a writer function, for x86 only.
Signed-off-by: Simon Glass <[email protected]>
|
|
Move this table over to use a writer function, for x86 only.
Signed-off-by: Simon Glass <[email protected]>
|
|
Move this table over to use a writer function, moving the code from the
x86 implementation.
Signed-off-by: Simon Glass <[email protected]>
|
|
Each board has its own way of creating this table. Rather than calling the
acpi_create_fadt() function for each one from a common acpi_write_fadt()
function, just move the writer into the board-specific code.
Signed-off-by: Simon Glass <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
|
|
Move this table over to use a writer function, for x86 only.
Signed-off-by: Simon Glass <[email protected]>
|
|
Move this table over to use a writer function, for x86 only. Handle the
two cases
Signed-off-by: Simon Glass <[email protected]>
|
|
Move this table over to use a writer function, moving the code from the
x86 implementation.
Add a pointer to the DSDT in struct acpi_ctx so we can reference it later.
Disable this table for sandbox since we don't actually compile real ASL
code.
Signed-off-by: Simon Glass <[email protected]>
|
|
Move this table over to use a writer function, moving the code from the
x86 implementation.
Add a pointer to the DSDT in struct acpi_ctx so we can reference it later.
Signed-off-by: Simon Glass <[email protected]>
|
|
Use the new ACPI writer to write the base tables at the start of the area,
moving this code from the x86 implementation.
Signed-off-by: Simon Glass <[email protected]>
|
|
Use the new ACPI writer to write the ACPI tables. At present this is all
done in one monolithic function. Future work will split this out.
Unfortunately the QFW write_acpi_tables() function conflicts with the
'writer' version, so disable that for sandbox.
Signed-off-by: Simon Glass <[email protected]>
|
|
At present acpi_setup_base_tables() both sets up the ACPI context and
writes out the base tables.
We want to use an ACPI writer to write the base tables, so split this
function into two, with acpi_setup_ctx() doing the context set, and
acpi_setup_base_tables() just doing the base tables.
Disable the writer's write_acpi_tables() function for now, to avoid
build errors. It is enabled in a following patch.
Signed-off-by: Simon Glass <[email protected]>
|
|
At present we call lots of functions to generate the required ACPI tables.
It would be better to standardise these functions and allow them to be
automatically collected and used when needed.
Add a linker list to handle this.
Signed-off-by: Simon Glass <[email protected]>
|
|
It is useful to record the start of an ACPI table so that offsets from
that point can be easily calculated.
Add this to the context and set it before calling the writer method.
Signed-off-by: Simon Glass <[email protected]>
|
|
This function is not x86-specific so move it into the common header file.
Signed-off-by: Simon Glass <[email protected]>
|
|
Some .asl files include others using the iasl 'include' directive. This
needs to be able to find the files referenced.
For an out-of-tree build the source directory is not the current
directory. Moreover, U-Boot preprocesses the input file and puts the
result in the output directory. So iasl does not know where the real
source file came from.
Add a -I option to produce the correct behaviour. We could add an option
to not preprocess the .asl source, but for now that seems unnecessary.
Signed-off-by: Simon Glass <[email protected]>
|
|
Rather than keying everything off ACPIGEN, use the main
GENERATE_ACPI_TABLE option to determine whether the core ACPI code
is included. Make sure these option are not enabled in SPL/TPL since we
never generate tables there.
Signed-off-by: Simon Glass <[email protected]>
|
|
The current EFI implementation confuses pointers and addresses. Normally
we can get away with this but in the case of sandbox it causes failures.
Despite the fact that efi_allocate_pages() returns a u64, it is actually
a pointer, not an address. Add special handling to avoid a crash when
running 'bootefi hello'.
Signed-off-by: Simon Glass <[email protected]>
|
|
This must be passed a ulong, not a u64. Fix it to avoid LTO warnings on
sandbox.
Signed-off-by: Simon Glass <[email protected]>
|
|
At present this option is missing a header file, a function prototype and
the qfw driver needs a header included.
Fix these problems so we can enable this option on sandbox. This will
increase the build coverage.
Signed-off-by: Simon Glass <[email protected]>
|
|
This is enabled for quite a few boards which don't create ACPI tables.
Tidy this up by dropping the option for some boards.
Signed-off-by: Simon Glass <[email protected]>
|
|
Some ARM boards are using ACPI now. It seems that U-Boot should support
this method. Add ARM to the list of archs which can generate ACPI tables.
Signed-off-by: Simon Glass <[email protected]>
|
|
Allow this to be used on any arch. Also convert to using macros so that
we can check the CONFIG option in C code.
Signed-off-by: Simon Glass <[email protected]>
|
|
These have sadly found their way to ARM now. Allow any arch to support
generating ACPI tables.
Disable this for the tools build.
Signed-off-by: Simon Glass <[email protected]>
|
|
- A number of cleanups to Python code based on running pylint
- Integrate changes so that we can run "make pylint" and compare the
results to a current baseline. Keep this as a manual check for now.
- Improve functionality of moveconfig.py
- pci: iproc: Set all 24 bits of PCI class code
|
|
Rsync all defconfig files using moveconfig.py
Signed-off-by: Tom Rini <[email protected]>
|