* 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 <util/*> 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
This commit is contained in:
Ingo Weinhold 2008-05-14 03:55:16 +00:00
parent 9b4fea7ee7
commit 6b202f4e3d
121 changed files with 504 additions and 360 deletions

View File

@ -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++

View File

@ -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

View File

@ -5,9 +5,11 @@
#ifndef KERNEL_APM_H
#define KERNEL_APM_H
#include <SupportDefs.h>
#include <apm_defs.h>
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" {

View File

@ -5,32 +5,11 @@
#ifndef _KERNEL_COMMPAGE_H
#define _KERNEL_COMMPAGE_H
/*! Some systemwide commpage constants, used in the kernel and libroot */
#include <SupportDefs.h>
#ifndef _ASSEMBLER
# include <SupportDefs.h>
#endif
#include <commpage_defs.h>
/* 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 <arch_commpage.h>
#endif /* _KERNEL_COMMPAGE_H */

View File

@ -12,62 +12,14 @@
#include <DiskDeviceDefs.h>
#include <ddm_userland_interface_defs.h>
#include <disk_device_manager.h>
#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

View File

@ -8,6 +8,8 @@
#include <SupportDefs.h>
#include <generic_syscall_defs.h>
/* 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

View File

@ -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)

View File

@ -11,15 +11,12 @@
#include <OS.h>
#include <posix/realtime_sem_defs.h>
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();

View File

@ -5,20 +5,9 @@
#ifndef _KERNEL_SAFEMODE_H
#define _KERNEL_SAFEMODE_H
#include <driver_settings.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"
#include <safemode_defs.h>
#ifdef __cplusplus

View File

@ -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" {

View File

@ -12,6 +12,7 @@
#include <cbuf.h>
#include <smp.h>
#include <signal.h>
#include <thread_defs.h>
#include <timer.h>
#include <user_debugger.h>
#include <util/list.h>
@ -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 {

View File

@ -21,6 +21,8 @@
#include <sys/stat.h>
#include <sys/select.h>
#include <vfs_defs.h>
#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)]; \

View File

@ -8,10 +8,10 @@
#ifndef _KERNEL_VM_H
#define _KERNEL_VM_H
#include <OS.h>
#include <arch/vm.h>
#include <OS.h>
#include <vm_defs.h>
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

View File

@ -8,15 +8,8 @@
#include <OS.h>
#include <TLS.h>
#include <tls.h> /* 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 <tls.h>
#include <user_thread_defs.h>
static inline user_thread*

View File

@ -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 <commpage.h> instead!
#ifndef _SYSTEM_COMMPAGE_DEFS_H
# error Must not be included directly. Include <commpage_defs.h> 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 */

View File

@ -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 <commpage.h> instead!
#ifndef _SYSTEM_COMMPAGE_DEFS_H
# error Must not be included directly. Include <commpage_defs.h> 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 */

View File

@ -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 <SupportDefs.h>
// 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 */

View File

@ -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 <commpage.h> instead!
#ifndef _SYSTEM_COMMPAGE_DEFS_H
# error Must not be included directly. Include <commpage_defs.h> 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 */

View File

@ -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 <arch_commpage_defs.h>
#endif /* _SYSTEM_COMMPAGE_DEFS_H */

View File

@ -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 <OS.h>
#include <DiskDeviceDefs.h>
// 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

View File

@ -12,7 +12,7 @@
#include <SupportDefs.h>
#include <ByteOrder.h>
#include <arch/elf.h>
#include <arch_elf.h>
typedef uint32 Elf32_Addr;

View File

@ -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 */

View File

@ -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

View File

@ -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 */

View File

@ -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 */

View File

@ -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 <arch_config.h>
@ -487,4 +487,4 @@ status_t stop_disk_device_watching(port_id, int32 token);
}
#endif
#endif /* _KERNEL_SYSCALLS_H */
#endif /* _SYSTEM_SYSCALLS_H */

View File

@ -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 <OS.h>
#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 */

View File

@ -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 <SupportDefs.h>
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 */

View File

@ -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 <sys/stat.h>
#include <SupportDefs.h>
struct fd_info {
int number;
int32 open_mode;
dev_t device;
ino_t node;
};
#endif /* _SYSTEM_VFS_DEFS_H */

View File

@ -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 <OS.h>
// 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 */

View File

