- Jan 23, 2023
-
-
These functions return 0 if the check passes, so the names are somewhat confusing. Rename them. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
The controller indicates the number of ports but also has a port map which specifies which ports are actually valid. Make use of this to avoid trying to send commands to an invalid port. This avoids a crash on some controllers. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a bootdev for virtio so that these devices can be used with standard boot. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
The test code for virtio is fairly simplistic and does not actually create a block device. Add a way to specify the device type in the device tree. Add a block device so that we can do more testing. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
This device does a check on removal which is better handled in the actual test. Move it. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
This has a special meaning in driver model. There is clearly a device, so it does not make sense to return this error code. Fix it. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Use a local variable to hold this name, to reduce the amount of code that needs to be read. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a bootdev for NVMe so that these devices can be used with standard boot. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a bootdev for IDE so that these devices can be used with standard boot. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a bootdev for SCSI so that these devices can be used with standard boot. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
At present this only unbinds block devices of a certain type. But SCSI device can have different types of children, including bootdevs. Unbind all children so tht everything is clean and ready for a new scan. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
This should be allocated so that it does not go out of scope. Fix this and set the log category while we are here. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
At present all partitions are scanned, whether marked bootable or not. Use only bootable partitions, defaulting to partition 1 if none is found. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
If a disk has a bootable partition we are expected to use it to locate the boot files. Add a function to find it. To test this, update mmc1 to have two paritions, fixing up other tests accordingly. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Sometimes ethernet devices are attached to PCI. Since it is quick to scan, add this into the ethernet hunter. Run dhcp to establish the network connection. Drop this from the bootdev since that is not needed now. Update a log message for clarity. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
At present this must be done by executing the command. Also it involves fiddling with the environment to determine the correct autoload behaviour. Ideally it should be possible to run network operations without even having the command line present (CONFIG_CMDLINE). For now, add a function to handle DHCP, so it can be called from a bootdev more easily. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Ramon Fried <rfried.dev@gmail.com>
-
Add a hunter for MMC. This doesn't do anything at present, since MMC is currently set up when U-Boot starts. If MMC moves to lazy init then we can add a hunter function. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a hunter for USB which enumerates the bus to find new bootdevs. Update the tests and speed up bootdev_test_prio() while we are here, by dropping the USB delays. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
At present this feature is sandbox-specific. For running tests on boards, we need a nop version. Add one. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Since usb_find_and_bind_driver() allocates the device name it should tell driver about that, to avoid memory leaks. Fix this. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add a way to run a bootdev hunter to find bootdevs of a certain type. Add this to the 'bootdev hunt' command. Test for this are added in a later patch, since a useful test needs some hunters to work with. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Some bootdevs must be enumerated before they appear. For example, USB bootdevs are not visible until USB is enumerated. With standard boot this needs to happen automatically, since we only want to enumerate a bus if it is needed. Add a way to define bootdev 'hunters' which can be used to hunt for bootdevs of a given type. Track which ones have been used and add a command to list them. Include a clang work-around which seems to be needed. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
When this fails it can be time-consuming to debug. Add some debugging to help with this. Also try to return error codes instead of just using -1. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Use a different one for each call. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
It is often useful to show an error code to give the user a clue as to what went wrong. When error strings are compiled into U-Boot it is possible to show a message as well. But at present it is not very convenient, since code must check if the error strings are present, then obtain the error string and use it in a printf() string. Add a %dE option which shows an error code along with an error string, if available. This makes it easy to show one or both. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
This bootdev is disabled at present since it messes with the tests. Now that there is a way to disable networking at runtime, enable the driver. This allows running tests with it if necessary. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Most tests don't want these and can create a lot of noise. Add a way to disable them. Use that in tests, with a flag provided to enable them for tests that need this feature. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
For bootstd tests it is seldom useful to have ethernet enabled. Add a way to disable it, so that ethernet operations like tftpboot do nothing. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
The code in these functions turns out to often be the same. Add a default get_bootflow() function and allow the drivers to select it by setting the method to NULL. This saves a little code space. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
At present MMC uses the bootdev_setup_for_dev() function to set up the bootdev. This is because MMC only has one block-device child, so does not need to worry about naming of the bootdev. However this inconsistency with other bootdevs that use block devices is a bit annoying. The only real reason for it is to have a name like 'mmc0.bootdev' instead of 'mmc0.blk.bootdev'. Update bootdev_setup_sibling_blk() to drop '.blk' from the name where it appears, thus removing the only reason to use the bootdev_setup_for_dev(). Switch MMC over to the subling function. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
We require CONFIG_BLK to be enabled now, so this code is unused. Drop it. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
We must call dm_scan_other() after devices from the device tree have been created, since that function behaves differently if there is no bootstd device. Adjust the logic to achieve this. Also fix the bootflow_system() test which was relying on this broken behaviour. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
At present this test sets up a partition table on mmc1. But this is used by the bootstd tests, so it is not possible to run those after this test has run, without restarting the Python test harness. This is inconvenient when running tests repeatedly with 'ut dm'. Move the test to use mmc2, which is not used by anything. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
This is not needed anymore since VBE creates the node when it sets up the OS requests. Drop it. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
This needs to be able to work (at least partially) without the bloblist active. Add a condition for this. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
When running multiple tests the mmc emulator calls malloc() to obtain the memory for its disk image. Since the memory is not cleared, it is possible that it happens to contain a partition table. The dm_test_part() test (for one) relies on mmc0 being empty on startup. Zero the memory to ensure that it is. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
This code is present twice. Fix it so that it is only executed once. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
The font help has an incorrect newline. Fix it. Signed-off-by:
Simon Glass <sjg@chromium.org> Fixes: cdd964e3 ("test: Tidy up help for ut command")
-
There is no point in trying to match the alias order for bootdevs, since build_order() either sorts them by priority, uses the boot_targets environment variable or the bootdev-order property. Just use the iterator instead, to simplify the code. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Rather than implement this as its own case in build_order(), process the boot_targets environment variable in the bootstd_get_bootdev_order() function. This allows build_order() to be simplified. Signed-off-by:
Simon Glass <sjg@chromium.org>
-