1# SPDX-License-Identifier: GPL-2.0+
2# Copyright (c) 2016 Google, Inc
3# Written by Simon Glass <sjg@chromium.org>
4#
5# Entry-type module for the 16-bit x86 reset code for U-Boot
6#
7
8from binman.entry import Entry
9from binman.etype.blob import Entry_blob
10
11class Entry_x86_reset16_spl(Entry_blob):
12    """x86 16-bit reset code for U-Boot
13
14    Properties / Entry arguments:
15        - filename: Filename of u-boot-x86-reset16.bin (default
16            'u-boot-x86-reset16.bin')
17
18    x86 CPUs start up in 16-bit mode, even if they are 32-bit CPUs. This code
19    must be placed at a particular address. This entry holds that code. It is
20    typically placed at offset CONFIG_RESET_VEC_LOC. The code is responsible
21    for jumping to the x86-start16 code, which continues execution.
22
23    For 32-bit U-Boot, the 'x86_reset_spl' entry type is used instead.
24    """
25    def __init__(self, section, etype, node):
26        super().__init__(section, etype, node)
27
28    def GetDefaultFilename(self):
29        return 'spl/u-boot-x86-reset16-spl.bin'
30