Commit Graph
1281 Commits
Author SHA1 Message Date
Axel Dörfler cdae4b7cf1 Added panic()/dprintf() calls to the x86 bootloader bindings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-23 01:03:24 +00:00
Axel Dörfler 06c0f437a7 Added "\n" -> "\r\n" translation for console output, not yet tested.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-19 18:32:37 +00:00
Axel Dörfler 498a8e8be0 Now uses vsnprintf() instead of vsprintf() which makes the output safe.
Removed "\n" -> "\r\n" translation (it's now done in the platform dependent part).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-19 18:30:31 +00:00
Axel Dörfler 788d2b04ea Implemented console output for x86 boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-19 18:28:26 +00:00
Axel Dörfler 6e1d8b671a Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:30:43 +00:00
Axel Dörfler 0f00c4fff9 Renamed global variables to match our coding style guide.
Removed thread_kill_thread_nowait().
Renamed thread_init_percpu().
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:29:45 +00:00
Axel Dörfler bd3f643494 Renamed thread_init_percpu() to thread_per_cpu_init().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:28:08 +00:00
Axel Dörfler 0cec1c047b No longer calls thread_kill_thread_nowait() but sends the signal directly
(because the former function doesn't exist anymore).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:25:43 +00:00
Axel Dörfler 15edae152e Completed find_thread() implementation, courtesy of Starr Kline.
Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 15:08:36 +00:00
Axel Dörfler a206c3746f Lowered the thread priority boost on death.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-17 00:43:16 +00:00
Axel Dörfler 8e14887212 Moved some dprintf()s to use the TRACE() macro.
Also fixed compilation with tracing enabled.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 03:14:48 +00:00
Axel Dörfler a9e1ba1d5b Fixes due to the team/thread.h separation and minor header cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:53:41 +00:00
Axel Dörfler 974982d56d Factored out two functions out of thread_exit() (in team.c).
Incorporated NewOS change 1930: sends the parent SIGCHLD if the team
goes away.
create_thread() now returns B_BAD_TEAM_ID when the team is in death state
instead of ERR_TASK_PROC_DELETED.
Cleaned headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:50:25 +00:00
Axel Dörfler 074af04cf2 Factored out two new functions (team_remove_team() and team_delete_team())
from thread_exit().
Removed team_remove_team_from_hash() as it's no longer necessary.
Also incorporated NewOS change 1930: maintain the parent/children lists.
Cleaned up the headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:46:28 +00:00
Axel Dörfler b721e8fd26 Gained knowledge from NewOS change 1930 and fixed the sig_block_mask change
as already suggested in my earlier comment.
Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-16 02:23:32 +00:00
Axel Dörfler a7b6bd943e The bootloader now takes this region into account, no need to do that manually over here.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-15 02:02:25 +00:00
Axel Dörfler 3bba0ebe0a NewOS revisited, applied patch 1916: now evaluates the extended BIOS
RAM size call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-15 00:58:49 +00:00
Axel Dörfler 4a2e872cca Applied NewOS change 1914: moved APIC setup into the kernel due to a
problem with the APIC clock speed test.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 22:54:00 +00:00
Axel Dörfler 7ec81f4c11 Disabled debug output for arch_int_enable_io_interrupt().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 22:50:41 +00:00
Axel Dörfler 03c1062163 set_real_time_clock() is supposed to set the hardware clock as well.
Fixed dump function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 21:53:48 +00:00
Axel Dörfler 09e395fbe3 Applied ages old cleanup patch from Jack Burton.
Took the chance and cleaned it up even more; this change is not a functional change.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 18:02:22 +00:00
Axel Dörfler 743c42a747 arch_setup_signal_frame() must not access the user space stack without
using user_memcpy(); therefore it can now fail.
Taken from NewOS, thanks to Travis for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 17:59:42 +00:00
Axel Dörfler eb9335a34b Applied NewOS change 1972: "Fix the build with gcc 3.3.3. The bootloader
was broken because of some new behavior that puts initialized varaibles
in .bss anyway (if you initialize with zero). The bootloader was relying
on not having a .bss. Fixed in the linker script.".


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-14 17:01:51 +00:00
Axel Dörfler f7f6185398 A bit more BeOS compatible math.h functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-13 18:48:55 +00:00
Axel Dörfler 48847a2aab You must not copy a list in that way; it's now using the new list_move_to_list()
call.
"testapp" now works fine with the new port code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 21:36:02 +00:00
Axel Dörfler ed3f63ae37 Added a call to move the contents of one list to another.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 21:34:20 +00:00
Axel Dörfler 28f42fcecc get_port_info() is not supposed to succeed on a closed port.
Saved the port_entry.closed member and now set the capacity to 0, since
it is not used any longer (reduces the size of the port table).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 05:28:50 +00:00
Axel Dörfler 85b89008bd Replaced the MAX_PORTS constant with the gMaxPorts variable, so that it
could be changed at startup (adapted to system properties).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 05:09:29 +00:00
Axel Dörfler b672b21619 Renamed some variables to match our style guide better.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 05:06:13 +00:00
Axel Dörfler b3d07d6550 Rewritten the msg queue code to use a doubly linked list of port_msgs.
Right now, it allocates/frees the msgs from the kernel heap for every
message sent - that might be too slow for real world usage.
Also removed all known race conditions from the code.
Not tested at all yet, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-12 04:57:38 +00:00
Axel Dörfler 2f6684aaee Fixed _user_find_thread(NULL), courtesy of Jack Burton.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-09 15:45:34 +00:00
Stefano Ceccherini 805bba9456 Fixed the debugger "region" command (still looking for others like that one)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-09 09:53:54 +00:00
Axel Dörfler 349b01808e Seems like I'm getting old: fixed a similar typo in pipefs (like the one I
did in ports.c), thanks to Jack Burton for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-08 12:08:06 +00:00
Axel Dörfler 89ea3ca9d6 Fixed a stupid typo, thanks to Bill Hayden for pointing this out :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-05 23:55:19 +00:00
Axel Dörfler 135d20a96e Now properly shuts down the thread message cache in thread_exit(),
its semaphores get deleted, thanks to Jack Burton for reporting.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-05 12:55:27 +00:00
Axel Dörfler 5fd77dc430 Moved a few functions around to have a better separation between public
port API and private functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-05 02:28:37 +00:00
Axel Dörfler 7fb4c29b80 port_buffer_size_etc() was horribly broken in a lot of ways, it even read
the info from the wrong end of the queue.
find_port() did not return the correct error codes.
write_port_etc() checked incorrectly for a deleted semaphore.
B_WOULD_BLOCK would let various functions print out a warning for no reason
(the comments in the code actually didn't fit to the implementation).
"total_count" was counting the number of messages written, not those that
have been read (as the BeBook says).
Thanks to Bill Hayden who reported a lot of these.
Added TRACE macro and moved some of the dprintf()s to that.
Added/fixed some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-05 01:23:43 +00:00
Axel Dörfler 7b83e8b24c Made find_port() less heavy; it no longer disables interrupts for the whole
run. Also create_port() now changes the port ID only when the port lock is
grabbed, so that we don't need to acquire the port list lock in find_port().
Removed setting lock to "0" in create_port() because if it's not 0 in the
first place, there is something seriously wrong (should add an assert there).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-04 20:43:13 +00:00
Axel Dörfler b752b6bb02 Fixed port & sem debugger commands, fixed sem.c compilation with tracing
enabled, courtesy of Jack Burton.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-04 12:14:48 +00:00
Axel Dörfler 0efc0b5804 Forgot to remove some parts of the previous read lock.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 18:58:54 +00:00
Axel Dörfler 76946b95da Fixed the pipefs. It now should work without any problems.
I don't know which part of me has written the previous version, but
it seems not have been supervised by a brain while doing it.
The read requests are now maintained per inode (as it has to be),
and there is one read lock per request.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 18:57:52 +00:00
Axel Dörfler 025019e571 Renamed thread/team syscalls to new scheme.
Minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:15:48 +00:00
Axel Dörfler 96246c6b3b Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:15:15 +00:00
Axel Dörfler 663bccf7f9 Renamed thread/team syscalls to new scheme.
Code cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:14:49 +00:00
Axel Dörfler 5d83d63c08 Renamed thread/team syscalls to new scheme.
Removed old ERR_* error codes.
Removed funny area names in rldheap.c.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:13:00 +00:00
Axel Dörfler 39622c6739 sys_get_current_thread_id() is no more.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:10:08 +00:00
Axel Dörfler 5be410a7cd Renamed thread/team syscalls to new scheme.
Tuned the license a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:09:17 +00:00
Axel Dörfler a16600d146 Renamed thread/team syscalls to new scheme.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:08:27 +00:00
Axel Dörfler 6f2229385e Renamed thread/team syscalls to new scheme.
read_data(), has_data(), and receive_data() are no longer exported
by this file, but their _kern_*() equivalents are now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:07:21 +00:00
Axel Dörfler ade669abd7 Renamed thread/team syscalls to new scheme.
Added commented out wait_for_team() which we might want to have in the
final version, too.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:06:23 +00:00