Commit Graph

15736 Commits

Author SHA1 Message Date
Axel Dörfler 204131dc97 Added a real yield function to the kernel (using the next_priority approach).
The test application lets run a thread at the highest priority that calls
yield all the time - the system stays responsible when it runs, so it seems
to work fine :)
Changed the malloc implementation to use _kern_thread_yield() instead of
snoozing.
We should think about making this call public, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 02:29:02 +00:00
Axel Dörfler d14af9fde6 Introduced a next_priority field to struct thread that will be used when
enqueueing a thread to the run queue.
This mechanism is now used for the thread priority boost on semaphore
release. Also, those threads are no longer made real time threads, they
now get a temporary priority of B_FIRST_REAL_TIME_PRIORITY - 1.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 01:58:49 +00:00
Ingo Weinhold a324efcfdc Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 01:46:43 +00:00
Ingo Weinhold 29d7e9cdd6 Our FS is case sensitive, and the create_app_meta_mime() implementation
didn't bring the app signature into its canonical lower-case form when
using it as path to the MIME DB file. Thus an application signature
MIME type didn't get any attributes, not even the path to the app's
executable, which led to all kinds of problems when finding or starting
applications by signature. Among them, Clock not finding its resources
(bug #74).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 01:09:02 +00:00
Ingo Weinhold 1ba1f4be4a If the "if" block is more than one line long, braces should be used, even
if it doesn't make a semantical difference. I can't believe I've written
that code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 01:01:21 +00:00
Axel Dörfler 7e46f8319e snooze(5) works more or less fine for standard threads, but is a very bad
idea for real-time threads. They could completely hog the CPU in this
case. Thanks to Marcus for investigating!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-31 00:11:51 +00:00
Axel Dörfler ec549309c9 The menus work a bit less good now I think, but they no longer have 100% CPU usage
when the menu item under the mouse cursor has a sub-menu.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 23:40:05 +00:00
Marcus Overhagen badb1d4be6 optimized debug output, and enabled PCI bus (re-)enumeration
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 23:09:28 +00:00
Marcus Overhagen 9797f71b23 Added PCI bus (re-)enumeration for all domains, but disabled by default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 22:26:51 +00:00
Marcus Overhagen 84f007fba9 made access to keyboard controller and dev->flags thread save
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 20:14:51 +00:00
Axel Dörfler db63fe6713 Strangely enough, one of my R5 system's doesn't have a "cc".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 18:38:23 +00:00
Jérôme Duval bd9d5861cb added driver settings, untested
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 17:07:11 +00:00
Axel Dörfler 5d16441307 Now usually ignores the length of the data segment as well.
It now works fine on my P4 system as well :-)
But since the BIOS area is not identity mapped, it might work on fewer systems
than it does in BeOS R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 16:32:47 +00:00
Axel Dörfler afef4f3fff The syslog_daemon now ignores zero length messages, and the kernel's syslog
mechanism doesn't send them out any longer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 16:09:24 +00:00
Axel Dörfler bd610d2fcd * Added kernel settings for APM - defaults to disabled (since it doesn't work
on at least one of my systems, it only works on 3 of them...).
* Added APM safemode setting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 14:43:38 +00:00
Jérôme Duval 7f40667cbc Installer scripts are not executable, we launch them with sh
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 14:05:40 +00:00
Axel Dörfler c7023acdc6 * Fixed B_AVOID_FRONT support in the app_server.
* Menu windows now use the kMenuWindowFeel feel (but still need the B_AVOID_FOCUS
  flag set, as that's currently independent from the feel).
* Minor cleanup in MenuWindow.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 13:40:22 +00:00
Axel Dörfler 304636cc5e Implemented kMenuWindowFeel, not that much tested, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 11:50:02 +00:00
Ingo Weinhold 04fcc147ca * Small fixes.
* Added --dry-run option for paranoid ones like me.
* Added support for making partition devices bootable under Linux (x86, BIOS).
  
When specifying respective values for HAIKU_IMAGE_{DIR,NAME} ("/dev" and
e.g. "sda7") a "jam haiku-image" will now replace the contents of your
favorite partition with a fresh Haiku installation. BE WARNED: This is nothing
for the faint of heart and I don't guarantee that my implementation is bug-free
and won't mangle the contents of your hard disk even if you use it correctly.

That being said, note that you'll probably have to run the "jam haiku-image"
as root, if you want to access the partition devices, which is a bit annoying.
Furthermore, if the build_haiku_image script fails for any reason, jam tends
to remove the image file, which in this case would be a partition device node.
The mknod command will be your friend in this case.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 01:50:50 +00:00
Ingo Weinhold deeb2f399a A bit of #ifdef'ing to make the stuff edible for userland compilation
with gcc 4.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 01:22:11 +00:00
Ingo Weinhold 4b0e1b9bda * We map ioctl() to the build platform manually now. For Linux we
implement the B_GET_GEOMETRY command in a usable way. The bfs_shell is
  able to play with partition devices under Linux, now.
* Fixed two warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 01:19:11 +00:00
Ingo Weinhold 51855db4b0 Added cleanup for the external command stuff, so that the UNIX flavored
implementation can unlink the named pipe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 01:13:48 +00:00
Marcus Overhagen 64faaed88a cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-30 00:00:52 +00:00
Jérôme Duval acf395bb4b added rdef for mimeset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 23:01:09 +00:00
Stefano Ceccherini 61ba5a32c1 Added some code to draw "empty" in empty menus. Not working for the
moment, but committing since it's too late to continue working, and at 
least the window is resized correctly...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 22:27:46 +00:00
Axel Dörfler 8a1f6775b9 * You can now specify a thread when using the "unreal" debugger command.
* Added a thread priority column to the thread list.
* Added "realtime" command that lists all real-time threads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 19:50:00 +00:00
Axel Dörfler 1ee28f024a Too more FreeBSD build fixes by Alexander Deynichenko.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 17:45:52 +00:00
Axel Dörfler c08ce938f3 Added way to enter the kernel debugger in case keyboard is disabled - couldn't
test it, though, as I couldn't reproduce the problem since then.
Fixed indentation in ps2_keyboard.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 15:53:37 +00:00
Axel Dörfler 5da68569d0 The APM now successfully shuts down my IBM ThinkPad T40. It's still disabled
for more testing on other machines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 15:51:33 +00:00
Axel Dörfler fd9772def6 Fixed build on BeOS: MimeType.h doesn't exist; we need to use Mime.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 14:25:27 +00:00
Ingo Weinhold 1ae42108ec Improved the window_quit_loop() situation:
* We no longer try to dynamic_cast<>() a BLooper* into a BWindow* in
  an unsafe context (i.e. without the looper or the looper list being
  locked).
* We no longer try to quit windows that haven't been run yet (e.g.
  bitmap's offscreen windows). Those windows conceptually still belong
  to their creator. In the best case trying to lock such a window
  simply failed (e.g. when the creator was another window that had been
  told to quit earlier and deleted the window in question just not too
  early). In worse cases we would dead-lock (when the owner has not
  been told to quit (or refuses to do so)), cause "locker must be
  locked" debugger calls or die painfully when accessing an already
  deleted object.

BTW, I doubt, that the whole window quitting procedure is as it should
be. There's still a huge race condition: When a window is created after
we capture the window list at the beginning of window_quit_loop() that
completely escapes us.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 01:54:33 +00:00
Ingo Weinhold 7baddcf950 Added TODOs regarding gdb blocking in some situations (e.g. on
"info threads" when one of the team's threads is waiting
uninterruptably on a semaphore).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-29 00:58:09 +00:00
Ingo Weinhold 9ff556c32a Even better use the type guaranteed to be the correct one for the platform.
Thanks to John Drinkwater for pointing that out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 22:51:09 +00:00
Ingo Weinhold b4598d95e6 Fixed nasty bug in BAppFileInfo::_ReadData(). When an attribute
or resource to be read did not exist and the method was told to
allocate a buffer, it would try to allocate the buffer with an
uninitialized size value. This basically concerned SetSupportedTypes()
and methods using that one (IsSupportedType(), Supports()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 22:34:36 +00:00
Ingo Weinhold 7aa7880955 Build mimeset for the build platform and use it for the apps we build.
This fixes bug #74.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 22:02:48 +00:00
Ingo Weinhold 15285cb04d Good deal of hackery to get update_mime_info() to work on the host
platform to the extend we need it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 22:00:16 +00:00
Ingo Weinhold 58b53fd940 Added BApplication dummy class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 21:57:02 +00:00
Ingo Weinhold e9bd9044fd Dummy BApplication class. So we don't have to #ifdef it out in tools we
to build for the build platform.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 21:56:38 +00:00
Ingo Weinhold 9c2d48f374 Fixed bug already fixed in the Haiku version.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 21:55:29 +00:00
Ingo Weinhold de3b6032e7 There's even a constant for the ELF executable type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 21:05:54 +00:00
Ingo Weinhold 0b537029e3 Synchronized the MIME stuff in the build platform support libbe with
the current Haiku libbe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 20:20:27 +00:00
Ingo Weinhold 15424f3d37 Finally fixed update_mime_info(). As Be's version it understands two
different "force" levels now and updates the app file info attributes
for shared object files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 19:41:07 +00:00
Ingo Weinhold 1ee5d15ef8 MIME DB entry for ELF executable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 19:28:58 +00:00
Axel Dörfler 036b999b54 Unbroke the build (ps2.h was suddenly missing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 18:48:50 +00:00
Axel Dörfler afd6dfc8b4 Implemented first basic APM driver. Only tested with QEMU so far, that's why
it's currently disabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 18:11:20 +00:00
Marcus Overhagen bfb4078864 unbreak build and image
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 14:05:43 +00:00
Marcus Overhagen 769346f0a3 finishing integration of ps2_hid into ps2 bus manager, delete old files, add new ps2_hid driver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 13:54:21 +00:00
Marcus Overhagen 59d1757d4d added ps2 busmanager to build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 13:46:02 +00:00
Marcus Overhagen 44eb1c732e improved debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-28 13:41:58 +00:00
Rudolf Cornelissen 7933070063 volatile pointers where possibly needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-27 21:09:19 +00:00