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 start-up code for U-Boot 6# 7 8from binman.entry import Entry 9from binman.etype.blob import Entry_blob 10 11class Entry_x86_start16(Entry_blob): 12 """x86 16-bit start-up code for U-Boot 13 14 Properties / Entry arguments: 15 - filename: Filename of u-boot-x86-start16.bin (default 16 'u-boot-x86-start16.bin') 17 18 x86 CPUs start up in 16-bit mode, even if they are 32-bit CPUs. This code 19 must be placed in the top 64KB of the ROM. The reset code jumps to it. This 20 entry holds that code. It is typically placed at offset 21 CONFIG_SYS_X86_START16. The code is responsible for changing to 32-bit mode 22 and jumping to U-Boot's entry point, which requires 32-bit mode (for 32-bit 23 U-Boot). 24 25 For 64-bit U-Boot, the 'x86_start16_spl' entry type is used instead. 26 """ 27 def __init__(self, section, etype, node): 28 super().__init__(section, etype, node) 29 30 def GetDefaultFilename(self): 31 return 'u-boot-x86-start16.bin' 32