Commit Graph

235 Commits

Author SHA1 Message Date
Jérôme Duval
d4d9831990 merge both commpage.h into the private header
Travis, I hope this fits your needs :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-20 00:21:45 +00:00
Travis Geiselbrecht
1cbf8f4b3c initial support for a commpage, which is a chunk of memory in high kernel space with user readonly permissions.
The first use is to let the kernel decide what the preferred syscall mechanism is at boot time and copy the
appropriate user space code there. Can be used for routines the kernel can decide best how to use (memcpy, some
timing routines, etc).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-19 00:32:44 +00:00
Jérôme Duval
1e8adb7d89 added core and core 2 ids
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-24 10:33:50 +00:00
Axel Dörfler
b2c5594fd2 B_SYSTEM_TEAM is now 1 under Haiku which refers to the real kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-30 00:18:50 +00:00
Ingo Weinhold
716a16ce61 * Find out a few interesting information about the system (like CPU,
bus, and time base frequency) in the PPC boot loader, and propagate
  them to the kernel via kernel_args.
* Now we use the correct time base frequency for timer calculations.
* Implemented PPC specific system info stuff. Added a few PPC CPU
  types to <OS.h>.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 13:30:23 +00:00
Axel Dörfler
348c7214f5 Improved processor identification for some VIA C3 models.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 11:55:01 +00:00
Ingo Weinhold
758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +00:00
Axel Dörfler
9235adf794 The cpuid "extended features" in function 1/%ecx aren't Intel only anymore - my
AMD docs were not up to date. Thanks to Herve for the note.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-30 18:26:41 +00:00
Axel Dörfler
1c016e0e3f Cleaned up OS.h a bit more.
Return type of thread_func is now status_t instead of the previous int32.
Added some more cpuid_info fields - many fields aren't just reserved anymore.
"sysinfo" now supports the extended features of Intel CPUs, and also knows
the "HTT" bit of the standard features indicating the hyper-threading capability.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-26 22:46:30 +00:00
Axel Dörfler
da6d1a7022 fs_mount_volume() now returns a dev_t as well - changed mount/mountvolume to take
that into account as well (they were reporting an error even though everything
went fine).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-20 13:03:50 +00:00
Marcus Overhagen
794df3bf25 This removes the inline assembly code for find_thread
from OS.h, sorry for triggering a complete rebuild.
To avoid doing a syscall for find_thread(0), the assembly
version is now in libroot. For BeOS R5 compatibility, 
_kfind_thread_ is retained. This will fix some compile 
problems, and provides a cleaner OS.h for future Haiku
versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 23:57:11 +00:00
Ingo Weinhold
7f9c673981 * Introduced a new debugger message B_DEBUGGER_MESSAGE_HANDED_OVER, which
is sent to a debugger when the debugged team has been successfully handed
  over to another debugger.
* Fixed handling of B_DEBUG_MESSAGE_PREPARE_HANDOVER. We don't send a reply.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-15 12:18:33 +00:00
Axel Dörfler
183dee22cb Unlike R5, receive_data() could return an error code under Haiku - this
can now only happen if the thread is killed.
_user_receive_data() will now longer pass B_CAN_INTERRUPT to receive_data(),
but B_KILL_CAN_INTERRUPT - this should fix the problem Stefano experienced
with this function, even if I couldn't reproduce it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-12 11:14:37 +00:00
Jérôme Duval
5258e67dff Courtesy of Olivier Coursiere (aka oco), based on documentation (feel free to check against real hardware)
Adds latests IDs from Intel docs
Adds some Sempron IDs
Renamed Athlon 64 to be consistent with Intel names
Adds IDs in cpu_type.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-17 22:46:08 +00:00
Ingo Weinhold
576c52f8b1 Added the gcc printf format attribute for debug_printf(), so that gcc warns about format/parameter inconsistencies.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-28 15:25:57 +00:00
Ingo Weinhold
d2c78559a0 We now also support partial writes to the debugged team's memory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 18:23:33 +00:00
Axel Dörfler
34e92cad76 Added and implemented new system calls switch_sem() and switch_sem_etc(); even if
they are public now, they might become private later on.
It's almost the same as acquire_sem() but allows you to release another semaphore
atomically. This makes condvar implementations and the like very simple to do.
Added B_CHECK_PERMISSION flags to the user calls, although it's not honored yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 22:35:00 +00:00
Ingo Weinhold
291e414a9e * Somehow this B_DEBUGGER_MESSAGE_THREAD_STOPPED message bothered me.
Most of the debug events had their own message, but some were grouped
  into this `stopped' message with a `why' field to describe what kind
  of event it actually was. Hence the user had to check two levels until
  they could know what event occurred. So I got rid of this message and
  provided separate messages for the concerned events.
