1/* 2 * Copyright (c) 2023 Arm Limited. All rights reserved. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 */ 17 18#include "region_defs.h" 19 20do not initialize { section .noinit }; 21do not initialize { readwrite }; 22 23define block VALUES with fixed order, maximum size = PROVISIONING_BUNDLE_VALUES_SIZE { 24 ro object *provisioning_data.o 25}; 26"VALUES": place at address PROVISIONING_BUNDLE_VALUES_START { block VALUES }; 27 28define ram region DATA = [from PROVISIONING_BUNDLE_DATA_START size PROVISIONING_BUNDLE_DATA_SIZE]; 29 30define block RW_DATA { 31 rw data 32}; 33"RW_DATA": place at start of DATA { block RW_DATA }; 34 35define block RO_DATA { 36 ro data 37} except { 38 ro object *provisioning_data.o 39}; 40"RO_DATA": place in DATA { block RO_DATA }; 41 42define block BSS_DATA { 43 zi section .bss 44}; 45"BSS_DATA": place in DATA { block BSS_DATA }; 46 47define block CODE with fixed order, alignment = 4, maximum size = PROVISIONING_BUNDLE_CODE_SIZE { 48 ro section DO_PROVISION, 49 ro code, 50}; 51"CODE": place at address PROVISIONING_BUNDLE_CODE_START { block CODE }; 52