blob: b29bc14fa9f4dc2356934933cd51c9445e2fa14b [file] [log] [blame]
Julius Wernerec5e5e02014-08-20 15:29:56 -07001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright 2014 Google Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
Julius Wernerec5e5e02014-08-20 15:29:56 -070014 */
15
16#include <memlayout.h>
Julius Wernerec5e5e02014-08-20 15:29:56 -070017#include <arch/header.ld>
Patrick Rudolphc6ba36f2019-06-12 09:48:31 +020018#include <mainboard/addressmap.h>
Julius Wernerec5e5e02014-08-20 15:29:56 -070019
Patrick Rudolph8a48c922019-06-12 16:22:11 +020020// Stages start after CBFS in DRAM
Patrick Rudolphc6ba36f2019-06-12 09:48:31 +020021#define STAGES_START (QEMU_VIRT_DRAM + CONFIG_ROM_SIZE)
Philipp Hug2ef569a2018-12-31 14:13:47 +010022
Julius Wernerec5e5e02014-08-20 15:29:56 -070023SECTIONS
24{
Patrick Rudolph8a48c922019-06-12 16:22:11 +020025 // the virt target doesn't emulate flash and just puts the CBFS into DRAM.
26 // fake SRAM where CBFS resides. It's only done for better integration.
27 SRAM_START(QEMU_VIRT_DRAM)
Patrick Rudolphc6ba36f2019-06-12 09:48:31 +020028 BOOTBLOCK(QEMU_VIRT_DRAM, 64K)
29 // CBFS goes here
Patrick Rudolph8a48c922019-06-12 16:22:11 +020030 SRAM_END(STAGES_START)
31 DRAM_START(STAGES_START)
32
33#if ENV_ROMSTAGE
34 ROMSTAGE(STAGES_START, 128K)
35#endif
Patrick Rudolph871d2c72019-07-05 19:41:24 +020036#if ENV_RAMSTAGE
37 REGION(opensbi, STAGES_START, 128K, 4K)
38#endif
Patrick Rudolph8a48c922019-06-12 16:22:11 +020039 PRERAM_CBMEM_CONSOLE(STAGES_START + 128K, 8K)
Patrick Rudolphc6ba36f2019-06-12 09:48:31 +020040 RAMSTAGE(STAGES_START + 200K, 16M)
Patrick Rudolph8a48c922019-06-12 16:22:11 +020041 STACK(STAGES_START + 200K + 16M, 4K)
Julius Wernerec5e5e02014-08-20 15:29:56 -070042}