* Got rid of B_DEBUG_MESSAGE_GET_WHY_STOPPED and introduced
  B_DEBUG_MESSAGE_GET_CPU_STATE which is pretty much the same.
* Put B_DEBUG_MESSAGE_RUN_THREAD and B_DEBUG_MESSAGE_STEP_THREAD into
  a single B_DEBUG_MESSAGE_CONTINUE_THREAD message with a boolean
  `single_step' field.
* get_debug_why_stopped_string() -> get_debug_message_string().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-13 23:43:05 +00:00
Ingo Weinhold
1619a2e5b4 * The exceptions now have their own debugger message. Added
get_debug_exception_string() to get a user-readable string for an
  exception type.
* Added more signal support. Now the debugger can set per thread which
  signals it wishes to be notified of. It can also just ignore the next
  occurrence of a signal.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 21:35:31 +00:00
Ingo Weinhold
9a28130b32 Added (currently only) flag B_WAIT_TILL_LOADED for _kern_load_image()
(maybe this should better go into a private header?). If given the function
waits till the loader is done with loading and relocating the executable.
Otherwise it returns before the loader starts.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-12 15:01:25 +00:00
Ingo Weinhold
1c7fbde145 Added message def for preparing to hand over a debugged team to another
debugger. After successful reply to the message the debugger won't receive
any more messages from the debugged team. The mechanism is completely
transparent to the target debugger. It simply installs itself as debugger
for the team.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-10 21:56:23 +00:00
Ingo Weinhold
a29ecae5f0 New debug function wait_for_debugger(). Useful when creating teams to be debugged via fork().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-09 22:45:41 +00:00
Ingo Weinhold
9b92e8c011 Added missing reply port for message B_DEBUG_MESSAGE_GET_WHY_STOPPED. Removed unnecessary alignment in debug_nub_set_cpu_state.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-09 22:04:38 +00:00
Ingo Weinhold
7586a0f3d6 Reading memory is more handy, if it allows for partial reads. So now the size is returned with the reply.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-08 23:09:31 +00:00
Ingo Weinhold
2b3216fc5a Correct terminology.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-01 23:44:23 +00:00
Ingo Weinhold
a67d62f1db Added definitions for supporting single step, break- and watchpoints,
and setting the CPU state.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-28 00:25:23 +00:00
Ingo Weinhold
540103da09 * New function get_why_stopped_string() to get a human-readable
translation for the debug_why_stopped codes.
* Added nub_port member to debug_origin structure, so that now all
  synchronous messages to the debugger also include the debug nub port.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-25 14:24:00 +00:00
Ingo Weinhold
17e41f5251 Added new semaphore flag B_KILL_CAN_INTERRUPT. It makes acquire_sem_etc()
interruptable by SIGKILL[THR], even if B_CAN_INTERRUPT is not set. Not
sure, if this is the best solution, but it works.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-25 14:10:41 +00:00
Ingo Weinhold
433e1959ae Introduced a debug_origin structure consisting of thread and team ID of the concerned thread, and being first member of all messages sent to the debugger. This simplifies handling of messages in the debugger a good deal.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 18:47:04 +00:00
Ingo Weinhold
c3610c8098 * Architecture specifics live in arch/<arch>/debugger.h now.
* team debug flags:
  - Added flags for team creation, thread events (creation,
    deletion), and image events (creation, deletion).
  - Got rid of B_TEAM_DEBUG_SYSCALL_FAST_TRACE. We always send the syscall
    arguments. The overhead should be neglectable.
  - Added B_TEAM_DEBUG_STOP_NEW_THREADS.
* Added debugger notification messages for signals, team, thread and
  image events.
* Added debug request B_DEBUG_MESSAGE_GET_WHY_STOPPED.
* When continuing a thread, the debugger can now specify how to deal with
  the occurred event (ignore or handle).
* More data in the signal received notification message.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 15:43:28 +00:00
Ingo Weinhold
c53b50023a Trashed the old header and started a new one from the scratch.
Unless a good reason appears not to, we'll break binary compatibility here.
BDB could be considered one, but we need a replacement for it anyway. We
strive to port GDB and a couple of changes in the debugger API will make
that easier.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-10 02:45:18 +00:00
Ingo Weinhold
eafe61c06b * Some formatting cleanup.
* Removed ARM support.
* Removed PEF references.
* Added structure and constants for pre syscall tracing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-04 14:37:55 +00:00
Ingo Weinhold
06f5fe61a2 * Removed B_USER_CLONEABLE_AREA. The value conflics with other flags and
it does belong to <KernelExport.h> anyway.
* Reverted the protection flags back to decimal for consistency with the
  other places. BTW, since when do we use decimals for flags?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:54:22 +00:00
Ingo Weinhold
6e9582baf1 Introduced new protection flag B_USER_CLONEABLE_AREA. It makes kernel areas cloneable for userland apps.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:11:59 +00:00
Ingo Weinhold
57b6c3bcad * Changed return value of read_port[_etc] from status_t to ssize_t. That's
not how it is declared in R5, but it is what actually is returned.
* Temporarily added debug_[v]printf() functions for userland usage,
  equivalent to dprintf() in kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:41:14 +00:00
Axel Dörfler
c05649ebef Fixed a typo reported by John Drinkwater.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-28 16:38:48 +00:00
Axel Dörfler
bc93cc3fa7 Happy source compatibility breaking:
- Removed the OBOS_CPU_TYPE stuff - our types are now always defined.
- Made the cpu types consistent, renamed X86 to x86.
- cpuid_info.eax_1 now also contains the extended family/model info.
- Renamed cpuid_info.eax_0.vendorid to vendor_id.
- changed B_CPU_x86_VENDOR_MASK to 0xff to make some space for future changes.
- added some more CPU types (if anyone knows more Transmeta IDs; I
  couldn't find more of them).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-01 03:36:48 +00:00
Axel Dörfler
d76bee070b Added a note to the new B_TEAM_USAGE_SELF/CHILDREN constants that they
are compatible to sys/resource.h definitions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-27 12:59:45 +00:00
Axel Dörfler
40bfa3f782 The inline version of find_thread() now references _kern_find_thread() if
__HAIKU__ is defined.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-27 12:52:29 +00:00
Jérôme Duval
83b629e1ad Added Pentium M cpu type
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 14:07:56 +00:00
Axel Dörfler
ae4cfab6b9 Since the file system is usually recognized by the disk device manager,
there is no reason to let it appear important by having it as first
parameter; it's only used to override the DDM's decision if the user
so choses.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 01:01:21 +00:00
Jérôme Duval
f9b87f230b Patch from Olivier Coursiere, adds Athlon 64 and Opteron values. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-19 21:48:53 +00:00
Axel Dörfler
9de969006b Added two experimental release_sem_etc() flags (both should stay, but they
may be renamed):
- B_RELEASE_ALL: the semaphore count is set to 0, all waiting threads are released
  (the "count" argument of release_etc_sem() is ignored then)
- B_RELEASE_IF_WAITING_ONLY: the semaphore count is only decreased if there
  are any waiting threads; ie. the semaphore is signaled
Together, they will make the pthread_cond_*() functions easy to implement, and
they come in handy at other places, too.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 15:54:47 +00:00
Axel Dörfler
76b72b95e1 Removed delete_sem_etc() prototypes as that function is no longer available
(and never was in userspace, anyway).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 14:58:14 +00:00
Axel Dörfler
9fdf5bbb13 Resolved an old ToDo item; thanks to Rogier van der Hee for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-05 00:30:46 +00:00
Axel Dörfler
3f403c721c Since our libroot/os/thread.c already exports this, we can as well just add
it to the header, too :)
(it's a new function in Dano/Zeta)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-29 20:04:07 +00:00
Axel Dörfler
06e37d1ea5 Fix missing identation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-10 13:24:14 +00:00
Axel Dörfler
6f3a136e47 Added the inline x86 asm version of find_thread() as it is found on BeOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 00:44:18 +00:00
Axel Dörfler
7ba272b8b3 Added a B_CURRENT_TEAM constant - it's not available in BeOS, but it's
actually used at several places (like get_next_thread_info(), ...).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:32:44 +00:00
Axel Dörfler
afa70266a3 Fixed set_real_time_clock() - its time parameter is now uint32 not int32,
that's what real_time_clock() returns as well. I don't know why Be made
it int32, but I don't care too much either.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-24 14:50:15 +00:00
Philippe Houdoin
c6f77f6c2c Trying to be quicker than shatty to add more ids, courtesy of pulse 1.07 on bebits.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-18 21:38:16 +00:00
shatty
3c90558523 okay, last commit for today :-P ... protected non-R5 cpu types with #define OBOS_CPU_TYPES and #ifdef OBOS_CPU_TYPES
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-13 19:33:22 +00:00
shatty
7aae8aac0e not all iv_model2 are xeon so I am taking it back out...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-13 18:22:17 +00:00
shatty
9a7fc04885 used xeon name directly, left IV_MODEL2 as another alias
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-13 18:12:26 +00:00
shatty
09b1f9ddba added some more ids, courtesy of pulse 1.06 on bebits
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-13 17:56:05 +00:00
Philippe Houdoin
9360e22d50 Add missing cpu_type values for AMD Athlon and Duron processor.
Next step: add B_CPU_INTEL_PENTIUM_IV, when we could boot successfully on such beast ;-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-04-25 21:31:45 +00:00
Axel Dörfler
ee478c021b Renamed fs_device.h to fs_volume.h, renamed functions from *_device() to
*_volume().
Added a "volumeName" parameter to the fs_initialize_volume() call.
Introduced a "flags" field to the fs_unmount_volume() call - I have only
defined one flag, B_FORCE_UNMOUNT, right now.
But the unmount behaviour should be discussed anyway first (always force
unmount?).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-24 13:14:54 +00:00
Ingo Weinhold
75d0aed7ec Removed extended_partition_info::partition_code field.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-18 21:28:30 +00:00
Axel Dörfler
39831bc66e Proposal for mount/unmount/initialize function prototypes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-14 17:10:49 +00:00
Ingo Weinhold
456d74c6d2 Uncommented extended_partition_info::mounted_at. It looks like we can't get hold of this data, so the field will probably disappear.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-08 00:37:30 +00:00
Ingo Weinhold
e3b2e49b00 Renamed fs_device.h to disk_scanner.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-02-02 22:44:44 +00:00
Axel Dörfler
f60043082d Unified the look of the different files a bit (their headers in particular).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-29 14:45:15 +00:00
Axel Dörfler
8b9ceff84b New fs_query.h header.
Now defines a new flag B_QUERY_NON_INDEXED - because querying non-indexed
attributes is a slow operation, it now has to be enabled on demand only.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-29 14:43:38 +00:00
Axel Dörfler
c69aed7afc Removed some garbage.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 13:58:12 +00:00
Ingo Weinhold
1f293937f5 extended_partition_info: changed partition_code to uint32 and added a field file_system_flags. Added a parameter partitionMapName to get_nth_partition_info() for getting the identifier of the used partition module.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 15:01:55 +00:00
Ingo Weinhold
39e8f48cde Er, forgot the prototypes for parameter retrieving for partitioning and volume initialization.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-19 22:58:12 +00:00
Ingo Weinhold
3a69ab6517 Added prototypes for partitioning and volume initialization.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-19 22:54:28 +00:00
Axel Dörfler
b6a77342a5 Moved to os/drivers because it's not a userland header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-17 17:53:28 +00:00
Tyler Dauwalder
f9c2a2a243 + Shrank license
+ Changed "#define TRACE(x)" to "#define TRACE(x) ;"


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-17 08:22:35 +00:00
Axel Dörfler
25f83d0202 Added the debugger.h header file (for being able to link it from the web).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-14 13:41:16 +00:00
Axel Dörfler
6cdae891c3 minor changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-12 16:10:28 +00:00
Axel Dörfler
346646a2c7 Moved the files vm_types.h, syscalls.h, and vfs_types.h to the private
kernel header directory - they are by no means public includes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-02 13:16:35 +00:00
Ingo Weinhold
45b15a27e1 C level device API (disk_scanner).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-21 19:06:18 +00:00
François Revol
2a03a60a17 Added some B_CPU_ defines, compatible against R5.1.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-08 16:50:28 +00:00
Axel Dörfler
6ba1dc2341 Moved it to private/kernel/, this is no public header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-03 14:06:21 +00:00
Axel Dörfler
c5cf4e87b6 Removed the "path" field in the team structure. Renamed "ioctx" to "io_context".
Added a "page_faults_allowed" field in the thread structure.
Clean up.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-12-03 14:05:21 +00:00
lillo
f2bc61304f replaced sys_kill with general thread-aimed sys_send_signal; cleaned up
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-28 20:38:16 +00:00
lillo
a2117f0bc7 reworked snooze to work in function of the newly added (and kernel exported) snooze_etc. Activated libroot counterpart(s).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-27 12:06:40 +00:00
lillo
5cdacbaabb *LOTS* of small changes to make the kernel compatible with Be's KernelExport.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 16:13:36 +00:00
beveloper
1be91d1603 added thread_entry for backward compatibility
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 12:58:12 +00:00
lillo
8fe70e8212 beos compatibility fixes: exit_thread now issues a signal; wait_for_thread returns B_INTERRUPTED if target thread gets killed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 01:11:15 +00:00
lillo
9870ddcea7 kill now sends the signal to the main thread of a process only. To target a specific thread use the new send_signal syscall. Also added set_alarm.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-25 22:36:08 +00:00
lillo
f510e6ce60 posix signals support, 1st pass
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 17:31:10 +00:00
beveloper
d734a8ce5a some header files to be R5 compatible
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 13:54:44 +00:00
beveloper
d7e489f80a modified to provider better R5 compatibility
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-23 13:45:47 +00:00
Axel Dörfler
146a3000ee Added syscalls for the index functions.
Corrected the prototype for fs_rewind_index_dir() (don't copy and paste...)
Also checked in the syscall definitions for the signal stuff to save Angelo
some work.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 18:52:04 +00:00
Axel Dörfler
1f87d2b261 Changed parameter type in create_index().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 16:45:40 +00:00
Axel Dörfler
b67f11173f Added syscalls for the attribute VFS calls.
Made some subtle changes to fs_attr.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-16 16:17:28 +00:00
Axel Dörfler
123b5d67ad Moved the seek() functionality back to the VFS.
Renamed read_pages(), and write_pages() to make it more clear.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-07 23:37:05 +00:00
Axel Dörfler
c321cf4929 Completed, rearranged, and cleaned up OS.h. Moved some typedefs from ktypes.h
to this place. Also removed create_sem_etc() from there, that shouldn't be a public call.
Cleaned up image.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-05 01:19:31 +00:00
Axel Dörfler
83efd20846 The private data field in struct file_descriptor is now a union (that can
currently hold a pointer to a fs_mount, or a vnode).
Updated the index_dir part of the fs API.
Added FDTYPE_INDEX_DIR in fd.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-26 03:36:04 +00:00
Axel Dörfler
2217cc8e6a Changed some names (of structures and definitions).
Added exports for the variables a file system add-on has to export.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 16:38:10 +00:00
Axel Dörfler
4dc5ecd3cb Renamed fs_id to mount_id.
Moved typedefs for mount_id and vnode_id to fs_interface.h.
Removed some unused stuff in ktypes.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 13:57:06 +00:00
Axel Dörfler
ba8080175e Changed the rename_attr() call to allow moving attributes to other files.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 12:14:57 +00:00
Axel Dörfler
bae1b21a60 Reworked the fs API a bit, it's quite complete now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 02:15:00 +00:00
Axel Dörfler
570b6eaeeb Removed the fs_ prefix from the fs_calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 16:17:22 +00:00
Axel Dörfler
ec152b4fff Some more changes to the attributes fs API:
Since BFS can't resolve a vnode_id to an attribute, fs_create_attr() now
doesn't return a new vnode_id anymore. Changed all fs_vnode variables to
"file" instead of "attr" to avoid any confusion.
That means for BFS that the cookie which fs_open_attr() returns will have
to include a pointer to the real inode, if the attribute is not part of the
file's inode.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 16:09:02 +00:00
Axel Dörfler
10567eeb6e Changed an unused field of struct stat (st_rdev) to st_type, so that we
can use this structure to call fstat() on attributes and indices.
Added more functions to the file system interface (attributes, and indices).
Added header fs_attr.h, and fs_index.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 16:02:53 +00:00
Axel Dörfler
366a7cf67c Fixed a prototype.
Updated several structures because of the int/int32/status_t change.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-24 00:09:38 +00:00
Axel Dörfler
88e54ccc26 Added the fs_ops calls for attribute/index/query handling - not yet finished
or completed, though.
Renamed fs_cookie to fs_volume, and file_cookie to fs_cookie.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 23:22:18 +00:00
Axel Dörfler
822cb704e9 fixed sys_wait_on_thread() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 02:57:19 +00:00
Axel Dörfler
085320eab2 Fixed some header issues (mostly int, status_t).
Replaced <types.h> with <sys/types.h> because that's what those headers
were looking for.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-23 02:31:05 +00:00
Axel Dörfler
3f6f3d2921 Added Errors.h, since SupportDefs.h can't be included for now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-22 15:58:49 +00:00
Philippe Houdoin
53ae93e6d5 Source compatibility objective: time to add some BeOS specific public headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-19 22:33:58 +00:00
beveloper
90abd04b34 Change int into status_t, and other changes for better BeOS type compatiblitly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-03 02:19:22 +00:00
lillo
615a79cc3c Implemented send_data/receive_data/has_data thread syscalls
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-19 08:28:39 +00:00
Axel Dörfler
4c405cbdd4 The fs interface functions should now return a "status_t" rather than an "int".
Added syscalls for, and implemented sys_create_link(), sys_remove_dir().
Implemented link(), unlink(), rmdir().
Fixed the inconsistent path buffer handling in the user|sys vfs functions; the
path buffer is now exactly SYS_MAX_PATH_LEN from userland (incl. terminating
null byte).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 20:39:25 +00:00
Axel Dörfler
9c3e90a54e Removed the FS interface functions from vfs.h to a new file fs_interface.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-13 13:48:18 +00:00
Axel Dörfler
beddff0f56 Replaced opendir.c with directory.c, implemented chdir(), fchdir(), and
getcwd().
Introduced new xyz(int fd, char *path, ...) style of functions for
sys_setcwd(), and sys_write_stat().
Added missing sys_fstat(). Removed duplicated prototypes in syscalls.h
Fixed some minor bugs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 20:20:28 +00:00
Axel Dörfler
14e18e556e getdtablesize() no longer needs a syscall.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-09 17:51:02 +00:00
Axel Dörfler
151edf0672 Removed the know unnecessary BSD-like fcntl.h (a BeOS one is now in posix/)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 01:35:03 +00:00
Axel Dörfler
2204c4d3d9 Added some possible extensions to the flag set.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-05 01:31:23 +00:00
lillo
91363a4278 Converted thread states to BeOS equivalents (excluding THREAD_STATE_FREE_ON_RESCHED, which will probably go away once the slab allocator is in). Converted priorities to BeOS equivalents; we now have 60 priority queues to map the 120 BeOS priority levels (which have a granularity of 2, thanks Axel) plus the idle queue. Fixed PS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-04 20:10:06 +00:00
lillo
854c31f835 finished implementing get_thread_info, get_next_thread_info, get_team_info, get_next_team_info. New ps command behaving like the BeOS one is here, but doesn't work as libroot seems to crash when loaded at process startup... :/
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-04 02:04:37 +00:00
lillo
aded06e0aa Second round of changes. Splitted thread.c into thread.c, team.c and scheduler.c. First kernel-only get_team_info and get_next_team_info implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 23:39:50 +00:00
Axel Dörfler
ae372703ce Big commit: Added symlink support to the kernel.
- added needed syscalls to access symlink support from userland
- implemented lstat(), symlink(), and readlink()
- added dev_t to ktypes.h (for now - should be in a public header anyway)
- added symlink support to the "ls" command (now calls lstat() and shows the
  link target with the -l option)
- changed the sys_read_stat() call to support symlinks, and updated files
  using that function (it gets an extra argument: bool traverseLink)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 02:03:27 +00:00
lillo
3cfbecf1a6 First round of big changes: the term team has replaced proc all over the kernel, the few kern_* syscalls have been renamed to sys_* for consistency, and other small changes. The ps app is temporarily disabled until get_next_team_info is implemented.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 00:41:27 +00:00
lillo
c0f8c7be80 little scheduler fixes and made team death synchronized by a semaphore
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-31 20:08:27 +00:00
Axel Dörfler
3aaee8e5b0 Beginnings of the symbolic link support, though it's not yet working.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-28 18:36:23 +00:00
Axel Dörfler
aa7d137cdd Added the fs_info.h header needed for some stuff in the VFS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 14:03:03 +00:00
lillo
0ba337c0a4 adding environmental variables support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 13:59:03 +00:00
Axel Dörfler
b79d207dc2 user|sys_seek() now returns an off_t.
Changed the fd_close() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 08:01:40 +00:00
Axel Dörfler
eba8b6cfb9 Next update of the VFS: more posix like open/create; divided create in
sys_create(), and sys_create_dir(), open in sys_open(), and sys_open_dir().
Small cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 05:08:26 +00:00
David Reid
3088c8d093 Add the prototype for snooze.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 20:26:06 +00:00
David Reid
45352a437a Remove these files that are now in posix/sys where they belong
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 09:30:28 +00:00
David Reid
81f518cf5f Remove this file, now in posix/sys
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 09:26:59 +00:00
David Reid
75afa2416d Remove this file that is now in posix/sys
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 09:23:12 +00:00
David Reid
0b64a609ac Remove this file as it's in posix/sys now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 09:20:24 +00:00
David Reid
16be84c573 Remove this file that has been moved to posix/sys
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-12 09:15:23 +00:00
David Reid
cc19bfc95b These don't belong in here.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@82 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 14:59:23 +00:00
Axel Dörfler
f8d7610714 Added the syscalls for sys_read_dir(), and sys_rewind_dir().
sys_read_dir() now has a parameter for the maximum number of dirents that
are handled by the upper layer - which is currently 1.
Added a comment in fd.h to ease the location of the sys|user prototypes
of the corresponding functions in fd.c.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@58 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 21:46:34 +00:00
David Reid
db73233cdc Couple of small additions and a lot more doxygen stuff.
Web updated to reflect this.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@56 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 20:37:42 +00:00
Axel Dörfler
74f88d9ebf The syscalls.h wasn't up to date (unlike the one in the old tree).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@36 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-10 13:47:46 +00:00
Axel Dörfler
5a2b57c361 Updated to the current version of dirent.h (that somehow didn't make it to
here).
Notably changes are: C++ safe, struct dirent is now BeOS compatible.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@12 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 13:57:50 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00