summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/acpi/acpi_table.h9
-rw-r--r--include/asm-generic/global_data.h6
-rw-r--r--include/bootflow.h2
-rw-r--r--include/bootm.h63
-rw-r--r--include/bootstd.h3
-rw-r--r--include/config_distro_bootcmd.h2
-rw-r--r--include/configs/am57xx_evm.h16
-rw-r--r--include/configs/an7581.h19
-rw-r--r--include/configs/display5.h5
-rw-r--r--include/configs/dra7xx_evm.h16
-rw-r--r--include/configs/xea.h8
-rw-r--r--include/configs/xilinx_zynqmp.h6
-rw-r--r--include/configs/zynq-common.h8
-rw-r--r--include/dm/device.h5
-rw-r--r--include/exfat.h24
-rw-r--r--include/fs.h3
-rw-r--r--include/fs_internal.h2
-rw-r--r--include/fuse.h9
-rw-r--r--include/image.h48
-rw-r--r--include/linux/stat.h45
-rw-r--r--include/mapmem.h2
-rw-r--r--include/membuf.h (renamed from include/membuff.h)92
-rw-r--r--include/net-common.h31
23 files changed, 173 insertions, 251 deletions
diff --git a/include/acpi/acpi_table.h b/include/acpi/acpi_table.h
index b8b1f1338c6..05b6385544e 100644
--- a/include/acpi/acpi_table.h
+++ b/include/acpi/acpi_table.h
@@ -36,7 +36,7 @@ struct acpi_ctx;
* RSDP (Root System Description Pointer)
* Note: ACPI 1.0 didn't have length, xsdt_address, and ext_checksum
*/
-struct acpi_rsdp {
+struct __packed acpi_rsdp {
char signature[8]; /* RSDP signature */
u8 checksum; /* Checksum of the first 20 bytes */
char oem_id[6]; /* OEM ID */
@@ -1274,6 +1274,13 @@ ulong write_acpi_tables(ulong start);
*/
struct acpi_table_header *acpi_find_table(const char *sig);
+/**
+ * acpi_update_checksum() - update ACPI table checksum
+ *
+ * @header - header of an ACPI table
+ */
+void acpi_update_checksum(struct acpi_table_header *header);
+
#endif /* !__ACPI__*/
#include <asm/acpi_table.h>
diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
index 789adf2c3f9..506ee51cdb0 100644
--- a/include/asm-generic/global_data.h
+++ b/include/asm-generic/global_data.h
@@ -23,7 +23,7 @@
#include <board_f.h>
#include <event_internal.h>
#include <fdtdec.h>
-#include <membuff.h>
+#include <membuf.h>
#include <linux/list.h>
#include <linux/build_bug.h>
#include <asm-offsets.h>
@@ -316,14 +316,14 @@ struct global_data {
*
* This buffer is used to collect output during console recording.
*/
- struct membuff console_out;
+ struct membuf console_out;
/**
* @console_in: input buffer for console recording
*
* If console recording is activated, this buffer can be used to
* emulate input.
*/
- struct membuff console_in;
+ struct membuf console_in;
#endif
#if CONFIG_IS_ENABLED(VIDEO)
/**
diff --git a/include/bootflow.h b/include/bootflow.h
index 480cf8a5af1..d408b8c85bd 100644
--- a/include/bootflow.h
+++ b/include/bootflow.h
@@ -160,6 +160,7 @@ struct bootflow_img {
* before using it
* @BOOTFLOWIF_ALL: Return bootflows with errors as well
* @BOOTFLOWIF_HUNT: Hunt for new bootdevs using the bootdrv hunters
+ * @BOOTFLOWIF_ONLY_BOOTABLE: Only consider partitions marked 'bootable'
*
* Internal flags:
* @BOOTFLOWIF_SINGLE_DEV: (internal) Just scan one bootdev
@@ -176,6 +177,7 @@ enum bootflow_iter_flags_t {
BOOTFLOWIF_SHOW = 1 << 1,
BOOTFLOWIF_ALL = 1 << 2,
BOOTFLOWIF_HUNT = 1 << 3,
+ BOOTFLOWIF_ONLY_BOOTABLE = BIT(4),
/*
* flags used internally by standard boot - do not set these when
diff --git a/include/bootm.h b/include/bootm.h
index 465577a66f5..61160705215 100644
--- a/include/bootm.h
+++ b/include/bootm.h
@@ -44,21 +44,6 @@ struct cmd_tbl;
* @argc: Number of arguments to the command (excluding the actual command).
* This is 0 if there are no arguments
* @argv: NULL-terminated list of arguments, or NULL if there are no arguments
- *
- * For zboot:
- * @bzimage_addr: Address of the bzImage to boot, or 0 if the image has already
- * been loaded and does not exist (as a cohesive whole) in memory
- * @bzimage_size: Size of the bzImage, or 0 to detect this
- * @initrd_addr: Address of the initial ramdisk, or 0 if none
- * @initrd_size: Size of the initial ramdisk, or 0 if none
- * @load_address: Address where the bzImage is moved before booting, either
- * BZIMAGE_LOAD_ADDR or ZIMAGE_LOAD_ADDR
- * This is set up when loading the zimage
- * @base_ptr: Pointer to the boot parameters, typically at address
- * DEFAULT_SETUP_BASE
- * This is set up when loading the zimage
- * @cmdline: Environment variable containing the 'override' command line, or
- * NULL to use the one in the setup block
*/
struct bootm_info {
const char *addr_img;
@@ -69,39 +54,11 @@ struct bootm_info {
const char *cmd_name;
int argc;
char *const *argv;
-
- /* zboot items */
-#ifdef CONFIG_X86
- ulong bzimage_addr;
- ulong bzimage_size;
- ulong initrd_addr;
- ulong initrd_size;
- ulong load_address;
- struct boot_params *base_ptr;
- const char *cmdline;
-#endif
};
-/* macro to allow setting fields in generic code */
-#ifdef CONFIG_X86
-#define bootm_x86_set(_bmi, _field, _val) (_bmi)->_field = (_val)
-#else
-#define bootm_x86_set(_bmi, _field, _val)
-#endif
-
-static inline ulong bootm_len(void)
-{
-#ifdef CONFIG_SYS_BOOTM_LEN
- return CONFIG_SYS_BOOTM_LEN;
-#endif
- return 0;
-}
-
/**
* bootm_init() - Set up a bootm_info struct with useful defaults
*
- * @bmi: Bootm information
- *
* Set up the struct with default values for all members:
* @boot_progress is set to true and @images is set to the global images
* variable. Everything else is set to NULL except @argc which is 0
@@ -117,7 +74,7 @@ void bootm_init(struct bootm_info *bmi);
* - disabled interrupts.
*
* @flag: Flags indicating what to do (BOOTM_STATE_...)
- * @bmi: Bootm information
+ * bmi: Bootm information
* Return: 1 on error. On success the OS boots so this function does
* not return.
*/
@@ -318,15 +275,6 @@ int bootm_process_cmdline_env(int flags);
/**
* zboot_run() - Run through the various steps to boot a zimage
*
- * @bmi: Bootm information, with bzimage_size, initrd_addr, initrd_size and
- * cmdline set up. If base_ptr is 0, then bzimage_addr must be set to the start
- * of the bzImage. Otherwise base_ptr and load_address must be provided.
- */
-int zboot_run(struct bootm_info *bmi);
-
-/**
- * zboot_run_args() - Run through the various steps to boot a zimage
- *
* Boot a zimage, given the component parts
*
* @addr: Address where the bzImage is moved before booting, either
@@ -341,8 +289,8 @@ int zboot_run(struct bootm_info *bmi);
* to use for booting
* Return: -EFAULT on error (normally it does not return)
*/
-int zboot_run_args(ulong addr, ulong size, ulong initrd, ulong initrd_size,
- ulong base, char *cmdline);
+int zboot_run(ulong addr, ulong size, ulong initrd, ulong initrd_size,
+ ulong base, char *cmdline);
/*
* zimage_get_kernel_version() - Get the version string from a kernel
@@ -359,10 +307,11 @@ const char *zimage_get_kernel_version(struct boot_params *params,
*
* This shows all available information in a zimage that has been loaded.
*
- * @bmi: Bootm information, with valid base_ptr
+ * @base_ptr: Pointer to the boot parameters, typically at address
+ * DEFAULT_SETUP_BASE
* @show_cmdline: true to show the full command line
*/
-void zimage_dump(struct bootm_info *bmi, bool show_cmdline);
+void zimage_dump(struct boot_params *base_ptr, bool show_cmdline);
/*
* bootm_boot_start() - Boot an image at the given address
diff --git a/include/bootstd.h b/include/bootstd.h
index 3398e48e88b..2bc464756dd 100644
--- a/include/bootstd.h
+++ b/include/bootstd.h
@@ -22,6 +22,9 @@ struct udevice;
* This is attached to the (only) bootstd device, so there is only one instance
* of this struct. It provides overall information about bootdevs and bootflows.
*
+ * TODO(sjg@chromium.org): Convert prefixes, bootdev_order and env_order to use
+ * alist
+ *
* @prefixes: NULL-terminated list of prefixes to use for bootflow filenames,
* e.g. "/", "/boot/"; NULL if none
* @bootdev_order: Order to use for bootdevs (or NULL if none), with each item
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index 0a4e4b8ff85..8ac3a4feeb8 100644
--- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h
@@ -112,7 +112,7 @@
#define BOOTEFI_NAME "bootarm.efi"
#elif defined(CONFIG_X86_RUN_32BIT)
#define BOOTEFI_NAME "bootia32.efi"
-#elif defined(CONFIG_X86_RUN_64BIT)
+#elif defined(CONFIG_X86_64)
#define BOOTEFI_NAME "bootx64.efi"
#elif defined(CONFIG_ARCH_RV32I)
#define BOOTEFI_NAME "bootriscv32.efi"
diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h
index aa31f3b05a0..266b77fbf68 100644
--- a/include/configs/am57xx_evm.h
+++ b/include/configs/am57xx_evm.h
@@ -37,20 +37,4 @@
/* CPSW Ethernet */
-/*
- * Default to using SPI for environment, etc.
- * 0x000000 - 0x040000 : QSPI.SPL (256KiB)
- * 0x040000 - 0x140000 : QSPI.u-boot (1MiB)
- * 0x140000 - 0x1C0000 : QSPI.u-boot-spl-os (512KiB)
- * 0x1C0000 - 0x1D0000 : QSPI.u-boot-env (64KiB)
- * 0x1D0000 - 0x1E0000 : QSPI.u-boot-env.backup1 (64KiB)
- * 0x1E0000 - 0x9E0000 : QSPI.kernel (8MiB)
- * 0x9E0000 - 0x2000000 : USERLAND
- */
-#define CFG_SYS_SPI_KERNEL_OFFS 0x1E0000
-#define CFG_SYS_SPI_ARGS_OFFS 0x140000
-#define CFG_SYS_SPI_ARGS_SIZE 0x80000
-
-/* SPI SPL */
-
#endif /* __CONFIG_AM57XX_EVM_H */
diff --git a/include/configs/an7581.h b/include/configs/an7581.h
new file mode 100644
index 00000000000..64f04c9d9a5
--- /dev/null
+++ b/include/configs/an7581.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Configuration for Airoha AN7581
+ */
+
+#ifndef __AN7581_H
+#define __AN7581_H
+
+#include <linux/sizes.h>
+
+#define CFG_SYS_UBOOT_BASE CONFIG_TEXT_BASE
+
+#define CFG_SYS_INIT_RAM_ADDR CONFIG_TEXT_BASE
+#define CFG_SYS_INIT_RAM_SIZE SZ_2M
+
+/* DRAM */
+#define CFG_SYS_SDRAM_BASE 0x80000000
+
+#endif
diff --git a/include/configs/display5.h b/include/configs/display5.h
index 98b1e5af2c0..19d71d6066f 100644
--- a/include/configs/display5.h
+++ b/include/configs/display5.h
@@ -29,11 +29,6 @@
* 0x1F00000 - 0x2000000 : SPI.factory (1MiB)
*/
-/* Below values are "dummy" - only to avoid build break */
-#define CFG_SYS_SPI_KERNEL_OFFS 0x150000
-#define CFG_SYS_SPI_ARGS_OFFS 0x140000
-#define CFG_SYS_SPI_ARGS_SIZE 0x10000
-
#define CFG_MXC_UART_BASE UART5_BASE
/* MMC Configs */
diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h
index 96dcd731cb6..3c960ca2ce2 100644
--- a/include/configs/dra7xx_evm.h
+++ b/include/configs/dra7xx_evm.h
@@ -47,22 +47,6 @@
#include <configs/ti_omap5_common.h>
-/*
- * Default to using SPI for environment, etc.
- * 0x000000 - 0x040000 : QSPI.SPL (256KiB)
- * 0x040000 - 0x140000 : QSPI.u-boot (1MiB)
- * 0x140000 - 0x1C0000 : QSPI.u-boot-spl-os (512KiB)
- * 0x1C0000 - 0x1D0000 : QSPI.u-boot-env (64KiB)
- * 0x1D0000 - 0x1E0000 : QSPI.u-boot-env.backup1 (64KiB)
- * 0x1E0000 - 0x9E0000 : QSPI.kernel (8MiB)
- * 0x9E0000 - 0x2000000 : USERLAND
- */
-#define CFG_SYS_SPI_KERNEL_OFFS 0x1E0000
-#define CFG_SYS_SPI_ARGS_OFFS 0x140000
-#define CFG_SYS_SPI_ARGS_SIZE 0x80000
-
-/* SPI SPL */
-
/* NAND support */
#ifdef CONFIG_MTD_RAW_NAND
/* NAND: device related configs */
diff --git a/include/configs/xea.h b/include/configs/xea.h
index 00d62748733..21454d13d21 100644
--- a/include/configs/xea.h
+++ b/include/configs/xea.h
@@ -12,14 +12,6 @@
#ifndef __CONFIGS_XEA_H__
#define __CONFIGS_XEA_H__
-#include <linux/sizes.h>
-
-/* SPL */
-
-#define CFG_SYS_SPI_KERNEL_OFFS SZ_1M
-#define CFG_SYS_SPI_ARGS_OFFS SZ_512K
-#define CFG_SYS_SPI_ARGS_SIZE SZ_32K
-
/* Memory configuration */
#define PHYS_SDRAM_1 0x40000000 /* Base address */
#define PHYS_SDRAM_1_SIZE 0x10000000 /* Max 256 MB RAM */
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
index 13941ba3589..ec78f2ee8ed 100644
--- a/include/configs/xilinx_zynqmp.h
+++ b/include/configs/xilinx_zynqmp.h
@@ -194,12 +194,6 @@
"dfu_bufsiz=0x1000\0"
#endif
-#if defined(CONFIG_SPL_SPI_FLASH_SUPPORT)
-# define CFG_SYS_SPI_KERNEL_OFFS 0x80000
-# define CFG_SYS_SPI_ARGS_OFFS 0xa0000
-# define CFG_SYS_SPI_ARGS_SIZE 0xa0000
-#endif
-
#ifdef CONFIG_SPL_SYS_MALLOC_SIMPLE
# error "Disable CONFIG_SPL_SYS_MALLOC_SIMPLE. Full malloc needs to be used"
#endif
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index 37c77aa1611..93ae5891a07 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -191,14 +191,6 @@
/* Not using MMC raw mode - just for compilation purpose */
-/* qspi mode is working fine */
-#ifdef CONFIG_ZYNQ_QSPI
-#define CFG_SYS_SPI_ARGS_OFFS 0x200000
-#define CFG_SYS_SPI_ARGS_SIZE 0x80000
-#define CFG_SYS_SPI_KERNEL_OFFS (CFG_SYS_SPI_ARGS_OFFS + \
- CFG_SYS_SPI_ARGS_SIZE)
-#endif
-
/* SP location before relocation, must use scratch RAM */
/* 3 * 64kB blocks of OCM - one is on the top because of bootrom */
diff --git a/include/dm/device.h b/include/dm/device.h
index add67f9ec06..678cd83c271 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -81,7 +81,10 @@ struct driver_info;
*/
#define DM_FLAG_VITAL (1 << 14)
-/* Device must be probed after it was bound */
+/* Device must be probed after it was bound. This flag is per-device and does
+ * nothing if set on a U_BOOT_DRIVER() definition. Apply it with
+ * dev_or_flags(dev, DM_FLAG_PROBE_AFTER_BIND) in the devices bind function.
+ */
#define DM_FLAG_PROBE_AFTER_BIND (1 << 15)
/*
diff --git a/include/exfat.h b/include/exfat.h
new file mode 100644
index 00000000000..7e43beeb348
--- /dev/null
+++ b/include/exfat.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _EXFAT_H_
+#define _EXFAT_H_
+
+struct disk_partition;
+
+int exfat_fs_opendir(const char *filename, struct fs_dir_stream **dirsp);
+int exfat_fs_readdir(struct fs_dir_stream *dirs, struct fs_dirent **dentp);
+int exfat_fs_ls(const char *dirname);
+int exfat_fs_probe(struct blk_desc *fs_dev_desc,
+ struct disk_partition *fs_partition);
+int exfat_fs_read(const char *filename, void *buf, loff_t offset,
+ loff_t len, loff_t *actread);
+int exfat_fs_size(const char *filename, loff_t *size);
+int exfat_fs_exists(const char *filename);
+void exfat_fs_close(void);
+void exfat_fs_closedir(struct fs_dir_stream *dirs);
+
+int exfat_fs_unlink(const char *filename);
+int exfat_fs_mkdir(const char *dirname);
+int exfat_fs_write(const char *filename, void *buf, loff_t offset,
+ loff_t len, loff_t *actwrite);
+
+#endif /* _EXFAT_H */
diff --git a/include/fs.h b/include/fs.h
index 54449faf2e5..731aaa02637 100644
--- a/include/fs.h
+++ b/include/fs.h
@@ -18,6 +18,7 @@ struct cmd_tbl;
#define FS_TYPE_SQUASHFS 6
#define FS_TYPE_EROFS 7
#define FS_TYPE_SEMIHOSTING 8
+#define FS_TYPE_EXFAT 9
struct blk_desc;
@@ -173,7 +174,7 @@ int fs_write(const char *filename, ulong addr, loff_t offset, loff_t len,
#define FS_DT_REG 8 /* regular file */
#define FS_DT_LNK 10 /* symbolic link */
-#define FS_DIRENT_NAME_LEN 256
+#define FS_DIRENT_NAME_LEN CONFIG_IS_ENABLED(FS_EXFAT, (1024), (256))
/**
* struct fs_dirent - directory entry
diff --git a/include/fs_internal.h b/include/fs_internal.h
index 07f6bc5ea40..351582db61a 100644
--- a/include/fs_internal.h
+++ b/include/fs_internal.h
@@ -12,5 +12,7 @@
int fs_devread(struct blk_desc *, struct disk_partition *, lbaint_t, int, int,
char *);
+int fs_devwrite(struct blk_desc *, struct disk_partition *, lbaint_t, int, int,
+ const char *);
#endif /* __U_BOOT_FS_INTERNAL_H__ */
diff --git a/include/fuse.h b/include/fuse.h
index 4519821af7e..902b5f56a74 100644
--- a/include/fuse.h
+++ b/include/fuse.h
@@ -12,6 +12,7 @@
#define _FUSE_H_
#include <linux/types.h>
+#include <linux/errno.h>
/*
* Read/Sense/Program/Override interface:
@@ -25,5 +26,13 @@ int fuse_read(u32 bank, u32 word, u32 *val);
int fuse_sense(u32 bank, u32 word, u32 *val);
int fuse_prog(u32 bank, u32 word, u32 val);
int fuse_override(u32 bank, u32 word, u32 val);
+#ifdef CONFIG_CMD_FUSE_WRITEBUFF
+int fuse_writebuff(ulong addr);
+#else
+static inline int fuse_writebuff(ulong addr)
+{
+ return -EPERM;
+}
+#endif /* CONFIG_CMD_FUSE_WRITEBUFF */
#endif /* _FUSE_H_ */
diff --git a/include/image.h b/include/image.h
index 2455baa6667..c1db8383459 100644
--- a/include/image.h
+++ b/include/image.h
@@ -244,7 +244,7 @@ enum image_type_t {
* New IDs *MUST* be appended at the end of the list and *NEVER*
* inserted for backward compatibility.
*/
-enum image_comp_t {
+enum {
IH_COMP_NONE = 0, /* No Compression Used */
IH_COMP_GZIP, /* gzip Compression Used */
IH_COMP_BZIP2, /* bzip2 Compression Used */
@@ -598,13 +598,10 @@ int boot_get_setup(struct bootm_headers *images, uint8_t arch, ulong *setup_star
ulong *setup_len);
/* Image format types, returned by _get_format() routine */
-enum image_fmt_t {
- IMAGE_FORMAT_INVALID,
- IMAGE_FORMAT_LEGACY, /* legacy image_header based format */
- IMAGE_FORMAT_FIT, /* new, libfdt based format */
- IMAGE_FORMAT_ANDROID, /* Android boot image */
- IMAGE_FORMAT_BOOTI, /* Arm64/RISC-V boot image */
-};
+#define IMAGE_FORMAT_INVALID 0x00
+#define IMAGE_FORMAT_LEGACY 0x01 /* legacy image_header based format */
+#define IMAGE_FORMAT_FIT 0x02 /* new, libfdt based format */
+#define IMAGE_FORMAT_ANDROID 0x03 /* Android boot image */
/**
* genimg_get_kernel_addr_fit() - Parse FIT specifier
@@ -633,43 +630,10 @@ ulong genimg_get_kernel_addr_fit(const char *const img_addr,
const char **fit_uname_kernel);
ulong genimg_get_kernel_addr(char * const img_addr);
-
-/**
- * genimg_get_format - get image format type
- * @img_addr: image start address
- * Return: image format type or IMAGE_FORMAT_INVALID if no image is present
- *
- * genimg_get_format() checks whether provided address points to a valid
- * legacy or FIT image.
- *
- * New uImage format and FDT blob are based on a libfdt. FDT blob
- * may be passed directly or embedded in a FIT image. In both situations
- * genimg_get_format() must be able to dectect libfdt header.
- */
-enum image_fmt_t genimg_get_format(const void *img_addr);
-
-/**
- * genimg_get_format_comp() - Like genimg_get_format() but adds compressed booti
- *
- * If a compressed file is detected (with image_decomp_type()) and
- * CONFIG_CMD_BOOTI is enabled, then this returns IMAGE_FORMAT_BOOTI
- *
- * @img_addr: image start address
- * Return: image format type or IMAGE_FORMAT_INVALID if no image is present
- */
-enum image_fmt_t genimg_get_format_comp(const void *img_addr);
-
+int genimg_get_format(const void *img_addr);
int genimg_has_config(struct bootm_headers *images);
/**
- * booti_is_valid() - Check if an image appears to be an Arm64 image
- *
- * @img: Pointer to image
- * Return: true if the image has the Arm64 magic
- */
-bool booti_is_valid(const void *img);
-
-/**
* boot_get_fpga() - Locate the FPGA image
*
* @images: Information about images being loaded
diff --git a/include/linux/stat.h b/include/linux/stat.h
index 5eba6334e60..b65bff7e97d 100644
--- a/include/linux/stat.h
+++ b/include/linux/stat.h
@@ -65,9 +65,7 @@ struct stat {
unsigned long __unused5;
};
-#endif /* __PPC__ */
-
-#if defined (__ARM__) || defined (__I386__) || defined (__M68K__) || defined (__bfin__) ||\
+#elif defined (__ARM__) || defined (__I386__) || defined (__M68K__) || defined (__bfin__) ||\
defined (__microblaze__) || defined (__nios2__)
struct stat {
@@ -93,9 +91,7 @@ struct stat {
unsigned long __unused5;
};
-#endif /* __ARM__ */
-
-#if defined (__MIPS__)
+#elif defined (__MIPS__)
struct stat {
dev_t st_dev;
@@ -124,9 +120,7 @@ struct stat {
long st_pad4[14];
};
-#endif /* __MIPS__ */
-
-#if defined(__SH__) || defined(__XTENSA__)
+#elif defined(__SH__) || defined(__XTENSA__)
struct stat {
unsigned long st_dev;
@@ -149,7 +143,38 @@ struct stat {
unsigned long __unused5;
};
-#endif /* __SH__ || __XTENSA__ */
+#else
+
+/*
+ * Everybody gets this wrong and has to stick with it for all
+ * eternity. Hopefully, this version gets used by new architectures
+ * so they don't fall into the same traps.
+ *
+ */
+struct stat {
+ unsigned long st_dev; /* Device. */
+ unsigned long st_ino; /* File serial number. */
+ unsigned int st_mode; /* File mode. */
+ unsigned int st_nlink; /* Link count. */
+ unsigned int st_uid; /* User ID of the file's owner. */
+ unsigned int st_gid; /* Group ID of the file's group. */
+ unsigned long st_rdev; /* Device number, if device. */
+ unsigned long __pad1;
+ long st_size; /* Size of file, in bytes. */
+ int st_blksize; /* Optimal block size for I/O. */
+ int __pad2;
+ long st_blocks; /* Number 512-byte blocks allocated. */
+ long st_atime; /* Time of last access. */
+ unsigned long st_atime_nsec;
+ long st_mtime; /* Time of last modification. */
+ unsigned long st_mtime_nsec;
+ long st_ctime; /* Time of last status change. */
+ unsigned long st_ctime_nsec;
+ unsigned int __unused4;
+ unsigned int __unused5;
+};
+
+#endif
#ifdef __cplusplus
}
diff --git a/include/mapmem.h b/include/mapmem.h
index f496c96d16c..8ec03d59f0b 100644
--- a/include/mapmem.h
+++ b/include/mapmem.h
@@ -33,7 +33,7 @@ static inline phys_addr_t map_to_sysmem(const void *ptr)
* nomap_sysmem() - pass through an address unchanged
*
* This is used to indicate an address which should NOT be mapped, e.g. in
- * SMBIOS tables. Using this function instead of a case shows that the sandbox
+ * SMBIOS tables. Using this function instead of a cast shows that the sandbox
* conversion has been done
*/
static inline void *nomap_sysmem(phys_addr_t paddr, unsigned long len)
diff --git a/include/membuff.h b/include/membuf.h
index 4eba626ce1c..46764690f53 100644
--- a/include/membuff.h
+++ b/include/membuf.h
@@ -6,11 +6,13 @@
* Copyright (c) 1992 Simon Glass
*/
-#ifndef _MEMBUFF_H
-#define _MEMBUFF_H
+#ifndef _membuf_H
+#define _membuf_H
+
+#include <stdbool.h>
/**
- * @struct membuff: holds the state of a membuff - it is used for input and
+ * @struct membuf: holds the state of a membuff - it is used for input and
* output buffers. The buffer extends from @start to (@start + @size - 1).
* Data in the buffer extends from @tail to @head: it is written in at
* @head and read out from @tail. The membuff is empty when @head == @tail
@@ -23,13 +25,13 @@
*
* .............xxxxxxxxxxxxxxxx.........................
* ^ ^
- * tail head
+ * ^start tail head ^end
*
* xxxxxxxxxxxxx................xxxxxxxxxxxxxxxxxxxxxxxxx
* ^ ^
* head tail
*/
-struct membuff {
+struct membuf {
char *start; /** the start of the buffer */
char *end; /** the end of the buffer (start + length) */
char *head; /** current buffer head */
@@ -37,16 +39,16 @@ struct membuff {
};
/**
- * membuff_purge() - reset a membuff to the empty state
+ * membuf_purge() - reset a membuff to the empty state
*
* Initialise head and tail pointers so that the membuff becomes empty.
*
* @mb: membuff to purge
*/
-void membuff_purge(struct membuff *mb);
+void membuf_purge(struct membuf *mb);
/**
- * membuff_putraw() - find out where bytes can be written
+ * membuf_putraw() - find out where bytes can be written
*
* Work out where in the membuff some data could be written. Return a pointer
* to the address and the number of bytes which can be written there. If
@@ -64,10 +66,10 @@ void membuff_purge(struct membuff *mb);
* @data: the address data can be written to
* Return: number of bytes which can be written
*/
-int membuff_putraw(struct membuff *mb, int maxlen, bool update, char **data);
+int membuf_putraw(struct membuf *mb, int maxlen, bool update, char **data);
/**
- * membuff_getraw() - find and return a pointer to available bytes
+ * membuf_getraw() - find and return a pointer to available bytes
*
* Returns a pointer to any valid input data in the given membuff and
* optionally marks it as read. Note that not all input data may not be
@@ -82,37 +84,37 @@ int membuff_putraw(struct membuff *mb, int maxlen, bool update, char **data);
* @data: returns address of data in input membuff
* Return: the number of bytes available at *@data
*/
-int membuff_getraw(struct membuff *mb, int maxlen, bool update, char **data);
+int membuf_getraw(struct membuf *mb, int maxlen, bool update, char **data);
/**
- * membuff_putbyte() - Writes a byte to a membuff
+ * membuf_putbyte() - Writes a byte to a membuff
*
* @mb: membuff to adjust
* @ch: byte to write
* Return: true on success, false if membuff is full
*/
-bool membuff_putbyte(struct membuff *mb, int ch);
+bool membuf_putbyte(struct membuf *mb, int ch);
/**
* @mb: membuff to adjust
- * membuff_getbyte() - Read a byte from the membuff
+ * membuf_getbyte() - Read a byte from the membuff
* Return: the byte read, or -1 if the membuff is empty
*/
-int membuff_getbyte(struct membuff *mb);
+int membuf_getbyte(struct membuf *mb);
/**
- * membuff_peekbyte() - check the next available byte
+ * membuf_peekbyte() - check the next available byte
*
- * Return the next byte which membuff_getbyte() would return, without
+ * Return the next byte which membuf_getbyte() would return, without
* removing it from the membuff.
*
* @mb: membuff to adjust
* Return: the byte peeked, or -1 if the membuff is empty
*/
-int membuff_peekbyte(struct membuff *mb);
+int membuf_peekbyte(struct membuf *mb);
/**
- * membuff_get() - get data from a membuff
+ * membuf_get() - get data from a membuff
*
* Copies any available data (up to @maxlen bytes) to @buff and removes it
* from the membuff.
@@ -122,10 +124,10 @@ int membuff_peekbyte(struct membuff *mb);
* @maxlen: maximum number of bytes to read
* Return: the number of bytes read
*/
-int membuff_get(struct membuff *mb, char *buff, int maxlen);
+int membuf_get(struct membuf *mb, char *buff, int maxlen);
/**
- * membuff_put() - write data to a membuff
+ * membuf_put() - write data to a membuff
*
* Writes some data to a membuff. Returns the number of bytes added. If this
* is less than @lnehgt, then the membuff got full
@@ -135,36 +137,36 @@ int membuff_get(struct membuff *mb, char *buff, int maxlen);
* @length: number of bytes to write from 'data'
* Return: the number of bytes added
*/
-int membuff_put(struct membuff *mb, const char *buff, int length);
+int membuf_put(struct membuf *mb, const char *buff, int length);
/**
- * membuff_isempty() - check if a membuff is empty
+ * membuf_isempty() - check if a membuff is empty
*
* @mb: membuff to check
* Return: true if empty, else false
*/
-bool membuff_isempty(struct membuff *mb);
+bool membuf_isempty(struct membuf *mb);
/**
- * membuff_avail() - check available data in a membuff
+ * membuf_avail() - check available data in a membuff
*
* @mb: membuff to check
* Return: number of bytes of data available
*/
-int membuff_avail(struct membuff *mb);
+int membuf_avail(struct membuf *mb);
/**
- * membuff_size() - get the size of a membuff
+ * membuf_size() - get the size of a membuff
*
* Note that a membuff can only old data up to one byte less than its size.
*
* @mb: membuff to check
* Return: total size
*/
-int membuff_size(struct membuff *mb);
+int membuf_size(struct membuf *mb);
/**
- * membuff_makecontig() - adjust all membuff data to be contiguous
+ * membuf_makecontig() - adjust all membuff data to be contiguous
*
* This places all data in a membuff into a single contiguous lump, if
* possible
@@ -172,18 +174,18 @@ int membuff_size(struct membuff *mb);
* @mb: membuff to adjust
* Return: true on success
*/
-bool membuff_makecontig(struct membuff *mb);
+bool membuf_makecontig(struct membuf *mb);
/**
- * membuff_free() - find the number of bytes that can be written to a membuff
+ * membuf_free() - find the number of bytes that can be written to a membuff
*
* @mb: membuff to check
* Return: returns the number of bytes free in a membuff
*/
-int membuff_free(struct membuff *mb);
+int membuf_free(struct membuf *mb);
/**
- * membuff_readline() - read a line of text from a membuff
+ * membuf_readline() - read a line of text from a membuff
*
* Reads a line of text of up to 'maxlen' characters from a membuff and puts
* it in @str. Any character less than @minch is assumed to be the end of
@@ -192,14 +194,16 @@ int membuff_free(struct membuff *mb);
* @mb: membuff to adjust
* @str: Place to put the line
* @maxlen: Maximum line length (excluding terminator)
+ * @minch: Minimum ASCII character to permit as part of the line (e.g. ' ')
* @must_fit: If true then str is empty if line doesn't fit
* Return: number of bytes read (including terminator) if a line has been
* read, 0 if nothing was there or line didn't fit when must_fit is set
*/
-int membuff_readline(struct membuff *mb, char *str, int maxlen, int minch, bool must_fit);
+int membuf_readline(struct membuf *mb, char *str, int maxlen, int minch,
+ bool must_fit);
/**
- * membuff_extend_by() - expand a membuff
+ * membuf_extend_by() - expand a membuff
*
* Extends a membuff by the given number of bytes
*
@@ -209,38 +213,38 @@ int membuff_readline(struct membuff *mb, char *str, int maxlen, int minch, bool
* Return: 0 if the expand succeeded, -ENOMEM if not enough memory, -E2BIG
* if the the size would exceed @max
*/
-int membuff_extend_by(struct membuff *mb, int by, int max);
+int membuf_extend_by(struct membuf *mb, int by, int max);
/**
- * membuff_init() - set up a new membuff using an existing membuff
+ * membuf_init() - set up a new membuff using an existing membuff
*
* @mb: membuff to set up
* @buff: Address of buffer
* @size: Size of buffer
*/
-void membuff_init(struct membuff *mb, char *buff, int size);
+void membuf_init(struct membuf *mb, char *buff, int size);
/**
- * membuff_uninit() - clear a membuff so it can no longer be used
+ * membuf_uninit() - clear a membuff so it can no longer be used
*
* @mb: membuff to uninit
*/
-void membuff_uninit(struct membuff *mb);
+void membuf_uninit(struct membuf *mb);
/**
- * membuff_new() - create a new membuff
+ * membuf_new() - create a new membuff
*
* @mb: membuff to init
* @size: size of membuff to create
* Return: 0 if OK, -ENOMEM if out of memory
*/
-int membuff_new(struct membuff *mb, int size);
+int membuf_new(struct membuf *mb, int size);
/**
- * membuff_dispose() - free memory allocated to a membuff and uninit it
+ * membuf_dispose() - free memory allocated to a membuff and uninit it
*
* @mb: membuff to dispose
*/
-void membuff_dispose(struct membuff *mb);
+void membuf_dispose(struct membuf *mb);
#endif
diff --git a/include/net-common.h b/include/net-common.h
index 6a39091a5d4..30860f5975a 100644
--- a/include/net-common.h
+++ b/include/net-common.h
@@ -475,36 +475,6 @@ int net_init(void);
enum proto_t;
int net_loop(enum proto_t protocol);
-/* internal function: do not use! */
-int netboot_run_(enum proto_t proto, ulong addr, const char *fname, ulong size,
- bool fname_explicit, bool ipv6);
-
-/**
- * netboot_run() - Run a network operation
- *
- * The following proto values are NOT supported:
- * PING, since net_ping_ip cannot be set
- * NETCONS, since its parameters cannot bet set
- * RS, since first_call cannot be set, along with perhaps other things
- * UDP, since udp_ops cannot be set
- * DNS, since net_dns_resolve and net_dns_env_var cannot be set
- * WGET, since DNS must be done first and that is not supported
- * DHCP6, since the required parameters cannot be passed in
- *
- * To support one of these, either add the required arguments or perhaps a
- * separate function and a struct to hold the information.
- *
- * @proto: Operation to run: TFTPGET, FASTBOOT_UDP, FASTBOOT_TCP, BOOTP,
- * TFTPPUT, RARP, NFS, DHCP
- * @addr: Load/save address
- * @fname: Filename
- * @size: Save size (not used for TFTPGET)
- * @ipv6: true to use IPv6, false to use IPv4
- * Return 0 on success, else -ve error code
- */
-int netboot_run(enum proto_t proto, ulong addr, const char *fname, ulong size,
- bool ipv6);
-
/**
* dhcp_run() - Run DHCP on the current ethernet device
*
@@ -549,7 +519,6 @@ int wget_do_request(ulong dst_addr, char *uri);
* Return: true if uri is valid, false if uri is invalid
*/
bool wget_validate_uri(char *uri);
-//int do_wget(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]);
/**
* enum wget_http_method - http method