* [PULL 0/8] Firmware/edk2 20230918 patches @ 2023-09-18 13:33 Gerd Hoffmann 2023-09-18 13:33 ` [PULL 1/8] tests/acpi: allow virt/SSDT.memhp updates Gerd Hoffmann ` (8 more replies) 0 siblings, 9 replies; 12+ messages in thread From: Gerd Hoffmann @ 2023-09-18 13:33 UTC (permalink / raw) To: qemu-devel Cc: Michael S. Tsirkin, Gerd Hoffmann, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov The following changes since commit c5ea91da443b458352c1b629b490ee6631775cb4: Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into staging (2023-09-08 10:06:25 -0400) are available in the Git repository at: https://gitlab.com/kraxel/qemu.git tags/firmware/edk2-20230918-pull-request for you to fetch changes up to 0ec0767e59261b7a1f59e904020cf52b45380e54: tests/acpi: disallow virt/SSDT.memhp updates (2023-09-18 15:27:27 +0200) ---------------------------------------------------------------- edk2: update to edk2-stable202308 v2: include acpi test data updates ---------------------------------------------------------------- Gerd Hoffmann (8): tests/acpi: allow virt/SSDT.memhp updates edk2: update build script edk2: update build config edk2: workaround edk-stable202308 bug edk2: update submodule to edk2-stable202308 edk2: update binaries to edk2-stable202308 tests/acpi: update virt/SSDT.memhp tests/acpi: disallow virt/SSDT.memhp updates roms/edk2-build.py | 202 ++++++++++++++++--------- pc-bios/edk2-aarch64-code.fd.bz2 | Bin 1508184 -> 1573561 bytes pc-bios/edk2-arm-code.fd.bz2 | Bin 1483149 -> 1560966 bytes pc-bios/edk2-i386-code.fd.bz2 | Bin 1695318 -> 1770410 bytes pc-bios/edk2-i386-secure-code.fd.bz2 | Bin 1922002 -> 2121818 bytes pc-bios/edk2-riscv-code.fd.bz2 | Bin 0 -> 1177402 bytes pc-bios/edk2-riscv-vars.fd.bz2 | Bin 0 -> 231 bytes pc-bios/edk2-riscv.fd.bz2 | Bin 1096418 -> 0 bytes pc-bios/edk2-x86_64-code.fd.bz2 | Bin 1796544 -> 1887921 bytes pc-bios/edk2-x86_64-microvm.fd.bz2 | Bin 1697788 -> 1782629 bytes pc-bios/edk2-x86_64-secure-code.fd.bz2 | Bin 1999841 -> 2200701 bytes roms/edk2 | 2 +- roms/edk2-build.config | 12 +- tests/data/acpi/virt/SSDT.memhp | Bin 1817 -> 1817 bytes 14 files changed, 139 insertions(+), 77 deletions(-) create mode 100644 pc-bios/edk2-riscv-code.fd.bz2 create mode 100644 pc-bios/edk2-riscv-vars.fd.bz2 delete mode 100644 pc-bios/edk2-riscv.fd.bz2 -- 2.41.0 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PULL 1/8] tests/acpi: allow virt/SSDT.memhp updates 2023-09-18 13:33 [PULL 0/8] Firmware/edk2 20230918 patches Gerd Hoffmann @ 2023-09-18 13:33 ` Gerd Hoffmann 2023-09-18 13:33 ` [PULL 2/8] edk2: update build script Gerd Hoffmann ` (7 subsequent siblings) 8 siblings, 0 replies; 12+ messages in thread From: Gerd Hoffmann @ 2023-09-18 13:33 UTC (permalink / raw) To: qemu-devel Cc: Michael S. Tsirkin, Gerd Hoffmann, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- tests/qtest/bios-tables-test-allowed-diff.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dfb8523c8bf4..e569098abddc 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,2 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/virt/SSDT.memhp", -- 2.41.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PULL 2/8] edk2: update build script 2023-09-18 13:33 [PULL 0/8] Firmware/edk2 20230918 patches Gerd Hoffmann 2023-09-18 13:33 ` [PULL 1/8] tests/acpi: allow virt/SSDT.memhp updates Gerd Hoffmann @ 2023-09-18 13:33 ` Gerd Hoffmann 2023-09-18 13:33 ` [PULL 3/8] edk2: update build config Gerd Hoffmann ` (6 subsequent siblings) 8 siblings, 0 replies; 12+ messages in thread From: Gerd Hoffmann @ 2023-09-18 13:33 UTC (permalink / raw) To: qemu-devel Cc: Michael S. Tsirkin, Gerd Hoffmann, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov Sync with latest version from gitlab.com/kraxel/edk2-build-config Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- roms/edk2-build.py | 202 ++++++++++++++++++++++++++++----------------- 1 file changed, 128 insertions(+), 74 deletions(-) diff --git a/roms/edk2-build.py b/roms/edk2-build.py index 870893f7c8e3..e564765aaa71 100755 --- a/roms/edk2-build.py +++ b/roms/edk2-build.py @@ -6,6 +6,7 @@ """ import os import sys +import time import shutil import argparse import subprocess @@ -45,19 +46,28 @@ def get_coredir(cfg): return os.path.abspath(cfg['global']['core']) return os.getcwd() -def get_version(cfg): +def get_toolchain(cfg, build): + if cfg.has_option(build, 'tool'): + return cfg[build]['tool'] + if cfg.has_option('global', 'tool'): + return cfg['global']['tool'] + return 'GCC5' + +def get_version(cfg, silent = False): coredir = get_coredir(cfg) if version_override: version = version_override - print('') - print(f'### version [override]: {version}') + if not silent: + print('') + print(f'### version [override]: {version}') return version if os.environ.get('RPM_PACKAGE_NAME'): version = os.environ.get('RPM_PACKAGE_NAME') version += '-' + os.environ.get('RPM_PACKAGE_VERSION') version += '-' + os.environ.get('RPM_PACKAGE_RELEASE') - print('') - print(f'### version [rpmbuild]: {version}') + if not silent: + print('') + print(f'### version [rpmbuild]: {version}') return version if os.path.exists(coredir + '/.git'): cmdline = [ 'git', 'describe', '--tags', '--abbrev=8', @@ -66,16 +76,17 @@ def get_version(cfg): stdout = subprocess.PIPE, check = True) version = result.stdout.decode().strip() - print('') - print(f'### version [git]: {version}') + if not silent: + print('') + print(f'### version [git]: {version}') return version return None def pcd_string(name, value): return f'{name}=L{value}\\0' -def pcd_version(cfg): - version = get_version(cfg) +def pcd_version(cfg, silent = False): + version = get_version(cfg, silent) if version is None: return [] return [ '--pcd', pcd_string('PcdFirmwareVersionString', version) ] @@ -85,49 +96,58 @@ def pcd_release_date(): return [] return [ '--pcd', pcd_string('PcdFirmwareReleaseDateString', release_date) ] -def build_message(line, line2 = None): +def build_message(line, line2 = None, silent = False): if os.environ.get('TERM') in [ 'xterm', 'xterm-256color' ]: # setxterm title start = '\x1b]2;' end = '\x07' print(f'{start}{rebase_prefix}{line}{end}', end = '') - print('') - print('###') - print(f'### {rebase_prefix}{line}') - if line2: - print(f'### {line2}') - print('###', flush = True) + if silent: + print(f'### {rebase_prefix}{line}', flush = True) + else: + print('') + print('###') + print(f'### {rebase_prefix}{line}') + if line2: + print(f'### {line2}') + print('###', flush = True) -def build_run(cmdline, name, section, silent = False): - print(cmdline, flush = True) +def build_run(cmdline, name, section, silent = False, nologs = False): if silent: - print('### building in silent mode ...', flush = True) + logfile = f'{section}.log' + if nologs: + print(f'### building in silent mode [no log] ...', flush = True) + else: + print(f'### building in silent mode [{logfile}] ...', flush = True) + start = time.time() result = subprocess.run(cmdline, check = False, stdout = subprocess.PIPE, stderr = subprocess.STDOUT) - - logfile = f'{section}.log' - print(f'### writing log to {logfile} ...') - with open(logfile, 'wb') as f: - f.write(result.stdout) + if not nologs: + with open(logfile, 'wb') as f: + f.write(result.stdout) if result.returncode: print('### BUILD FAILURE') + print('### cmdline') + print(cmdline) print('### output') print(result.stdout.decode()) print(f'### exit code: {result.returncode}') else: - print('### OK') + secs = int(time.time() - start) + print(f'### OK ({int(secs/60)}:{secs%60:02d})') else: + print(cmdline, flush = True) result = subprocess.run(cmdline, check = False) if result.returncode: print(f'ERROR: {cmdline[0]} exited with {result.returncode}' f' while building {name}') sys.exit(result.returncode) -def build_copy(plat, tgt, dstdir, copy): - srcdir = f'Build/{plat}/{tgt}_GCC5' +def build_copy(plat, tgt, toolchain, dstdir, copy): + srcdir = f'Build/{plat}/{tgt}_{toolchain}' names = copy.split() srcfile = names[0] if len(names) > 1: @@ -156,66 +176,68 @@ def pad_file(dstdir, pad): subprocess.run(cmdline, check = True) # pylint: disable=too-many-branches -def build_one(cfg, build, jobs = None, silent = False): +def build_one(cfg, build, jobs = None, silent = False, nologs = False): + b = cfg[build] + cmdline = [ 'build' ] - cmdline += [ '-t', 'GCC5' ] - cmdline += [ '-p', cfg[build]['conf'] ] + cmdline += [ '-t', get_toolchain(cfg, build) ] + cmdline += [ '-p', b['conf'] ] - if (cfg[build]['conf'].startswith('OvmfPkg/') or - cfg[build]['conf'].startswith('ArmVirtPkg/')): - cmdline += pcd_version(cfg) + if (b['conf'].startswith('OvmfPkg/') or + b['conf'].startswith('ArmVirtPkg/')): + cmdline += pcd_version(cfg, silent) cmdline += pcd_release_date() if jobs: cmdline += [ '-n', jobs ] - for arch in cfg[build]['arch'].split(): + for arch in b['arch'].split(): cmdline += [ '-a', arch ] - if 'opts' in cfg[build]: - for name in cfg[build]['opts'].split(): + if 'opts' in b: + for name in b['opts'].split(): section = 'opts.' + name for opt in cfg[section]: cmdline += [ '-D', opt + '=' + cfg[section][opt] ] - if 'pcds' in cfg[build]: - for name in cfg[build]['pcds'].split(): + if 'pcds' in b: + for name in b['pcds'].split(): section = 'pcds.' + name for pcd in cfg[section]: cmdline += [ '--pcd', pcd + '=' + cfg[section][pcd] ] - if 'tgts' in cfg[build]: - tgts = cfg[build]['tgts'].split() + if 'tgts' in b: + tgts = b['tgts'].split() else: tgts = [ 'DEBUG' ] for tgt in tgts: desc = None - if 'desc' in cfg[build]: - desc = cfg[build]['desc'] - build_message(f'building: {cfg[build]["conf"]} ({cfg[build]["arch"]}, {tgt})', - f'description: {desc}') + if 'desc' in b: + desc = b['desc'] + build_message(f'building: {b["conf"]} ({b["arch"]}, {tgt})', + f'description: {desc}', + silent = silent) build_run(cmdline + [ '-b', tgt ], - cfg[build]['conf'], + b['conf'], build + '.' + tgt, - silent) + silent, + nologs) - if 'plat' in cfg[build]: + if 'plat' in b: # copy files - for cpy in cfg[build]: + for cpy in b: if not cpy.startswith('cpy'): continue - build_copy(cfg[build]['plat'], - tgt, - cfg[build]['dest'], - cfg[build][cpy]) + build_copy(b['plat'], tgt, + get_toolchain(cfg, build), + b['dest'], b[cpy]) # pad builds - for pad in cfg[build]: + for pad in b: if not pad.startswith('pad'): continue - pad_file(cfg[build]['dest'], - cfg[build][pad]) + pad_file(b['dest'], b[pad]) -def build_basetools(silent = False): - build_message('building: BaseTools') +def build_basetools(silent = False, nologs = False): + build_message('building: BaseTools', silent = silent) basedir = os.environ['EDK_TOOLS_PATH'] cmdline = [ 'make', '-C', basedir ] - build_run(cmdline, 'BaseTools', 'build.basetools', silent) + build_run(cmdline, 'BaseTools', 'build.basetools', silent, nologs) def binary_exists(name): for pdir in os.environ['PATH'].split(':'): @@ -223,7 +245,7 @@ def binary_exists(name): return True return False -def prepare_env(cfg): +def prepare_env(cfg, silent = False): """ mimic Conf/BuildEnv.sh """ workspace = os.getcwd() packages = [ workspace, ] @@ -253,7 +275,7 @@ def prepare_env(cfg): toolsdef = coredir + '/Conf/tools_def.txt' if not os.path.exists(toolsdef): os.makedirs(os.path.dirname(toolsdef), exist_ok = True) - build_message('running BaseTools/BuildEnv') + build_message('running BaseTools/BuildEnv', silent = silent) cmdline = [ 'bash', 'BaseTools/BuildEnv' ] subprocess.run(cmdline, cwd = coredir, check = True) @@ -267,20 +289,32 @@ def prepare_env(cfg): os.environ['PYTHONHASHSEED'] = '1' # for cross builds - if binary_exists('arm-linux-gnu-gcc'): + if binary_exists('arm-linux-gnueabi-gcc'): + # ubuntu + os.environ['GCC5_ARM_PREFIX'] = 'arm-linux-gnueabi-' + os.environ['GCC_ARM_PREFIX'] = 'arm-linux-gnueabi-' + elif binary_exists('arm-linux-gnu-gcc'): + # fedora os.environ['GCC5_ARM_PREFIX'] = 'arm-linux-gnu-' + os.environ['GCC_ARM_PREFIX'] = 'arm-linux-gnu-' if binary_exists('loongarch64-linux-gnu-gcc'): os.environ['GCC5_LOONGARCH64_PREFIX'] = 'loongarch64-linux-gnu-' + os.environ['GCC_LOONGARCH64_PREFIX'] = 'loongarch64-linux-gnu-' hostarch = os.uname().machine if binary_exists('aarch64-linux-gnu-gcc') and hostarch != 'aarch64': os.environ['GCC5_AARCH64_PREFIX'] = 'aarch64-linux-gnu-' + os.environ['GCC_AARCH64_PREFIX'] = 'aarch64-linux-gnu-' if binary_exists('riscv64-linux-gnu-gcc') and hostarch != 'riscv64': os.environ['GCC5_RISCV64_PREFIX'] = 'riscv64-linux-gnu-' + os.environ['GCC_RISCV64_PREFIX'] = 'riscv64-linux-gnu-' if binary_exists('x86_64-linux-gnu-gcc') and hostarch != 'x86_64': os.environ['GCC5_IA32_PREFIX'] = 'x86_64-linux-gnu-' os.environ['GCC5_X64_PREFIX'] = 'x86_64-linux-gnu-' os.environ['GCC5_BIN'] = 'x86_64-linux-gnu-' + os.environ['GCC_IA32_PREFIX'] = 'x86_64-linux-gnu-' + os.environ['GCC_X64_PREFIX'] = 'x86_64-linux-gnu-' + os.environ['GCC_BIN'] = 'x86_64-linux-gnu-' def build_list(cfg): for build in cfg.sections(): @@ -303,10 +337,12 @@ def main(): parser.add_argument('-j', '--jobs', dest = 'jobs', type = str, help = 'allow up to JOBS parallel build jobs', metavar = 'JOBS') - parser.add_argument('-m', '--match', dest = 'match', type = str, + parser.add_argument('-m', '--match', dest = 'match', + type = str, action = 'append', help = 'only run builds matching INCLUDE (substring)', metavar = 'INCLUDE') - parser.add_argument('-x', '--exclude', dest = 'exclude', type = str, + parser.add_argument('-x', '--exclude', dest = 'exclude', + type = str, action = 'append', help = 'skip builds matching EXCLUDE (substring)', metavar = 'EXCLUDE') parser.add_argument('-l', '--list', dest = 'list', @@ -316,6 +352,9 @@ def main(): action = 'store_true', default = False, help = 'write build output to logfiles, ' 'write to console only on errors') + parser.add_argument('--no-logs', dest = 'nologs', + action = 'store_true', default = False, + help = 'do not write build log files (with --silent)') parser.add_argument('--core', dest = 'core', type = str, metavar = 'DIR', help = 'location of the core edk2 repository ' '(i.e. where BuildTools are located)') @@ -323,6 +362,9 @@ def main(): type = str, action = 'append', metavar = 'DIR', help = 'location(s) of additional packages ' '(can be specified multiple times)') + parser.add_argument('-t', '--toolchain', dest = 'toolchain', + type = str, metavar = 'NAME', + help = 'tool chain to be used to build edk2') parser.add_argument('--version-override', dest = 'version_override', type = str, metavar = 'VERSION', help = 'set firmware build version') @@ -335,7 +377,7 @@ def main(): os.chdir(options.directory) if not os.path.exists(options.configfile): - print('config file "{options.configfile}" not found') + print(f'config file "{options.configfile}" not found') return 1 cfg = configparser.ConfigParser() @@ -344,7 +386,7 @@ def main(): if options.list: build_list(cfg) - return + return 0 if not cfg.has_section('global'): cfg.add_section('global') @@ -352,6 +394,8 @@ def main(): cfg.set('global', 'core', options.core) if options.pkgs: cfg.set('global', 'pkgs', ' '.join(options.pkgs)) + if options.toolchain: + cfg.set('global', 'tool', options.toolchain) global version_override global release_date @@ -361,18 +405,28 @@ def main(): if options.release_date: release_date = options.release_date - prepare_env(cfg) - build_basetools(options.silent) + prepare_env(cfg, options.silent) + build_basetools(options.silent, options.nologs) for build in cfg.sections(): if not build.startswith('build.'): continue - if options.match and options.match not in build: - print(f'# skipping "{build}" (not matching "{options.match}")') - continue - if options.exclude and options.exclude in build: - print(f'# skipping "{build}" (matching "{options.exclude}")') - continue - build_one(cfg, build, options.jobs, options.silent) + if options.match: + matching = False + for item in options.match: + if item in build: + matching = True + if not matching: + print(f'# skipping "{build}" (not matching "{"|".join(options.match)}")') + continue + if options.exclude: + exclude = False + for item in options.exclude: + if item in build: + print(f'# skipping "{build}" (matching "{item}")') + exclude = True + if exclude: + continue + build_one(cfg, build, options.jobs, options.silent, options.nologs) return 0 -- 2.41.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PULL 3/8] edk2: update build config 2023-09-18 13:33 [PULL 0/8] Firmware/edk2 20230918 patches Gerd Hoffmann 2023-09-18 13:33 ` [PULL 1/8] tests/acpi: allow virt/SSDT.memhp updates Gerd Hoffmann 2023-09-18 13:33 ` [PULL 2/8] edk2: update build script Gerd Hoffmann @ 2023-09-18 13:33 ` Gerd Hoffmann 2023-09-18 13:33 ` [PULL 4/8] edk2: workaround edk-stable202308 bug Gerd Hoffmann ` (5 subsequent siblings) 8 siblings, 0 replies; 12+ messages in thread From: Gerd Hoffmann @ 2023-09-18 13:33 UTC (permalink / raw) To: qemu-devel Cc: Michael S. Tsirkin, Gerd Hoffmann, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov risc-v switched to use split code/vars images like the other archs. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- roms/edk2-build.config | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/roms/edk2-build.config b/roms/edk2-build.config index 66ef9ffcb91f..ffe0d12d0cb7 100644 --- a/roms/edk2-build.config +++ b/roms/edk2-build.config @@ -120,5 +120,7 @@ conf = OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc arch = RISCV64 plat = RiscVVirtQemu dest = ../pc-bios -cpy1 = FV/RISCV_VIRT.fd edk2-riscv.fd -pad1 = edk2-riscv.fd 32m +cpy1 = FV/RISCV_VIRT_CODE.fd edk2-riscv-code.fd +cpy2 = FV/RISCV_VIRT_VARS.fd edk2-riscv-vars.fd +pad1 = edk2-riscv-code.fd 32m +pad2 = edk2-riscv-vars.fd 32m -- 2.41.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PULL 4/8] edk2: workaround edk-stable202308 bug 2023-09-18 13:33 [PULL 0/8] Firmware/edk2 20230918 patches Gerd Hoffmann ` (2 preceding siblings ...) 2023-09-18 13:33 ` [PULL 3/8] edk2: update build config Gerd Hoffmann @ 2023-09-18 13:33 ` Gerd Hoffmann 2023-09-18 13:33 ` [PULL 5/8] edk2: update submodule to edk2-stable202308 Gerd Hoffmann ` (4 subsequent siblings) 8 siblings, 0 replies; 12+ messages in thread From: Gerd Hoffmann @ 2023-09-18 13:33 UTC (permalink / raw) To: qemu-devel Cc: Michael S. Tsirkin, Gerd Hoffmann, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov Set PCD to workaround two fixes missing the release. https://github.com/tianocore/edk2/commit/8b66f9df1bb0fd5ebb743944d41cb33178cf2fdd https://github.com/tianocore/edk2/commit/020cc9e2e7053bb62247b0babbbe80cb855592e5 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- roms/edk2-build.config | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/roms/edk2-build.config b/roms/edk2-build.config index ffe0d12d0cb7..bab6a9caebfa 100644 --- a/roms/edk2-build.config +++ b/roms/edk2-build.config @@ -26,6 +26,9 @@ DEBUG_PRINT_ERROR_LEVEL = 0x80000000 # grub.efi uses EfiLoaderData for code PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD1 +[pcds.workaround.202308] +PcdFirstTimeWakeUpAPsBySipi = FALSE + #################################################################################### # i386 @@ -57,6 +60,7 @@ desc = ovmf build (64-bit) conf = OvmfPkg/OvmfPkgX64.dsc arch = X64 opts = common +pcds = workaround.202308 plat = OvmfX64 dest = ../pc-bios cpy1 = FV/OVMF_CODE.fd edk2-x86_64-code.fd @@ -67,6 +71,7 @@ conf = OvmfPkg/OvmfPkgIa32X64.dsc arch = IA32 X64 opts = common ovmf.sb.smm +pcds = workaround.202308 plat = Ovmf3264 dest = ../pc-bios cpy1 = FV/OVMF_CODE.fd edk2-x86_64-secure-code.fd @@ -76,6 +81,7 @@ desc = ovmf build for microvm conf = OvmfPkg/Microvm/MicrovmX64.dsc arch = X64 opts = common +pcds = workaround.202308 plat = MicrovmX64 dest = ../pc-bios cpy1 = FV/MICROVM.fd edk2-x86_64-microvm.fd -- 2.41.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PULL 5/8] edk2: update submodule to edk2-stable202308 2023-09-18 13:33 [PULL 0/8] Firmware/edk2 20230918 patches Gerd Hoffmann ` (3 preceding siblings ...) 2023-09-18 13:33 ` [PULL 4/8] edk2: workaround edk-stable202308 bug Gerd Hoffmann @ 2023-09-18 13:33 ` Gerd Hoffmann 2023-09-18 13:33 ` [PULL 7/8] tests/acpi: update virt/SSDT.memhp Gerd Hoffmann ` (3 subsequent siblings) 8 siblings, 0 replies; 12+ messages in thread From: Gerd Hoffmann @ 2023-09-18 13:33 UTC (permalink / raw) To: qemu-devel Cc: Michael S. Tsirkin, Gerd Hoffmann, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov New stable release was tagged in August 2023, update the edk2 submodule to it. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- roms/edk2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roms/edk2 b/roms/edk2 index f80f052277c8..819cfc6b42a6 160000 --- a/roms/edk2 +++ b/roms/edk2 @@ -1 +1 @@ -Subproject commit f80f052277c88a67c55e107b550f504eeea947d3 +Subproject commit 819cfc6b42a68790a23509e4fcc58ceb70e1965e -- 2.41.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PULL 7/8] tests/acpi: update virt/SSDT.memhp 2023-09-18 13:33 [PULL 0/8] Firmware/edk2 20230918 patches Gerd Hoffmann ` (4 preceding siblings ...) 2023-09-18 13:33 ` [PULL 5/8] edk2: update submodule to edk2-stable202308 Gerd Hoffmann @ 2023-09-18 13:33 ` Gerd Hoffmann 2023-09-18 13:33 ` [PULL 8/8] tests/acpi: disallow virt/SSDT.memhp updates Gerd Hoffmann ` (2 subsequent siblings) 8 siblings, 0 replies; 12+ messages in thread From: Gerd Hoffmann @ 2023-09-18 13:33 UTC (permalink / raw) To: qemu-devel Cc: Michael S. Tsirkin, Gerd Hoffmann, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov The edk2 update caused an address change: DefinitionBlock ("", "SSDT", 1, "BOCHS ", "NVDIMM", 0x00000001) { Scope (\_SB) { Device (NVDR) { Name (_HID, "ACPI0012" /* NVDIMM Root Device */) // _HID: Hardware ID [ ... ] } } - Name (MEMA, 0x43D10000) + Name (MEMA, 0x43C90000) } Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- tests/data/acpi/virt/SSDT.memhp | Bin 1817 -> 1817 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/data/acpi/virt/SSDT.memhp b/tests/data/acpi/virt/SSDT.memhp index ef93c44464f1fe38f7e5babd5d67f345cc6363a6..31ff6ac46940a3e304a2d68efabe12bab50be0d7 100644 GIT binary patch delta 22 dcmbQqH<OPmIM^jblAVEpaqUJfUUsIF&Hz2I1wsG- delta 22 dcmbQqH<OPmIM^jblAVEpap^`bUUsI7&Hz1t1wsG- -- 2.41.0 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PULL 8/8] tests/acpi: disallow virt/SSDT.memhp updates 2023-09-18 13:33 [PULL 0/8] Firmware/edk2 20230918 patches Gerd Hoffmann ` (5 preceding siblings ...) 2023-09-18 13:33 ` [PULL 7/8] tests/acpi: update virt/SSDT.memhp Gerd Hoffmann @ 2023-09-18 13:33 ` Gerd Hoffmann 2023-09-19 19:13 ` [PULL 0/8] Firmware/edk2 20230918 patches Stefan Hajnoczi 2023-11-11 17:19 ` Akihiko Odaki 8 siblings, 0 replies; 12+ messages in thread From: Gerd Hoffmann @ 2023-09-18 13:33 UTC (permalink / raw) To: qemu-devel Cc: Michael S. Tsirkin, Gerd Hoffmann, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- tests/qtest/bios-tables-test-allowed-diff.h | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index e569098abddc..dfb8523c8bf4 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,2 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/virt/SSDT.memhp", -- 2.41.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PULL 0/8] Firmware/edk2 20230918 patches 2023-09-18 13:33 [PULL 0/8] Firmware/edk2 20230918 patches Gerd Hoffmann ` (6 preceding siblings ...) 2023-09-18 13:33 ` [PULL 8/8] tests/acpi: disallow virt/SSDT.memhp updates Gerd Hoffmann @ 2023-09-19 19:13 ` Stefan Hajnoczi 2023-11-11 17:19 ` Akihiko Odaki 8 siblings, 0 replies; 12+ messages in thread From: Stefan Hajnoczi @ 2023-09-19 19:13 UTC (permalink / raw) To: Gerd Hoffmann Cc: qemu-devel, Michael S. Tsirkin, Gerd Hoffmann, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov [-- Attachment #1: Type: text/plain, Size: 115 bytes --] Applied, thanks. Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PULL 0/8] Firmware/edk2 20230918 patches 2023-09-18 13:33 [PULL 0/8] Firmware/edk2 20230918 patches Gerd Hoffmann ` (7 preceding siblings ...) 2023-09-19 19:13 ` [PULL 0/8] Firmware/edk2 20230918 patches Stefan Hajnoczi @ 2023-11-11 17:19 ` Akihiko Odaki 2023-11-13 11:09 ` Gerd Hoffmann 8 siblings, 1 reply; 12+ messages in thread From: Akihiko Odaki @ 2023-11-11 17:19 UTC (permalink / raw) To: Gerd Hoffmann, qemu-devel Cc: Michael S. Tsirkin, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov On 2023/09/18 22:33, Gerd Hoffmann wrote: > The following changes since commit c5ea91da443b458352c1b629b490ee6631775cb4: > > Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into staging (2023-09-08 10:06:25 -0400) > > are available in the Git repository at: > > https://gitlab.com/kraxel/qemu.git tags/firmware/edk2-20230918-pull-request > > for you to fetch changes up to 0ec0767e59261b7a1f59e904020cf52b45380e54: > > tests/acpi: disallow virt/SSDT.memhp updates (2023-09-18 15:27:27 +0200) > > ---------------------------------------------------------------- > edk2: update to edk2-stable202308 > > v2: include acpi test data updates > > ---------------------------------------------------------------- > > Gerd Hoffmann (8): > tests/acpi: allow virt/SSDT.memhp updates > edk2: update build script > edk2: update build config > edk2: workaround edk-stable202308 bug > edk2: update submodule to edk2-stable202308 > edk2: update binaries to edk2-stable202308 > tests/acpi: update virt/SSDT.memhp > tests/acpi: disallow virt/SSDT.memhp updates > > roms/edk2-build.py | 202 ++++++++++++++++--------- > pc-bios/edk2-aarch64-code.fd.bz2 | Bin 1508184 -> 1573561 bytes > pc-bios/edk2-arm-code.fd.bz2 | Bin 1483149 -> 1560966 bytes > pc-bios/edk2-i386-code.fd.bz2 | Bin 1695318 -> 1770410 bytes > pc-bios/edk2-i386-secure-code.fd.bz2 | Bin 1922002 -> 2121818 bytes > pc-bios/edk2-riscv-code.fd.bz2 | Bin 0 -> 1177402 bytes > pc-bios/edk2-riscv-vars.fd.bz2 | Bin 0 -> 231 bytes > pc-bios/edk2-riscv.fd.bz2 | Bin 1096418 -> 0 bytes > pc-bios/edk2-x86_64-code.fd.bz2 | Bin 1796544 -> 1887921 bytes > pc-bios/edk2-x86_64-microvm.fd.bz2 | Bin 1697788 -> 1782629 bytes > pc-bios/edk2-x86_64-secure-code.fd.bz2 | Bin 1999841 -> 2200701 bytes > roms/edk2 | 2 +- > roms/edk2-build.config | 12 +- > tests/data/acpi/virt/SSDT.memhp | Bin 1817 -> 1817 bytes > 14 files changed, 139 insertions(+), 77 deletions(-) > create mode 100644 pc-bios/edk2-riscv-code.fd.bz2 > create mode 100644 pc-bios/edk2-riscv-vars.fd.bz2 > delete mode 100644 pc-bios/edk2-riscv.fd.bz2 > Hi, This apparently broke EDK2 for AArch64. I tried the following command: build/qemu-system-aarch64 -drive file=build/pc-bios/edk2-aarch64-code.fd,format=raw,if=pflash,readonly=on -M virt -cpu max -nographic -cdrom Fedora-Silverblue-ostree-aarch64-37-1.7.iso Below is the output: BdsDxe: loading Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0) BdsDxe: starting Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0) Synchronous Exception at 0x0000000043695920 PC 0x000043695920 PC 0x000043697EE4 PC 0x00004369A514 PC 0x00004369B030 PC 0x000043C04288 PC 0x000043C04338 PC 0x000043C051B4 PC 0x000043C02030 PC 0x000047685788 (0x00004767E000+0x00007788) [ 1] DxeCore.dll PC 0x00004732AECC (0x000047324000+0x00006ECC) [ 2] BdsDxe.dll PC 0x00004732DFD4 (0x000047324000+0x00009FD4) [ 2] BdsDxe.dll PC 0x00004768900C (0x00004767E000+0x0000B00C) [ 3] DxeCore.dll [ 1] /home/kraxel/projects/qemu/roms/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll [ 2] /home/kraxel/projects/qemu/roms/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/AARCH64/MdeModulePkg/Universal/BdsDxe/BdsDxe/DEBUG/BdsDxe.dll [ 3] /home/kraxel/projects/qemu/roms/Build/ArmVirtQemu-AARCH64/DEBUG_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll X0 0x0000000043679960 X1 0x0000000000000000 X2 0x000000000000000D X3 0x00000000436A2F70 X4 0x0000000043679920 X5 0x000000004366B000 X6 0x0000000043677000 X7 0x00000000436A20D0 X8 0x00000000436A20C8 X9 0x00000000436A20D0 X10 0x00000000436A20E0 X11 0x00000000436A20D0 X12 0x0000000043679FFF X13 0x0000000000000008 X14 0x0000000000000000 X15 0x0000000000000000 X16 0x00000000473962BC X17 0x00000000E6D79577 X18 0x0000000000000011 X19 0x0000000043C83000 X20 0x0000000000000000 X21 0x0000000046310C98 X22 0x0000000043C972F0 X23 0x0000000000000000 X24 0x0000000043C97000 X25 0x0000000043C973B8 X26 0x0000000043C973C0 X27 0x0000000043C973C8 X28 0x0000000043C973D0 FP 0x000000004767D6A0 LR 0x0000000043697EE4 V0 0xAFAFAFAFAFAFAFAF AFAFAFAFAFAFAFAF V1 0x0000000000000004 0000000000000000 V2 0x554E65213A544C55 41464544464F544E V3 0x0000000000000000 0010000000000000 V4 0x0000000040000000 0000000000000000 V5 0x4010040140100401 4010040140100401 V6 0x0040000000001000 0040000000001000 V7 0x0000000000000000 0000000000000000 V8 0x0000000000000000 0000000000000000 V9 0x0000000000000000 0000000000000000 V10 0x0000000000000000 0000000000000000 V11 0x0000000000000000 0000000000000000 V12 0x0000000000000000 0000000000000000 V13 0x0000000000000000 0000000000000000 V14 0x0000000000000000 0000000000000000 V15 0x0000000000000000 0000000000000000 V16 0x0000000000000000 0000000000000000 V17 0x0000000000000000 0000000000000000 V18 0x0000000000000000 0000000000000000 V19 0x0000000000000000 0000000000000000 V20 0x0000000000000000 0000000000000000 V21 0x0000000000000000 0000000000000000 V22 0x0000000000000000 0000000000000000 V23 0x0000000000000000 0000000000000000 V24 0x0000000000000000 0000000000000000 V25 0x0000000000000000 0000000000000000 V26 0x0000000000000000 0000000000000000 V27 0x0000000000000000 0000000000000000 V28 0x0000000000000000 0000000000000000 V29 0x0000000000000000 0000000000000000 V30 0x0000000000000000 0000000000000000 V31 0x0000000000000000 0000000000000000 SP 0x000000004767D6A0 ELR 0x0000000043695920 SPSR 0x60000205 FPSR 0x00000000 ESR 0x9600004F FAR 0x00000000436799D0 ESR : EC 0x25 IL 0x1 ISS 0x0000004F Data abort: Permission fault, third level Stack dump: 000004767D5A0: 0000000000000000 00000000AFAFAFAF 000000004767D6C0 0000000043697EDC 000004767D5C0: 41464544464F544E 554E65213A544C55 0010000000000000 0000000000000000 000004767D5E0: 00000000436A2F70 00000000436A2F68 0000036040100401 00000000436A2B28 000004767D600: 0040000000001000 0040000000001000 0000000000000000 0000000000000000 000004767D620: AFAFAFAFAFAFAFAF AFAFAFAFAFAFAFAF 0000000000000000 0000000000000004 000004767D640: 41464544464F544E 554E65213A544C55 0010000000000000 0000000000000000 000004767D660: 0000000000000000 0000000040000000 4010040140100401 4010040140100401 000004767D680: 0040000000001000 0040000000001000 0000000000000000 0000000000000000 > 000004767D6A0: 000000004767D6C0 0000000043697EE4 0000000043677000 0000000043679960 000004767D6C0: 000000004767D6F0 000000004369A514 000000000000FC18 00000000436B2020 000004767D6E0: 000000F700000000 0000000043679960 000000004767D710 000000004369B030 000004767D700: 00000000476830E0 00000000436B2018 000000004767D720 0000000043C04288 000004767D720: 000000004767D780 0000000043C04338 0000000000000000 0000000043C6D000 000004767D740: 0000000043C83000 0000000046310C98 002A5DF04767D780 0000000043685000 000004767D760: 0000000043684000 00000000000002A6 00000000441A1C18 000000004392A018 000004767D780: 000000004767D7E0 0000000043C051B4 0000000000000000 0000000043C02428 Synchronous Exception at 0x0000000043695920 ASSERT [ArmCpuDxe] /home/kraxel/projects/qemu/roms/edk2/ArmPkg/Library/DefaultExceptionHandlerLib/AArch64/DefaultExceptionHandler.c(343): ((BOOLEAN)(0==1)) ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PULL 0/8] Firmware/edk2 20230918 patches 2023-11-11 17:19 ` Akihiko Odaki @ 2023-11-13 11:09 ` Gerd Hoffmann 2023-11-17 16:00 ` Akihiko Odaki 0 siblings, 1 reply; 12+ messages in thread From: Gerd Hoffmann @ 2023-11-13 11:09 UTC (permalink / raw) To: Akihiko Odaki Cc: qemu-devel, Michael S. Tsirkin, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov > Hi, > > This apparently broke EDK2 for AArch64. I tried the following command: > build/qemu-system-aarch64 -drive > file=build/pc-bios/edk2-aarch64-code.fd,format=raw,if=pflash,readonly=on -M > virt -cpu max -nographic -cdrom Fedora-Silverblue-ostree-aarch64-37-1.7.iso https://bugzilla.redhat.com/show_bug.cgi?id=2113005 tl:dr: shim is broken, and recent edk2 starting to expose EFI_MEMORY_ATTRIBUTE_PROTOCOL makes the bug visible (without the protocol the buggy code path is never taken). take care, Gerd ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PULL 0/8] Firmware/edk2 20230918 patches 2023-11-13 11:09 ` Gerd Hoffmann @ 2023-11-17 16:00 ` Akihiko Odaki 0 siblings, 0 replies; 12+ messages in thread From: Akihiko Odaki @ 2023-11-17 16:00 UTC (permalink / raw) To: Gerd Hoffmann Cc: qemu-devel, Michael S. Tsirkin, Philippe Mathieu-Daudé, Ani Sinha, Igor Mammedov On 2023/11/13 20:09, Gerd Hoffmann wrote: >> Hi, >> >> This apparently broke EDK2 for AArch64. I tried the following command: >> build/qemu-system-aarch64 -drive >> file=build/pc-bios/edk2-aarch64-code.fd,format=raw,if=pflash,readonly=on -M >> virt -cpu max -nographic -cdrom Fedora-Silverblue-ostree-aarch64-37-1.7.iso > > https://bugzilla.redhat.com/show_bug.cgi?id=2113005 > > tl:dr: shim is broken, and recent edk2 starting to expose > EFI_MEMORY_ATTRIBUTE_PROTOCOL makes the bug visible (without > the protocol the buggy code path is never taken). > > take care, > Gerd > That's unfortunate. Thanks for the info. Regards, Akihiko Odaki ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-11-17 16:01 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-09-18 13:33 [PULL 0/8] Firmware/edk2 20230918 patches Gerd Hoffmann 2023-09-18 13:33 ` [PULL 1/8] tests/acpi: allow virt/SSDT.memhp updates Gerd Hoffmann 2023-09-18 13:33 ` [PULL 2/8] edk2: update build script Gerd Hoffmann 2023-09-18 13:33 ` [PULL 3/8] edk2: update build config Gerd Hoffmann 2023-09-18 13:33 ` [PULL 4/8] edk2: workaround edk-stable202308 bug Gerd Hoffmann 2023-09-18 13:33 ` [PULL 5/8] edk2: update submodule to edk2-stable202308 Gerd Hoffmann 2023-09-18 13:33 ` [PULL 7/8] tests/acpi: update virt/SSDT.memhp Gerd Hoffmann 2023-09-18 13:33 ` [PULL 8/8] tests/acpi: disallow virt/SSDT.memhp updates Gerd Hoffmann 2023-09-19 19:13 ` [PULL 0/8] Firmware/edk2 20230918 patches Stefan Hajnoczi 2023-11-11 17:19 ` Akihiko Odaki 2023-11-13 11:09 ` Gerd Hoffmann 2023-11-17 16:00 ` Akihiko Odaki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).