Contributed by Peter N. M. Hansteen on from the strengthen your core muscles dept.
mlarkin@) set the stage for, and next up, bumped the maximum number of processors supported on OpenBSD/amd64 from 64 to 255.
The first commit message reads,
List: openbsd-cvs Subject: CVS: cvs.openbsd.org: src From: Mike Larkin <mlarkin () cvs ! openbsd ! org> Date: 2026-01-14 21:25:26 CVSROOT: /cvs Module name: src Changes by: mlarkin@cvs.openbsd.org 2026/01/14 14:25:26 Modified files: sys/arch/amd64/amd64: pmap.c Log message: Support more than 64 bits for amd64 TLB shootdown IPI masks
The TLB shootdown code used a uint64_t to track which CPUs needed to have their TLB remotely flushed during pmap operations. This allowed for up to 64 CPUs maximum on amd64. This diff changes the single uint64_t mask to an array of uint8_t masks, sized based on MAXCPUS, and utilizes the bitmask macros in param.h to manipulate these masks. with input from and ok deraadt. also ok kettenis
while the second ups the limit:
List: openbsd-cvs Subject: CVS: cvs.openbsd.org: src From: Mike Larkin <mlarkin () cvs ! openbsd ! org> Date: 2026-01-14 21:31:03 CVSROOT: /cvs Module name: src Changes by: mlarkin@cvs.openbsd.org 2026/01/14 14:31:03 Modified files: sys/arch/amd64/include: cpu.h Log message: Increase MAXCPUs on amd64 to 255 Now that we have larger bitmask support for more than 64 CPUs, we can increase the max to 255. 255 is the max that xapic can support; this number can be bumped later if we want to discriminate x2apic vs xapic. with input from and ok deraadt. also ok kettenis
This change should make for a real boost to the machines out there with more than 64 cores. If you have them, please test and report back!
