Issue #513 has been reported by Bill XIE.
---------------------------------------- Bug #513: clear_memory() triggers null dereference exception when running coreboot in long (64-bit) mode https://ticket.coreboot.org/issues/513
* Author: Bill XIE * Status: New * Priority: Low * Category: coreboot common code * Target version: master * Start date: 2023-11-17 * Affected versions: master * Affected hardware: X200 ---------------------------------------- Enabling CONFIG_USE_EXP_X86_64_SUPPORT and CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT in the mean time on my X200 triggers null dereference exception. Register dump in attached log suggests that clearing DRAM 0000000100000000-0000000180000000 triggers the exception, and the used memset() implementation in src/arch/x86/memset.c seems unable to handle such usage when built against X86_64.
---Files-------------------------------- clrmem-amd64-nulderef.log (5.21 KB)
Issue #513 has been updated by Patrick Rudolph.
That's because the default page tables do not cover anything above 4GiB and the PAE mechanism used on x86_32 isn't used on x86_64.
---------------------------------------- Bug #513: clear_memory() triggers null dereference exception when running coreboot in long (64-bit) mode https://ticket.coreboot.org/issues/513#change-1706
* Author: Bill XIE * Status: New * Priority: Low * Category: coreboot common code * Target version: master * Start date: 2023-11-17 * Affected versions: master * Affected hardware: X200 ---------------------------------------- Enabling CONFIG_USE_EXP_X86_64_SUPPORT and CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT in the mean time on my X200 triggers null dereference exception. Register dump in attached log suggests that clearing DRAM 0000000100000000-0000000180000000 triggers the exception, and the used memset() implementation in src/arch/x86/memset.c seems unable to handle such usage when built against X86_64.
---Files-------------------------------- clrmem-amd64-nulderef.log (5.21 KB)