- Jan 22, 2018
-
-
Heinrich Schuchardt authored
For debugging efi_loader we need the capability to print EFI device paths. With this patch we can write: debug("device path: %pD", dp); A possible output would be device path: /MemoryMapped(0x0,0x3ff93a82,0x3ff93a82) This enhancement is not available when building without EFI support and neither in the SPL nor in the API example. A test is provided. It can be executed in the sandbox with command ut_print. The development for EFI support in the sandbox is currently in branch u-boot-dm/efi-working. The branch currently lacks commit 6ea8b580 ("efi_loader: correct DeviceNodeToText for media types"). Ater rebasing the aforementioned branch on U-Boot v2018.01 the test is executed successfully. Without EFI support in the sandbox the test is simply skipped. Suggested-by:
Rob Clark <robdclark@gmail.com> Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
- Sep 12, 2017
-
-
Rob Clark authored
This works (roughly) the same way as linux's, but we currently always print lower-case (ie. we just keep %pUB and %pUL for compat with linux), mostly just because that is what uuid_bin_to_str() supports. %pUb: 01020304-0506-0708-090a-0b0c0d0e0f10 %pUl: 04030201-0605-0807-090a-0b0c0d0e0f10 It will be used by a later efi_loader paths for efi variables and for device-path-to-text protocol, and also quite useful for debug prints of protocol GUIDs. Signed-off-by:
Rob Clark <robdclark@gmail.com> Tested-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Rob Clark authored
This is convenient for efi_loader which deals a lot with UTF-16. Only enabled with CC_SHORT_WCHAR, leaving room to add a UTF-32 version when CC_SHORT_WCHAR is not enabled. Signed-off-by:
Rob Clark <robdclark@gmail.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
- Jan 19, 2016
-
-
Tom Rini authored
Enabling this function always removes some class of string saftey issues. The size change here in general is about 400 bytes and this seems a reasonable trade-off. Cc: Peng Fan <peng.fan@nxp.com> Cc: Peter Robinson <pbrobinson@gmail.com> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Adrian Alonso <aalonso@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Dec 14, 2015
-
-
Sjoerd Simons authored
To allow the various string to number conversion functions to be used when using tiny-printf,split them out into their own file which gets build regardless of what printf implementation is used. Signed-off-by:
Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
Sjoerd Simons authored
To allow panic and panic_str to still be used when using tiny-printf, split them out into their own file which gets build regardless of what printf implementation is used. Signed-off-by:
Sjoerd Simons <sjoerd.simons@collabora.co.uk>
-
- Nov 23, 2015
-
-
Stefan Roese authored
This patch adds a small printf() version that supports all basic formats. Its intented to be used in U-Boot SPL versions on platforms with very limited internal RAM sizes. To enable it, just define CONFIG_USE_TINY_PRINTF in your defconfig. This will result in the SPL using this tiny function and the main U-Boot still using the full-blown printf() function. This code was copied from: http://www.sparetimelabs.com/printfrevisited With mostly only coding style related changes so that its checkpatch clean. The size reduction is about 2.5KiB. Here a comparison for the db-mv784mp-gp (Marvell AXP) SPL: Without this patch: 58963 18536 1928 79427 13643 ./spl/u-boot-spl With this patch: 56542 18536 1956 77034 12cea ./spl/u-boot-spl Note: To make it possible to compile tiny-printf.c instead of vsprintf.c when CONFIG_USE_TINY_PRINTF is defined, the functions printf() and vprintf() are moved from common/console.c into vsprintf.c in this patch. Signed-off-by:
Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Tom Rini <trini@konsulko.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
-
- Jul 21, 2015
-
-
Simon Glass authored
Split out the code in fdtdec which finds a number at the end of a string. It can be useful in other situations. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Jun 29, 2015
-
-
Heiko Schocher authored
Move common functions from cmd_nand.c (for calculating offset and size from cmdline paramter) to common place, so they could used from other commands which use mtd partitions. For onenand the arg_off_size() is left in common/cmd_onenand.c. It should use now the common arg_off() function, but as I could not test onenand I let it there ... Signed-off-by:
Heiko Schocher <hs@denx.de> Acked-by:
Scott Wood <scottwood@freescale.com> Reviewed-by:
Jagannadh Teki <jteki@openedev.com>
-
- Apr 23, 2015
-
-
Simon Glass authored
The printf() in panic() adds about 1.5KB of code size to SPL when compiled with Thumb-2. Provide a smaller version that does not support printf()-style arguments and use it in two commonly compiled places. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Nov 23, 2014
-
-
Thierry Reding authored
Provide a new modifier to vsprintf() to print phys_addr_t variables to avoid having to cast or #ifdef when printing them out. The %pa modifier is used for this purpose, so phys_addr_t variables need to be passed by reference, like so: phys_addr_t start = 0; printf("start: %pa\n", &start); Depending on the size of phys_addr_t this will print out the address with 8 or 16 hexadecimal digits following a 0x prefix. Signed-off-by:
Thierry Reding <treding@nvidia.com> Tested-by:
Stephen Warren <swarren@nvidia.com> Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Nov 20, 2014
-
-
Masahiro Yamada authored
U-Boot has imported various utility macros from Linux scattering them to various places without consistency. In include/common.h are min, max, min3, max3, ARRAY_SIZE, ALIGN, container_of, DIV_ROUND_UP, etc. In include/linux/compat.h are min_t, max_t, round_up, round_down, etc. We also have duplicated defines of min_t in some *.c files. Moreover, we are suffering from too cluttered include/common.h. This commit moves various macros that originate in include/linux/kernel.h of Linux to their original position. Note: This commit simply moves the macros; the macros roundup, min, max, min2, max3, ARRAY_SIZE are different from those of Linux at this point. Signed-off-by:
Masahiro Yamada <yamada.m@jp.panasonic.com>
-
- Oct 27, 2014
-
-
Simon Glass authored
Use the correct type required by do_div(). Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Jul 18, 2014
-
-
Jeroen Hofstee authored
pack_hex_byte is only used when CONFIG_CMD_NET is defined so limit it to that scope. This prevents a clang warning. Signed-off-by:
Jeroen Hofstee <jeroen@myspectrum.nl>
-
- Jan 24, 2014
-
-
Darwin Rambo authored
When CONFIG_SYS_VSNPRINTF is enabled, it protects print operations such as sprintf, snprintf, vsnprintf, etc., from buffer overflows. But vsnprintf_internal includes the terminating NULL character in the calculation of number of characters written. This affects sprintf and snprintf return values. Fix this issue by setting pointer 'str' back to the location of the '\0'. Signed-off-by:
Darwin Rambo <drambo@broadcom.com> Reviewed-by:
Steve Rae <srae@broadcom.com>
-
- Jun 26, 2013
-
-
Simon Glass authored
Move bootstage's numbering printing code into a generic place so that it can be used by tracing also. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Feb 19, 2013
-
-
Piotr Wilczek authored
Add 'ustrtoull' function to convert size from string (ex: 1GiB) to unsigned long long type Signed-off-by:
Piotr Wilczek <p.wilczek@samsung.com> Signed-off-by:
Kyungmin Park <kyungmin.park@samsung.com>
-
- Dec 13, 2012
-
-
Łukasz Majewski authored
The ustrtoul shall convert string defined size (e.g. 1GiB) to unsigned long type (as its name implies). Up till now it had returned int, which might cause problems with large numbers (GiB range), when interpreted as U2 signed numbers. Signed-off-by:
Lukasz Majewski <l.majewski@samsung.com> Signed-off-by:
Kyungmin Park <kyungmin.park@samsung.com>
-
- Nov 04, 2012
-
-
Kim Phillips authored
vsprintf.c:31:12: warning: symbol 'hex_asc' was not declared. Should it be static? vsprintf.c:398:18: warning: Using plain integer as NULL pointer Signed-off-by:
Kim Phillips <kim.phillips@freescale.com>
-
- Nov 02, 2012
-
-
Wolfgang Denk authored
The %p format of printf() would print a pointer to address null as "(null)". This makes sense in a real OS where a NULL pointer must never be dereferenced, but this is a bootloader, and there are cases where accessing the data at address null makes perfect sense. Remove the special case in lib/vsprintf.c using "#if 0" with a comment to make clear this was an intentional change and to stop re-adding this code. Signed-off-by:
Wolfgang Denk <wd@denx.de> Acked-by:
Joe Hershberger <joe.hershberger@ni.com>
-
- Oct 15, 2012
-
-
Daniel Schwierzeck authored
This fixes warnings when compiling with ELDK-5.2.1 for MIPS64: vsprintf.c: In function 'put_dec': vsprintf.c:258:9: warning: comparison of distinct pointer types lacks a cast [enabled by default] vsprintf.c:258:3: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default] include/div64.h:22:17: note: expected 'uint64_t *' but argument is of type 'long long unsigned int *' Signed-off-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-
Daniel Schwierzeck authored
Signed-off-by:
Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-
- Dec 17, 2011
-
-
Simon Glass authored
Now that this is not in common.h, perhaps it is acceptable to move this documentation into the header file. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Sonny Rao authored
From: Sonny Rao <sonnyrao@chromium.org> These functions are useful in U-Boot because they allow a graceful failure rather than an unpredictable stack overflow when printf() buffers are exceeded. Mostly copied from the Linux kernel. I copied vscnprintf and scnprintf so we can change printf and vprintf to use the safe implementation but still return the correct values. (Simon Glass <sjg@chromium.org> modified this commit a little) Signed-off-by:
Sonny Rao <sonnyrao@chromium.org>
-
- Oct 26, 2011
-
-
Simon Glass authored
This function is generally useful and shouldn't hide away in hush. It has been moved as is. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Sep 09, 2011
-
-
Simon Glass authored
assert() is like BUG_ON() but compiles to nothing unless DEBUG is defined. This is useful when a condition is an error but a board reset is unlikely to fix it, so it is better to soldier on in hope. Assertion failures should be caught during development/test. It turns out that assert() is defined separately in a few places in U-Boot with various meanings. This patch cleans up some of these. Build errors exposed by this change (and defining DEBUG) are also fixed in this patch. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Jul 28, 2011
-
-
Heiko Schocher authored
since commit commit d2e8b911 Author: Mike Frysinger <vapier@gentoo.org> Date: Wed Jun 29 11:58:04 2011 +0000 panic: add noreturn attribute I see the following warnings: vsprintf.c: In function 'panic': vsprintf.c:730: warning: 'noreturn' function does return for nearly all boards. This patch fixes this warning. Signed-off-by:
Heiko Schocher <hs@denx.de> cc: Mike Frysinger <vapier@gentoo.org>
-
- May 12, 2011
-
-
Heiko Schocher authored
as checkpatch proposes to use strict_strtoul instead of simple_strtoul, introduce it. Ported this function from Linux 2.6.38 commit ID: 521cb40b0c44418a4fd36dc633f575813d59a43d Signed-off-by:
Heiko Schocher <hs@denx.de> cc: Wolfgang Denk <wd@denx.de> cc: Detlev Zundel <dzu@denx.de> cc: Valentin Longchamp <valentin.longchamp@keymile.com> cc: Holger Brunck <holger.brunck@keymile.com> Signed-off-by:
Valentin Longchamp <valentin.longchamp@keymile.com>
-
- Nov 28, 2010
-
-
Mike Frysinger authored
The duplication of the do_reset prototype has gotten out of hand, and they're not all in sync. Unify them all in command.h. Signed-off-by:
Mike Frysinger <vapier@gentoo.org>
-
- Jul 04, 2010
-
-
Wolfgang Denk authored
The hush shell dynamically allocates (and re-allocates) memory for the argument strings in the "char *argv[]" argument vector passed to commands. Any code that modifies these pointers will cause serious corruption of the malloc data structures and crash U-Boot, so make sure the compiler can check that no such modifications are being done by changing the code into "char * const argv[]". This modification is the result of debugging a strange crash caused after adding a new command, which used the following argument processing code which has been working perfectly fine in all Unix systems since version 6 - but not so in U-Boot: int main (int argc, char **argv) { while (--argc > 0 && **++argv == '-') { /* ====> */ while (*++*argv) { switch (**argv) { case 'd': debug++; break; ... default: usage (); } } } ... } The line marked "====>" will corrupt the malloc data structures and usually cause U-Boot to crash when the next command gets executed by the shell. With the modification, the compiler will prevent this with an error: increment of read-only location '*argv' N.B.: The code above can be trivially rewritten like this: while (--argc > 0 && **++argv == '-') { char *arg = *argv; while (*++arg) { switch (*arg) { ... Signed-off-by:
Wolfgang Denk <wd@denx.de> Acked-by:
Mike Frysinger <vapier@gentoo.org>
-
- Apr 13, 2010
-
-
Peter Tyser authored
Now that the other architecture-specific lib directories have been moved out of the top-level directory there's not much reason to have the '_generic' suffix on the common lib directory. Signed-off-by:
Peter Tyser <ptyser@xes-inc.com>
-
- Dec 08, 2009
-
-
Heiko Schocher authored
There is more and more usage of printing 64bit values, so enable this feature generally, and delete the CONFIG_SYS_64BIT_VSPRINTF and CONFIG_SYS_64BIT_STRTOUL defines. Signed-off-by:
Heiko Schocher <hs@denx.de>
-
- Jul 26, 2009
-
-
Dirk Behme authored
Use do_div from div64.h for vsprintf in case of 64bit division. For 32bit division, do_div from div64.h can't be used as it needs a 64bit parameter. Signed-off-by:
Dirk Behme <dirk.behme@googlemail.com> Acked-by:
Stefan Roese <sr@denx.de> CC: Simon Kagstrom <simon.kagstrom@netinsight.net>
-
- Apr 04, 2009
-
-
Wolfgang Denk authored
-
- Mar 20, 2009
-
-
Mike Frysinger authored
This brings in support for the %p modifier which allows us to easily print out things like ip addresses, mac addresses, and pointers. It also converts the rarely used 'q' length modifier to the common 'L' modifier when dealing with quad types. While this new code is a bit larger (~1k .text), most of it should be made up by converting the existing ip/mac address code to use format modifiers. Signed-off-by:
Mike Frysinger <vapier@gentoo.org>
-
- Nov 19, 2008
-
-
Kyungmin Park authored
This patch adds basic UBI (Unsorted Block Image) support to U-Boot. It's based on the Linux UBI version and basically has a "OS" translation wrapper that defines most Linux specific calls (spin_lock() etc.) into no-ops. Some source code parts have been uncommented by "#ifdef UBI_LINUX". This makes it easier to compare this version with the Linux version and simplifies future UBI ports/bug-fixes from the Linux version. Signed-off-by:
Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by:
Stefan Roese <sr@denx.de>
-
- Oct 18, 2008
-
-
Jean-Christophe PLAGNIOL-VILLARD authored
Signed-off-by:
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
-
- Jul 14, 2008
-
-
Jean-Christophe PLAGNIOL-VILLARD authored
Signed-off-by:
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
-
- Jan 11, 2008
-
-
James Yang authored
There were some size and unsigned problems. Also add support for "ll" size modifier in format string like glibc Signed-off-by:
James Yang <James.Yang@freescale.com> Acked-by:
Jon Loeliger <jdl@freescale.com>
-
- Mar 14, 2004
-
-
Wolfgang Denk authored
-