Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ezynq
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Elphel
ezynq
Commits
fb6df26c
Commit
fb6df26c
authored
Dec 26, 2018
by
Oleg Dzhimiev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
unknown type bool
parent
f5f6a3f6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
140 additions
and
0 deletions
+140
-0
fit_common.c
u-boot-tree/tools/fit_common.c
+107
-0
fit_common.h
u-boot-tree/tools/fit_common.h
+33
-0
No files found.
u-boot-tree/tools/fit_common.c
0 → 100644
View file @
fb6df26c
/*
* (C) Copyright 2014
* DENX Software Engineering
* Heiko Schocher <hs@denx.de>
*
* (C) Copyright 2008 Semihalf
*
* (C) Copyright 2000-2004
* DENX Software Engineering
* Wolfgang Denk, wd@denx.de
*
* Updated-by: Prafulla Wadaskar <prafulla@marvell.com>
* FIT image specific code abstracted from mkimage.c
* some functions added to address abstraction
*
* All rights reserved.
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include "imagetool.h"
#include "mkimage.h"
#include "fit_common.h"
#include <image.h>
#include <u-boot/crc.h>
int
fit_verify_header
(
unsigned
char
*
ptr
,
int
image_size
,
struct
image_tool_params
*
params
)
{
return
fdt_check_header
(
ptr
);
}
int
fit_check_image_types
(
uint8_t
type
)
{
if
(
type
==
IH_TYPE_FLATDT
)
return
EXIT_SUCCESS
;
else
return
EXIT_FAILURE
;
}
int
mmap_fdt
(
const
char
*
cmdname
,
const
char
*
fname
,
size_t
size_inc
,
void
**
blobp
,
struct
stat
*
sbuf
,
bool
delete_on_error
)
{
void
*
ptr
;
int
fd
;
/* Load FIT blob into memory (we need to write hashes/signatures) */
fd
=
open
(
fname
,
O_RDWR
|
O_BINARY
);
if
(
fd
<
0
)
{
fprintf
(
stderr
,
"%s: Can't open %s: %s
\n
"
,
cmdname
,
fname
,
strerror
(
errno
));
goto
err
;
}
if
(
fstat
(
fd
,
sbuf
)
<
0
)
{
fprintf
(
stderr
,
"%s: Can't stat %s: %s
\n
"
,
cmdname
,
fname
,
strerror
(
errno
));
goto
err
;
}
if
(
size_inc
)
{
sbuf
->
st_size
+=
size_inc
;
if
(
ftruncate
(
fd
,
sbuf
->
st_size
))
{
fprintf
(
stderr
,
"%s: Can't expand %s: %s
\n
"
,
cmdname
,
fname
,
strerror
(
errno
));
goto
err
;
}
}
errno
=
0
;
ptr
=
mmap
(
0
,
sbuf
->
st_size
,
PROT_READ
|
PROT_WRITE
,
MAP_SHARED
,
fd
,
0
);
if
((
ptr
==
MAP_FAILED
)
||
(
errno
!=
0
))
{
fprintf
(
stderr
,
"%s: Can't read %s: %s
\n
"
,
cmdname
,
fname
,
strerror
(
errno
));
goto
err
;
}
/* check if ptr has a valid blob */
if
(
fdt_check_header
(
ptr
))
{
fprintf
(
stderr
,
"%s: Invalid FIT blob
\n
"
,
cmdname
);
goto
err
;
}
/* expand if needed */
if
(
size_inc
)
{
int
ret
;
ret
=
fdt_open_into
(
ptr
,
ptr
,
sbuf
->
st_size
);
if
(
ret
)
{
fprintf
(
stderr
,
"%s: Cannot expand FDT: %s
\n
"
,
cmdname
,
fdt_strerror
(
ret
));
goto
err
;
}
}
*
blobp
=
ptr
;
return
fd
;
err:
if
(
fd
>=
0
)
close
(
fd
);
if
(
delete_on_error
)
unlink
(
fname
);
return
-
1
;
}
u-boot-tree/tools/fit_common.h
0 → 100644
View file @
fb6df26c
/*
* (C) Copyright 2014
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef _FIT_COMMON_H_
#define _FIT_COMMON_H_
#include "imagetool.h"
#include "mkimage.h"
#include <image.h>
int
fit_verify_header
(
unsigned
char
*
ptr
,
int
image_size
,
struct
image_tool_params
*
params
);
int
fit_check_image_types
(
uint8_t
type
);
/**
* Map an FDT into memory, optionally increasing its size
*
* @cmdname: Tool name (for displaying with error messages)
* @fname: Filename containing FDT
* @size_inc: Amount to increase size by (0 = leave it alone)
* @blobp: Returns pointer to FDT blob
* @sbuf: File status information is stored here
* @delete_on_error: true to delete the file if we get an error
* @return 0 if OK, -1 on error.
*/
int
mmap_fdt
(
const
char
*
cmdname
,
const
char
*
fname
,
size_t
size_inc
,
void
**
blobp
,
struct
stat
*
sbuf
,
bool
delete_on_error
);
#endif
/* _FIT_COMMON_H_ */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment