coreboot/src/arch/x86
Arthur Heymans ac24a96579 arch/x86/spinlock.h: Support systems with >128 cores
Each time the spinlock is acquired a byte is decreased and then the
sign of the byte is checked. If there are more than 128 cores the sign
check will overflow. An easy fix is to increase the word size of the
spinlock acquiring and releasing.

TEST: See that serialized SMM relocation is still serialized on
systems with >128 cores.

Change-Id: I76afaa60669335090743d99381280e74aa9fb5b1
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/60539
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2022-01-15 14:48:46 +00:00
..
acpi arch/x86/acpi: Replace Increment() with ASL 2.0 syntax 2022-01-01 14:08:27 +00:00
include arch/x86/spinlock.h: Support systems with >128 cores 2022-01-15 14:48:46 +00:00
acpi.c src: Make HAVE_CF9_RESET set the FADT reset register 2020-07-20 13:23:13 +00:00
acpi_bert_storage.c arch/x86/acpi_bert_storage: unbreak BERT support 2021-06-08 18:23:40 +00:00
acpi_s3.c ACPI: Final APM_CNT_GNVS_UPDATE cleanup 2021-01-04 23:16:03 +00:00
assembly_entry.S arch/x86/assembly_entry: Remove cpu_info 2021-10-18 12:36:57 +00:00
boot.c arch/x86/boot: Add missing include 2021-09-13 14:18:43 +00:00
bootblock.ld arch/x86: Init firmware pointer for EC SMSC KBC1098/KBC1126 at build time 2021-12-21 18:13:45 +00:00
bootblock_normal.c cbfs: Remove prog_locate() for stages and rmodules 2021-03-16 21:45:34 +00:00
c_exit.S arch/x86: Use ENV_X86_64 instead of _x86_64_ 2021-07-06 06:09:13 +00:00
c_start.S arch/x86/c_start.S: Remove duplicated "the" in comments 2021-12-13 23:46:54 +00:00
car.ld memlayout: Store region sizes as separate symbols 2021-02-19 08:39:26 +00:00
cf9_reset.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cpu.c arch/x86: Use ENV_X86_64 instead of _x86_64_ 2021-07-06 06:09:13 +00:00
cpu_common.c arch/x86: Skip returning default leaf value as 0 2021-09-03 19:14:16 +00:00
ebda.c src/arch: Remove unused <console/console.h> 2021-02-15 10:48:12 +00:00
exception.c arch/x86: Use ENV_X86_64 instead of _x86_64_ 2021-07-06 06:09:13 +00:00
exit_car.S src/arch/x86/exit_car: Fix regression on x86_64 2021-12-13 13:52:25 +00:00
gdt_init.S arch/x86: Use ENV_X86_64 instead of _x86_64_ 2021-07-06 06:09:13 +00:00
id.S arch/x86/id.S: Remove unneeded whitespace before tab 2021-02-11 10:22:07 +00:00
idt.S arch/x86: Use ENV_X86_64 instead of _x86_64_ 2021-07-06 06:09:13 +00:00
ioapic.c arch/x86: fix a wrong variable in ioapic_set_max_vectors() 2021-10-23 16:33:58 +00:00
Kconfig arch/x86: Init firmware pointer for EC SMSC KBC1098/KBC1126 at build time 2021-12-21 18:13:45 +00:00
Makefile.inc arch/x86/Makefile: Align VGA_BIOS to 64 bytes when using AMD LPC SPI DMA 2021-11-04 10:35:10 +00:00
memcpy.c arch/x86: Use ENV_X86_64 instead of _x86_64_ 2021-07-06 06:09:13 +00:00
memlayout.ld arch/x86: Top-align .init in bootblock 2021-01-28 08:54:21 +00:00
memmove.c arch/x86: Add support for ASan to memory functions 2020-08-21 07:46:04 +00:00
memset.c arch/x86: Add support for ASan to memory functions 2020-08-21 07:46:04 +00:00
mmap_boot.c coreboot tables: Add SPI flash memory map windows to coreboot tables 2020-12-08 22:56:09 +00:00
mpspec.c arch/x86/mptable: Add smp_write_ioapic_from_hw() 2021-06-12 15:49:35 +00:00
pirq_routing.c src/arch: Drop unneeded empty lines 2020-08-24 09:16:19 +00:00
post.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
postcar.c ach/x86/postcar.c: Avoid double CBMEM initialization 2021-01-21 11:03:04 +00:00
postcar_loader.c cbfs: Remove prog_locate() for stages and rmodules 2021-03-16 21:45:34 +00:00
rdrand.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
smbios.c arch/x86: Refactor the SMBIOS type 17 write function 2021-11-11 09:10:10 +00:00
smbios_defaults.c arch/x86/smbios: Add support for wake-up type in smbios type 1 2021-10-21 20:06:59 +00:00
tables.c arch/x86: Increase MAX_SMBIOS_SIZE 2021-10-19 14:40:09 +00:00
thread.c arch/x86/thread: Add #error when compiling for x86_64 2021-07-29 09:12:24 +00:00
thread_switch.S arch/x86/thread: Add #error when compiling for x86_64 2021-07-29 09:12:24 +00:00
timestamp.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
verstage.c treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
wakeup.S arch/x86: Save resume vector to stack in x86_64 mode 2021-07-07 14:54:56 +00:00
walkcbfs.S arch/x86/walkcbfs.S: Fix the cbfs base addr for some fmap 2021-06-17 10:00:45 +00:00