Improved the output of get_driver_settings_string().
Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3516 a95241bf-73f2-0310-859d-f6bbb57e9c96
be available to userland applications as well.
Furthermore, the API & grammar has been extended. There is now a '=' allowed
between the key and its values. Also, '\n' can now be replaced with ';'. These
changes allow flat driver_settings strings.
It doesn't work perfectly right now, but it's a start. A test application
will be added soon, the kernel file will be removed soon as well, and the
build updated.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3515 a95241bf-73f2-0310-859d-f6bbb57e9c96
KPartition and as no-ops in KDiskDevice.
* Prefixed partition names with "obos_" to not interfere with R5's
partition names.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3509 a95241bf-73f2-0310-859d-f6bbb57e9c96
Some changes to KPartition, KDiskDevice, KDiskSystem on this way.
Still missing is KPartition::Publish() and its invocation in
KDiskDeviceManager. Then everything should be in place to start with
porting the scanning parts of our disk system modules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3486 a95241bf-73f2-0310-859d-f6bbb57e9c96
implementations (and against its standard behaviour), it does now
handle a NULL string parameter gracefully.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3485 a95241bf-73f2-0310-859d-f6bbb57e9c96
the fs register correctly - not that it should have much effect since it's
rarely used anyway (no reason to might be wrong, though) :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3483 a95241bf-73f2-0310-859d-f6bbb57e9c96
since they are implemented in the libroot's os/arch directory.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3235 a95241bf-73f2-0310-859d-f6bbb57e9c96
just returns the contents of the time base register, and the TLS implementation
is only working correctly for single threaded applications. Enough for testing,
at least.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3202 a95241bf-73f2-0310-859d-f6bbb57e9c96
isatty() is fixed - altho this is basically academic since we don't have any
drivers for terminal devices written yet (but at least the code is ready when we do)
also, ctermid() is implemented - which is of no big consequence
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3170 a95241bf-73f2-0310-859d-f6bbb57e9c96
Now builds a boot_arch_stage2.o object file that can be used by the architecture
independent Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3163 a95241bf-73f2-0310-859d-f6bbb57e9c96
it build again; it doesn't work yet at all (pretty similar to NewOS change 1772).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3161 a95241bf-73f2-0310-859d-f6bbb57e9c96
Now calls _IO_cleanup() instead of __cleanup() to be able to be compiled
against glibc stdio as well.
Renamed variables to be much nicer.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3148 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added math-arch PPC files - general status: working but not optimized.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3145 a95241bf-73f2-0310-859d-f6bbb57e9c96
Note, this is incompatible with the BeOS behaviour, which didn't call
the hooks when you exit()ed a program.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3109 a95241bf-73f2-0310-859d-f6bbb57e9c96
Note, this is incompatible with the BeOS behaviour, which didn't call
the hooks when you exit()ed a program.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3108 a95241bf-73f2-0310-859d-f6bbb57e9c96
will come in handy for the glibc stuff - and is great for our libroot.so,
too.
Everything should work except for: pthread_mutexattr_(set|get)prioceiling/
protocol(). That might be added at a later time, though, I don't consider
it a high priority.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3082 a95241bf-73f2-0310-859d-f6bbb57e9c96
implementing a more efficient on_exit_thread().
Note, this extra parameter is currently only used for user space code,
not yet in the kernel; thus on_exit_thread() is not available in the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3075 a95241bf-73f2-0310-859d-f6bbb57e9c96
Note, this probably should be called in exit() not here (for now, I copied
the BeOS behaviour).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3074 a95241bf-73f2-0310-859d-f6bbb57e9c96
vpage to be nearly a TLB entry. Final stripping will occur with kernel
integration. More comments.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3042 a95241bf-73f2-0310-859d-f6bbb57e9c96
compatible while cleaning them up and reflecting our standard header
locations a bit more.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3031 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added TRACE_SMP and a TRACE() macro that is used instead of dprintf() directly.
Also fixed all warnings with TRACE_SMP set to 1.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2941 a95241bf-73f2-0310-859d-f6bbb57e9c96
changed the field order in a couple of structs back to their previous ordering
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2856 a95241bf-73f2-0310-859d-f6bbb57e9c96
normally, I wouldn't checkin a file with cosmetic changes only
however, Marcus just made a change on this file earlier today,
so the file would have to be rebuilt anyway -- might as well
make it pretty too!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2853 a95241bf-73f2-0310-859d-f6bbb57e9c96
Also added "locked list" - a semaphore protected list derived from list.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2851 a95241bf-73f2-0310-859d-f6bbb57e9c96
but doesn't have to be read from disk for efficiency reasons.
Fixed a bug in get_vnode() in case of fs->get_vnode() returns an error of some
kind.
fs_mount() no longer hides the return code from the fs->mount() function anymore (for now).
Added some comments and ToDo items.
Changed some return error values to the B_xxx style (will probably need to define
some new error codes for OpenBeOS).
Changed some return types to status_t/void where appropriate.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2786 a95241bf-73f2-0310-859d-f6bbb57e9c96
implementation in BeOS.
(spawn_thread() will change the value later, but that will come with the whole
stdio implemenation (as it would now print out a warning))
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2691 a95241bf-73f2-0310-859d-f6bbb57e9c96
offsets as parameter to specify the APIC register.
Added an obviously missing apic_write() call.
Code cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2606 a95241bf-73f2-0310-859d-f6bbb57e9c96
Changed apic_read()/apic_write() to accept offsets not addresses as register
parameter.
Cleanups.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2605 a95241bf-73f2-0310-859d-f6bbb57e9c96
thread code now properly traces time spent in user vs kernel mode. The code was
just plain broken before
http://www.newos.org/cgi-bin/perfbrowse.perl?@describe+1704
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2599 a95241bf-73f2-0310-859d-f6bbb57e9c96
Added a SIGNAL_TO_MASK() macro.
Removed the useless disable_interrupts() call in set_alarm().
More cleanups.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2584 a95241bf-73f2-0310-859d-f6bbb57e9c96
required by the Be API).
Removed all posix signal functionality from the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2579 a95241bf-73f2-0310-859d-f6bbb57e9c96
Now directly exports (as is, most of) the kernel thread API.
Now has user_*() functions where needed.
Moved thread_set_priority() from scheduler.c to set_thread_priority().
Renamed thread_wait_on_thread() to wait_for_thread().
user_get_thread_info() now uses user_strlcpy() instead of user_strncpy().
Fixed the snooze() implementation - it now returns B_OK where appropriate. Now all snooze()
calls will call snooze_etc().
New private call spawn_kernel_thread_etc() to replace thread_create_kernel_thread_etc().
Moved some functions around.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2578 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed a bug in sigaction(): it would have crashed with act/oact == NULL (which
is perfectly legal).
Now directly exports the kernel API.
Now has user_*() calls where needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2577 a95241bf-73f2-0310-859d-f6bbb57e9c96
Renamed team_wait_on_team() to wait_for_team() (more BeOS-alike).
Adapted to other changes (new thread functions).
Cleanups.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2576 a95241bf-73f2-0310-859d-f6bbb57e9c96
and don't have any functionality at this place.
Added new syscall for set_thread_priority().
Some other changes due to cleanup.
Fixed userland snooze() call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2575 a95241bf-73f2-0310-859d-f6bbb57e9c96
have the scheduler_ prefix instead of thread_.
Moved thread_set_priority() back to thread.c where it belongs to.
Added new function to remove a thread from the run queue.
Renamed run_q to gRunQueue.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2572 a95241bf-73f2-0310-859d-f6bbb57e9c96
Actually never unlocked the daemon's lock (always called mutex_lock() instead
of mutex_unlock()...).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2568 a95241bf-73f2-0310-859d-f6bbb57e9c96
there is no libbe.so yet).
Doesn't even query the port; just causes send_notification() in the kernel
to be called which will print out some info.
Added to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2487 a95241bf-73f2-0310-859d-f6bbb57e9c96
the vnodes of a mount structure).
Removed stubs for send_notification() and notify_listener() (they are now located
in message.c and node_monitor.c).
Added support for the node monitoring service.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2482 a95241bf-73f2-0310-859d-f6bbb57e9c96
unmounts is not yet implemented.
Added an empty implementation for send_notification() - the function that is
(or will be) able to send out BMessages from within the kernel; currently
just prints out what should be done.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2481 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed a bug that asked ld to discard the .dtors section.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2450 a95241bf-73f2-0310-859d-f6bbb57e9c96
libglue(2).so are now using the new startup code.
libroot.so now statically links against libgcc.a for now (to be able to load
BeOS executables).
Added some comments.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2449 a95241bf-73f2-0310-859d-f6bbb57e9c96
This has almost the same layout as in BeOS - the only difference is crt0.o which
is what is usually provided by crti.o/crtbegin.o/crtend.o/crtn.o. When we want to
move to GCC's crtbegin/end code, we have to introduce crti.o and crtn.o. This is
required because the crtbegin/end stuff assumes to be inserted between a function
start (crti.o) and a function end (crtn.o) - which can only be achieved with assembly,
and is therefore platform dependent.
start_dyn.c is used for executables and calls main() (among other).
init_term_dyn.c functions are called from the .init/.fini sections and search
for B_INIT/TERM_BEFORE/AFTER_FUNCTION_NAME, and execute them if they are present.
Both use BeOS compatible call scheme but add parameters to the end.
lib0.c is no longer needed, because init_term.c/crt0.c replace its functionality.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2448 a95241bf-73f2-0310-859d-f6bbb57e9c96
Note, the _start() function is now called with 4 parameters, because BeOS
requires the first three (the fourth isn't used in BeOS executables).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2447 a95241bf-73f2-0310-859d-f6bbb57e9c96
doesn't export it), initialization has also moved to initialize_before().
Added BeOS compatibility stubs to allow execution of BeOS native apps - added
comments to every function; some of them might be removed later on again.
Also moved "environ" to posix/stdlib/env.c for the same reason.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2446 a95241bf-73f2-0310-859d-f6bbb57e9c96
instead of "INIT_BEFORE/AFTER_CTORS".
Uses the new runtime linker exports.
Note, this is not yet BeOS compatible (will need to have init/fini sections)!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2441 a95241bf-73f2-0310-859d-f6bbb57e9c96
INIT_BEFORE_CTORS() is now called initialize_before() to be compatible
with BeOS start_dyn.o.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2438 a95241bf-73f2-0310-859d-f6bbb57e9c96