@ -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 <input>keyboard :
KeyboardInputDevice.cpp

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 {

View File

@ -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 :

View File

@ -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

View File

@ -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

View File

@ -14,7 +14,6 @@
#include "virtual_memory.h"
#include "wrapper.h"
#include <vm.h>
#include <string.h>

View File

@ -3,7 +3,7 @@ SubDir HAIKU_TOP src apps powerstatus ;
SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders shared ;
UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
UsePrivateSystemHeaders ;
Application PowerStatus :
PowerStatusWindow.cpp

View File

@ -11,8 +11,8 @@
#include "PowerStatus.h"
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
# include <arch/x86/apm.h>
# include <generic_syscall.h>
# include <arch/x86/apm_defs.h>
# include <generic_syscall_defs.h>
# include <syscalls.h>
// temporary, as long as there is no real power state API
#endif

View File

@ -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 ] ;

View File

@ -10,8 +10,8 @@
#include <OS.h>
#include <fs_info.h>
#include <vfs.h>
#include <syscalls.h>
#include <vfs_defs.h>
#include <ctype.h>
#include <errno.h>

View File

@ -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 <kdevice_manager.h>! Clean that up!
UsePrivateSystemHeaders ;
BinCommand listdev :
dm_wrapper.c

View File

@ -4,7 +4,7 @@
#include <unistd.h>
#include <drivers/device_manager.h>
#include <generic_syscall.h>
#include <generic_syscall_defs.h>
#include <string.h>
#include <syscalls.h>

View File

@ -1,7 +1,9 @@
SubDir HAIKU_TOP src bin multiuser ;
UsePrivateKernelHeaders ;
UsePrivateSystemHeaders ;
UsePrivateHeaders app ;
UsePrivateHeaders kernel ;
# for <util/KMessage.h>
UsePrivateHeaders libroot ;
UsePrivateHeaders shared ;

View File

@ -9,7 +9,7 @@ if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) {
}
UsePrivateHeaders net ;
UseHeaders $(TARGET_PRIVATE_KERNEL_HEADERS) : true ;
UsePrivateSystemHeaders ;
BinCommand arp :
arp.cpp

View File

@ -9,7 +9,7 @@
#include <arp_control.h>
#include <generic_syscall.h>
#include <generic_syscall_defs.h>
#include <syscalls.h>
#include <arpa/inet.h>

View File

@ -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

View File

@ -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) ;

View File

@ -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 ;

View File

@ -1,10 +1,11 @@
SubDir HAIKU_TOP src kits debug ;
UseArchHeaders $(TARGET_ARCH) ;
UsePrivateHeaders debug ;
UsePrivateHeaders kernel ;
# for <util/DoublyLinkedList.h>
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
;

View File

@ -1,7 +1,7 @@
SubDir HAIKU_TOP src kits network ;
UsePrivateHeaders libroot net shared ;
UsePrivateKernelHeaders ;
UsePrivateSystemHeaders ;
SharedLibrary libnetwork.so :
init.cpp

View File

@ -5,8 +5,9 @@
* Authors:
*/
#include <driver_settings.h>
#include <image.h>
#include <safemode.h>
#include <safemode_defs.h>
#include <Directory.h>
#include <FindDirectory.h>

View File

@ -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 ;

View File

@ -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 ] ;

View File

@ -21,7 +21,7 @@
#include <Path.h>
#include <syscalls.h>
#include <disk_device_manager/ddm_userland_interface.h>
#include <ddm_userland_interface_defs.h>
#include "DiskDeviceJob.h"
#include "DiskDeviceJobGenerator.h"

View File

@ -12,7 +12,7 @@
#include <DiskDevice.h>
#include <MutablePartition.h>
#include <disk_device_manager/ddm_userland_interface.h>
#include <ddm_userland_interface_defs.h>
#include "DiskDeviceJob.h"
#include "DiskDeviceJobQueue.h"

View File

@ -21,7 +21,7 @@
#include <Path.h>
#include <syscalls.h>
#include <disk_device_manager/ddm_userland_interface.h>
#include <ddm_userland_interface_defs.h>
//#include "AddOnImage.h"

View File

@ -8,7 +8,7 @@
#include <DiskSystemAddOn.h>
#include <Partition.h>
#include <disk_device_manager/ddm_userland_interface.h>
#include <ddm_userland_interface_defs.h>
#include <syscalls.h>
#include "DiskSystemAddOnManager.h"

View File

@ -12,7 +12,7 @@
#include <Partition.h>
#include <disk_device_manager/ddm_userland_interface.h>
#include <ddm_userland_interface_defs.h>
#include "DiskDeviceUtils.h"
#include "PartitionDelegate.h"

