Marshall Dawson uploaded patch set #9 to the change originally created by Kyösti Mälkki.

View Change

arch/x86: Implement RESET_VECTOR_IN_RAM

Add support for devices with the reset vector pointing into DRAM.
Add a crt0 file that includes the traditional x86 reset code and
a new linker script that describes the early region definitions.
New Kconfig options allow the soc to determine the total early
DRAM storage required, as well as the BSP stack size.

The current implementation piggy-backs off of the romstage build
but does not require romstage to be in cbfs.

Similar to changes made when bootblock could begin executing C,
the extra _start label and gdt_init.S must be excluded.

The following is a snip of the elf header when compiled using
later patches for a Mandolin board.
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .text PROGBITS 08000000 000060 007e80 00 AX 0 0 32
[ 2] .rel.text REL 00000000 052a2c 001b60 08 I 10 1 4
[ 3] .data PROGBITS 08007e80 007ee0 000008 00 WA 0 0 4
[ 4] .bss NOBITS 08007e88 007ee8 043ed0 00 WA 0 0 32
[ 5] .near_reset_vecto PROGBITS 0804ff00 04ff60 0000d5 00 AX 0 0 4
[ 6] .rel.near_reset_v REL 00000000 05458c 000058 08 I 10 5 4
[ 7] .reset PROGBITS 0804fff0 050050 000010 00 AX 0 0 1
[ 8] .rel.reset REL 00000000 0545e4 000008 08 I 10 7 4
[ 9] .gnu_debuglink PROGBITS 00000000 050060 000014 00 0 0 4
[10] .symtab SYMTAB 00000000 050074 001610 10 11 122 4
[11] .strtab STRTAB 00000000 051684 0013a5 00 0 0 1
[12] .shstrtab STRTAB 00000000 0545ec 000061 00 0 0 1

Change-Id: I9c084ff6fdcf7e9154436f038705e8679daea780
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
---
M Makefile.inc
M src/arch/x86/Kconfig
M src/arch/x86/Makefile.inc
A src/arch/x86/early_dram.ld
M src/arch/x86/include/arch/cpu.h
M src/arch/x86/memlayout.ld
A src/arch/x86/reset_in_dram_crt0.S
M src/cpu/Kconfig
M src/cpu/x86/32bit/entry32.inc
M src/include/memlayout.h
10 files changed, 142 insertions(+), 2 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/35/35035/9

To view, visit change 35035. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I9c084ff6fdcf7e9154436f038705e8679daea780
Gerrit-Change-Number: 35035
Gerrit-PatchSet: 9
Gerrit-Owner: Kyösti Mälkki <kyosti.malkki@gmail.com>
Gerrit-Reviewer: Aaron Durbin <adurbin@chromium.org>
Gerrit-Reviewer: Arthur Heymans <arthur@aheymans.xyz>
Gerrit-Reviewer: Julius Werner <jwerner@chromium.org>
Gerrit-Reviewer: Justin Frodsham <justin.frodsham@protonmail.com>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki@gmail.com>
Gerrit-Reviewer: Marshall Dawson <marshalldawson3rd@gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth@google.com>
Gerrit-Reviewer: Matt DeVillier <matt.devillier@gmail.com>
Gerrit-Reviewer: Matt Papageorge <matthewpapa07@gmail.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-MessageType: newpatchset