git: ac63f7534d01 - main - arm64, riscv: Use KSTACK_PAGES for the thread0 kstack size designator
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 13 Oct 2023 09:27:29 UTC
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ac63f7534d0102352bf993ebe2c748ce2ffd432e commit ac63f7534d0102352bf993ebe2c748ce2ffd432e Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2023-10-09 23:56:37 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2023-10-13 09:26:45 +0000 arm64, riscv: Use KSTACK_PAGES for the thread0 kstack size designator instead of kstack_pages. Although it is correct right now to use kstack_pages on amd64 since the kern.kstack_pages tunable is not functional on arm64, this is too fragile and wrong on riscv. Include opt_kstack_pages.h into machdep.c to get the right definition for KSTACK_PAGES. Reviewed by: jhb, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42143 --- sys/arm64/arm64/machdep.c | 3 ++- sys/riscv/riscv/machdep.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 4bfbfcaa91bd..8aa45a86fef4 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -26,6 +26,7 @@ */ #include "opt_acpi.h" +#include "opt_kstack_pages.h" #include "opt_platform.h" #include "opt_ddb.h" @@ -380,7 +381,7 @@ init_proc0(vm_offset_t kstack) proc_linkup0(&proc0, &thread0); thread0.td_kstack = kstack; - thread0.td_kstack_pages = kstack_pages; + thread0.td_kstack_pages = KSTACK_PAGES; #if defined(PERTHREAD_SSP) thread0.td_md.md_canary = boot_canary; #endif diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c index 6bc0b996948a..261dc8d6d840 100644 --- a/sys/riscv/riscv/machdep.c +++ b/sys/riscv/riscv/machdep.c @@ -33,6 +33,7 @@ * SUCH DAMAGE. */ +#include "opt_kstack_pages.h" #include "opt_platform.h" #include <sys/cdefs.h> @@ -286,7 +287,7 @@ init_proc0(vm_offset_t kstack) proc_linkup0(&proc0, &thread0); thread0.td_kstack = kstack; - thread0.td_kstack_pages = kstack_pages; + thread0.td_kstack_pages = KSTACK_PAGES; thread0.td_pcb = (struct pcb *)(thread0.td_kstack + thread0.td_kstack_pages * PAGE_SIZE) - 1; thread0.td_pcb->pcb_fpflags = 0;