View File

@ -23,7 +23,7 @@
#include <AutoDeleter.h>
#include <disk_device_manager/ddm_userland_interface.h>
#include <ddm_userland_interface_defs.h>
#include <syscalls.h>
#include "PartitionDelegate.h"

View File

@ -8,10 +8,11 @@
#include <new>
#include <disk_device_manager.h>
#include <PartitioningInfo.h>
#include <syscalls.h>
#include <disk_device_manager/ddm_userland_interface.h>
#include <ddm_userland_interface_defs.h>
using namespace std;

View File

@ -7,7 +7,8 @@ if $(TARGET_PLATFORM) != haiku {
UsePublicHeaders translation ;
}
UsePrivateHeaders kernel translation textencoding ;
UsePrivateHeaders translation textencoding ;
UsePrivateSystemHeaders ;
SharedLibrary libtranslation.so :
BitmapStream.cpp

View File

@ -17,8 +17,9 @@
#include "FuncTranslator.h"
#include "TranslatorRosterPrivate.h"
#include <driver_settings.h>
#include <image.h>
#include <safemode.h>
#include <safemode_defs.h>
#include <Application.h>
#include <Autolock.h>

View File

@ -2,8 +2,7 @@ SubDir HAIKU_TOP src preferences time ;
SetSubDirSupportedPlatformsBeOSCompatible ;
UsePrivateHeaders kernel ;
UseArchHeaders $(TARGET_ARCH) ;
UsePrivateSystemHeaders ;
Preference Time :
AnalogClock.cpp

View File

@ -24,10 +24,11 @@
#include "SystemPalette.h"
#include <edid.h>
#include <safemode.h>
#include <safemode_defs.h>
#include <Accelerant.h>
#include <Cursor.h>
#include <driver_settings.h>
#include <FindDirectory.h>
#include <graphic_driver.h>
#include <image.h>

View File

@ -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 ] ;

View File

@ -10,7 +10,7 @@
#include "kb_mouse_driver.h"
#include "MethodReplicant.h"
#include <safemode.h>
#include <safemode_defs.h>
#include <AppServerLink.h>
#include <MessagePrivate.h>
@ -18,6 +18,7 @@
#include <Autolock.h>
#include <Deskbar.h>
#include <Directory.h>
#include <driver_settings.h>
#include <Entry.h>
#include <File.h>
#include <FindDirectory.h>

View File

@ -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

View File

@ -20,7 +20,7 @@
#include <Autolock.h>
#include <image.h>
#include <safemode.h>
#include <safemode_defs.h>
#include <syscalls.h>
#include "FormatManager.h"

View File

@ -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 ;

View File

@ -2,11 +2,12 @@ SubDir HAIKU_TOP src servers registrar ;
UsePrivateHeaders app ;
UsePrivateHeaders kernel ;
# for <util/KMessage.h>
UsePrivateHeaders libroot ;
UsePrivateHeaders shared ;
UsePrivateHeaders storage ;
UsePrivateHeaders tracker ;
UseArchHeaders $(TARGET_ARCH) ;
UsePrivateSystemHeaders ;
SEARCH_SOURCE += [ FDirName $(SUBDIR) mime ] ;

View File

@ -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 =

View File

@ -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 ;

View File

@ -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 ] ;

View File

@ -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 ] ;

View File

@ -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 ] ;

View File

@ -10,7 +10,7 @@
#include <arch/x86/arch_cpu.h>
#include <arch/x86/arch_kernel.h>
#include <arch/x86/descriptors.h>
#include <commpage.h>
#include <commpage_defs.h>
#include <thread_types.h>
#include "tracing_config.h"

View File

@ -8,7 +8,6 @@
#include <SupportDefs.h>
#include <kernel.h>
#include <stdarg.h>
#include <string.h>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -14,7 +14,7 @@
* branch to the syscall vector in the commpage
*/
#include <commpage.h>
#include <commpage_defs.h>
#define _SYSCALL(name, n) \
.globl name; \

View File

@ -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);
}

View File

@ -9,11 +9,10 @@
#include <stdlib.h>
#include <stdio.h>
#include <thread.h>
#include "libroot_private.h"
#include "tls.h"
#include "syscalls.h"
#include <libroot_private.h>
#include <thread_defs.h>
#include <tls.h>
#include <syscalls.h>
#undef thread_entry

Some files were not shown because too many files have changed in this diff Show More