2019-08-24 22:22:48 +09:00
|
|
|
# SPDX-License-Identifier: GPL-2.0+
|
|
|
|
# Copyright (c) 2016 Google, Inc
|
|
|
|
# Written by Simon Glass <sjg@chromium.org>
|
|
|
|
#
|
|
|
|
# Entry-type module for the 16-bit x86 reset code for U-Boot
|
|
|
|
#
|
|
|
|
|
2020-04-18 09:09:03 +09:00
|
|
|
from binman.entry import Entry
|
|
|
|
from binman.etype.blob import Entry_blob
|
2019-08-24 22:22:48 +09:00
|
|
|
|
|
|
|
class Entry_x86_reset16(Entry_blob):
|
|
|
|
"""x86 16-bit reset code for U-Boot
|
|
|
|
|
|
|
|
Properties / Entry arguments:
|
|
|
|
- filename: Filename of u-boot-x86-reset16.bin (default
|
|
|
|
'u-boot-x86-reset16.bin')
|
|
|
|
|
|
|
|
x86 CPUs start up in 16-bit mode, even if they are 32-bit CPUs. This code
|
|
|
|
must be placed at a particular address. This entry holds that code. It is
|
|
|
|
typically placed at offset CONFIG_RESET_VEC_LOC. The code is responsible
|
|
|
|
for jumping to the x86-start16 code, which continues execution.
|
|
|
|
|
|
|
|
For 64-bit U-Boot, the 'x86_reset16_spl' entry type is used instead.
|
|
|
|
"""
|
|
|
|
def __init__(self, section, etype, node):
|
2020-07-24 21:42:06 +09:00
|
|
|
Entry_blob.__init__(self, section, etype, node)
|
2019-08-24 22:22:48 +09:00
|
|
|
|
|
|
|
def GetDefaultFilename(self):
|
|
|
|
return 'u-boot-x86-reset16.bin'
|