Commit Graph

3012 Commits

Author SHA1 Message Date
Philippe Houdoin
f3eabb6abd Backport time tracking fix from NewOS:
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
2003-01-29 21:59:37 +00:00
Axel Dörfler
1241a21542 Only queries non-indexed attributes if the B_QUERY_NON_INDEXED flag was
passed during construction of the Query.
Only live queries are now registered with the BVolume (for now - since Be's kernel
doesn't free queries when an app has crashed, we might want to have a work-around
for that one day [or just a new kernel :)]).
Small cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-29 15:11:44 +00:00
Axel Dörfler
2fee336b52 Removed the load_driver_symbols() call, since it doesn't seem to have any
effect anyway.
Now passes the flags parameter on to the Query.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-29 15:09:18 +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
DarkWyrm
fb994d6964 Removed some warnings and added documentation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-29 00:11:21 +00:00
DarkWyrm
8ccf453d5e Ported and added prototype #7's ScreenDriver and ViewDriver
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-28 23:58:06 +00:00
Ingo Weinhold
42941d8728 Source files for intel partition add-on added.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-28 23:23:43 +00:00
Ingo Weinhold
066d69dad4 The beginning of partitioning support:
* Added functionality to convert a PartitionMap to a string and vice versa.
* get_partitioning_parameters() implemented, but not tested.
* The code also needed by the GUI add-on now lives in separate files.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-28 23:22:54 +00:00
Michael Pfeiffer
59ec2bb9e7 Added pcl5 compatible printer driver
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 22:07:32 +00:00
Michael Pfeiffer
987f2a6d7c Implemented PCL5 printer driver using Y. Takagis excellent libprint.
Color printing not supported yet!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 22:07:23 +00:00
Michael Pfeiffer
68eea8f694 Moved PackBits.* from directory ../lips4
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 22:05:49 +00:00
Michael Pfeiffer
92c43cf25c Moved PackBits.* to directory ../libprint
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 22:05:10 +00:00
DarkWyrm
643c5cd11e Documented AppServer class.
Implemented most of the AppServer class - can actually *run* the server.:P
Minor tweaks to ServerApp to accomodate AppServer::Broadcast()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 19:43:15 +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
Axel Dörfler
74eff974c5 Fixed a variable misnamer I introduced earlier (team -> threadID).
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
2003-01-27 13:55:57 +00:00
Axel Dörfler
868dc95975 Makes use of the new daemon_hook typedef.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 13:53:10 +00:00
Axel Dörfler
ec7567030b load_driver_symbols() is no longer part of the public API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 13:51:46 +00:00
Axel Dörfler
b16ed21a04 Our new KernelExport.h header.
Typedefs for debugger and kernel daemon hooks, cleaned up.
Added a ToDo item about the "abuse" of the quent structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 13:48:39 +00:00
Axel Dörfler
2760fd9495 Renamed resched() to scheduler_reschedule().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 04:01:28 +00:00
Axel Dörfler
4b2d22c03e Fixed userland snooze() implementation, snooze_etc() is now also exported (as
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
2003-01-27 03:19:18 +00:00
Axel Dörfler
88b64a6feb Big cleanup.
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
2003-01-27 03:17:36 +00:00
Axel Dörfler
b848af2071 Greatly cleaned up the source.
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
2003-01-27 03:11:45 +00:00
Axel Dörfler
6d8aafc66e Added comments to sys_(get|put)env() - please remove them from the kernel.
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
2003-01-27 03:09:33 +00:00
Axel Dörfler
dba0db7fbe Fixed all the broken signal stuff. Now correctly calls the user_*() function,
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
2003-01-27 03:07:30 +00:00
Axel Dörfler
2e7d51f89b Updated due to the changes in scheduler.c (resched() -> scheduler_reschedule(),
thread_enqueue_run_q() -> scheduler_enqueue_in_run_queue()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 03:05:09 +00:00
Axel Dörfler
c333b5aa8e Replaced the standard thread functions with a BeOS compatible set.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 03:02:24 +00:00
Axel Dörfler
51cc35a759 Cleaned up the source, rearranged some functions. Now exported functions
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
2003-01-27 03:01:35 +00:00
Axel Dörfler
8ccc1ad67d mutex_lock() now prints out the semaphore ID if it panics.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 02:58:17 +00:00
Axel Dörfler
fe8ffea9f4 Removed the kernel_posix_signal.o file - it's not needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 02:55:34 +00:00
Axel Dörfler
a9731b41c1 Housekeeping changes and small bug-fixes:
Added new syscall for set_thread_priority().
Replaced the userland syscall snooze_until() with snooze_etc() (the latter
has to be exported to userland and realize snooze() and snooze_until()).
Cleaned the sources - scheduler functions now have the scheduler_ prefix.
Moved signal related stuff into ksignal.h (out of thread.h).
Replaced public kernel API with direct exports (i.e. resume_thread() instead
of thread_resume_thread()).
Removed the thread_create_XXX_thread*() calls, and replaced them with a
BeOS compatible set.
Made some fields of struct thread a bit prettier.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-27 02:54:21 +00:00
Axel Dörfler
dc7fb22c07 Forgot to resume the kernel_daemon thread.
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
2003-01-27 02:02:20 +00:00
Axel Dörfler
429578fb0b Team/image stuff now uses lists instead of kqueues.
The kernel_daemon now utilizes the updated list API.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 23:31:38 +00:00
Axel Dörfler
878c4156af Added two convenience functions: list_add_item(), list_remove_item().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 23:30:53 +00:00
Axel Dörfler
7f1f508e13 Added two convenience functions list_add_item(), list_remove_item().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 23:30:12 +00:00
Axel Dörfler
04d145c94d The team's image API is now using "list" instead of "kqueue".
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 23:29:33 +00:00
Ingo Weinhold
f451c48d3b Rewrote large parts. It's now in nice C++ and should be easier to be extended (partitioning support). Added a lot more checking. Now the module refuse everything that has incorrect partition tables. The BeOS R5 CD is handled correctly now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 22:21:55 +00:00
DarkWyrm
16b0d71f0b Added FTSmooth patch by David Chester
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 21:36:27 +00:00
Axel Dörfler
28bf3daa5d Implemented the kernel daemon service. It's not yet tested, but should be
equally inaccurate as the BeOS R5 version :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 17:31:33 +00:00
Axel Dörfler
8a5543b18c Added the kernel_daemon.h header which defines the init function for the
kernel daemon service.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 17:27:42 +00:00
Ingo Weinhold
8bb94d272f Renamed intel.c to intel.cpp. Real C++ coming soon.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 15:23:25 +00:00
Ingo Weinhold
3f449331f4 Commented out the rules for generating a R5 kernel module. We can't use it anyway.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 15:21:58 +00:00
Ingo Weinhold
9d192d5917 Added partitionMapName parameter to get_nth_partition_info(). Added the new fields to the output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 15:14:59 +00:00
Ingo Weinhold
cd34fb229b Fill in the file_system_flags field recently added to extended_partition_info.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 15:12:07 +00:00
Ingo Weinhold
f8ab0724d6 * The partition modules have a short_name field now instead of the
identify_module() hook.
* get_nth_session_module() returns the name of the partition module.
* There is no special handling for CDs anymore. The session modules are
  tried on any device now.
* Fixed a bug in get_buffer() causing a crash when reading from disk
  failed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 15:10:45 +00:00
Ingo Weinhold
0b1ab795f4 Got rid of the module_identify() hook. Instead the module info features a short_name field now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 15:06:23 +00:00
Ingo Weinhold
cd6210cc8d Added a parameter for getting the partition module name to the get_nth_partition_info() hook.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 15:05:20 +00:00
Ingo Weinhold
38f832c7eb Removed Identifier() and FileSystem() methods. ShortName() shall return the respective identifier.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-26 15:03:48 +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
ejakowatz
7dfa005716 Fixed a mistake in the declaration for class BFoo in the "pointer to new
data structure example"; int32 fQux should have been included (otherwise,
the class size would have be reduced by 4 bytes!)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-01-25 20:59:47 +00:00