mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-19 19:23:21 +09:00
5e239183f6
At present these two sections of code are linked together into a single 2KB chunk in a single file. Some Intel SoCs like to have a FIT (Firmware Interface Table) in the ROM and the pointer for this needs to go at 0xffffffc0 which is in the middle of these two sections. Make use of the new 'reset' entry and change the existing 16-bit entry to include just the 16-bit data. Signed-off-by: Simon Glass <sjg@chromium.org>
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
# SPDX-License-Identifier: GPL-2.0+
|
|
# Copyright (c) 2018 Google, Inc
|
|
# Written by Simon Glass <sjg@chromium.org>
|
|
#
|
|
# Entry-type module for the 16-bit x86 start-up code for U-Boot TPL
|
|
#
|
|
|
|
from entry import Entry
|
|
from blob import Entry_blob
|
|
|
|
class Entry_x86_start16_tpl(Entry_blob):
|
|
"""x86 16-bit start-up code for TPL
|
|
|
|
Properties / Entry arguments:
|
|
- filename: Filename of tpl/u-boot-x86-start16-tpl.bin (default
|
|
'tpl/u-boot-x86-start16-tpl.bin')
|
|
|
|
x86 CPUs start up in 16-bit mode, even if they are 32-bit CPUs. This code
|
|
must be placed in the top 64KB of the ROM. The reset code jumps to it. This
|
|
entry holds that code. It is typically placed at offset
|
|
CONFIG_SYS_X86_START16. The code is responsible for changing to 32-bit mode
|
|
and jumping to U-Boot's entry point, which requires 32-bit mode (for 32-bit
|
|
U-Boot).
|
|
|
|
If TPL is not being used, the 'x86-start16-spl or 'x86-start16' entry types
|
|
may be used instead.
|
|
"""
|
|
def __init__(self, section, etype, node):
|
|
Entry_blob.__init__(self, section, etype, node)
|
|
|
|
def GetDefaultFilename(self):
|
|
return 'tpl/u-boot-x86-start16-tpl.bin'
|