[U-Boot] [PATCH 4/5] armv8: semihosting: delete external interface

Linus Walleij linus.walleij at linaro.org
Mon Mar 23 11:06:13 CET 2015


Now that loading files using semihosting can be done using
a command in standard scripts, and we have rewritten the boardfile
and added it to the Vexpress64, let's delete the external
interface to the semihosting file retrieveal and rely solely
on these commands, and staticize them inside that file so the
whole business is self-contained.

Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
---
 arch/arm/include/asm/semihosting.h | 17 -------
 arch/arm/lib/semihosting.c         | 92 --------------------------------------
 2 files changed, 109 deletions(-)
 delete mode 100644 arch/arm/include/asm/semihosting.h

diff --git a/arch/arm/include/asm/semihosting.h b/arch/arm/include/asm/semihosting.h
deleted file mode 100644
index 835ca7e4b683..000000000000
--- a/arch/arm/include/asm/semihosting.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright 2014 Broadcom Corporation
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#ifndef __SEMIHOSTING_H__
-#define __SEMIHOSTING_H__
-
-/*
- * ARM semihosting functions for loading images to memory. See the source
- * code for more information.
- */
-int smh_load(const char *fname, void *memp, int avail, int verbose);
-long smh_len(const char *fname);
-
-#endif /* __SEMIHOSTING_H__ */
diff --git a/arch/arm/lib/semihosting.c b/arch/arm/lib/semihosting.c
index edacb1187731..c3e964eabc13 100644
--- a/arch/arm/lib/semihosting.c
+++ b/arch/arm/lib/semihosting.c
@@ -14,7 +14,6 @@
  */
 #include <common.h>
 #include <command.h>
-#include <asm/semihosting.h>
 
 #define SYSOPEN		0x01
 #define SYSCLOSE	0x02
@@ -145,97 +144,6 @@ static long smh_len_fd(long fd)
 	return ret;
 }
 
-/*
- * Open, load a file into memory, and close it. Check that the available space
- * is sufficient to store the entire file. Return the bytes actually read from
- * the file as seen by the read function. The verbose flag enables some extra
- * printing of successful read status.
- */
-int smh_load(const char *fname, void *memp, int avail, int verbose)
-{
-	long ret;
-	long fd;
-	size_t len;
-
-	ret = -1;
-
-	debug("%s: fname \'%s\', avail %u, memp %p\n", __func__, fname,
-	      avail, memp);
-
-	/* Open the file */
-	fd = smh_open(fname, "rb");
-	if (fd == -1)
-		return -1;
-
-	/* Get the file length */
-	ret = smh_len_fd(fd);
-	if (ret == -1) {
-		smh_close(fd);
-		return -1;
-	}
-
-	/* Check that the file will fit in the supplied buffer */
-	if (ret > avail) {
-		printf("%s: ERROR ret %ld, avail %u\n", __func__, ret,
-		       avail);
-		smh_close(fd);
-		return -1;
-	}
-
-	len = ret;
-
-	/* Read the file into the buffer */
-	ret = smh_read(fd, memp, len);
-	if (ret == 0) {
-		/* Print successful load information if requested */
-		if (verbose) {
-			printf("\n%s\n", fname);
-			printf("    0x%8p dest\n", memp);
-			printf("    0x%08lx size\n", len);
-			printf("    0x%08x avail\n", avail);
-		}
-	}
-
-	/* Close the file */
-	smh_close(fd);
-
-	return ret;
-}
-
-/*
- * Get the file length from the filename
- */
-long smh_len(const char *fname)
-{
-	long ret;
-	long fd;
-	long len;
-
-	debug("%s: file \'%s\'\n", __func__, fname);
-
-	/* Open the file */
-	fd = smh_open(fname, "rb");
-	if (fd < 0)
-		return fd;
-
-	/* Get the file length */
-	len = smh_len_fd(fd);
-	if (len < 0) {
-		smh_close(fd);
-		return len;
-	}
-
-	/* Close the file */
-	ret = smh_close(fd);
-	if (ret < 0)
-		return ret;
-
-	debug("%s: returning len %ld\n", __func__, len);
-
-	/* Return the file length (or -1 error indication) */
-	return len;
-}
-
 static int smh_load_file(const char * const name, ulong load_addr,
 			 ulong *end_addr)
 {
-- 
1.9.3



More information about the U-Boot mailing list