summaryrefslogtreecommitdiff
path: root/common/cmd_scsi.c
AgeCommit message (Collapse)Author
2016-01-25Move all command code into its own directorySimon Glass
There are a lot of unrelated files in common, including all of the commands. Moving them into their own directory makes them easier to find and is more logical. Some commands include non-command code, such as cmd_scsi.c. This should be sorted out at some point so that the function can be enabled with or without the associated command. Unfortunately, with m68k I get this error: m68k: + M5329AFEE +arch/m68k/cpu/mcf532x/start.o: In function `_start': +arch/m68k/cpu/mcf532x/start.S:159:(.text+0x452): relocation truncated to fit: R_68K_PC16 against symbol `board_init_f' defined in .text.board_init_f section in common/built-in.o I hope someone can shed some light on what this means. I hope it isn't depending on the position of code in the image. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Acked-by: Stefan Roese <[email protected]> Acked-by: Przemyslaw Marczak <[email protected]>
2016-01-13block: pass block dev not num to read/write/erase()Stephen Warren
This will allow the implementation to make use of data in the block_dev structure beyond the base device number. This will be useful so that eMMC block devices can encompass the HW partition ID rather than treating this out-of-band. Equally, the existence of the priv field is crying out for this patch to exist. Signed-off-by: Stephen Warren <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2016-01-12dm: pci: scsi: Use driver-model PCI APISimon Glass
Adjust the SCSI command to use driver model for its PCI interface. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2015-07-11scsi: fix compiler warning with DEBUG and 48bit LBAsAndre Przywara
Commit 2b42c9317db ("ahci: support LBA48 data reads for 2+TB drives") introduced conditional code which triggers a warning when compiled with DEBUG enabled: In file included from common/cmd_scsi.c:12:0: common/cmd_scsi.c: In function 'scsi_read': include/common.h:109:4: warning: 'smallblks' may be used uninitialized in this function [-Wmaybe-uninitialized] ... Since this is for debug only, take the easy way and initialize the variable explicitly on declaration to avoid the warning. (Fix a nearby whitespace error on the way.) Tested-by: Bin Meng <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2015-06-12ahci: support LBA48 data reads for 2+TB drivesMark Langsdorf
Enable full 48-bit LBA48 data reads by passing the upper word of the LBA block pointer in bytes 9 and 10 of the FIS. This allows uboot to load data from any arbitrary sector on a drive with 2 or more TB of available data connected to an AHCI controller. Signed-off-by: Mark Langsdorf <[email protected]> Signed-off-by: Andre Przywara <[email protected]> [trini: Make use of CONFIG_SYS_64BIT_LBA in a few places to drop warnings on platforms that don't enable that feature ] Signed-off-by: Tom Rini <[email protected]>
2015-06-12cmd_scsi: use lbaint_t for LBA values instead of u32Mark Langsdorf
Signed-off-by: Mark Langsdorf <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2015-04-22cmd_scsi: Enable SoC AHCI device on platforms with PCItang yuantian
Current driver assumes the AHCI is connected to PCI, this is not true on some SoCs, e.g. LS1021A, which has PCI but the AHCI is in SoC. This patch will enable embedded AHCI devices on platforms with PCI. PCI AHCI devices still can be used by commenting CONFIG_SCSI_AHCI_PLAT option in head file. Signed-off-by: Shaohui Xie <[email protected]> Signed-off-by: Tang Yuantian <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2015-02-06scsi: bootstage: Measure time taken to scan the busSimon Glass
On some hardware this time can be significant. Add bootstage support for measuring this. The result can be obtained using 'bootstage report' or passed on to the Linux via the device tree. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2014-10-27scsi: Use correct printf() format string for uintptr_tSimon Glass
Use the inttypes header file to provide this. Signed-off-by: Simon Glass <[email protected]>
2014-02-19common: spl: Add spl sata boot supportDan Murphy
Add spl_sata to read a fat partition from a bootable SATA drive. Signed-off-by: Dan Murphy <[email protected]> Reviewed-by: Roger Quadros <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2013-07-15scsi: Correct types of scsi_read/write()Simon Glass
The block device expects to see lbaint_t for the blknr parameter. Change the SCSI read/write functions to suit. This fixes the following build warnings for coreboot: cmd_scsi.c: In function ‘scsi_scan’: cmd_scsi.c:119:30: error: assignment from incompatible pointer type [-Werror] cmd_scsi.c:120:32: error: assignment from incompatible pointer type [-Werror] Signed-off-by: Simon Glass <[email protected]>
2013-05-01part/dev_desc: Add log2 of blocksize to block_dev_desc data structEgbert Eich
log2 of the device block size serves as the shift value used to calculate the block number to read in file systems when implementing avaiable block sizes. It is needed quite often in file systems thus it is pre-calculated and stored in the block device descriptor. Signed-off-by: Egbert Eich <[email protected]>
2013-04-01Consolidate bool typeYork Sun
'bool' is defined in random places. This patch consolidates them into a single header file include/linux/types.h, using stdbool.h introduced in C99. All other #define, typedef and enum are removed. They are all consistent with true = 1, false = 0. Replace FALSE, False with false. Replace TRUE, True with true. Skip *.py, *.php, lib/* files. Signed-off-by: York Sun <[email protected]>
2012-11-02ahci: Support 64-bit LBA option when reading capacityGabe Black
Capacity needs to allow for a 64-bit value. Signed-off-by: Gabe Black <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2012-11-02scsi: Add function and env var to report number of scsi drivesStefan Reinauer
Add a new function to find out the number of available SCSI disks. Also set the 'scsidevs' environment variable after each scan. Signed-off-by: Stefan Reinauer <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2012-11-02scsi: Add scsi_write to SCSI driverHung-Te Lin
Implement write functionality in the scsi layer. A ''scsi write' command is also added to console for testing. Signed-off-by: Hung-Te Lin <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2012-11-02scsi: Provide support for a list of AHCI controllers.Vadim Bendebury
Many AHCI controllers are identical, the main (and often the only) difference being the PCI Vendor ID/Device ID combination reported by the device. This change allows the config file to define a list of PCI vendor ID/device ID pairs. The driver would scan the list and initialize the first device it finds. No actual multiple device list is introduced yet, this change just add the framework. Signed-off-by: Vadim Bendebury <[email protected]> Signed-off-by: Taylor Hutt <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2012-09-25combine block device load commands into common functionRob Herring
All the raw block load commands duplicate the same code. Starting with the ide version as it has progress updates convert ide, usb, and scsi boot commands to all use a common version. Signed-off-by: Rob Herring <[email protected]>
2012-03-06Convert cmd_usage() calls in common to use a return valueSimon Glass
Change all files in common/ to use CMD_RET_USAGE instead of calling cmd_usage() directly. I'm not completely sure about this patch since the code since impact is small (100 byte or so on ARM) and it might need splitting into smaller patches. But for now here it is. Signed-off-by: Simon Glass <[email protected]>
2011-07-26disk/part.c: Make features optionalMatthew McClintock
If we don't want to build support for any partition types we can now add #undef CONFIG_PARTITIONS in a board config file to keep this from being compiled in. Otherwise boards assume this is compiled in by default Signed-off-by: Matthew McClintock <[email protected]>
2011-07-26scsi/ahci: add support for non-PCI controllersRob Herring
Add support for AHCI controllers that are not PCI based. Signed-off-by: Rob Herring <[email protected]> Cc: Wolfgang Denk <[email protected]>
2011-07-25autostart: unify duplicated logic into the bootm codeMike Frysinger
Rather than having a bunch of random commands handle autostart behavior, unify the logic in a single place. This also fixes building of these different commands when bootm is disabled. Acked-by: Matthew McClintock <[email protected]> Acked-by: Scott Wood <[email protected]> Signed-off-by: Mike Frysinger <[email protected]>
2011-01-11Revert "boot cmds: convert to getenv_yesno() with autostart"Wolfgang Denk
This reverts commit 5a442c0addc69d0c4b58e98e5aec1cf07576debb. This commit changed the behaviour of getenv_yesno() (both the default behaviour and the documented behaviour for abbreviated arguments) which resulted in problems in several areas. Signed-off-by: Wolfgang Denk <[email protected]>
2010-11-28boot cmds: convert to getenv_yesno() with autostartMike Frysinger
Use the new helper func to clean up duplicate logic handling of the autostart env var. Signed-off-by: Mike Frysinger <[email protected]>
2010-11-28do_bootm: unify duplicate prototypesMike Frysinger
The duplication of the do_bootm prototype has gotten out of hand, and they're pretty much all outdated (wrt constness). Unify them all in command.h. Signed-off-by: Mike Frysinger <[email protected]>
2010-07-24cmd_usage(): simplify return code handlingWolfgang Denk
Lots of code use this construct: cmd_usage(cmdtp); return 1; Change cmd_usage() let it return 1 - then we can replace all these ocurrances by return cmd_usage(cmdtp); This fixes a few places with incorrect return code handling, too. Signed-off-by: Wolfgang Denk <[email protected]>
2010-07-04Make sure that argv[] argument pointers are not modified.Wolfgang Denk
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 <[email protected]> Acked-by: Mike Frysinger <[email protected]>
2009-06-12General help message cleanupWolfgang Denk
Many of the help messages were not really helpful; for example, many commands that take no arguments would not print a correct synopsis line, but "No additional help available." which is not exactly wrong, but not helpful either. Commit ``Make "usage" messages more helpful.'' changed this partially. But it also became clear that lots of "Usage" and "Help" messages (fields "usage" and "help" in struct cmd_tbl_s respective) were actually redundant. This patch cleans this up - for example: Before: => help dtt dtt - Digital Thermometer and Thermostat Usage: dtt - Read temperature from digital thermometer and thermostat. After: => help dtt dtt - Read temperature from Digital Thermometer and Thermostat Usage: dtt Signed-off-by: Wolfgang Denk <[email protected]>
2009-01-28Command usage cleanupPeter Tyser
Remove command name from all command "usage" fields and update common/command.c to display "name - usage" instead of just "usage". Also remove newlines from command usage fields. Signed-off-by: Peter Tyser <[email protected]>
2009-01-28Standardize command usage messages with cmd_usage()Peter Tyser
Signed-off-by: Peter Tyser <[email protected]>
2008-10-18rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]>
2008-07-14Code cleanup: fix old style assignment ambiguities like "=-" etc.Wolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]>
2008-06-30Delay FIT format check on sector based devicesMarian Balakowicz
Global FIT image operations like format check cannot be performed on a first sector data, defer them to the point when whole FIT image was uploaded to a system RAM. Signed-off-by: Marian Balakowicz <[email protected]> Partial ('cmd_nand' case) Acked-by: Grant Erickson <[email protected]> NAND and DOC bits Acked-by: Scott Wood <[email protected]>
2008-05-21Big white-space cleanup.Wolfgang Denk
This commit gets rid of a huge amount of silly white-space issues. Especially, all sequences of SPACEs followed by TAB characters get removed (unless they appear in print statements). Also remove all embedded "vim:" and "vi:" statements which hide indentation problems. Signed-off-by: Wolfgang Denk <[email protected]>
2008-03-12[new uImage] Add new uImage format handling to other bootm related commandsMarian Balakowicz
Updated commands: docboot - cmd_doc.c fdcboot - cmd_fdc.c diskboot - cmd_ide.c nboot - cmd_nand.c scsiboot - cmd_scsi.c usbboot - cmd_usb.c Signed-off-by: Marian Balakowicz <[email protected]>
2008-02-29[new uImage] Update naming convention for bootm/uImage related codeMarian Balakowicz
This patch introduces the following prefix convention for the image format handling and bootm related code: genimg_ - dual format shared code image_ - legacy uImage format specific code fit_ - new uImage format specific code boot_ - booting process related code Related routines are renamed and a few pieces of code are moved around and re-grouped. Signed-off-by: Marian Balakowicz <[email protected]>
2008-02-25[new uImage] Add dual format uImage support frameworkMarian Balakowicz
This patch adds framework for dual format images. Format detection is added and the bootm controll flow is updated to include cases for new FIT format uImages. When the legacy (image_header based) format is detected appropriate legacy specific handling is invoked. For the new (FIT based) format uImages dual boot framework has a minial support, that will only print out a corresponding debug messages. Implementation of the FIT specific handling will be added in following patches. Signed-off-by: Marian Balakowicz <[email protected]>
2008-02-21[new uImage] Rename and move print_image_hdr() routineMarian Balakowicz
Signed-off-by: Marian Balakowicz <[email protected]>
2008-02-07[new uImage] Define a API for image handling operationsMarian Balakowicz
- Add inline helper macros for basic header processing - Move common non inline code common/image.c - Replace direct header access with the API routines - Rename IH_CPU_* to IH_ARCH_* Signed-off-by: Marian Balakowicz <[email protected]>
2007-11-20[BUILD] conditionally compile common/cmd_*.c in common/MakefileGrant Likely
Modify common/Makefile to conditionally compile the cmd_*.c files based on the board config. Signed-off-by: Grant Likely <[email protected]>
2007-11-18Fix warning differ in signedness in common/cmd_scsi.cStefan Roese
Signed-off-by: Stefan Roese <[email protected]>
2007-07-08common/cmd_[p-x]*: Remove obsolete references to CONFIG_COMMANDS.Jon Loeliger
Signed-off-by: Jon Loeliger <[email protected]>
2007-07-04common/cmd_[i-z]* : Augment CONFIG_COMMANDS tests with defined(CONFIG_CMD_*).Jon Loeliger
This is a compatibility step that allows both the older form and the new form to co-exist for a while until the older can be removed entirely. All transformations are of the form: Before: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) After: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) || defined(CONFIG_CMD_AUTOSCRIPT) Signed-off-by: Jon Loeliger <[email protected]>
2007-04-13[PATCH] Fix bugs in cmd_ide.c and cmd_scsi.cDenis Peter
Fix bug introduced by "Fix get_partition_info() parameter error in all other calls" from 2005-03-04 in cmd_ide.c and cmd_scsi.c, which prevented to use diskboot or scsiboot form another device than 0. Signed-off-by: Denis Peter <[email protected]>
2007-02-20[PATCH 9_9] Use "void *" not "unsigned long *" for block dev read_write ↵Grant Likely
buffer pointers Block device read/write is anonymous data; there is no need to use a typed pointer. void * is fine. Also add a hook for block_read functions Signed-off-by: Grant Likely <[email protected]>
2007-02-20[PATCH 1_4] Merge common get_dev() routines for block devicesGrant Likely
Each of the filesystem drivers duplicate the get_dev routine. This change merges them into a single function in part.c Signed-off-by: Grant Likely <[email protected]>
2006-08-23Add AHCI support to u-bootJin Zhengxiong
Add AHCI support in u-boot, enable the sata disk controllers which following the AHCI protocol. Signed-off-by:Jason Jin<[email protected]>
2005-10-13Cleanup for GCC-4.xWolfgang Denk
2005-08-04(re)enabled scsi commands do_scsi() and do_scsiboot()Wolfgang Denk
Patch by Denis Peter, 06 Dec 2004