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
acpi_bert_storage.c arch/x86/acpi_bert_storage: unbreak BERT support 2021-06-08 18:23:40 +00:00
acpi_s3.c
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
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
cf9_reset.c
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
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
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
memmove.c
memset.c
mmap_boot.c
mpspec.c arch/x86/mptable: Add smp_write_ioapic_from_hw() 2021-06-12 15:49:35 +00:00
pirq_routing.c
post.c
postcar.c
postcar_loader.c
rdrand.c
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
verstage.c
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