nova: avoid reset on machines with too many CPUs

The NOVA kernel and Genode's roottask core are configured to be runnable
with up to 64 CPUs (MAX_SUPPORTED_CPUS in core resp. NUM_CPU in kernel).
On machines with more CPUs a reset occurred. The commit checks for this
case, bootstraps the first 64 CPUs only, and sends all other CPUs to
sleep.

Also, the platform_info ROM size is increased to host information about
more than 32 CPUs.

Issue #4640
This commit is contained in:
Alexander Boettcher 2022-10-14 11:51:59 +02:00 committed by Christian Helmuth
parent c0fddd0a14
commit 7ebd3a086a
3 changed files with 3 additions and 3 deletions

View File

@ -1 +1 @@
9ad770935115d201863fd83924e4684b14b8b56f
ab5601025e5e69a30f03219c3be108ff3d866ce4

View File

@ -4,7 +4,7 @@ DOWNLOADS := nova.git
# r10 branch
URL(nova) := https://github.com/alex-ab/NOVA.git
REV(nova) := a34076e7b8d48d08c2edee7754eadad8b6ea5312
REV(nova) := 048109941862356b4785a50d1ef012d2ad9761c5
DIR(nova) := src/kernel/nova
PATCHES := $(sort $(wildcard $(REP_DIR)/patches/*.patch))

View File

@ -677,7 +677,7 @@ Platform::Platform()
rom_name, " as ROM module"); });
};
export_pages_as_rom_module("platform_info", 1,
export_pages_as_rom_module("platform_info", 1 + (MAX_SUPPORTED_CPUS / 32),
[&] (char * const ptr, size_t const size) {
Xml_generator xml(ptr, size, "platform_info", [&] ()
{