From b0d8e689acb4ec1fbe798773cfb066277c7d4f9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 21 Oct 2004 01:41:29 +0000 Subject: [PATCH] Renamed some more init2 routines to init_post_vm() to make it clearer when and why they are called. Introduced a cpu_init_post_vm() that will now call arch_init_post_vm() instead of letting main() doing it. Fixed some return types (mostly from int to status_t). git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9438 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/kernel/arch/cpu.h | 15 +++++++-------- headers/private/kernel/arch/int.h | 7 +++++-- headers/private/kernel/cpu.h | 10 ++++++++-- headers/private/kernel/debug.h | 11 +++++++---- headers/private/kernel/int.h | 6 +++--- 5 files changed, 30 insertions(+), 19 deletions(-) diff --git a/headers/private/kernel/arch/cpu.h b/headers/private/kernel/arch/cpu.h index f8d820aa31..a2ab844466 100644 --- a/headers/private/kernel/arch/cpu.h +++ b/headers/private/kernel/arch/cpu.h @@ -9,8 +9,7 @@ #define _KERNEL_ARCH_CPU_H -#include -#include +#include #include @@ -20,18 +19,18 @@ extern "C" { #endif -int arch_cpu_preboot_init(kernel_args *ka); -int arch_cpu_init(kernel_args *ka); -int arch_cpu_init2(kernel_args *ka); +status_t arch_cpu_preboot_init(kernel_args *args); +status_t arch_cpu_init(kernel_args *args); +status_t arch_cpu_init_post_vm(kernel_args *args); void reboot(void); void arch_cpu_invalidate_TLB_range(addr_t start, addr_t end); void arch_cpu_invalidate_TLB_list(addr_t pages[], int num_pages); void arch_cpu_global_TLB_invalidate(void); -int arch_cpu_user_memcpy(void *to, const void *from, size_t size, addr_t *faultHandler); -int arch_cpu_user_strlcpy(char *to, const char *from, size_t size, addr_t *faultHandler); -int arch_cpu_user_memset(void *s, char c, size_t count, addr_t *faultHandler); +status_t arch_cpu_user_memcpy(void *to, const void *from, size_t size, addr_t *faultHandler); +ssize_t arch_cpu_user_strlcpy(char *to, const char *from, size_t size, addr_t *faultHandler); +status_t arch_cpu_user_memset(void *s, char c, size_t count, addr_t *faultHandler); void arch_cpu_idle(void); void arch_cpu_sync_icache(void *address, size_t length); diff --git a/headers/private/kernel/arch/int.h b/headers/private/kernel/arch/int.h index 5b4def24dc..ed37e907c4 100644 --- a/headers/private/kernel/arch/int.h +++ b/headers/private/kernel/arch/int.h @@ -1,4 +1,7 @@ /* +** Copyright 2002-2004, The Haiku Team. All rights reserved. +** Distributed under the terms of the Haiku License. +** ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. ** Distributed under the terms of the NewOS License. */ @@ -13,8 +16,8 @@ extern "C" { #endif -int arch_int_init(kernel_args *ka); -int arch_int_init2(kernel_args *ka); +status_t arch_int_init(kernel_args *args); +status_t arch_int_init_post_vm(kernel_args *args); void arch_int_enable_interrupts(void); int arch_int_disable_interrupts(void); diff --git a/headers/private/kernel/cpu.h b/headers/private/kernel/cpu.h index 5fc8f88524..415a17b888 100644 --- a/headers/private/kernel/cpu.h +++ b/headers/private/kernel/cpu.h @@ -1,4 +1,7 @@ /* +** Copyright 2002-2004, The Haiku Team. All rights reserved. +** Distributed under the terms of the Haiku License. +** ** Copyright 2002, Travis Geiselbrecht. All rights reserved. ** Distributed under the terms of the NewOS License. */ @@ -29,12 +32,15 @@ typedef union cpu_ent { */ extern cpu_ent cpu[MAX_BOOT_CPUS]; + #ifdef __cplusplus extern "C" { #endif -int cpu_preboot_init(struct kernel_args *ka); -int cpu_init(struct kernel_args *ka); +status_t cpu_preboot_init(struct kernel_args *args); +status_t cpu_init(struct kernel_args *args); +status_t cpu_init_post_vm(struct kernel_args *args); + cpu_ent *get_cpu_struct(void); extern inline cpu_ent *get_cpu_struct(void) { return &cpu[smp_get_current_cpu()]; } diff --git a/headers/private/kernel/debug.h b/headers/private/kernel/debug.h index c5754b120d..55df9814ac 100755 --- a/headers/private/kernel/debug.h +++ b/headers/private/kernel/debug.h @@ -1,4 +1,7 @@ /* +** Copyright 2002-2004, The Haiku Team. All rights reserved. +** Distributed under the terms of the Haiku License. +** ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. ** Distributed under the terms of the NewOS License. */ @@ -25,10 +28,10 @@ extern int dbg_register_file[B_MAX_CPU_COUNT][14]; extern "C" { #endif -extern int dbg_init(struct kernel_args *ka); -extern int dbg_init2(struct kernel_args *ka); -extern char dbg_putch(char c); -extern void dbg_puts(const char *s); +extern status_t debug_init(struct kernel_args *args); +extern status_t debug_init_post_vm(struct kernel_args *args); +extern char dbg_putch(char c); +extern void dbg_puts(const char *s); extern void _user_debug_output(const char *userString); diff --git a/headers/private/kernel/int.h b/headers/private/kernel/int.h index f071d80d20..2d61b6ecab 100755 --- a/headers/private/kernel/int.h +++ b/headers/private/kernel/int.h @@ -22,9 +22,9 @@ extern bool kernel_startup; extern "C" { #endif -int int_init(struct kernel_args *ka); -int int_init2(struct kernel_args *ka); -int int_io_interrupt_handler(int vector); +status_t int_init(struct kernel_args *args); +status_t int_init_post_vm(struct kernel_args *args); +int int_io_interrupt_handler(int vector); long install_interrupt_handler(long, interrupt_handler, void *); long remove_interrupt_handler (long, interrupt_handler, void *);