From 6647d2c95ace3dacd7641d727873bce0e5d9ec81 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Sun, 19 Jan 2014 14:09:51 -0600 Subject: [PATCH] kernel: fix missing SMP_MAX_CPUS on non-x86 * Regression introduced due to scheduler change * Drop MAX_BOOT_CPUS as it is no longer used --- headers/private/kernel/arch/alpha/stage2.h | 8 +++++--- .../boot/platform/amiga_m68k/platform_kernel_args.h | 5 +++-- .../boot/platform/atari_m68k/platform_kernel_args.h | 5 +++-- .../kernel/boot/platform/cfe/platform_kernel_args.h | 5 +++-- .../boot/platform/openfirmware/platform_kernel_args.h | 5 +++-- .../boot/platform/raspberrypi_arm/platform_kernel_args.h | 5 +++-- .../platform/routerboard_mipsel/platform_kernel_args.h | 5 +++-- .../kernel/boot/platform/u-boot/platform_kernel_args.h | 5 +++-- headers/private/kernel/cpu.h | 1 - src/tests/system/boot/loader/platform_kernel_args.h | 6 ++++-- 10 files changed, 30 insertions(+), 20 deletions(-) diff --git a/headers/private/kernel/arch/alpha/stage2.h b/headers/private/kernel/arch/alpha/stage2.h index bfaf9dd262..2cc8e161f0 100644 --- a/headers/private/kernel/arch/alpha/stage2.h +++ b/headers/private/kernel/arch/alpha/stage2.h @@ -5,15 +5,17 @@ #ifndef _STAGE2_H #define _STAGE2_H + #include -// must match SMP_MAX_CPUS in arch_smp.h -#define MAX_BOOT_CPUS 1 + +#define SMP_MAX_CPUS 1 #define MAX_PHYS_MEM_ADDR_RANGE 4 #define MAX_VIRT_ALLOC_ADDR_RANGE 4 #define MAX_PHYS_ALLOC_ADDR_RANGE 4 + typedef struct { unsigned int start; unsigned int size; @@ -33,7 +35,7 @@ typedef struct { unsigned int num_virt_alloc_ranges; addr_range virt_alloc_range[MAX_VIRT_ALLOC_ADDR_RANGE]; unsigned int num_cpus; - addr_range cpu_kstack[MAX_BOOT_CPUS]; + addr_range cpu_kstack[SMP_MAX_CPUS]; // architecture specific } kernel_args; diff --git a/headers/private/kernel/boot/platform/amiga_m68k/platform_kernel_args.h b/headers/private/kernel/boot/platform/amiga_m68k/platform_kernel_args.h index 812db4e909..6490cbc665 100644 --- a/headers/private/kernel/boot/platform/amiga_m68k/platform_kernel_args.h +++ b/headers/private/kernel/boot/platform/amiga_m68k/platform_kernel_args.h @@ -5,12 +5,13 @@ #ifndef KERNEL_BOOT_PLATFORM_AMIGA_KERNEL_ARGS_H #define KERNEL_BOOT_PLATFORM_AMIGA_KERNEL_ARGS_H + #ifndef KERNEL_BOOT_KERNEL_ARGS_H # error This file is included from only #endif -// must match SMP_MAX_CPUS in arch_smp.h -#define MAX_BOOT_CPUS 1 +#define SMP_MAX_CPUS 1 + #define MAX_PHYSICAL_MEMORY_RANGE 4 #define MAX_PHYSICAL_ALLOCATED_RANGE 8 #define MAX_VIRTUAL_ALLOCATED_RANGE 32 diff --git a/headers/private/kernel/boot/platform/atari_m68k/platform_kernel_args.h b/headers/private/kernel/boot/platform/atari_m68k/platform_kernel_args.h index 2e2d38cb17..73f8313272 100644 --- a/headers/private/kernel/boot/platform/atari_m68k/platform_kernel_args.h +++ b/headers/private/kernel/boot/platform/atari_m68k/platform_kernel_args.h @@ -5,12 +5,13 @@ #ifndef KERNEL_BOOT_PLATFORM_ATARI_KERNEL_ARGS_H #define KERNEL_BOOT_PLATFORM_ATARI_KERNEL_ARGS_H + #ifndef KERNEL_BOOT_KERNEL_ARGS_H # error This file is included from only #endif -// must match SMP_MAX_CPUS in arch_smp.h -#define MAX_BOOT_CPUS 1 +#define SMP_MAX_CPUS 1 + #define MAX_PHYSICAL_MEMORY_RANGE 4 #define MAX_PHYSICAL_ALLOCATED_RANGE 8 #define MAX_VIRTUAL_ALLOCATED_RANGE 32 diff --git a/headers/private/kernel/boot/platform/cfe/platform_kernel_args.h b/headers/private/kernel/boot/platform/cfe/platform_kernel_args.h index 8cf75e829e..774ee8a2bb 100644 --- a/headers/private/kernel/boot/platform/cfe/platform_kernel_args.h +++ b/headers/private/kernel/boot/platform/cfe/platform_kernel_args.h @@ -5,12 +5,13 @@ #ifndef KERNEL_BOOT_PLATFORM_CFE_KERNEL_ARGS_H #define KERNEL_BOOT_PLATFORM_CFE_KERNEL_ARGS_H + #ifndef KERNEL_BOOT_KERNEL_ARGS_H # error This file is included from only #endif -// must match SMP_MAX_CPUS in arch_smp.h -#define MAX_BOOT_CPUS 4 +#define SMP_MAX_CPUS 4 + #define MAX_PHYSICAL_MEMORY_RANGE 4 #define MAX_PHYSICAL_ALLOCATED_RANGE 8 #define MAX_VIRTUAL_ALLOCATED_RANGE 32 diff --git a/headers/private/kernel/boot/platform/openfirmware/platform_kernel_args.h b/headers/private/kernel/boot/platform/openfirmware/platform_kernel_args.h index 150afe25c3..86da607ec3 100644 --- a/headers/private/kernel/boot/platform/openfirmware/platform_kernel_args.h +++ b/headers/private/kernel/boot/platform/openfirmware/platform_kernel_args.h @@ -5,12 +5,13 @@ #ifndef KERNEL_BOOT_PLATFORM_OPENFIRMWARE_KERNEL_ARGS_H #define KERNEL_BOOT_PLATFORM_OPENFIRMWARE_KERNEL_ARGS_H + #ifndef KERNEL_BOOT_KERNEL_ARGS_H # error This file is included from only #endif -// must match SMP_MAX_CPUS in arch_smp.h -#define MAX_BOOT_CPUS 4 +#define SMP_MAX_CPUS 16 + #define MAX_PHYSICAL_MEMORY_RANGE 4 #define MAX_PHYSICAL_ALLOCATED_RANGE 8 #define MAX_VIRTUAL_ALLOCATED_RANGE 32 diff --git a/headers/private/kernel/boot/platform/raspberrypi_arm/platform_kernel_args.h b/headers/private/kernel/boot/platform/raspberrypi_arm/platform_kernel_args.h index ff7a8e2686..3248974967 100644 --- a/headers/private/kernel/boot/platform/raspberrypi_arm/platform_kernel_args.h +++ b/headers/private/kernel/boot/platform/raspberrypi_arm/platform_kernel_args.h @@ -5,12 +5,13 @@ #ifndef KERNEL_BOOT_PLATFORM_PI_KERNEL_ARGS_H #define KERNEL_BOOT_PLATFORM_PI_KERNEL_ARGS_H + #ifndef KERNEL_BOOT_KERNEL_ARGS_H # error This file is included from only #endif -// must match SMP_MAX_CPUS in arch_smp.h -#define MAX_BOOT_CPUS 1 +#define SMP_MAX_CPUS 1 + #define MAX_PHYSICAL_MEMORY_RANGE 4 #define MAX_PHYSICAL_ALLOCATED_RANGE 8 #define MAX_VIRTUAL_ALLOCATED_RANGE 32 diff --git a/headers/private/kernel/boot/platform/routerboard_mipsel/platform_kernel_args.h b/headers/private/kernel/boot/platform/routerboard_mipsel/platform_kernel_args.h index d45e5d46ef..725e9ecd8e 100644 --- a/headers/private/kernel/boot/platform/routerboard_mipsel/platform_kernel_args.h +++ b/headers/private/kernel/boot/platform/routerboard_mipsel/platform_kernel_args.h @@ -5,14 +5,15 @@ #ifndef _KERNEL_BOOT_PLATFORM_ROUTERBOARD_MIPSEL_KERNEL_ARGS_H #define _KERNEL_BOOT_PLATFORM_ROUTERBOARD_MIPSEL_KERNEL_ARGS_H + #ifndef KERNEL_BOOT_KERNEL_ARGS_H # error This file is included from only #endif #warning IMPLEMENT platform_kernel_args.h -// must match SMP_MAX_CPUS in arch_smp.h -#define MAX_BOOT_CPUS 1 +#define SMP_MAX_CPUS 1 + #define MAX_PHYSICAL_MEMORY_RANGE 4 #define MAX_PHYSICAL_ALLOCATED_RANGE 8 #define MAX_VIRTUAL_ALLOCATED_RANGE 32 diff --git a/headers/private/kernel/boot/platform/u-boot/platform_kernel_args.h b/headers/private/kernel/boot/platform/u-boot/platform_kernel_args.h index 8a78bc69c4..ac1c9b8529 100644 --- a/headers/private/kernel/boot/platform/u-boot/platform_kernel_args.h +++ b/headers/private/kernel/boot/platform/u-boot/platform_kernel_args.h @@ -5,12 +5,13 @@ #ifndef KERNEL_BOOT_PLATFORM_UBOOT_KERNEL_ARGS_H #define KERNEL_BOOT_PLATFORM_UBOOT_KERNEL_ARGS_H + #ifndef KERNEL_BOOT_KERNEL_ARGS_H # error This file is included from only #endif -// must match SMP_MAX_CPUS in arch_smp.h -#define MAX_BOOT_CPUS 1 +#define SMP_MAX_CPUS 1 + #define MAX_PHYSICAL_MEMORY_RANGE 4 #define MAX_PHYSICAL_ALLOCATED_RANGE 8 #define MAX_VIRTUAL_ALLOCATED_RANGE 32 diff --git a/headers/private/kernel/cpu.h b/headers/private/kernel/cpu.h index dad23c6c56..5c0f09c2fc 100644 --- a/headers/private/kernel/cpu.h +++ b/headers/private/kernel/cpu.h @@ -88,7 +88,6 @@ typedef struct cpu_ent { } cpu_ent CACHE_LINE_ALIGN; -//extern cpu_ent gCPU[MAX_BOOT_CPUS]; extern cpu_ent gCPU[]; extern uint32 gCPUCacheLevelCount; diff --git a/src/tests/system/boot/loader/platform_kernel_args.h b/src/tests/system/boot/loader/platform_kernel_args.h index 6e2e141e31..f670a36c06 100644 --- a/src/tests/system/boot/loader/platform_kernel_args.h +++ b/src/tests/system/boot/loader/platform_kernel_args.h @@ -5,12 +5,14 @@ #ifndef PLATFORM_KERNEL_ARGS_H #define PLATFORM_KERNEL_ARGS_H -// must match SMP_MAX_CPUS in arch_smp.h -#define MAX_BOOT_CPUS 4 + +#define SMP_MAX_CPUS 4 + #define MAX_PHYSICAL_MEMORY_RANGE 4 #define MAX_PHYSICAL_ALLOCATED_RANGE 4 #define MAX_VIRTUAL_ALLOCATED_RANGE 4 + struct platform_kernel_args { /* they are just empty! */ };