it8xxx2/linker: append h2ram_pool section at the end of used memory
Since __sha256_ram_block section must in the first 4KB, h2ram_pool section is no longer included first inside the RAMABLE_REGION. Append h2ram_pool section at the end of used memory, so gap due to alignment is still available for newly added variables. Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
This commit is contained in:
parent
423b5b2d42
commit
003e0be6fb
4 changed files with 17 additions and 27 deletions
|
@ -204,7 +204,7 @@ static const struct ec2i_t pmc2_settings[] = {
|
|||
* This feature allows host access EC's memory directly by eSPI I/O cycles.
|
||||
* Mapping range is 4K bytes and base address is adjustable.
|
||||
* Eg. the I/O cycle 800h~8ffh from host can be mapped to x800h~x8ffh.
|
||||
* Linker script of h2ram.ld will make the pool 4K aligned.
|
||||
* Linker script will make the pool 4K aligned.
|
||||
*/
|
||||
#define IT8XXX2_ESPI_H2RAM_POOL_SIZE_MAX 0x1000
|
||||
#define IT8XXX2_ESPI_H2RAM_OFFSET_MASK GENMASK(5, 0)
|
||||
|
|
|
@ -3,10 +3,3 @@ zephyr_sources(
|
|||
)
|
||||
zephyr_library_sources_ifndef(CONFIG_RISCV_ISA_EXT_M __arithmetic.S)
|
||||
zephyr_sources_ifdef(CONFIG_SOC_IT8XXX2_USE_ILM ilm.c)
|
||||
|
||||
# IMPORTANT:
|
||||
# The h2ram section must be first added to RAM_SECTIONS to avoid gap.
|
||||
zephyr_linker_sources_ifdef(CONFIG_ESPI_IT8XXX2
|
||||
RAM_SECTIONS
|
||||
h2ram.ld
|
||||
)
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2022 ITE Corporation.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
SECTION_PROLOGUE(.h2ram_pool, (NOLOAD),)
|
||||
{
|
||||
/*
|
||||
* Ensure this section is 4k-byte aligned.
|
||||
* NOTE: This won't cause gap if this is included first inside
|
||||
* the RAMABLE_REGION. Because RAM base is 4k-byte aligned.
|
||||
*/
|
||||
. = ALIGN(0x1000);
|
||||
_h2ram_pool_start = .;
|
||||
KEEP(*(.h2ram_pool))
|
||||
_h2ram_pool_end = .;
|
||||
} GROUP_LINK_IN(RAMABLE_REGION)
|
||||
_h2ram_pool_size = ABSOLUTE(_h2ram_pool_end - _h2ram_pool_start);
|
|
@ -356,6 +356,22 @@ SECTIONS
|
|||
|
||||
__data_region_end = .;
|
||||
|
||||
SECTION_DATA_PROLOGUE(.h2ram_pool,(NOLOAD),)
|
||||
{
|
||||
/*
|
||||
* Since __sha256_ram_block section must in the first 4KB,
|
||||
* h2ram_pool section is no longer included first inside the
|
||||
* RAMABLE_REGION.
|
||||
* Append h2ram_pool section at the end of used memory, so gap
|
||||
* due to alignment is still available for newly added variables
|
||||
*/
|
||||
. = ALIGN(0x1000);
|
||||
_h2ram_pool_start = .;
|
||||
KEEP(*(.h2ram_pool))
|
||||
_h2ram_pool_end = .;
|
||||
} GROUP_DATA_LINK_IN(RAMABLE_REGION, RAMABLE_REGION)
|
||||
_h2ram_pool_size = ABSOLUTE(_h2ram_pool_end - _h2ram_pool_start);
|
||||
|
||||
__kernel_ram_end = .;
|
||||
__kernel_ram_size = __kernel_ram_end - __kernel_ram_start;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue