[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCHv5 03/23] plat/common: Move global variables defined in link scripts to a header
From: Wei Chen <wei.chen@xxxxxxx> The global variables defined in link scripts like _text, _etext and _end are declared in multiple files. We use a header to include these global variables to avoid so many duplicated declarations. Signed-off-by: Wei Chen <wei.chen@xxxxxxx> Signed-off-by: Jia He <justin.he@xxxxxxx> Reviewed-by: Sharan Santhanam <sharan.santhanam@xxxxxxxxx> --- plat/common/include/sections.h | 65 ++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 plat/common/include/sections.h diff --git a/plat/common/include/sections.h b/plat/common/include/sections.h new file mode 100644 index 0000000..42f41d2 --- /dev/null +++ b/plat/common/include/sections.h @@ -0,0 +1,65 @@ +/* SPDX-License-Identifier: BSD-3-Clause */ +/* + * Authors: Wei Chen <wei.chen@xxxxxxx> + * + * Copyright (c) 2018, Arm Ltd. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY. + */ + +#ifndef __PLAT_CMN_SECTIONS_H__ +#define __PLAT_CMN_SECTIONS_H__ + +/* + * Following global variables are defined in image link scripts, and some + * variables are optional and may be unavailable on some architectures + * or configurations. + */ + +/* _dtb: start of device tree */ +extern char _dtb[]; + +/* [_text, _etext]: contains .text.* sections */ +extern char _text[], _etext[]; + +/* [_rodata, _erodata]: contains .rodata.* sections */ +extern char _rodata[], _erodata[]; + +/* [_data, _edata]: contains .data.* sections */ +extern char _data[], _edata[]; + +/* [_ctors, _ectors]: contains constructor tables (read-only) */ +extern char _ctors[], _ectors[]; + +/* __bss_start: start of BSS sections */ +extern char __bss_start[]; + +/* _end: end of kernel image */ +extern char _end[]; + +#endif /* __PLAT_CMN_SECTIONS_H__ */ -- 2.17.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |