Commit Graph

9436 Commits

Author SHA1 Message Date
Axel Dörfler
e56c30d87d Replaced the old _kern_create_team() syscall with a BeOS style _kern_load_image().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 17:46:48 +00:00
Axel Dörfler
eb89cb7f1d The currently predefined PATH variable missed its single most important path (/bin) :).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 17:44:09 +00:00
Axel Dörfler
4711148ca9 wait_for_child() can now also wait on children in the current or any other
process ID (in the current session).
get_death_entry() could call free() with interrupts disabled; now follows
the same mechanism as chosen with the groups (ie. it returns a pointer
to a death_entry to be freed by the calling function).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 15:42:56 +00:00
Axel Dörfler
c2452435f2 The group must also know how many wait_for_child() are on it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 15:40:21 +00:00
Rudolf Cornelissen
b88fe980ef updated AGP shutoff to be temporary during coldstarts: finally NV28 cooperates IF card is primary, fake_agp driver is installed and FW is enabled!! Apparantly something messes up PCI/AGP comms that does not get restored within the normal coldstart operating procedure. PCI mode is NOT operational when coldstarting(!)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 15:06:06 +00:00
Axel Dörfler
38cd9a7521 send_signal_etc() is now capable of broadcasting a signal to all teams in
the specified process group (by passing in a negative pid, as in BeOS).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:48:40 +00:00
Axel Dörfler
6a70123a9d Big update, but everything is related:
- we now have a working process group/session model. Implemented related syscalls
  and the kernel backend, some POSIX process functions are now available in the
  kernel as well.
- dying teams now monitor their exitus by leaving death_entry structures in
  their parent team.
- Implemented wait_for_child() for pid == -1 and pid > 0; IOW waiting for process
  groups is missing yet. Hasn't yet been tested intensively.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:46:12 +00:00
Axel Dörfler
f197107a3d B_RELEASE_ALL is now a bit faster if it has nothing to do.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:37:39 +00:00
Axel Dörfler
d67750858c Implemented all remaining process related functions from unistd.h using the new syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:36:45 +00:00
Axel Dörfler
67c504a23a Added various session/group/process syscalls.
Changed team_remove_team() to support process groups.
Added new prototype for team_delete_process_group().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:34:30 +00:00
Axel Dörfler
07265ad7c5 Added new process_session/process_group structures, and added all fields
to the team structure to support these concepts.
Moved the dead_children stuff into a sub-structure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:32:58 +00:00
Axel Dörfler
b821b7715a Added syscalls for various process/group/session related functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:31:31 +00:00
Axel Dörfler
9348d6b4e7 Added missing process prototypes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:28:28 +00:00
Axel Dörfler
b51a65027b Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 14:24:42 +00:00
Rudolf Cornelissen
c1a1413c4d forcing PCI mode before coldstart exec: NV28 starts to show signs of life now... This might fix coldstart trouble on some cards outthere.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 12:59:40 +00:00
Rudolf Cornelissen
bf25ef8f47 logging updates
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 10:07:59 +00:00
Rudolf Cornelissen
7340b4612e more PLL calc routine finetuning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 09:42:21 +00:00
Stefano Ceccherini
06103a3d87 removed _PS2_MOUSE_ define, as it isn't used anymore
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 09:33:36 +00:00
Jérôme Duval
f79a45bd14 build the R5 driver only when COMPILE_FOR_R5 is defined
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 09:29:17 +00:00
Rudolf Cornelissen
a7df5c7c5b added NV28 RAM init routine (coldstart stuff). Seems to work, although we still have another problem that's preventing correct RAM access (RAMIN).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 08:33:20 +00:00
DarkWyrm
8fd1ad6fb0 Dead code removal from BGet++
API modifications for ServerApp to support PortLink messages sent via an area
Added a RAM-based PortLink message reader to handle reading from an area


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 01:23:00 +00:00
DarkWyrm
c2f63fb50d Moved functionality of PortLink into LinkMsg* to avoid serious code duplication in the app_server
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 01:20:30 +00:00
DarkWyrm
67e2a74dc6 Separated functionality of PortLink into LinkMsg* to avoid some *serious* code duplication
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-14 01:18:38 +00:00
Matthew Wilber
8a2b9ae571 Updated with the new location of the StreamBuffer files
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 21:31:29 +00:00
Jérôme Duval
ddf8a11463 Fixed restart problem
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 20:00:19 +00:00
Nathan Whitehorn
7aae187b23 Forgot to commit the Mach64 private headers directory.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 17:39:03 +00:00
Axel Dörfler
48e64cd7c8 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.
Removed release_threads variable in release_sem_etc(), as it was useless.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 15:55:30 +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
1956e69d13 Moved the thread::sem fields into their own sub-structure for clarity.
Some minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 15:19:08 +00:00
Axel Dörfler
7533ce05e9 Moved the thread::sem fields into their own sub-structure for clarity.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 15:16:56 +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
386977d795 Removed delete_sem_etc(), there is no thread::sem_deleted_retcode anymore.
Also removed syscall for that function (shouldn't have been there in the
first place, anyway).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 14:56:44 +00:00
Axel Dörfler
c8e662b19c Changed some thread exit related fields.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 14:54:51 +00:00
Axel Dörfler
c2289a8876 Changed the way a dying thread propagates its exit status and reason: we
no longer abuse the semaphore mechanism to carry an extra status value,
instead, wait_for_thread() registers a death_entry with the thread that
will be filled upon exit.
Removed delete_sem_etc() as it's no longer of use or available.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 14:52:52 +00:00
Axel Dörfler
2500c27b92 Began work for waitpid() functionality.
Changed the way a dying thread propagates its exit status and reason: we
no longer abuse the semaphore mechanism to carry an extra status value,
instead, wait_for_thread() registers a death_entry with the thread that
will be filled upon exit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 14:50:52 +00:00
Axel Dörfler
822e4e0b41 suspend_thread() and resume_thread() no longer have the B_DO_NOT_RESCHEDULE
flag set.
Fixes _user_wait_for_thread() which returned an invalid return code in case
of error.
Some minor cosmetics.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 13:10:27 +00:00
Philippe Houdoin
8880d1a7b4 Fix build issue raised by changes in notify_select_event() prototype.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 10:29:00 +00:00
Philippe Houdoin
b6e6c72041 Now using TRACE() macro for debug outputs.
Debug output display opcode name instead of just this unfriendly hex value.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 10:00:01 +00:00
Philippe Houdoin
6e177b5562 Small autosizing enhancement.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:56:28 +00:00
Philippe Houdoin
e35b498755 Small changes that were never comitted.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:52:32 +00:00
Philippe Houdoin
def78b567a Add setenv() & co to librld.a as our runtime linker will need them...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:49:14 +00:00
Philippe Houdoin
08130f16ce Fix About Box project name.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:47:07 +00:00
Philippe Houdoin
71bff49f93 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:41:36 +00:00
Philippe Houdoin
f0b122701b Fix warnings about conflicts between KernelExport.h's user_memcpy/_strlcpy() and
kernellland_emu.cpp implementation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 09:06:25 +00:00
Jérôme Duval
85bf8fb207 Fixed delete key for Hungarian keymap. Thanks to Barna ( jedimaster at egoldal.net ).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 08:23:35 +00:00
Stefano Ceccherini
8b1a3af3db Fixed ps2/at keyboard driver. I've started using this as my default keyboard driver on r5, so I can test it and implement what's missing (mostly settings ioctls).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-13 06:34:37 +00:00
Axel Dörfler
4609c64d48 The %fs register is used by user space TLS - it is CPU dependent, and must
not be restored from the iframe; it will be set by the scheduling code.
This is only of concern on SMP machines and could prevent TLS from working.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 22:42:22 +00:00
Axel Dörfler
2740dedc5b Added thread-safe pthread_atfork() support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:44:40 +00:00
Axel Dörfler
81d4f788a2 Added and implemented atfork() - note, this function is not part of POSIX
and should go away over time.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:37:39 +00:00
Axel Dörfler
10031c3053 Added and implemented pthread_atfork().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 16:36:12 +00:00