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
Serge Gautherie
2c8d083fc0
[HALX86] acpi/madt.c: Rewrite it ( #6032 )
...
Especially HalpParseApicTables() which looked early-WIP and was buggy.
And keep smp/mps/mps.c in sync'.
2024-08-31 14:35:50 -07:00
Timo Kreuzer
79aaee6aac
[HALX86] Implement the clock IPI handler
2024-03-02 07:56:27 +01:00
Timo Kreuzer
230f7c7f3c
[HALX86] Some improvements / bugfixes for IPI support functions
2023-12-08 19:28:57 +02:00
Timo Kreuzer
40b6b1dab3
[HAL] Implement IPI support functions
2023-12-03 00:07:53 +02:00
Justin Miller
516ccad340
[NTOS:KE][HALX86] Implement AP startup code ( #5879 )
...
Co-authored-by: Victor Perevertkin <victor.perevertkin@reactos.org >
Introduce the initial changes needed to get other processors up and into kernel mode.
This only supports x86 as of now but is the first real step towards using other system processors.
2023-11-19 15:51:33 -08:00
Justin Miller
5c79900519
[HALX86] Add a way to print the ProcessorTable data on bootup
2022-04-07 22:54:32 +03:00
Justin Miller
a09f925c1c
[HALX86] Implement HalpSetupProcessorsTable
...
Add a helper function for getting a pointer to the PRCB of every processor
in the system and assign it to the PROCESSOR_IDENTITY struct.
2022-04-07 22:54:31 +03:00
Justin Miller
0fc21e5a9b
[HALX86] Add function prototypes needed for parsing ACPI MADT table
...
- Use ACPICA headers to gather the information.
- Add PROCESSOR_IDENTITY structure that will be used by all APIC HALs.
2022-04-07 22:54:13 +03:00
Justin Miller
0d9020634a
[HALX86] Disable Lazy IRQL in APIC HAL ( #3609 )
...
Lazy IRQL feature has issues with interrupt delivery on VirtualBox, so disable it for now.
For the feature description, see commit d28eae967a
Meanwhile, merge and clean up APIC headers a bit
2021-05-04 04:29:50 +03:00