Commit cd670599 authored by H. Peter Anvin's avatar H. Peter Anvin

x86, setup: guard against pre-ACPI 3 e820 code not updating %ecx

Impact: BIOS bug safety

For pre-ACPI 3 BIOSes, pre-initialize the end of the e820 buffer just
in case the BIOS returns an unchanged %ecx but without actually
touching the ACPI 3 extended flags field.
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent c549e71d
...@@ -31,6 +31,12 @@ static int detect_memory_e820(void) ...@@ -31,6 +31,12 @@ static int detect_memory_e820(void)
struct e820entry *desc = boot_params.e820_map; struct e820entry *desc = boot_params.e820_map;
static struct e820_ext_entry buf; /* static so it is zeroed */ static struct e820_ext_entry buf; /* static so it is zeroed */
/*
* Set this here so that if the BIOS doesn't change this field
* but still doesn't change %ecx, we're still okay...
*/
buf.ext_flags = 1;
do { do {
size = sizeof buf; size = sizeof buf;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment