blob: ee32b35877f7ff24b7f0fdbd4d3f2235a301c8c5 [file] [log] [blame]
Andrew Scull18834872018-10-12 11:48:09 +01001/*
Andrew Walbran692b3252019-03-07 15:51:31 +00002 * Copyright 2018 The Hafnium Authors.
Andrew Scull18834872018-10-12 11:48:09 +01003 *
Andrew Walbrane959ec12020-06-17 15:01:09 +01004 * Use of this source code is governed by a BSD-style
5 * license that can be found in the LICENSE file or at
6 * https://opensource.org/licenses/BSD-3-Clause.
Andrew Scull18834872018-10-12 11:48:09 +01007 */
8
Andrew Scull5991ec92018-10-08 14:55:02 +01009#pragma once
10
11#include "hf/addr.h"
12
Andrew Walbranf636b842020-01-10 11:46:12 +000013#define LINUX_ALIGNMENT 0x200000
14#define LINUX_OFFSET 0x80000
15
Andrew Scullfa90e232018-10-19 11:24:28 +010016paddr_t layout_text_begin(void);
17paddr_t layout_text_end(void);
Andrew Scull5991ec92018-10-08 14:55:02 +010018
Andrew Scullfa90e232018-10-19 11:24:28 +010019paddr_t layout_rodata_begin(void);
20paddr_t layout_rodata_end(void);
Andrew Scull5991ec92018-10-08 14:55:02 +010021
Andrew Scullfa90e232018-10-19 11:24:28 +010022paddr_t layout_data_begin(void);
23paddr_t layout_data_end(void);
Andrew Scull5991ec92018-10-08 14:55:02 +010024
Maksims Svecovs134b8f92022-03-04 15:14:09 +000025paddr_t layout_stacks_begin(void);
26paddr_t layout_stacks_end(void);
27
Andrew Scullb401ba32018-11-09 10:30:54 +000028paddr_t layout_initrd_begin(void);
29paddr_t layout_initrd_end(void);
30
31paddr_t layout_fdt_begin(void);
32paddr_t layout_fdt_end(void);
33
Andrew Scull0e6bf1a2019-04-10 15:02:54 +010034paddr_t layout_image_end(void);
Andrew Scull5991ec92018-10-08 14:55:02 +010035
Andrew Scullfa90e232018-10-19 11:24:28 +010036paddr_t layout_primary_begin(void);