reactos/hal/halx86/generic
Hermès Bélusca-Maïto 3022d74beb
[NTOS:EX/KE][HALX86] Add support for NUMPROC, BOOTPROC, MAXPROC, ONECPU boot switches (#6024)
These SMP-specific switches allow to test and control configurations
with various number of CPUs on multiprocessor systems.

- NUMPROC: maximum number of logical processors that can be started
  (including dynamically, not currently supported by ReactOS) at run-time.

- BOOTPROC: maximum number of logical processors that can be started at
  boot-time.

- MAXPROC: forces the OS to report the maximum possible number of CPUs
  as existing on the system.

- ONECPU (MP HAL-only boot switch): causes the HAL to only use one
  (the boot) CPU on a multiprocessor system. Attempting to start other
  processors will fail.

For more information, see:
https://www.geoffchappell.com/notes/windows/boot/bcd/osloader/numproc.htm
https://www.geoffchappell.com/notes/windows/license/processors.htm
https://rmscrypt.wordpress.com/2011/02/
https://codeinsecurity.wordpress.com/2022/04/07/cpu-socket-and-core-count-limits-in-windows-10-and-how-to-remove-them/

Generic references about BOOT.INI switches:
https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/boot-options-in-a-boot-ini-file
https://www.itprotoday.com/cloud-computing/what-switches-can-be-used-bootini
http://franck.kiechel.free.fr/dbr_eng/BootIni.htm

References about BCD options:
https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/bcdedit--set
http://www.mistyprojects.co.uk/documents/BCDEdit/files/commands.6.1.7601.htm#TYPES%20OSLOADER
2025-04-04 12:51:49 +02:00
..
beep.c
bios.c [MINIHAL] Remove unneeded files from compilation. 2023-06-20 18:39:01 +02:00
buildtype.c [HALX86] Fix SYNCH_LEVEL differences between UP and SMP in HAL (#5874) 2024-01-20 06:26:59 -08:00
clock.c [HALXBOX] Fix clock drift (#2889) 2020-06-03 02:14:16 +03:00
cmos.c [HALX86] Implement HalpcGetCmosData and HalpcSetCmosData. 2023-06-19 21:09:03 +02:00
display.c [MINIHAL] Remove unneeded files from compilation. 2023-06-20 18:39:01 +02:00
dma.c [HALX86] HalpDmaAllocateChildAdapter(): Fix memory leak, on error (#4156) 2021-12-20 21:14:36 +01:00
drive.c
halinit.c [NTOS:EX/KE][HALX86] Add support for NUMPROC, BOOTPROC, MAXPROC, ONECPU boot switches (#6024) 2025-04-04 12:51:49 +02:00
kdpci.c [PCI][HALX86] Support PCI debugging devices 2022-06-06 01:47:21 +03:00
memory.c [HAL] Add NT6-compatible version of HalpMapPhysicalMemory64 and HalpUnmapVirtualAddress 2018-08-05 10:14:57 +02:00
misc.c [REACTOS] Cleanup INIT and some PAGE section allocations 2020-11-02 21:45:31 +03:00
nmi.c [HALX86] HalHandleNMI: Re-enable debugger-entering code. 2023-08-03 13:26:24 +02:00
pic.c
portio.c
profil.c
reboot.c [HAL][MINIHAL] Minor cleanup in reboot.c files (#5359) 2023-06-25 19:39:44 +02:00
spinlock.c [FREELDR][MINIHAL] Move KefAcquireSpinLockAtDpcLevel stub back to HAL, #ifdef'ed in _MINIHAL_ where it's only needed. 2022-05-08 17:21:43 +02:00
sysinfo.c [HALX86] Tabs to 4-space indentation in generic/sysinfo.c + Fix typo "ALMI" -> "AMLI" 2023-06-20 22:40:57 +02:00
systimer.S [ASM] Fix boot with VS 16.7.3 / MSVC 19.27 2020-09-12 15:01:04 +02:00
timer.c [REACTOS] Cleanup INIT and some PAGE section allocations 2020-11-02 21:45:31 +03:00
trap.S
up.c [HALX86] Implement the clock IPI handler 2024-03-02 07:56:27 +01:00
usage.c [HALXBOX] Do not claim interrupt resources for the KD COM port 2022-04-16 11:54:24 +03:00
v86.S
x86bios.c [HAL] HalInitializeBios() should not explicitly call HalpBiosDisplayReset(). 2024-02-11 18:51:40 +01:00