summaryrefslogtreecommitdiff
path: root/util/x86
diff options
context:
space:
mode:
authorZheng Bao <fishbaozi@gmail.com>2021-11-15 19:53:21 +0800
committerFelix Held <felix-coreboot@felixheld.de>2021-12-16 14:35:52 +0000
commit6fff2497b105478fcc2dcabdec49cf0738884717 (patch)
treee0a2148916d868979f27234f90452ca73bb5f8e2 /util/x86
parent8ad94770e2c35c62cbec80514a176ca8bc29c89e (diff)
amdfwtool: Upgrade "relative address" to four address modes
Address Mode 0: Physical Address, bit 63~56: 0x00 Address Mode 1: Relative Address to entire BIOS image, bit 63~56: 0x40 Address Mode 2: Relative Address to PSP/BIOS directory, bit 63~56: 0x80 Address Mode 3: Relative Address to slot N, bit 63~56: 0xC0 It is the expanding mode for simple relative address mode, for which address_mode equals 1. Only mode 2 is added. We need to record current table base address and calculate the offset. The ctx.current_table is zero outside the table. When it goes into the function to integrate the table, it should backup the old value and get current table base. Before it goes out the function, it should restore the value. If the table address mode is 2, the address in each entry should be also add address mode information. If not, the address mode in entry is meanless. The old mode 0,1 should be back compatible. Change-Id: I29a03f4381cd0507e2b2e3b359111e3375a73de1 Signed-off-by: Zheng Bao <fishbaozi@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/59308 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'util/x86')
0 files changed, 0 insertions, 0 deletions