u-boot/boot/bootmeth_sandbox.c
Simon Glass 79f663515a bootstd: Rename distro and syslinux to extlinux
We use the terms 'distro' to mean extlinux but they are not really the
same. 'Distro' could refer to any method of booting a distribution,
whereas extlinux is a particular method.

Also we sometimes use syslinux, but it is better to use the same term in
all cases.

Rename distro to syslinux and also update bootstd uses of syslinux to use
extlinux instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
2023-05-13 09:52:32 -04:00

70 lines
1.5 KiB
C

// SPDX-License-Identifier: GPL-2.0+
/*
* Bootmethod for sandbox testing
*
* Copyright 2021 Google LLC
* Written by Simon Glass <sjg@chromium.org>
*/
#define LOG_CATEGORY UCLASS_BOOTSTD
#include <common.h>
#include <bootdev.h>
#include <bootflow.h>
#include <bootmeth.h>
#include <dm.h>
static int sandbox_check(struct udevice *dev, struct bootflow_iter *iter)
{
return 0;
}
static int sandbox_read_bootflow(struct udevice *dev, struct bootflow *bflow)
{
/* pretend we are ready */
bflow->state = BOOTFLOWST_READY;
return 0;
}
static int sandbox_read_file(struct udevice *dev, struct bootflow *bflow,
const char *file_path, ulong addr, ulong *sizep)
{
return -ENOSYS;
}
static int sandbox_boot(struct udevice *dev, struct bootflow *bflow)
{
/* always fail: see bootflow_iter_disable() */
return -ENOTSUPP;
}
static int sandbox_bootmeth_bind(struct udevice *dev)
{
struct bootmeth_uc_plat *plat = dev_get_uclass_plat(dev);
plat->desc = "Sandbox boot for testing";
return 0;
}
static struct bootmeth_ops sandbox_bootmeth_ops = {
.check = sandbox_check,
.read_bootflow = sandbox_read_bootflow,
.read_file = sandbox_read_file,
.boot = sandbox_boot,
};
static const struct udevice_id sandbox_bootmeth_ids[] = {
{ .compatible = "u-boot,sandbox-extlinux" },
{ }
};
U_BOOT_DRIVER(bootmeth_sandbox) = {
.name = "bootmeth_sandbox",
.id = UCLASS_BOOTMETH,
.of_match = sandbox_bootmeth_ids,
.ops = &sandbox_bootmeth_ops,
.bind = sandbox_bootmeth_bind,
};