| df1cd46f | 30-Jul-2017 |
Heinrich Schuchardt <xypron.glpk@gmx.de> |
arm64: zynqmp: avoid out of buffer access
strncat(a, b, c) appends a maximum of c characters plus the 0 byte to a.
In board_init we first write 4 characters plus 0 byte to version. So only ZYNQMP_V
arm64: zynqmp: avoid out of buffer access
strncat(a, b, c) appends a maximum of c characters plus the 0 byte to a.
In board_init we first write 4 characters plus 0 byte to version. So only ZYNQMP_VERSION_SIZE - 5 additional characters fit into version.
The problem was indicated by cppcheck.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
show more ...
|
| 74ba69db | 25-Jul-2017 |
Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> |
arm64: zynqmp: Make chip_id routine to handle based on el.
Modify chip_id() routine such that to handle based on the current el. Also make it available even if FPGA is not enabled in system such it
arm64: zynqmp: Make chip_id routine to handle based on el.
Modify chip_id() routine such that to handle based on the current el. Also make it available even if FPGA is not enabled in system such it can be used always.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
show more ...
|
| f52bf5a3 | 25-Jul-2017 |
Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> |
arm64: zynqmp: Make chip_id a global routine()
This patch makes chip_id() as a global routine so that it can be used in other places as required.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@
arm64: zynqmp: Make chip_id a global routine()
This patch makes chip_id() as a global routine so that it can be used in other places as required.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
show more ...
|
| 4b5b0fcd | 21-Feb-2017 |
Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> |
arm64: zynqmp: Dont write to system timestamp generator
Remove incorrect code of writing to system timestamp counter registers. This register writes does nothing and can be removed.
Signed-off-by:
arm64: zynqmp: Dont write to system timestamp generator
Remove incorrect code of writing to system timestamp counter registers. This register writes does nothing and can be removed.
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
show more ...
|
| 90a35db4 | 12-Jul-2017 |
Michal Simek <michal.simek@xilinx.com> |
arm64: zynqmp: Do not setup time if already setup
Newer psu_init_gpl.c/h contain clock setup. Detect if reference clock is active. If yes, skip timer setup.
Signed-off-by: Michal Simek <michal.sime
arm64: zynqmp: Do not setup time if already setup
Newer psu_init_gpl.c/h contain clock setup. Detect if reference clock is active. If yes, skip timer setup.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
show more ...
|
| 950f86ca | 18-Dec-2016 |
Nathan Rossi <nathan@nathanrossi.com> |
ARM64: zynqmp: Replace board specific with generic memory bank decoding
The dram_init and dram_init_banksize functions were using a board specific implementation for decoding the memory banks from t
ARM64: zynqmp: Replace board specific with generic memory bank decoding
The dram_init and dram_init_banksize functions were using a board specific implementation for decoding the memory banks from the fdt. This board specific implementation uses a static variable 'tmp' which makes these functions unsafe for execution from within the board_init_f context.
This change makes the dram_init* functions use a generic implementation of decoding and populating memory bank and size data.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Fixes: 8d59d7f63b ("ARM64: zynqmp: Read RAM information from DT") Cc: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
show more ...
|
| de9bf1b5 | 18-Dec-2016 |
Nathan Rossi <nathan@nathanrossi.com> |
ARM: zynq: Replace board specific with generic memory bank decoding
The dram_init and dram_init_banksize functions were using a board specific implementation for decoding the memory banks from the f
ARM: zynq: Replace board specific with generic memory bank decoding
The dram_init and dram_init_banksize functions were using a board specific implementation for decoding the memory banks from the fdt. This board specific implementation uses a static variable 'tmp' which makes these functions unsafe for execution from within the board_init_f context.
This unsafe use of a static variable was causing a specific bug when using the zynq_zybo configuration, U-Boot would generate the following error during image load. This was caused due to dram_init overwriting the relocations for the 'image' variable within the do_bootm function. Out of coincidence the un-initialized memory has a compression type which is the same as the value for the relocation type R_ARM_RELATIVE.
Uncompressing Invalid Image ... Unimplemented compression type 23
It should be noted that this is just one way the issue could surface, other cases my not be observed in normal boot flow. Depending on the size of various sections, and location of relocations within __rel_dyn and the compiler/linker the outcome of this bug can differ greatly.
This change makes the dram_init* functions use a generic implementation of decoding and populating memory bank and size data.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Fixes: 758f29d0f8 ("ARM: zynq: Support systems with more memory banks") Cc: Michal Simek <monstr@monstr.eu> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
show more ...
|