From 6b202f4e3da73d4c131355fcd82b792d153f84f6 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Wed, 14 May 2008 03:55:16 +0000 Subject: [PATCH] * Introduced new header directory headers/private/system which is supposed to contain headers shared by kernel and userland (mainly libroot). * Moved quite a few private kernel headers to the new location. Split several kernel headers into a shared part and one that is still kernel private. Adjusted all affected Jamfiles and source in the standard x86 build accordingly. The build for other architectures and for test code may be broken. * Quite a bit of userland code still includes private kernel headers. Mostly those are headers. The ones that aren't strictly kernel-only should be moved to some other place (maybe headers/private/shared/util). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- build/jam/BuildSetup | 10 +++ build/jam/HeadersRules | 5 ++ headers/private/kernel/arch/x86/apm.h | 15 +--- headers/private/kernel/commpage.h | 29 +------- .../ddm_userland_interface.h | 52 +------------- headers/private/kernel/generic_syscall.h | 7 +- headers/private/kernel/kernel.h | 7 -- headers/private/kernel/posix/realtime_sem.h | 7 +- headers/private/kernel/safemode.h | 13 +--- headers/private/kernel/thread.h | 14 ---- headers/private/kernel/thread_types.h | 6 +- headers/private/kernel/vfs.h | 9 +-- headers/private/kernel/vm.h | 61 +--------------- headers/private/libroot/user_thread.h | 11 +-- .../arch/m68k/arch_commpage_defs.h} | 10 +-- .../arch/m68k/arch_config.h | 0 .../{kernel => system}/arch/m68k/arch_elf.h | 0 .../arch/m68k/arch_real_time_data.h | 0 .../arch/ppc/arch_commpage_defs.h} | 10 +-- .../{kernel => system}/arch/ppc/arch_config.h | 0 .../{kernel => system}/arch/ppc/arch_elf.h | 0 .../arch/ppc/arch_real_time_data.h | 0 headers/private/system/arch/x86/apm_defs.h | 23 ++++++ .../arch/x86/arch_commpage_defs.h} | 10 +-- .../{kernel => system}/arch/x86/arch_config.h | 0 .../{kernel => system}/arch/x86/arch_elf.h | 0 .../arch/x86/arch_real_time_data.h | 0 headers/private/system/commpage_defs.h | 29 ++++++++ .../system/ddm_userland_interface_defs.h | 66 +++++++++++++++++ headers/private/{kernel => system}/elf32.h | 2 +- headers/private/system/generic_syscall_defs.h | 16 +++++ .../private/system/posix/realtime_sem_defs.h | 12 ++++ .../{kernel => system}/real_time_data.h | 0 headers/private/system/safemode_defs.h | 21 ++++++ .../{kernel => system}/syscall_process_info.h | 6 +- headers/private/{kernel => system}/syscalls.h | 6 +- headers/private/system/thread_defs.h | 38 ++++++++++ headers/private/{kernel => system}/tls.h | 0 .../private/{kernel => system}/user_runtime.h | 0 headers/private/system/user_thread_defs.h | 19 +++++ headers/private/system/vfs_defs.h | 23 ++++++ headers/private/system/vm_defs.h | 71 +++++++++++++++++++ .../input_server/devices/keyboard/Jamfile | 4 +- .../kernel/bus_managers/agp_gart/Jamfile | 5 +- src/add-ons/kernel/bus_managers/ide/Jamfile | 5 +- src/add-ons/kernel/bus_managers/isa/Jamfile | 4 +- src/add-ons/kernel/bus_managers/scsi/Jamfile | 5 +- src/add-ons/kernel/bus_managers/usb/Jamfile | 7 +- src/add-ons/kernel/busses/scsi/ahci/Jamfile | 4 +- src/add-ons/kernel/drivers/random/Jamfile | 3 +- .../kernel/generic/block_io/virtual_memory.c | 1 - src/apps/powerstatus/Jamfile | 2 +- src/apps/powerstatus/PowerStatusView.cpp | 4 +- src/bin/Jamfile | 2 +- src/bin/fdinfo.cpp | 2 +- src/bin/listdev/Jamfile | 7 +- src/bin/listdev/dm_wrapper.c | 2 +- src/bin/multiuser/Jamfile | 4 +- src/bin/network/arp/Jamfile | 2 +- src/bin/network/arp/arp.cpp | 2 +- src/bin/network/netstat/Jamfile | 2 +- src/bin/strace/Jamfile | 3 +- src/kits/app/Jamfile | 2 +- src/kits/debug/Jamfile | 7 +- src/kits/network/Jamfile | 2 +- src/kits/opengl/GLRendererRoster.cpp | 3 +- src/kits/opengl/Jamfile | 3 +- src/kits/storage/Jamfile | 5 +- src/kits/storage/disk_device/DiskDevice.cpp | 2 +- .../disk_device/DiskDeviceJobGenerator.cpp | 2 +- .../storage/disk_device/DiskDeviceRoster.cpp | 2 +- src/kits/storage/disk_device/DiskSystem.cpp | 2 +- .../storage/disk_device/MutablePartition.cpp | 2 +- src/kits/storage/disk_device/Partition.cpp | 2 +- .../storage/disk_device/PartitioningInfo.cpp | 3 +- src/kits/translation/Jamfile | 3 +- src/kits/translation/TranslatorRoster.cpp | 3 +- src/preferences/time/Jamfile | 3 +- .../app/drawing/AccelerantHWInterface.cpp | 3 +- src/servers/app/drawing/Jamfile | 3 +- src/servers/input/InputServer.cpp | 3 +- src/servers/input/Jamfile | 3 +- src/servers/media/AddOnManager.cpp | 2 +- src/servers/media/Jamfile | 2 +- src/servers/registrar/Jamfile | 3 +- src/system/boot/loader/Jamfile | 6 +- src/system/glue/Jamfile | 4 +- src/system/kernel/arch/m68k/Jamfile | 5 +- src/system/kernel/arch/ppc/Jamfile | 5 +- src/system/kernel/arch/x86/Jamfile | 3 +- src/system/kernel/arch/x86/arch_interrupts.S | 2 +- src/system/kernel/lib/kernel_vsprintf.c | 1 - src/system/libroot/Jamfile | 2 +- src/system/libroot/os/Jamfile | 5 +- src/system/libroot/os/arch/m68k/Jamfile | 2 +- src/system/libroot/os/arch/ppc/Jamfile | 2 +- src/system/libroot/os/arch/x86/Jamfile | 5 +- src/system/libroot/os/arch/x86/syscalls.inc | 2 +- src/system/libroot/os/arch/x86/time.c | 3 +- src/system/libroot/os/thread.c | 9 ++- src/system/libroot/os/time.c | 2 +- src/system/libroot/posix/Jamfile | 5 +- src/system/libroot/posix/malloc/Jamfile | 2 +- src/system/libroot/posix/pthread/Jamfile | 4 +- src/system/libroot/posix/pthread/pthread.c | 3 +- .../libroot/posix/pthread/pthread_attr.c | 2 +- src/system/libroot/posix/semaphore.cpp | 2 +- src/system/libroot/posix/signal/Jamfile | 2 +- src/system/libroot/posix/stdio/Jamfile | 2 +- src/system/libroot/posix/stdlib/Jamfile | 2 +- src/system/libroot/posix/string/Jamfile | 2 +- .../posix/string/arch/x86/arch_string.S | 2 +- src/system/libroot/posix/sys/Jamfile | 2 +- src/system/libroot/posix/sys/mman.cpp | 2 +- src/system/libroot/posix/sys/wait.c | 10 +-- src/system/libroot/posix/time/Jamfile | 2 +- src/system/libroot/posix/unistd/Jamfile | 3 +- src/system/libroot/posix/unistd/conf.c | 2 +- src/system/runtime_loader/Jamfile | 4 +- src/system/runtime_loader/elf.cpp | 6 +- src/tools/gensyscalls/Jamfile | 4 +- 121 files changed, 504 insertions(+), 360 deletions(-) rename headers/private/{kernel/arch/m68k/arch_commpage.h => system/arch/m68k/arch_commpage_defs.h} (58%) rename headers/private/{kernel => system}/arch/m68k/arch_config.h (100%) rename headers/private/{kernel => system}/arch/m68k/arch_elf.h (100%) rename headers/private/{kernel => system}/arch/m68k/arch_real_time_data.h (100%) rename headers/private/{kernel/arch/ppc/arch_commpage.h => system/arch/ppc/arch_commpage_defs.h} (58%) rename headers/private/{kernel => system}/arch/ppc/arch_config.h (100%) rename headers/private/{kernel => system}/arch/ppc/arch_elf.h (100%) rename headers/private/{kernel => system}/arch/ppc/arch_real_time_data.h (100%) create mode 100644 headers/private/system/arch/x86/apm_defs.h rename headers/private/{kernel/arch/x86/arch_commpage.h => system/arch/x86/arch_commpage_defs.h} (58%) rename headers/private/{kernel => system}/arch/x86/arch_config.h (100%) rename headers/private/{kernel => system}/arch/x86/arch_elf.h (100%) rename headers/private/{kernel => system}/arch/x86/arch_real_time_data.h (100%) create mode 100644 headers/private/system/commpage_defs.h create mode 100644 headers/private/system/ddm_userland_interface_defs.h rename headers/private/{kernel => system}/elf32.h (99%) create mode 100644 headers/private/system/generic_syscall_defs.h create mode 100644 headers/private/system/posix/realtime_sem_defs.h rename headers/private/{kernel => system}/real_time_data.h (100%) create mode 100644 headers/private/system/safemode_defs.h rename headers/private/{kernel => system}/syscall_process_info.h (63%) rename headers/private/{kernel => system}/syscalls.h (99%) create mode 100644 headers/private/system/thread_defs.h rename headers/private/{kernel => system}/tls.h (100%) rename headers/private/{kernel => system}/user_runtime.h (100%) create mode 100644 headers/private/system/user_thread_defs.h create mode 100644 headers/private/system/vfs_defs.h create mode 100644 headers/private/system/vm_defs.h diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index efc486cbd5..855a69ac6b 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -323,11 +323,17 @@ if $(HAIKU_GCC_VERSION[1]) >= 3 { HAIKU_DEFINES += _BEOS_R5_COMPATIBLE_ ; } +# private shared kernel/libroot headers +HAIKU_PRIVATE_SYSTEM_HEADERS = + [ PrivateHeaders $(DOT) system system/arch/$(HAIKU_ARCH) ] +; + # private kernel headers to be used when compiling kernel code HAIKU_PRIVATE_KERNEL_HEADERS = [ PrivateHeaders $(DOT) kernel libroot kernel/boot/platform/$(HAIKU_BOOT_PLATFORM) ] [ ArchHeaders $(HAIKU_ARCH) ] + $(HAIKU_PRIVATE_SYSTEM_HEADERS) ; # Add some grist to the libgcc objects @@ -550,6 +556,9 @@ if $(HOST_ARCH) = x86 && $(HAIKU_HOST_USE_32BIT) = 1 { # private kernel headers do be used when compiling kernel code HOST_PRIVATE_KERNEL_HEADERS = ; +# private shared kernel/libroot headers +HOST_PRIVATE_SYSTEM_HEADERS = ; + # under BeOS use copyattr instead of cp if $(HOST_PLATFORM_BEOS_COMPATIBLE) { @@ -748,6 +757,7 @@ local buildVars = KERNEL_DEBUG_$(HAIKU_DEBUG_LEVELS)_C++FLAGS PRIVATE_KERNEL_HEADERS + PRIVATE_SYSTEM_HEADERS LIBSTDC++ LIBSUPC++ diff --git a/build/jam/HeadersRules b/build/jam/HeadersRules index f0b43ed0f3..9e2db14bef 100644 --- a/build/jam/HeadersRules +++ b/build/jam/HeadersRules @@ -343,6 +343,11 @@ rule UsePrivateKernelHeaders UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; } +rule UsePrivateSystemHeaders +{ + UseHeaders $(TARGET_PRIVATE_SYSTEM_HEADERS) : true ; +} + rule FStandardOSHeaders { local osIncludes = add-ons add-ons/file_system add-ons/graphics diff --git a/headers/private/kernel/arch/x86/apm.h b/headers/private/kernel/arch/x86/apm.h index 47a1762a6c..905ac0d249 100644 --- a/headers/private/kernel/arch/x86/apm.h +++ b/headers/private/kernel/arch/x86/apm.h @@ -5,9 +5,11 @@ #ifndef KERNEL_APM_H #define KERNEL_APM_H - #include +#include + + struct kernel_args; @@ -47,17 +49,6 @@ typedef struct apm_info { } apm_info; -// temporary generic syscall interface -#define APM_SYSCALLS "apm" -#define APM_GET_BATTERY_INFO 1 - -struct battery_info { - bool online; - int32 percent; - time_t time_left; -}; - - #ifndef _BOOT_MODE #ifdef __cplusplus extern "C" { diff --git a/headers/private/kernel/commpage.h b/headers/private/kernel/commpage.h index 50b4613bac..65d1b8cf3e 100644 --- a/headers/private/kernel/commpage.h +++ b/headers/private/kernel/commpage.h @@ -5,32 +5,11 @@ #ifndef _KERNEL_COMMPAGE_H #define _KERNEL_COMMPAGE_H -/*! Some systemwide commpage constants, used in the kernel and libroot */ +#include -#ifndef _ASSEMBLER -# include -#endif +#include -/* be careful what you put here, this file is included from assembly */ -#define COMMPAGE_ENTRY_MAGIC 0 -#define COMMPAGE_ENTRY_VERSION 1 -#define COMMPAGE_ENTRY_REAL_TIME_DATA 2 -#define COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC 3 - -#define COMMPAGE_SIZE (0x8000) -#define COMMPAGE_TABLE_ENTRIES 64 - -#define COMMPAGE_SIGNATURE 'COMM' -#define COMMPAGE_VERSION 1 - -#define USER_COMMPAGE_ADDR ARCH_USER_COMMPAGE_ADDR - // set by the architecture specific implementation - -#ifndef _ASSEMBLER - -#define USER_COMMPAGE_TABLE ((void**)(USER_COMMPAGE_ADDR)) - #ifdef __cplusplus extern "C" { #endif @@ -46,8 +25,4 @@ status_t arch_commpage_init(void); } // extern "C" #endif -#endif // ! _ASSEMBLER - -#include - #endif /* _KERNEL_COMMPAGE_H */ diff --git a/headers/private/kernel/disk_device_manager/ddm_userland_interface.h b/headers/private/kernel/disk_device_manager/ddm_userland_interface.h index e4f90dd349..69e03b4562 100644 --- a/headers/private/kernel/disk_device_manager/ddm_userland_interface.h +++ b/headers/private/kernel/disk_device_manager/ddm_userland_interface.h @@ -12,62 +12,14 @@ #include +#include #include + #ifdef __cplusplus extern "C" { #endif -// userland partition representation -typedef struct user_partition_data user_partition_data; -struct user_partition_data { - partition_id id; - off_t offset; - off_t size; - off_t content_size; - uint32 block_size; - uint32 status; - uint32 flags; - dev_t volume; - int32 index; - int32 change_counter; // needed? - disk_system_id disk_system; - char *name; - char *content_name; - char *type; - char *content_type; - char *parameters; - char *content_parameters; - void *user_data; - int32 child_count; - user_partition_data *children[1]; -}; - -// userland disk device representation -typedef struct user_disk_device_data { - uint32 device_flags; - char *path; - user_partition_data device_partition_data; -} user_disk_device_data; - -// userland disk system representation -typedef struct user_disk_system_info { - disk_system_id id; - char name[B_FILE_NAME_LENGTH]; // better B_PATH_NAME_LENGTH? - char short_name[B_OS_NAME_LENGTH]; - char pretty_name[B_OS_NAME_LENGTH]; - uint32 flags; -} user_disk_system_info; - -// userland disk device job representation -typedef struct user_disk_device_job_info { - disk_job_id id; - uint32 type; - partition_id partition; - char description[256]; -} user_disk_device_job_info; - - /*! Syscalls entries */ // iterating, retrieving device/partition data diff --git a/headers/private/kernel/generic_syscall.h b/headers/private/kernel/generic_syscall.h index 6595c6f0c0..8f2a59f5db 100644 --- a/headers/private/kernel/generic_syscall.h +++ b/headers/private/kernel/generic_syscall.h @@ -8,6 +8,8 @@ #include +#include + /* If we decide to make this API public, the contents of this file * should be moved to KernelExport.h @@ -15,11 +17,6 @@ typedef status_t (*syscall_hook)(const char *subsystem, uint32 function, void *buffer, size_t bufferSize); -/* predefined functions */ -#define B_RESERVED_SYSCALL_BASE 0x80000000 -#define B_SYSCALL_INFO (B_RESERVED_SYSCALL_BASE) - // gets a minimum version uint32, and fills it with the current version on return - /* syscall flags */ #define B_SYSCALL_NOT_REPLACEABLE 1 #define B_DO_NOT_REPLACE_SYSCALL 2 diff --git a/headers/private/kernel/kernel.h b/headers/private/kernel/kernel.h index 4eb4fbe343..f83ffe82dc 100644 --- a/headers/private/kernel/kernel.h +++ b/headers/private/kernel/kernel.h @@ -34,13 +34,6 @@ #endif #define KERNEL_STACK_GUARD_PAGES 1 -/** Size of the stack given to teams in user space */ -#define USER_MAIN_THREAD_STACK_SIZE (16 * 1024 * 1024) // 16 MB -#define USER_STACK_SIZE (256 * 1024) // 256 kB -#define MIN_USER_STACK_SIZE (4 * 1024) // 4 KB -#define MAX_USER_STACK_SIZE (16 * 1024 * 1024) // 16 MB -#define USER_STACK_GUARD_PAGES 4 // 16 kB - /** Size of the environmental variables space for a process */ #define ENV_SIZE (B_PAGE_SIZE * 8) diff --git a/headers/private/kernel/posix/realtime_sem.h b/headers/private/kernel/posix/realtime_sem.h index c657d253dd..1fd8c5afd2 100644 --- a/headers/private/kernel/posix/realtime_sem.h +++ b/headers/private/kernel/posix/realtime_sem.h @@ -11,15 +11,12 @@ #include +#include + struct realtime_sem_context; -#define MAX_POSIX_SEMS_PER_TEAM 128 -#define MAX_POSIX_SEMS 1024 -#define MAX_POSIX_SEM_VALUE INT_MAX - - __BEGIN_DECLS void realtime_sem_init(); diff --git a/headers/private/kernel/safemode.h b/headers/private/kernel/safemode.h index 2300e4f841..c61ba0dd98 100644 --- a/headers/private/kernel/safemode.h +++ b/headers/private/kernel/safemode.h @@ -5,20 +5,9 @@ #ifndef _KERNEL_SAFEMODE_H #define _KERNEL_SAFEMODE_H - #include - -// these are BeOS compatible additions to the safemode -// constants in the driver_settings.h header - -#define B_SAFEMODE_DISABLE_USER_ADD_ONS "disableuseraddons" -#define B_SAFEMODE_DISABLE_IDE_DMA "disableidedma" -#define B_SAFEMODE_DISABLE_ACPI "disable_acpi" -#define B_SAFEMODE_DISABLE_APM "disable_apm" -#define B_SAFEMODE_DISABLE_SMP "disable_smp" -#define B_SAFEMODE_DISABLE_HYPER_THREADING "disable_hyperthreading" -#define B_SAFEMODE_FAIL_SAFE_VIDEO_MODE "fail_safe_video_mode" +#include #ifdef __cplusplus diff --git a/headers/private/kernel/thread.h b/headers/private/kernel/thread.h index 3511d434b6..5c629b255d 100644 --- a/headers/private/kernel/thread.h +++ b/headers/private/kernel/thread.h @@ -22,20 +22,6 @@ struct kernel_args; struct select_info; struct thread_creation_attributes; -struct thread_creation_attributes { - int32 (*entry)(thread_func, void *); - const char* name; - int32 priority; - void* args1; - void* args2; - void* stack_address; - size_t stack_size; - - // when calling kernel only - team_id team; - thread_id thread; -}; - #ifdef __cplusplus extern "C" { diff --git a/headers/private/kernel/thread_types.h b/headers/private/kernel/thread_types.h index 4b6b1456e4..2088f8c98a 100644 --- a/headers/private/kernel/thread_types.h +++ b/headers/private/kernel/thread_types.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -50,11 +51,6 @@ typedef enum job_control_state { JOB_CONTROL_STATE_DEAD } job_control_state; -#define THREAD_RETURN_EXIT 0x1 -#define THREAD_RETURN_INTERRUPTED 0x2 -#define THREAD_STOPPED 0x3 -#define THREAD_CONTINUED 0x4 - // The type of object a thread blocks on (thread::wait::type, set by // thread_prepare_to_block()). enum { diff --git a/headers/private/kernel/vfs.h b/headers/private/kernel/vfs.h index baba646522..ae6c408ec9 100644 --- a/headers/private/kernel/vfs.h +++ b/headers/private/kernel/vfs.h @@ -21,6 +21,8 @@ #include #include +#include + #define DEFAULT_FD_TABLE_SIZE 256 #define MAX_FD_TABLE_SIZE 8192 @@ -54,13 +56,6 @@ typedef struct io_context { uint32 max_monitors; } io_context; -struct fd_info { - int number; - int32 open_mode; - dev_t device; - ino_t node; -}; - /* macro to allocate a iovec array on the stack */ #define IOVECS(name, size) \ uint8 _##name[sizeof(iovecs) + (size)*sizeof(iovec)]; \ diff --git a/headers/private/kernel/vm.h b/headers/private/kernel/vm.h index 2cb00c0f68..f8106d5988 100644 --- a/headers/private/kernel/vm.h +++ b/headers/private/kernel/vm.h @@ -8,10 +8,10 @@ #ifndef _KERNEL_VM_H #define _KERNEL_VM_H +#include #include - -#include +#include struct kernel_args; @@ -23,63 +23,6 @@ struct vm_address_space; struct vnode; -// additional protection flags -// Note: the VM probably won't support all combinations - it will try -// its best, but create_area() will fail if it has to. -// Of course, the exact behaviour will be documented somewhere... -#define B_EXECUTE_AREA 0x04 -#define B_STACK_AREA 0x08 - // "stack" protection is not available on most platforms - it's used - // to only commit memory as needed, and have guard pages at the - // bottom of the stack. - // "execute" protection is currently ignored, but nevertheless, you - // should use it if you require to execute code in that area. - -#define B_KERNEL_EXECUTE_AREA 0x40 -#define B_KERNEL_STACK_AREA 0x80 - -#define B_USER_PROTECTION \ - (B_READ_AREA | B_WRITE_AREA | B_EXECUTE_AREA | B_STACK_AREA) -#define B_KERNEL_PROTECTION \ - (B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA | B_KERNEL_EXECUTE_AREA \ - | B_KERNEL_STACK_AREA) - -// TODO: These aren't really a protection flags, but since the "protection" -// field is the only flag field, we currently use it for this. -// A cleaner approach would be appreciated - maybe just an official generic -// flags region in the protection field. -#define B_OVERCOMMITTING_AREA 0x1000 -#define B_SHARED_AREA 0x2000 -#define B_KERNEL_AREA 0x4000 - // Usable from userland according to its protection flags, but the area - // itself is not deletable, resizable, etc from userland. - -#define B_USER_AREA_FLAGS (B_USER_PROTECTION) -#define B_KERNEL_AREA_FLAGS \ - (B_KERNEL_PROTECTION | B_USER_CLONEABLE_AREA | B_OVERCOMMITTING_AREA \ - | B_SHARED_AREA) - -// flags for vm_get_physical_page() -enum { - PHYSICAL_PAGE_NO_WAIT = 0, - PHYSICAL_PAGE_CAN_WAIT, -}; - -// mapping argument for several internal VM functions -enum { - REGION_NO_PRIVATE_MAP = 0, - REGION_PRIVATE_MAP -}; - -enum { - // ToDo: these are here only temporarily - it's a private - // addition to the BeOS create_area() lock flags - B_ALREADY_WIRED = 6, -}; - -#define MEMORY_TYPE_SHIFT 28 - - #ifdef __cplusplus extern "C" { #endif diff --git a/headers/private/libroot/user_thread.h b/headers/private/libroot/user_thread.h index 568fe0962f..5c234fe6eb 100644 --- a/headers/private/libroot/user_thread.h +++ b/headers/private/libroot/user_thread.h @@ -8,15 +8,8 @@ #include #include -#include /* kernel header */ - - -struct user_thread { - int32 defer_signals; // counter; 0 == signals allowed - uint32 pending_signals; // signals that are pending, when - // signals are deferred - status_t wait_status; -}; +#include +#include static inline user_thread* diff --git a/headers/private/kernel/arch/m68k/arch_commpage.h b/headers/private/system/arch/m68k/arch_commpage_defs.h similarity index 58% rename from headers/private/kernel/arch/m68k/arch_commpage.h rename to headers/private/system/arch/m68k/arch_commpage_defs.h index 7409a600f6..7fb98b76c6 100644 --- a/headers/private/kernel/arch/m68k/arch_commpage.h +++ b/headers/private/system/arch/m68k/arch_commpage_defs.h @@ -2,11 +2,11 @@ * Copyright 2007, Travis Geiselbrecht. All rights reserved. * Distributed under the terms of the MIT License. */ -#ifndef _KERNEL_ARCH_M68K_COMMPAGE_H -#define _KERNEL_ARCH_M68K_COMMPAGE_H +#ifndef _SYSTEM_ARCH_M68K_COMMPAGE_DEFS_H +#define _SYSTEM_ARCH_M68K_COMMPAGE_DEFS_H -#ifndef _KERNEL_COMMPAGE_H -# error Must not be included directly. Include instead! +#ifndef _SYSTEM_COMMPAGE_DEFS_H +# error Must not be included directly. Include instead! #endif #define COMMPAGE_ENTRY_M68K_SYSCALL (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 0) @@ -14,4 +14,4 @@ #define ARCH_USER_COMMPAGE_ADDR (0xffff0000) -#endif /* _KERNEL_ARCH_M68K_COMMPAGE_H */ +#endif /* _SYSTEM_ARCH_M68K_COMMPAGE_DEFS_H */ diff --git a/headers/private/kernel/arch/m68k/arch_config.h b/headers/private/system/arch/m68k/arch_config.h similarity index 100% rename from headers/private/kernel/arch/m68k/arch_config.h rename to headers/private/system/arch/m68k/arch_config.h diff --git a/headers/private/kernel/arch/m68k/arch_elf.h b/headers/private/system/arch/m68k/arch_elf.h similarity index 100% rename from headers/private/kernel/arch/m68k/arch_elf.h rename to headers/private/system/arch/m68k/arch_elf.h diff --git a/headers/private/kernel/arch/m68k/arch_real_time_data.h b/headers/private/system/arch/m68k/arch_real_time_data.h similarity index 100% rename from headers/private/kernel/arch/m68k/arch_real_time_data.h rename to headers/private/system/arch/m68k/arch_real_time_data.h diff --git a/headers/private/kernel/arch/ppc/arch_commpage.h b/headers/private/system/arch/ppc/arch_commpage_defs.h similarity index 58% rename from headers/private/kernel/arch/ppc/arch_commpage.h rename to headers/private/system/arch/ppc/arch_commpage_defs.h index 6b4f8c3d3b..419d388a1a 100644 --- a/headers/private/kernel/arch/ppc/arch_commpage.h +++ b/headers/private/system/arch/ppc/arch_commpage_defs.h @@ -2,11 +2,11 @@ * Copyright 2007, Travis Geiselbrecht. All rights reserved. * Distributed under the terms of the MIT License. */ -#ifndef _KERNEL_ARCH_PPC_COMMPAGE_H -#define _KERNEL_ARCH_PPC_COMMPAGE_H +#ifndef _SYSTEM_ARCH_PPC_COMMPAGE_DEFS_H +#define _SYSTEM_ARCH_PPC_COMMPAGE_DEFS_H -#ifndef _KERNEL_COMMPAGE_H -# error Must not be included directly. Include instead! +#ifndef _SYSTEM_COMMPAGE_DEFS_H +# error Must not be included directly. Include instead! #endif #define COMMPAGE_ENTRY_PPC_SYSCALL (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 0) @@ -14,4 +14,4 @@ #define ARCH_USER_COMMPAGE_ADDR (0xffff0000) -#endif /* _KERNEL_ARCH_PPC_COMMPAGE_H */ +#endif /* _SYSTEM_ARCH_PPC_COMMPAGE_DEFS_H */ diff --git a/headers/private/kernel/arch/ppc/arch_config.h b/headers/private/system/arch/ppc/arch_config.h similarity index 100% rename from headers/private/kernel/arch/ppc/arch_config.h rename to headers/private/system/arch/ppc/arch_config.h diff --git a/headers/private/kernel/arch/ppc/arch_elf.h b/headers/private/system/arch/ppc/arch_elf.h similarity index 100% rename from headers/private/kernel/arch/ppc/arch_elf.h rename to headers/private/system/arch/ppc/arch_elf.h diff --git a/headers/private/kernel/arch/ppc/arch_real_time_data.h b/headers/private/system/arch/ppc/arch_real_time_data.h similarity index 100% rename from headers/private/kernel/arch/ppc/arch_real_time_data.h rename to headers/private/system/arch/ppc/arch_real_time_data.h diff --git a/headers/private/system/arch/x86/apm_defs.h b/headers/private/system/arch/x86/apm_defs.h new file mode 100644 index 0000000000..b0cfa1f8fb --- /dev/null +++ b/headers/private/system/arch/x86/apm_defs.h @@ -0,0 +1,23 @@ +/* + * Copyright 2006, Axel Dörfler, axeld@pinc-software.de. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef SYSTEM_ARCH_X86_APM_DEFS_H +#define SYSTEM_ARCH_X86_APM_DEFS_H + + +#include + + +// temporary generic syscall interface +#define APM_SYSCALLS "apm" +#define APM_GET_BATTERY_INFO 1 + +struct battery_info { + bool online; + int32 percent; + time_t time_left; +}; + + +#endif /* SYSTEM_ARCH_X86_APM_DEFS_H */ diff --git a/headers/private/kernel/arch/x86/arch_commpage.h b/headers/private/system/arch/x86/arch_commpage_defs.h similarity index 58% rename from headers/private/kernel/arch/x86/arch_commpage.h rename to headers/private/system/arch/x86/arch_commpage_defs.h index 1673c7c043..df013c510e 100644 --- a/headers/private/kernel/arch/x86/arch_commpage.h +++ b/headers/private/system/arch/x86/arch_commpage_defs.h @@ -2,11 +2,11 @@ * Copyright 2007, Travis Geiselbrecht. All rights reserved. * Distributed under the terms of the MIT License. */ -#ifndef _KERNEL_ARCH_x86_COMMPAGE_H -#define _KERNEL_ARCH_x86_COMMPAGE_H +#ifndef _SYSTEM_ARCH_x86_COMMPAGE_DEFS_H +#define _SYSTEM_ARCH_x86_COMMPAGE_DEFS_H -#ifndef _KERNEL_COMMPAGE_H -# error Must not be included directly. Include instead! +#ifndef _SYSTEM_COMMPAGE_DEFS_H +# error Must not be included directly. Include instead! #endif #define COMMPAGE_ENTRY_X86_SYSCALL (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 0) @@ -14,4 +14,4 @@ #define ARCH_USER_COMMPAGE_ADDR (0xffff0000) -#endif /* _KERNEL_ARCH_x86_COMMPAGE_H */ +#endif /* _SYSTEM_ARCH_x86_COMMPAGE_DEFS_H */ diff --git a/headers/private/kernel/arch/x86/arch_config.h b/headers/private/system/arch/x86/arch_config.h similarity index 100% rename from headers/private/kernel/arch/x86/arch_config.h rename to headers/private/system/arch/x86/arch_config.h diff --git a/headers/private/kernel/arch/x86/arch_elf.h b/headers/private/system/arch/x86/arch_elf.h similarity index 100% rename from headers/private/kernel/arch/x86/arch_elf.h rename to headers/private/system/arch/x86/arch_elf.h diff --git a/headers/private/kernel/arch/x86/arch_real_time_data.h b/headers/private/system/arch/x86/arch_real_time_data.h similarity index 100% rename from headers/private/kernel/arch/x86/arch_real_time_data.h rename to headers/private/system/arch/x86/arch_real_time_data.h diff --git a/headers/private/system/commpage_defs.h b/headers/private/system/commpage_defs.h new file mode 100644 index 0000000000..c47c0b828d --- /dev/null +++ b/headers/private/system/commpage_defs.h @@ -0,0 +1,29 @@ +/* + * Copyright 2007, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef _SYSTEM_COMMPAGE_DEFS_H +#define _SYSTEM_COMMPAGE_DEFS_H + +/*! Some systemwide commpage constants, used in the kernel and libroot */ + +/* be careful what you put here, this file is included from assembly */ +#define COMMPAGE_ENTRY_MAGIC 0 +#define COMMPAGE_ENTRY_VERSION 1 +#define COMMPAGE_ENTRY_REAL_TIME_DATA 2 +#define COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC 3 + +#define COMMPAGE_SIZE (0x8000) +#define COMMPAGE_TABLE_ENTRIES 64 + +#define COMMPAGE_SIGNATURE 'COMM' +#define COMMPAGE_VERSION 1 + +#define USER_COMMPAGE_ADDR ARCH_USER_COMMPAGE_ADDR + // set by the architecture specific implementation + +#define USER_COMMPAGE_TABLE ((void**)(USER_COMMPAGE_ADDR)) + +#include + +#endif /* _SYSTEM_COMMPAGE_DEFS_H */ diff --git a/headers/private/system/ddm_userland_interface_defs.h b/headers/private/system/ddm_userland_interface_defs.h new file mode 100644 index 0000000000..e73190e70d --- /dev/null +++ b/headers/private/system/ddm_userland_interface_defs.h @@ -0,0 +1,66 @@ +/* + * Copyright 2003-2008, Haiku Inc. + * Distributed under the terms of the MIT License. + * + * Authors: + * Ingo Weinhold, bonefish@users.sf.net + */ +#ifndef _SYSTEM_DDM_USERLAND_INTERFACE_DEFS_H +#define _SYSTEM_DDM_USERLAND_INTERFACE_DEFS_H + +#include + +#include + + +// userland partition representation +typedef struct user_partition_data user_partition_data; +struct user_partition_data { + partition_id id; + off_t offset; + off_t size; + off_t content_size; + uint32 block_size; + uint32 status; + uint32 flags; + dev_t volume; + int32 index; + int32 change_counter; // needed? + disk_system_id disk_system; + char *name; + char *content_name; + char *type; + char *content_type; + char *parameters; + char *content_parameters; + void *user_data; + int32 child_count; + user_partition_data *children[1]; +}; + +// userland disk device representation +typedef struct user_disk_device_data { + uint32 device_flags; + char *path; + user_partition_data device_partition_data; +} user_disk_device_data; + +// userland disk system representation +typedef struct user_disk_system_info { + disk_system_id id; + char name[B_FILE_NAME_LENGTH]; // better B_PATH_NAME_LENGTH? + char short_name[B_OS_NAME_LENGTH]; + char pretty_name[B_OS_NAME_LENGTH]; + uint32 flags; +} user_disk_system_info; + +// userland disk device job representation +typedef struct user_disk_device_job_info { + disk_job_id id; + uint32 type; + partition_id partition; + char description[256]; +} user_disk_device_job_info; + + +#endif // _SYSTEM_DDM_USERLAND_INTERFACE_DEFS_H diff --git a/headers/private/kernel/elf32.h b/headers/private/system/elf32.h similarity index 99% rename from headers/private/kernel/elf32.h rename to headers/private/system/elf32.h index 19ddc0f0eb..69495581de 100644 --- a/headers/private/kernel/elf32.h +++ b/headers/private/system/elf32.h @@ -12,7 +12,7 @@ #include #include -#include +#include typedef uint32 Elf32_Addr; diff --git a/headers/private/system/generic_syscall_defs.h b/headers/private/system/generic_syscall_defs.h new file mode 100644 index 0000000000..a96e0c2664 --- /dev/null +++ b/headers/private/system/generic_syscall_defs.h @@ -0,0 +1,16 @@ +/* + * Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef _SYSTEM_GENERIC_SYSCALLS_DEFS_H +#define _SYSTEM_GENERIC_SYSCALLS_DEFS_H + + +/* predefined functions */ +#define B_RESERVED_SYSCALL_BASE 0x80000000 +#define B_SYSCALL_INFO (B_RESERVED_SYSCALL_BASE) + // gets a minimum version uint32, and fills it with the current version on + // return + + +#endif /* _SYSTEM_GENERIC_SYSCALLS_DEFS_H */ diff --git a/headers/private/system/posix/realtime_sem_defs.h b/headers/private/system/posix/realtime_sem_defs.h new file mode 100644 index 0000000000..5e0a7b8bca --- /dev/null +++ b/headers/private/system/posix/realtime_sem_defs.h @@ -0,0 +1,12 @@ +/* + * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. + */ +#ifndef SYSTEM_REALTIME_SEM_H +#define SYSTEM_REALTIME_SEM_H + +#define MAX_POSIX_SEMS_PER_TEAM 128 +#define MAX_POSIX_SEMS 1024 +#define MAX_POSIX_SEM_VALUE INT_MAX + +#endif // SYSTEM_REALTIME_SEM_H diff --git a/headers/private/kernel/real_time_data.h b/headers/private/system/real_time_data.h similarity index 100% rename from headers/private/kernel/real_time_data.h rename to headers/private/system/real_time_data.h diff --git a/headers/private/system/safemode_defs.h b/headers/private/system/safemode_defs.h new file mode 100644 index 0000000000..060eaeccf8 --- /dev/null +++ b/headers/private/system/safemode_defs.h @@ -0,0 +1,21 @@ +/* + * Copyright 2004-2008, Axel Dörfler, axeld@pinc-software.de. All rights reserved. + * Distributed under the terms of the MIT License. + */ +#ifndef _SYSTEM_SAFEMODE_DEFS_H +#define _SYSTEM_SAFEMODE_DEFS_H + + +// these are BeOS compatible additions to the safemode +// constants in the driver_settings.h header + +#define B_SAFEMODE_DISABLE_USER_ADD_ONS "disableuseraddons" +#define B_SAFEMODE_DISABLE_IDE_DMA "disableidedma" +#define B_SAFEMODE_DISABLE_ACPI "disable_acpi" +#define B_SAFEMODE_DISABLE_APM "disable_apm" +#define B_SAFEMODE_DISABLE_SMP "disable_smp" +#define B_SAFEMODE_DISABLE_HYPER_THREADING "disable_hyperthreading" +#define B_SAFEMODE_FAIL_SAFE_VIDEO_MODE "fail_safe_video_mode" + + +#endif /* _SYSTEM_SAFEMODE_DEFS_H */ diff --git a/headers/private/kernel/syscall_process_info.h b/headers/private/system/syscall_process_info.h similarity index 63% rename from headers/private/kernel/syscall_process_info.h rename to headers/private/system/syscall_process_info.h index 970b25691d..13d3f04d09 100644 --- a/headers/private/kernel/syscall_process_info.h +++ b/headers/private/system/syscall_process_info.h @@ -2,8 +2,8 @@ ** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. ** Distributed under the terms of the Haiku License. */ -#ifndef _KERNEL_SYSCALL_PROCESS_INFO_H -#define _KERNEL_SYSCALL_PROCESS_INFO_H +#ifndef _SYSTEM_SYSCALL_PROCESS_INFO_H +#define _SYSTEM_SYSCALL_PROCESS_INFO_H enum which_process_info { SESSION_ID = 1, @@ -11,4 +11,4 @@ enum which_process_info { PARENT_ID, }; -#endif /* _KRENEL_SYSCALL_PROCESS_INFO_H */ +#endif /* _SYSTEM_SYSCALL_PROCESS_INFO_H */ diff --git a/headers/private/kernel/syscalls.h b/headers/private/system/syscalls.h similarity index 99% rename from headers/private/kernel/syscalls.h rename to headers/private/system/syscalls.h index 91c9b49cdb..e98ba75b64 100644 --- a/headers/private/kernel/syscalls.h +++ b/headers/private/system/syscalls.h @@ -2,8 +2,8 @@ * Copyright 2004-2008, Haiku Inc. All rights reserved. * Distributed under the terms of the MIT License. */ -#ifndef _KERNEL_SYSCALLS_H -#define _KERNEL_SYSCALLS_H +#ifndef _SYSTEM_SYSCALLS_H +#define _SYSTEM_SYSCALLS_H #include @@ -487,4 +487,4 @@ status_t stop_disk_device_watching(port_id, int32 token); } #endif -#endif /* _KERNEL_SYSCALLS_H */ +#endif /* _SYSTEM_SYSCALLS_H */ diff --git a/headers/private/system/thread_defs.h b/headers/private/system/thread_defs.h new file mode 100644 index 0000000000..15a0e36d05 --- /dev/null +++ b/headers/private/system/thread_defs.h @@ -0,0 +1,38 @@ +/* + * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. + */ +#ifndef _SYSTEM_THREAD_DEFS_H +#define _SYSTEM_THREAD_DEFS_H + +#include + + +#define THREAD_RETURN_EXIT 0x1 +#define THREAD_RETURN_INTERRUPTED 0x2 +#define THREAD_STOPPED 0x3 +#define THREAD_CONTINUED 0x4 + +/** Size of the stack given to teams in user space */ +#define USER_MAIN_THREAD_STACK_SIZE (16 * 1024 * 1024) // 16 MB +#define USER_STACK_SIZE (256 * 1024) // 256 kB +#define MIN_USER_STACK_SIZE (4 * 1024) // 4 KB +#define MAX_USER_STACK_SIZE (16 * 1024 * 1024) // 16 MB +#define USER_STACK_GUARD_PAGES 4 // 16 kB + + +struct thread_creation_attributes { + int32 (*entry)(thread_func, void *); + const char* name; + int32 priority; + void* args1; + void* args2; + void* stack_address; + size_t stack_size; + + // when calling from kernel only + team_id team; + thread_id thread; +}; + +#endif /* _SYSTEM_THREAD_DEFS_H */ diff --git a/headers/private/kernel/tls.h b/headers/private/system/tls.h similarity index 100% rename from headers/private/kernel/tls.h rename to headers/private/system/tls.h diff --git a/headers/private/kernel/user_runtime.h b/headers/private/system/user_runtime.h similarity index 100% rename from headers/private/kernel/user_runtime.h rename to headers/private/system/user_runtime.h diff --git a/headers/private/system/user_thread_defs.h b/headers/private/system/user_thread_defs.h new file mode 100644 index 0000000000..0bdd1f791a --- /dev/null +++ b/headers/private/system/user_thread_defs.h @@ -0,0 +1,19 @@ +/* + * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. + */ +#ifndef _SYSTEM_USER_THREAD_DEFS_H +#define _SYSTEM_USER_THREAD_DEFS_H + +#include + + +struct user_thread { + int32 defer_signals; // counter; 0 == signals allowed + uint32 pending_signals; // signals that are pending, when + // signals are deferred + status_t wait_status; +}; + + +#endif /* _SYSTEM_USER_THREAD_DEFS_H */ diff --git a/headers/private/system/vfs_defs.h b/headers/private/system/vfs_defs.h new file mode 100644 index 0000000000..9462ccd3b3 --- /dev/null +++ b/headers/private/system/vfs_defs.h @@ -0,0 +1,23 @@ +/* + * Copyright 2002-2008, Axel Dörfler, axeld@pinc-software.de. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the NewOS License. + */ +#ifndef _SYSTEM_VFS_DEFS_H +#define _SYSTEM_VFS_DEFS_H + +#include + +#include + + +struct fd_info { + int number; + int32 open_mode; + dev_t device; + ino_t node; +}; + +#endif /* _SYSTEM_VFS_DEFS_H */ diff --git a/headers/private/system/vm_defs.h b/headers/private/system/vm_defs.h new file mode 100644 index 0000000000..c4a98f52c2 --- /dev/null +++ b/headers/private/system/vm_defs.h @@ -0,0 +1,71 @@ +/* + * Copyright 2002-2008, Axel Dörfler, axeld@pinc-software.de. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. + * Distributed under the terms of the NewOS License. + */ +#ifndef _SYSTEM_VM_DEFS_H +#define _SYSTEM_VM_DEFS_H + +#include + + +// additional protection flags +// Note: the VM probably won't support all combinations - it will try +// its best, but create_area() will fail if it has to. +// Of course, the exact behaviour will be documented somewhere... +#define B_EXECUTE_AREA 0x04 +#define B_STACK_AREA 0x08 + // "stack" protection is not available on most platforms - it's used + // to only commit memory as needed, and have guard pages at the + // bottom of the stack. + // "execute" protection is currently ignored, but nevertheless, you + // should use it if you require to execute code in that area. + +#define B_KERNEL_EXECUTE_AREA 0x40 +#define B_KERNEL_STACK_AREA 0x80 + +#define B_USER_PROTECTION \ + (B_READ_AREA | B_WRITE_AREA | B_EXECUTE_AREA | B_STACK_AREA) +#define B_KERNEL_PROTECTION \ + (B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA | B_KERNEL_EXECUTE_AREA \ + | B_KERNEL_STACK_AREA) + +// TODO: These aren't really a protection flags, but since the "protection" +// field is the only flag field, we currently use it for this. +// A cleaner approach would be appreciated - maybe just an official generic +// flags region in the protection field. +#define B_OVERCOMMITTING_AREA 0x1000 +#define B_SHARED_AREA 0x2000 +#define B_KERNEL_AREA 0x4000 + // Usable from userland according to its protection flags, but the area + // itself is not deletable, resizable, etc from userland. + +#define B_USER_AREA_FLAGS (B_USER_PROTECTION) +#define B_KERNEL_AREA_FLAGS \ + (B_KERNEL_PROTECTION | B_USER_CLONEABLE_AREA | B_OVERCOMMITTING_AREA \ + | B_SHARED_AREA) + +// flags for vm_get_physical_page() +enum { + PHYSICAL_PAGE_NO_WAIT = 0, + PHYSICAL_PAGE_CAN_WAIT, +}; + +// mapping argument for several internal VM functions +enum { + REGION_NO_PRIVATE_MAP = 0, + REGION_PRIVATE_MAP +}; + +enum { + // ToDo: these are here only temporarily - it's a private + // addition to the BeOS create_area() lock flags + B_ALREADY_WIRED = 6, +}; + +#define MEMORY_TYPE_SHIFT 28 + + +#endif /* _SYSTEM_VM_DEFS_H */ diff --git a/src/add-ons/input_server/devices/keyboard/Jamfile b/src/add-ons/input_server/devices/keyboard/Jamfile index 64c15c90cd..ff131994c4 100644 --- a/src/add-ons/input_server/devices/keyboard/Jamfile +++ b/src/add-ons/input_server/devices/keyboard/Jamfile @@ -2,8 +2,8 @@ SubDir HAIKU_TOP src add-ons input_server devices keyboard ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders input interface kernel tracker ; -UseArchHeaders $(TARGET_ARCH) ; +UsePrivateHeaders input interface tracker ; +UsePrivateSystemHeaders ; Addon keyboard : KeyboardInputDevice.cpp diff --git a/src/add-ons/kernel/bus_managers/agp_gart/Jamfile b/src/add-ons/kernel/bus_managers/agp_gart/Jamfile index 67cef21eac..9c35beef1e 100644 --- a/src/add-ons/kernel/bus_managers/agp_gart/Jamfile +++ b/src/add-ons/kernel/bus_managers/agp_gart/Jamfile @@ -3,10 +3,9 @@ SubDir HAIKU_TOP src add-ons kernel bus_managers agp_gart ; SetSubDirSupportedPlatformsBeOSCompatible ; SubDirC++Flags -fno-rtti ; -UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; -UsePrivateHeaders [ FDirName kernel arch $(TARGET_ARCH) ] ; UsePrivateHeaders [ FDirName graphics intel_extreme ] ; -UsePrivateHeaders graphics kernel ; +UsePrivateHeaders graphics ; +UsePrivateKernelHeaders ; KernelAddon agp_gart : agp_gart.cpp diff --git a/src/add-ons/kernel/bus_managers/ide/Jamfile b/src/add-ons/kernel/bus_managers/ide/Jamfile index 1cdbd592a2..15c8d76736 100644 --- a/src/add-ons/kernel/bus_managers/ide/Jamfile +++ b/src/add-ons/kernel/bus_managers/ide/Jamfile @@ -1,8 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel bus_managers ide ; -UsePrivateHeaders drivers kernel ; -UsePrivateHeaders [ FDirName kernel arch $(TARGET_ARCH) ] ; -UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; +UsePrivateHeaders drivers ; +UsePrivateKernelHeaders ; KernelAddon ide : ata.c diff --git a/src/add-ons/kernel/bus_managers/isa/Jamfile b/src/add-ons/kernel/bus_managers/isa/Jamfile index e56ad6c257..598ee1a55f 100644 --- a/src/add-ons/kernel/bus_managers/isa/Jamfile +++ b/src/add-ons/kernel/bus_managers/isa/Jamfile @@ -1,8 +1,6 @@ SubDir HAIKU_TOP src add-ons kernel bus_managers isa ; -UsePrivateHeaders kernel ; -UsePrivateHeaders [ FDirName kernel arch $(TARGET_ARCH) ] ; -UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; +UsePrivateKernelHeaders ; KernelAddon isa : isa.c diff --git a/src/add-ons/kernel/bus_managers/scsi/Jamfile b/src/add-ons/kernel/bus_managers/scsi/Jamfile index dd970c29e6..8ce5dac419 100644 --- a/src/add-ons/kernel/bus_managers/scsi/Jamfile +++ b/src/add-ons/kernel/bus_managers/scsi/Jamfile @@ -1,8 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel bus_managers scsi ; -UsePrivateHeaders drivers kernel ; -UsePrivateHeaders [ FDirName kernel arch $(TARGET_ARCH) ] ; -UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; +UsePrivateHeaders drivers ; +UsePrivateKernelHeaders ; # disable debug output, if debugging is disabled if $(DEBUG) = 0 { diff --git a/src/add-ons/kernel/bus_managers/usb/Jamfile b/src/add-ons/kernel/bus_managers/usb/Jamfile index 6e6c7da4ce..ef2e5941b4 100644 --- a/src/add-ons/kernel/bus_managers/usb/Jamfile +++ b/src/add-ons/kernel/bus_managers/usb/Jamfile @@ -5,12 +5,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ; SubDirC++Flags -fno-rtti ; SubDirSysHdrs $(SUBDIR) ; -UsePrivateHeaders [ FDirName kernel ] ; if $(TARGET_PLATFORM) != haiku { - UsePublicHeaders [ FDirName drivers ] ; + UsePrivateHeaders kernel ; + UsePublicHeaders drivers ; } else { - UseArchHeaders $(TARGET_ARCH) ; - UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; + UsePrivateKernelHeaders ; } KernelStaticLibrary libusb.a : diff --git a/src/add-ons/kernel/busses/scsi/ahci/Jamfile b/src/add-ons/kernel/busses/scsi/ahci/Jamfile index 57bd0a805a..2022679bf8 100644 --- a/src/add-ons/kernel/busses/scsi/ahci/Jamfile +++ b/src/add-ons/kernel/busses/scsi/ahci/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src add-ons kernel busses scsi ahci ; -UsePrivateHeaders drivers kernel ; -UsePrivateHeaders [ FDirName kernel arch $(TARGET_ARCH) ] ; +UsePrivateHeaders drivers ; +UsePrivateKernelHeaders ; KernelAddon ahci : ahci.c diff --git a/src/add-ons/kernel/drivers/random/Jamfile b/src/add-ons/kernel/drivers/random/Jamfile index 377a320837..30853b8663 100644 --- a/src/add-ons/kernel/drivers/random/Jamfile +++ b/src/add-ons/kernel/drivers/random/Jamfile @@ -1,7 +1,6 @@ SubDir HAIKU_TOP src add-ons kernel drivers random ; -UsePrivateHeaders kernel [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; -UseArchHeaders $(TARGET_ARCH) ; +UsePrivateKernelHeaders ; KernelAddon random : driver.c diff --git a/src/add-ons/kernel/generic/block_io/virtual_memory.c b/src/add-ons/kernel/generic/block_io/virtual_memory.c index 35d5a6fd2c..2f769ac9db 100644 --- a/src/add-ons/kernel/generic/block_io/virtual_memory.c +++ b/src/add-ons/kernel/generic/block_io/virtual_memory.c @@ -14,7 +14,6 @@ #include "virtual_memory.h" #include "wrapper.h" -#include #include diff --git a/src/apps/powerstatus/Jamfile b/src/apps/powerstatus/Jamfile index 67705a04c5..573ae76a3b 100644 --- a/src/apps/powerstatus/Jamfile +++ b/src/apps/powerstatus/Jamfile @@ -3,7 +3,7 @@ SubDir HAIKU_TOP src apps powerstatus ; SetSubDirSupportedPlatformsBeOSCompatible ; UsePrivateHeaders shared ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; Application PowerStatus : PowerStatusWindow.cpp diff --git a/src/apps/powerstatus/PowerStatusView.cpp b/src/apps/powerstatus/PowerStatusView.cpp index 948d7d6f86..1aa1086097 100644 --- a/src/apps/powerstatus/PowerStatusView.cpp +++ b/src/apps/powerstatus/PowerStatusView.cpp @@ -11,8 +11,8 @@ #include "PowerStatus.h" #ifdef HAIKU_TARGET_PLATFORM_HAIKU -# include -# include +# include +# include # include // temporary, as long as there is no real power state API #endif diff --git a/src/bin/Jamfile b/src/bin/Jamfile index 12db0cdd07..d2e1447227 100644 --- a/src/bin/Jamfile +++ b/src/bin/Jamfile @@ -6,7 +6,7 @@ UsePrivateHeaders app ; UsePrivateHeaders shared ; UsePrivateHeaders storage ; UseLibraryHeaders usb ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel file_cache ; local haiku-utils_rsrc = [ FGristFiles haiku-utils.rsrc ] ; diff --git a/src/bin/fdinfo.cpp b/src/bin/fdinfo.cpp index 800b8abb5b..97036666f2 100644 --- a/src/bin/fdinfo.cpp +++ b/src/bin/fdinfo.cpp @@ -10,8 +10,8 @@ #include #include -#include #include +#include #include #include diff --git a/src/bin/listdev/Jamfile b/src/bin/listdev/Jamfile index b167e2660d..ab27f27aef 100644 --- a/src/bin/listdev/Jamfile +++ b/src/bin/listdev/Jamfile @@ -1,8 +1,9 @@ SubDir HAIKU_TOP src bin listdev ; -UsePrivateHeaders kernel shared ; -UsePrivateHeaders [ FDirName kernel arch $(TARGET_ARCH) ] ; -UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; +UsePrivateHeaders shared ; +UsePrivateKernelHeaders ; + # TODO: The dm_wrapper.h includes ! Clean that up! +UsePrivateSystemHeaders ; BinCommand listdev : dm_wrapper.c diff --git a/src/bin/listdev/dm_wrapper.c b/src/bin/listdev/dm_wrapper.c index 5e79f783f5..1aa1e1bbf6 100644 --- a/src/bin/listdev/dm_wrapper.c +++ b/src/bin/listdev/dm_wrapper.c @@ -4,7 +4,7 @@ #include #include -#include +#include #include #include diff --git a/src/bin/multiuser/Jamfile b/src/bin/multiuser/Jamfile index f755d5768f..6a4bc30513 100644 --- a/src/bin/multiuser/Jamfile +++ b/src/bin/multiuser/Jamfile @@ -1,7 +1,9 @@ SubDir HAIKU_TOP src bin multiuser ; -UsePrivateKernelHeaders ; +UsePrivateSystemHeaders ; UsePrivateHeaders app ; +UsePrivateHeaders kernel ; + # for UsePrivateHeaders libroot ; UsePrivateHeaders shared ; diff --git a/src/bin/network/arp/Jamfile b/src/bin/network/arp/Jamfile index 6f8165b9c8..93561d7eb0 100644 --- a/src/bin/network/arp/Jamfile +++ b/src/bin/network/arp/Jamfile @@ -9,7 +9,7 @@ if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) { } UsePrivateHeaders net ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; BinCommand arp : arp.cpp diff --git a/src/bin/network/arp/arp.cpp b/src/bin/network/arp/arp.cpp index e7e10e0eeb..9a8be9f450 100644 --- a/src/bin/network/arp/arp.cpp +++ b/src/bin/network/arp/arp.cpp @@ -9,7 +9,7 @@ #include -#include +#include #include #include diff --git a/src/bin/network/netstat/Jamfile b/src/bin/network/netstat/Jamfile index d226c150e7..64e71428ae 100644 --- a/src/bin/network/netstat/Jamfile +++ b/src/bin/network/netstat/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src bin network netstat ; UsePrivateHeaders net ; -UsePrivateKernelHeaders ; # for syscalls.h +UsePrivateSystemHeaders ; # for syscalls.h BinCommand netstat : netstat.cpp diff --git a/src/bin/strace/Jamfile b/src/bin/strace/Jamfile index b4af61ed27..81385991ab 100644 --- a/src/bin/strace/Jamfile +++ b/src/bin/strace/Jamfile @@ -1,11 +1,10 @@ SubDir HAIKU_TOP src bin strace ; -UseArchHeaders $(TARGET_ARCH) ; UsePrivateHeaders device ; UsePrivateHeaders drivers ; -UsePrivateHeaders kernel ; UsePrivateHeaders shared ; UsePrivateHeaders net ; +UsePrivateSystemHeaders ; # find headers generated by gensyscalls SubDirHdrs $(TARGET_COMMON_DEBUG_LOCATE_TARGET) ; diff --git a/src/kits/app/Jamfile b/src/kits/app/Jamfile index 7aef610ef1..9a79f4bfda 100644 --- a/src/kits/app/Jamfile +++ b/src/kits/app/Jamfile @@ -18,7 +18,7 @@ if $(RUN_WITHOUT_APP_SERVER) != 0 { } UsePrivateHeaders shared app interface kernel ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; SetSubDirSupportedPlatforms haiku libbe_test ; diff --git a/src/kits/debug/Jamfile b/src/kits/debug/Jamfile index 38aa51f5da..f064cccb88 100644 --- a/src/kits/debug/Jamfile +++ b/src/kits/debug/Jamfile @@ -1,10 +1,11 @@ SubDir HAIKU_TOP src kits debug ; -UseArchHeaders $(TARGET_ARCH) ; UsePrivateHeaders debug ; UsePrivateHeaders kernel ; + # for UsePrivateHeaders runtime_loader ; UsePrivateHeaders shared ; +UsePrivateSystemHeaders ; SubDirHdrs [ FDirName $(SUBDIR) arch ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) arch $(TARGET_ARCH) ] ; @@ -16,7 +17,3 @@ SharedLibrary libdebug.so : # architecture specific arch_debug_support.cpp ; - -LinkAgainst libdebug.so : - libroot.so -; diff --git a/src/kits/network/Jamfile b/src/kits/network/Jamfile index 5fe1035eae..86fe4e355e 100644 --- a/src/kits/network/Jamfile +++ b/src/kits/network/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src kits network ; UsePrivateHeaders libroot net shared ; -UsePrivateKernelHeaders ; +UsePrivateSystemHeaders ; SharedLibrary libnetwork.so : init.cpp diff --git a/src/kits/opengl/GLRendererRoster.cpp b/src/kits/opengl/GLRendererRoster.cpp index 06a14c7139..873811c8ab 100644 --- a/src/kits/opengl/GLRendererRoster.cpp +++ b/src/kits/opengl/GLRendererRoster.cpp @@ -5,8 +5,9 @@ * Authors: */ +#include #include -#include +#include #include #include diff --git a/src/kits/opengl/Jamfile b/src/kits/opengl/Jamfile index 58b4bb492c..635aa1571d 100644 --- a/src/kits/opengl/Jamfile +++ b/src/kits/opengl/Jamfile @@ -2,7 +2,8 @@ SubDir HAIKU_TOP src kits opengl ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders kernel opengl ; +UsePrivateHeaders opengl ; +UsePrivateSystemHeaders ; if $(TARGET_PLATFORM) != haiku { UseHeaders [ FDirName $(HAIKU_TOP) headers os opengl ] : true ; diff --git a/src/kits/storage/Jamfile b/src/kits/storage/Jamfile index 852b75afb7..bc40d610b8 100644 --- a/src/kits/storage/Jamfile +++ b/src/kits/storage/Jamfile @@ -4,9 +4,8 @@ SetSubDirSupportedPlatforms haiku libbe_test ; UseLibraryHeaders icon ; -UsePrivateHeaders shared app kernel storage ; -UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; -UseArchHeaders $(TARGET_ARCH) ; +UsePrivateHeaders shared app storage ; +UsePrivateSystemHeaders ; # for libbe_test UsePublicHeaders [ FDirName add-ons registrar ] ; diff --git a/src/kits/storage/disk_device/DiskDevice.cpp b/src/kits/storage/disk_device/DiskDevice.cpp index ac066e8426..bd6f032443 100644 --- a/src/kits/storage/disk_device/DiskDevice.cpp +++ b/src/kits/storage/disk_device/DiskDevice.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include "DiskDeviceJob.h" #include "DiskDeviceJobGenerator.h" diff --git a/src/kits/storage/disk_device/DiskDeviceJobGenerator.cpp b/src/kits/storage/disk_device/DiskDeviceJobGenerator.cpp index 58381ae1f6..98c06e729b 100644 --- a/src/kits/storage/disk_device/DiskDeviceJobGenerator.cpp +++ b/src/kits/storage/disk_device/DiskDeviceJobGenerator.cpp @@ -12,7 +12,7 @@ #include #include -#include +#include #include "DiskDeviceJob.h" #include "DiskDeviceJobQueue.h" diff --git a/src/kits/storage/disk_device/DiskDeviceRoster.cpp b/src/kits/storage/disk_device/DiskDeviceRoster.cpp index 757be2b0eb..71b5eb1c44 100644 --- a/src/kits/storage/disk_device/DiskDeviceRoster.cpp +++ b/src/kits/storage/disk_device/DiskDeviceRoster.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include //#include "AddOnImage.h" diff --git a/src/kits/storage/disk_device/DiskSystem.cpp b/src/kits/storage/disk_device/DiskSystem.cpp index ad61749fe5..0124a5bb33 100644 --- a/src/kits/storage/disk_device/DiskSystem.cpp +++ b/src/kits/storage/disk_device/DiskSystem.cpp @@ -8,7 +8,7 @@ #include #include -#include +#include #include #include "DiskSystemAddOnManager.h" diff --git a/src/kits/storage/disk_device/MutablePartition.cpp b/src/kits/storage/disk_device/MutablePartition.cpp index b3d7358f8e..312340ae03 100644 --- a/src/kits/storage/disk_device/MutablePartition.cpp +++ b/src/kits/storage/disk_device/MutablePartition.cpp @@ -12,7 +12,7 @@ #include -#include +#include #include "DiskDeviceUtils.h" #include "PartitionDelegate.h" diff --git a/src/kits/storage/disk_device/Partition.cpp b/src/kits/storage/disk_device/Partition.cpp index 7c560d746d..d3df004769 100644 --- a/src/kits/storage/disk_device/Partition.cpp +++ b/src/kits/storage/disk_device/Partition.cpp @@ -23,7 +23,7 @@ #include -#include +#include #include #include "PartitionDelegate.h" diff --git a/src/kits/storage/disk_device/PartitioningInfo.cpp b/src/kits/storage/disk_device/PartitioningInfo.cpp index cae1859ed5..4dc72d20e4 100644 --- a/src/kits/storage/disk_device/PartitioningInfo.cpp +++ b/src/kits/storage/disk_device/PartitioningInfo.cpp @@ -8,10 +8,11 @@ #include +#include #include #include -#include +#include using namespace std; diff --git a/src/kits/translation/Jamfile b/src/kits/translation/Jamfile index eb56879604..5cc1f217be 100644 --- a/src/kits/translation/Jamfile +++ b/src/kits/translation/Jamfile @@ -7,7 +7,8 @@ if $(TARGET_PLATFORM) != haiku { UsePublicHeaders translation ; } -UsePrivateHeaders kernel translation textencoding ; +UsePrivateHeaders translation textencoding ; +UsePrivateSystemHeaders ; SharedLibrary libtranslation.so : BitmapStream.cpp diff --git a/src/kits/translation/TranslatorRoster.cpp b/src/kits/translation/TranslatorRoster.cpp index e1e875bd13..01b1e3f5ec 100644 --- a/src/kits/translation/TranslatorRoster.cpp +++ b/src/kits/translation/TranslatorRoster.cpp @@ -17,8 +17,9 @@ #include "FuncTranslator.h" #include "TranslatorRosterPrivate.h" +#include #include -#include +#include #include #include diff --git a/src/preferences/time/Jamfile b/src/preferences/time/Jamfile index 72ecbcd64e..a00f13607b 100644 --- a/src/preferences/time/Jamfile +++ b/src/preferences/time/Jamfile @@ -2,8 +2,7 @@ SubDir HAIKU_TOP src preferences time ; SetSubDirSupportedPlatformsBeOSCompatible ; -UsePrivateHeaders kernel ; -UseArchHeaders $(TARGET_ARCH) ; +UsePrivateSystemHeaders ; Preference Time : AnalogClock.cpp diff --git a/src/servers/app/drawing/AccelerantHWInterface.cpp b/src/servers/app/drawing/AccelerantHWInterface.cpp index 3646a7d9c0..bd9609cdce 100644 --- a/src/servers/app/drawing/AccelerantHWInterface.cpp +++ b/src/servers/app/drawing/AccelerantHWInterface.cpp @@ -24,10 +24,11 @@ #include "SystemPalette.h" #include -#include +#include #include #include +#include #include #include #include diff --git a/src/servers/app/drawing/Jamfile b/src/servers/app/drawing/Jamfile index 2c814633c0..df50ba0abb 100644 --- a/src/servers/app/drawing/Jamfile +++ b/src/servers/app/drawing/Jamfile @@ -1,8 +1,9 @@ SubDir HAIKU_TOP src servers app drawing ; UseLibraryHeaders agg ; -UsePrivateHeaders app graphics kernel interface shared ; +UsePrivateHeaders app graphics interface shared ; UsePrivateHeaders [ FDirName graphics common ] ; +UsePrivateSystemHeaders ; UseHeaders [ FDirName $(HAIKU_TOP) src servers app ] ; UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter ] ; diff --git a/src/servers/input/InputServer.cpp b/src/servers/input/InputServer.cpp index 0c600e4763..b5c8e3a678 100644 --- a/src/servers/input/InputServer.cpp +++ b/src/servers/input/InputServer.cpp @@ -10,7 +10,7 @@ #include "kb_mouse_driver.h" #include "MethodReplicant.h" -#include +#include #include #include @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include diff --git a/src/servers/input/Jamfile b/src/servers/input/Jamfile index 41d59499fa..d6501f3f1c 100644 --- a/src/servers/input/Jamfile +++ b/src/servers/input/Jamfile @@ -30,7 +30,8 @@ SEARCH on US-International.keymap AddResources input_server : input_server.rdef ; -UsePrivateHeaders app input interface kernel shared storage ; +UsePrivateHeaders app input interface shared storage ; +UsePrivateSystemHeaders ; SubDirC++Flags -DADD_ON_STABLE_SECONDS=1 ; # for AddOnMonitorHandler.cpp diff --git a/src/servers/media/AddOnManager.cpp b/src/servers/media/AddOnManager.cpp index 2ffc55c203..01828a06b0 100644 --- a/src/servers/media/AddOnManager.cpp +++ b/src/servers/media/AddOnManager.cpp @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include "FormatManager.h" diff --git a/src/servers/media/Jamfile b/src/servers/media/Jamfile index b764f146e6..8ad8d43fd7 100644 --- a/src/servers/media/Jamfile +++ b/src/servers/media/Jamfile @@ -3,7 +3,7 @@ SubDir HAIKU_TOP src servers media ; SetSubDirSupportedPlatformsBeOSCompatible ; UsePrivateHeaders media shared storage ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; AddResources media_server : media_server.rdef ; diff --git a/src/servers/registrar/Jamfile b/src/servers/registrar/Jamfile index d58a0ab5da..6dbeb0009d 100644 --- a/src/servers/registrar/Jamfile +++ b/src/servers/registrar/Jamfile @@ -2,11 +2,12 @@ SubDir HAIKU_TOP src servers registrar ; UsePrivateHeaders app ; UsePrivateHeaders kernel ; + # for UsePrivateHeaders libroot ; UsePrivateHeaders shared ; UsePrivateHeaders storage ; UsePrivateHeaders tracker ; -UseArchHeaders $(TARGET_ARCH) ; +UsePrivateSystemHeaders ; SEARCH_SOURCE += [ FDirName $(SUBDIR) mime ] ; diff --git a/src/system/boot/loader/Jamfile b/src/system/boot/loader/Jamfile index 8cbe3b673c..e94a70092f 100644 --- a/src/system/boot/loader/Jamfile +++ b/src/system/boot/loader/Jamfile @@ -4,10 +4,10 @@ SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems efi ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ; -UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ; +UsePrivateKernelHeaders ; UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; -UsePrivateHeaders [ FDirName kernel util ] [ FDirName kernel arch $(TARGET_ARCH) ] ; -UsePrivateHeaders kernel shared storage ; +UsePrivateHeaders [ FDirName kernel util ] ; +UsePrivateHeaders shared storage ; { local defines = diff --git a/src/system/glue/Jamfile b/src/system/glue/Jamfile index 1b9e86af3f..d1d1e63951 100644 --- a/src/system/glue/Jamfile +++ b/src/system/glue/Jamfile @@ -1,8 +1,10 @@ SubDir HAIKU_TOP src system glue ; +UsePrivateSystemHeaders ; + KernelObjects init_term_dyn.c start_dyn.c - ; +; SubInclude HAIKU_TOP src system glue arch ; diff --git a/src/system/kernel/arch/m68k/Jamfile b/src/system/kernel/arch/m68k/Jamfile index ed4d43632d..15f6a62c8b 100644 --- a/src/system/kernel/arch/m68k/Jamfile +++ b/src/system/kernel/arch/m68k/Jamfile @@ -1,10 +1,7 @@ SubDir HAIKU_TOP src system kernel arch m68k ; SubDirHdrs $(SUBDIR) $(DOTDOT) generic ; -#UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) ; -# for some reason, this doesn't work -UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] - [ FDirName kernel boot platform $(HAIKU_BOOT_PLATFORM) ] ; +UsePrivateKernelHeaders ; SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; diff --git a/src/system/kernel/arch/ppc/Jamfile b/src/system/kernel/arch/ppc/Jamfile index 87d23d3dab..2a461150c0 100644 --- a/src/system/kernel/arch/ppc/Jamfile +++ b/src/system/kernel/arch/ppc/Jamfile @@ -1,10 +1,7 @@ SubDir HAIKU_TOP src system kernel arch ppc ; SubDirHdrs $(SUBDIR) $(DOTDOT) generic ; -#UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) ; -# for some reason, this doesn't work -UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] - [ FDirName kernel boot platform $(HAIKU_BOOT_PLATFORM) ] ; +UsePrivateKernelHeaders ; SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; diff --git a/src/system/kernel/arch/x86/Jamfile b/src/system/kernel/arch/x86/Jamfile index 39d48cc994..7e976059b3 100644 --- a/src/system/kernel/arch/x86/Jamfile +++ b/src/system/kernel/arch/x86/Jamfile @@ -5,8 +5,7 @@ SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) system kernel ] ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers ps2 ; SubDirHdrs $(SUBDIR) $(DOTDOT) generic ; -UsePrivateHeaders kernel [ FDirName kernel arch $(TARGET_ARCH) ] - [ FDirName kernel boot platform $(HAIKU_BOOT_PLATFORM) ] ; +UsePrivateKernelHeaders ; SEARCH_SOURCE += [ FDirName $(SUBDIR) $(DOTDOT) generic ] ; diff --git a/src/system/kernel/arch/x86/arch_interrupts.S b/src/system/kernel/arch/x86/arch_interrupts.S index 8ac4d2d513..5c19920c5e 100644 --- a/src/system/kernel/arch/x86/arch_interrupts.S +++ b/src/system/kernel/arch/x86/arch_interrupts.S @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include "tracing_config.h" diff --git a/src/system/kernel/lib/kernel_vsprintf.c b/src/system/kernel/lib/kernel_vsprintf.c index 9a1821a1d0..f47f44763a 100644 --- a/src/system/kernel/lib/kernel_vsprintf.c +++ b/src/system/kernel/lib/kernel_vsprintf.c @@ -8,7 +8,6 @@ #include -#include #include #include diff --git a/src/system/libroot/Jamfile b/src/system/libroot/Jamfile index 9410b27cf6..66a3ee4033 100644 --- a/src/system/libroot/Jamfile +++ b/src/system/libroot/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src system libroot ; UsePrivateHeaders libroot ; -UsePrivateHeaders kernel ; +UsePrivateSystemHeaders ; UnarchiveObjects $(TARGET_GCC_LIBGCC_OBJECTS) : $(TARGET_GCC_LIBGCC) ; # we need to link against libgcc.a objects and make diff --git a/src/system/libroot/os/Jamfile b/src/system/libroot/os/Jamfile index 7f08701da3..aa7248ee9f 100644 --- a/src/system/libroot/os/Jamfile +++ b/src/system/libroot/os/Jamfile @@ -1,6 +1,9 @@ SubDir HAIKU_TOP src system libroot os ; -UsePrivateKernelHeaders ; +UsePrivateSystemHeaders ; +UsePrivateHeaders kernel ; + # for util/KMessage.h +UsePrivateHeaders libroot ; MergeObject os_main.o : area.c diff --git a/src/system/libroot/os/arch/m68k/Jamfile b/src/system/libroot/os/arch/m68k/Jamfile index feaed4399e..b5f605924f 100644 --- a/src/system/libroot/os/arch/m68k/Jamfile +++ b/src/system/libroot/os/arch/m68k/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src system libroot os arch m68k ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; MergeObject os_arch_$(TARGET_ARCH).o : atomic.S diff --git a/src/system/libroot/os/arch/ppc/Jamfile b/src/system/libroot/os/arch/ppc/Jamfile index 8474e3d05d..d478e29411 100644 --- a/src/system/libroot/os/arch/ppc/Jamfile +++ b/src/system/libroot/os/arch/ppc/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src system libroot os arch ppc ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; MergeObject os_arch_$(TARGET_ARCH).o : atomic.S diff --git a/src/system/libroot/os/arch/x86/Jamfile b/src/system/libroot/os/arch/x86/Jamfile index 08eb738494..64cd8a948e 100644 --- a/src/system/libroot/os/arch/x86/Jamfile +++ b/src/system/libroot/os/arch/x86/Jamfile @@ -1,6 +1,9 @@ SubDir HAIKU_TOP src system libroot os arch x86 ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateKernelHeaders ; + # TODO: Replace by "UsePrivateHeaders libroot" after resolving the TODO in + # time.c! +UsePrivateSystemHeaders ; MergeObject os_arch_$(TARGET_ARCH).o : atomic.S diff --git a/src/system/libroot/os/arch/x86/syscalls.inc b/src/system/libroot/os/arch/x86/syscalls.inc index 0e48d2459f..fa156cbd99 100644 --- a/src/system/libroot/os/arch/x86/syscalls.inc +++ b/src/system/libroot/os/arch/x86/syscalls.inc @@ -14,7 +14,7 @@ * branch to the syscall vector in the commpage */ -#include +#include #define _SYSCALL(name, n) \ .globl name; \ diff --git a/src/system/libroot/os/arch/x86/time.c b/src/system/libroot/os/arch/x86/time.c index f8ccc1e824..f1c29dd98d 100644 --- a/src/system/libroot/os/arch/x86/time.c +++ b/src/system/libroot/os/arch/x86/time.c @@ -17,7 +17,8 @@ __arch_init_time(struct real_time_data *data, bool setDefaults) data->arch_data.system_time_conversion_factor = 100000; } - // ToDo: this should only store a pointer to that value + // TODO: this should only store a pointer to that value + // When resolving this TODO, also resolve the one in the Jamfile. __x86_setup_system_time(data->arch_data.system_time_conversion_factor); } diff --git a/src/system/libroot/os/thread.c b/src/system/libroot/os/thread.c index 6f41b679f7..647ba05ffa 100644 --- a/src/system/libroot/os/thread.c +++ b/src/system/libroot/os/thread.c @@ -9,11 +9,10 @@ #include #include -#include - -#include "libroot_private.h" -#include "tls.h" -#include "syscalls.h" +#include +#include +#include +#include #undef thread_entry diff --git a/src/system/libroot/os/time.c b/src/system/libroot/os/time.c index 05207a1bdf..3eb4ef4f81 100644 --- a/src/system/libroot/os/time.c +++ b/src/system/libroot/os/time.c @@ -4,7 +4,7 @@ */ -#include +#include #include #include #include diff --git a/src/system/libroot/posix/Jamfile b/src/system/libroot/posix/Jamfile index 087de76200..1d1020b53d 100644 --- a/src/system/libroot/posix/Jamfile +++ b/src/system/libroot/posix/Jamfile @@ -1,7 +1,10 @@ SubDir HAIKU_TOP src system libroot posix ; UsePrivateHeaders app shared [ FDirName syslog_daemon ] ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; +UsePrivateHeaders kernel ; + # For util/KMessage.h +UsePrivateHeaders libroot ; if $(HAIKU_MULTIUSER_QUERY) = 1 { PWD_BACKEND = pwd_query.c ; diff --git a/src/system/libroot/posix/malloc/Jamfile b/src/system/libroot/posix/malloc/Jamfile index 8fe8a2f082..423cda5ffe 100644 --- a/src/system/libroot/posix/malloc/Jamfile +++ b/src/system/libroot/posix/malloc/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src system libroot posix malloc ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; UsePrivateHeaders libroot ; MergeObject posix_malloc.o : diff --git a/src/system/libroot/posix/pthread/Jamfile b/src/system/libroot/posix/pthread/Jamfile index 072cfd46bb..7ce2652172 100644 --- a/src/system/libroot/posix/pthread/Jamfile +++ b/src/system/libroot/posix/pthread/Jamfile @@ -1,6 +1,8 @@ SubDir HAIKU_TOP src system libroot posix pthread ; -UsePrivateKernelHeaders ; +UsePrivateSystemHeaders ; +UsePrivateHeaders kernel ; + # for util/DoublyLinkedList.h UsePrivateHeaders libroot shared ; MergeObject posix_pthread.o : diff --git a/src/system/libroot/posix/pthread/pthread.c b/src/system/libroot/posix/pthread/pthread.c index e4cfb1f99d..fa8dd30d46 100644 --- a/src/system/libroot/posix/pthread/pthread.c +++ b/src/system/libroot/posix/pthread/pthread.c @@ -11,9 +11,8 @@ #include -#include #include -#include +#include static const pthread_attr pthread_attr_default = { diff --git a/src/system/libroot/posix/pthread/pthread_attr.c b/src/system/libroot/posix/pthread/pthread_attr.c index 6fbb0693d9..e488da8ec7 100644 --- a/src/system/libroot/posix/pthread/pthread_attr.c +++ b/src/system/libroot/posix/pthread/pthread_attr.c @@ -9,7 +9,7 @@ #include -#include +#include int diff --git a/src/system/libroot/posix/semaphore.cpp b/src/system/libroot/posix/semaphore.cpp index 4b40242fb5..ac08dc3699 100644 --- a/src/system/libroot/posix/semaphore.cpp +++ b/src/system/libroot/posix/semaphore.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include diff --git a/src/system/libroot/posix/signal/Jamfile b/src/system/libroot/posix/signal/Jamfile index e25aca6da0..2adefcc2e3 100644 --- a/src/system/libroot/posix/signal/Jamfile +++ b/src/system/libroot/posix/signal/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src system libroot posix signal ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; MergeObject posix_signal.o : kill.c diff --git a/src/system/libroot/posix/stdio/Jamfile b/src/system/libroot/posix/stdio/Jamfile index 24e0102acc..c731492c5f 100644 --- a/src/system/libroot/posix/stdio/Jamfile +++ b/src/system/libroot/posix/stdio/Jamfile @@ -1,6 +1,6 @@ SubDir HAIKU_TOP src system libroot posix stdio ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; MergeObject posix_stdio.o : _fseek.c diff --git a/src/system/libroot/posix/stdlib/Jamfile b/src/system/libroot/posix/stdlib/Jamfile index 023ae69c5c..741cd2aaeb 100644 --- a/src/system/libroot/posix/stdlib/Jamfile +++ b/src/system/libroot/posix/stdlib/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src system libroot posix stdlib ; UsePrivateHeaders drivers libroot ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; MergeObject posix_stdlib.o : abs.c diff --git a/src/system/libroot/posix/string/Jamfile b/src/system/libroot/posix/string/Jamfile index e1ec6d1df8..45813d64e7 100644 --- a/src/system/libroot/posix/string/Jamfile +++ b/src/system/libroot/posix/string/Jamfile @@ -39,7 +39,7 @@ MergeObject posix_string.o : SubDir HAIKU_TOP src system libroot posix string arch $(TARGET_ARCH) ; -UsePrivateKernelHeaders ; +UsePrivateSystemHeaders ; MergeObject posix_string_arch_$(TARGET_ARCH).o : arch_string.S diff --git a/src/system/libroot/posix/string/arch/x86/arch_string.S b/src/system/libroot/posix/string/arch/x86/arch_string.S index 3e0807b110..5fd8e46c28 100644 --- a/src/system/libroot/posix/string/arch/x86/arch_string.S +++ b/src/system/libroot/posix/string/arch/x86/arch_string.S @@ -7,7 +7,7 @@ // TODO: This should not even be compiled for the kernel. Fix the TODO in // src/system/kernel/lib/Jamfile! -#include +#include #define FUNCTION(x) .global x; .type x,@function; x diff --git a/src/system/libroot/posix/sys/Jamfile b/src/system/libroot/posix/sys/Jamfile index 7ea9c29e40..8abf515219 100644 --- a/src/system/libroot/posix/sys/Jamfile +++ b/src/system/libroot/posix/sys/Jamfile @@ -1,7 +1,7 @@ SubDir HAIKU_TOP src system libroot posix sys ; UsePrivateHeaders shared ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; MergeObject posix_sys.o : chmod.c diff --git a/src/system/libroot/posix/sys/mman.cpp b/src/system/libroot/posix/sys/mman.cpp index fadfc7f0ed..28a1e19684 100644 --- a/src/system/libroot/posix/sys/mman.cpp +++ b/src/system/libroot/posix/sys/mman.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include static const char* kSharedMemoryDir = "/boot/var/shared_memory/"; diff --git a/src/system/libroot/posix/sys/wait.c b/src/system/libroot/posix/sys/wait.c index cc478cc79f..b3b6d740ff 100644 --- a/src/system/libroot/posix/sys/wait.c +++ b/src/system/libroot/posix/sys/wait.c @@ -3,13 +3,13 @@ * Distributed under the terms of the MIT License. */ +#include + +#include +#include #include -#include - -#include -#include -#include +#include // ToDo: properly implement waitpid(), and waitid() diff --git a/src/system/libroot/posix/time/Jamfile b/src/system/libroot/posix/time/Jamfile index c451ccd1eb..ca90059300 100644 --- a/src/system/libroot/posix/time/Jamfile +++ b/src/system/libroot/posix/time/Jamfile @@ -4,7 +4,7 @@ SubDir HAIKU_TOP src system libroot posix time ; SubDirCcFlags -DNOID -DTZDIR='\"/etc/timezones\"' -DUSG_COMPAT -DTM_GMTOFF=tm_gmtoff -DTM_ZONE=tm_zone -DPCTS=1 -DSTD_INSPIRED ; UsePrivateHeaders [ FDirName libroot time ] ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; MergeObject posix_time.o : asctime.c diff --git a/src/system/libroot/posix/unistd/Jamfile b/src/system/libroot/posix/unistd/Jamfile index fb5cca7a78..aa98b1f210 100644 --- a/src/system/libroot/posix/unistd/Jamfile +++ b/src/system/libroot/posix/unistd/Jamfile @@ -1,6 +1,7 @@ SubDir HAIKU_TOP src system libroot posix unistd ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateSystemHeaders ; +UsePrivateHeaders libroot ; MergeObject posix_unistd.o : access.c diff --git a/src/system/libroot/posix/unistd/conf.c b/src/system/libroot/posix/unistd/conf.c index ac55ee292a..ac2894a9e9 100644 --- a/src/system/libroot/posix/unistd/conf.c +++ b/src/system/libroot/posix/unistd/conf.c @@ -15,7 +15,7 @@ #include #include -#include +#include #include diff --git a/src/system/runtime_loader/Jamfile b/src/system/runtime_loader/Jamfile index 31a704e805..5237153eda 100644 --- a/src/system/runtime_loader/Jamfile +++ b/src/system/runtime_loader/Jamfile @@ -1,7 +1,9 @@ SubDir HAIKU_TOP src system runtime_loader ; UsePrivateHeaders runtime_loader ; -UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ; +UsePrivateHeaders kernel ; + # for +UsePrivateSystemHeaders ; # Don't let gcc inject built-in function code. This will cause dependencies # to libroot, which we don't link against. diff --git a/src/system/runtime_loader/elf.cpp b/src/system/runtime_loader/elf.cpp index 19c3487437..5ba8881941 100644 --- a/src/system/runtime_loader/elf.cpp +++ b/src/system/runtime_loader/elf.cpp @@ -10,7 +10,6 @@ #include "runtime_loader_private.h" -#include "vm.h" #include @@ -19,13 +18,12 @@ #include #include -#include #include #include -#include #include #include -#include +#include +#include #include "tracing_config.h" diff --git a/src/tools/gensyscalls/Jamfile b/src/tools/gensyscalls/Jamfile index 7c09ce4294..2ad365d3c5 100644 --- a/src/tools/gensyscalls/Jamfile +++ b/src/tools/gensyscalls/Jamfile @@ -17,7 +17,7 @@ rule PreprocessSyscalls local headers = [ on $(1) return $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ] ; local sysHeaders = - [ PrivateHeaders kernel ] + $(TARGET_PRIVATE_SYSTEM_HEADERS) [ ArchHeaders $(TARGET_ARCH) ] [ on $(1) return $(SUBDIRSYSHDRS) $(SYSHDRS) ] $(HAIKU_HDRS) ; @@ -45,7 +45,7 @@ actions PreprocessSyscalls } local syscallsHeader = [ FGristFiles syscalls.h ] ; -SEARCH on $(syscallsHeader) = [ FDirName $(HAIKU_TOP) headers private kernel ] ; +SEARCH on $(syscallsHeader) = [ FDirName $(HAIKU_TOP) headers private system ] ; # We generate two preprocessed headers. One for parsing by gensyscallinfos # (it contains #pragmas) and one for inclusion by the generated