Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler d260b2c469 Made the header C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:08:54 +00:00
Axel Dörfler 5cc1406383 The libfs_shell.a is no longer built with DEBUG turned on by default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:24:00 +00:00
Axel Dörfler 09b83e5cec Removed the obsolete byteorder.h header (it just included ByteOrder.h).
Fixed the remaining references to that header in our repository.
Note, this might break source compatibility - please update your sources :-)
Slightly converted UBS_audio_utils.c to use our style guide while I were at it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:12:59 +00:00
Axel Dörfler 69aaf3f39b Fixed some stupid problems with the stat::st_mode field; the type of
a node was not always correctly determined (or set) - the recent change
of the attribute (directory) modes made these bugs a bit more obtrusive.
This also fixes a drop to the kernel debugger when doing a
"zip -r config.zip config/" in the home directory, as reported by Korli.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:09:27 +00:00
Axel Dörfler a9d0f0e576 Fixed a minor bug in the file system check code: it was not always correctly
determined if the parent directory had the wrong type.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:06:30 +00:00
Axel Dörfler fa7ec9d4e9 FATAL() now does a sync() before it panics, so that the on disk data
is up to date for later inspection.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:02:07 +00:00
Axel Dörfler 8bd36612dc First try to get the boot logo displayed properly in all color spaces.
For some reason, the colors are wrong for anything but 8bit modes, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 07:47:19 +00:00
Axel Dörfler bae7c12dba bfs_read_link() did not report the correct link size (it did not take the
terminating null byte into account) - thanks to Korli for reporting this.
Inode::Create() will no longer publish symlink vnodes; instead, bfs_create_symlink()
will publish the link when it is complete (ie. the actual link data had been
written).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 02:05:44 +00:00
Axel Dörfler 1333009e1c {rootfs|devfs}_read_link() did not report the correct link size on
success (they just kept the passed in buffer size unchanged).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 02:04:00 +00:00
Axel Dörfler a460a8f084 More or less rewrote the heap wall stuff:
- it's now much cleaner than before
- it now actually works in combination with realloc() (the fix from before didn't work)
- got rid of the WALL_ALIGNMENT definition
- can now handle different WALL_SIZEs


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 01:39:38 +00:00
Axel Dörfler d85db27509 Screw source compatibility. Cleaning up the legacy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 23:57:47 +00:00
Axel Dörfler da8c77faa3 The wall checking code now also works in combination with realloc(), and
it's a tiny bit cleaner, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 18:38:36 +00:00
Axel Dörfler 6d352d08b3 Added an arch_get_caller() function that returns the caller of the calling function :-)
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 13:58:32 +00:00
Axel Dörfler 14a578f640 If compiled with USE_WALL, check_wall() will now be exported, so that
it can be called from the outside.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 13:41:14 +00:00
Axel Dörfler ff229e1ebb The buffer passed over from the boot loader is now null terminated.
load_driver_settings() now accepts absolute paths as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 13:35:46 +00:00
Axel Dörfler 6851f9807c The DriverSettingsTest now accepts additional settings files on the command line.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 13:33:39 +00:00
Axel Dörfler c4b3327af7 Added the vesa driver - note, if you're using it, you have to switch to the
resolution you compiled app_server with in the boot menu (or via the "vesa"
kernel settings file).
Added libtracker.so to the image.
Also added "People", "ShowImage", "Clock", and "ScrollBar", neither of
them seem to work yet, though (but we can still hope, right?).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 01:55:16 +00:00
Axel Dörfler b368a1cb0b Never (!) only ask for a specific error code, and assume everything went okay if it isn't reported.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 01:51:13 +00:00
Axel Dörfler 8adcce5097 If the accelerant of a graphics device could not be opened, initialized, or had
missing required hooks, it's now unloaded (and uninitialized if necessary)
correctly, the device is closed, and the next one will be examined.
Not deeply tested, but seems to work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 01:35:38 +00:00
Axel Dörfler 4195ac0c53 The devfs directory entries are now always sorted.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 00:41:32 +00:00
Axel Dörfler c477f77c33 lock.h is not really used anymore (now you should be able to check out the
repository under Windows).
Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-24 22:07:29 +00:00
Axel Dörfler 28dd47de9e Fixed the last commit: after we have acknowledged the interrupt, the
interrupt service register bit is never set, anyway...
Thanks to Korli for reporting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-24 18:44:39 +00:00
Axel Dörfler 49cb24e833 Added workaround for spurious interrupts on line 7/15 - they are no longer
forwarded to the standard interrupt handler. Untested, though.
For more information on the subject: http://www.ggd.nsu.ru/~serg/bsdfaq/part3.html#316
Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-24 17:05:40 +00:00
Axel Dörfler afbbdf7ce5 Applied a patch from Stippi to temporarily fix a drawing problem the hard way.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-24 15:37:26 +00:00
Axel Dörfler b926763e09 Partial backport of r10356: no longer preallocates space for attributes,
attribute directories, and symlinks.
This reduces the space usage of the image created by makehdimage quite
a bit already (dropped from currently 56 MB to 34 MB).
The core of r10356, the fix for the preallocation memory leak, however,
has not been backported (it would probably save another 5 MB on the final
image).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-24 11:04:10 +00:00
Axel Dörfler 36cb9bac61 Attribute directories must have the S_IFDIR flag set, attribute files
the S_IFREG flag. The missing flags caused the original BFS to crash
on our files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-24 10:38:59 +00:00
Axel Dörfler ada5975312 fs_mount() and get_file_system() can now both handle file system names
in the form "bfs" and "file_systems/bfs/v1".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 18:22:04 +00:00
Axel Dörfler 47f39c93cb Merged the disk device manager module interface for file systems with the
VFS's interface, so that a file system only has to implement one interface.
As a side effect, the automatic file system detection may now work (not yet
tested, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 17:15:56 +00:00
Axel Dörfler db4227c6ac rc now also builds under R5 with TARGET_PLATFORM haiku.
Since we currently use the same build for the host and for the target,
this is only a temporary fix - we should build it twice.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 13:16:43 +00:00
Axel Dörfler 8a326af7d2 "PUSSY_CODER_STYLE" is now the default (like in deres, and matching our basic
C++ style guide).
Prepared switching of open-brace-style via command line arguments.
rc meets our coding style guide.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 04:27:36 +00:00
Axel Dörfler 767470326d This file is not needed for libtracker.so (it's part of Tracker only).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 03:42:39 +00:00
Axel Dörfler fdac6150d2 Replaced binary resource files with resource definitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 03:40:25 +00:00
Axel Dörfler 44b9b9c847 Replaced binary resource files with resource definitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 03:39:10 +00:00
Axel Dörfler 8a9b1cbb9f No longer uses out.rsrc/out.rdef as output names when no output filename was
given - it now uses the name of the first input file as a basis and exchanges
the extension (if any).
Fixed some potential buffer overflow bugs.
More style guide cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 03:34:07 +00:00
Axel Dörfler ff174c960a Accidently added some debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 03:32:35 +00:00
Axel Dörfler 38bf65769c A first hello to our style guide.
Also fixed a small bug: instead of the directory of the source file, the current
directory was added as include directory which caused problems with our build
system (libtracker.so).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 03:12:44 +00:00
Axel Dörfler fdb1daab5a librdef.so is no longer built; we now use a static library.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 03:11:08 +00:00
Axel Dörfler 41281cf362 Added Tracker and Deskbar from OpenTracker-current to the repository.
They both build fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 01:06:29 +00:00
Axel Dörfler 02be5353fd Added libtracker.so to the repository and the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 00:58:42 +00:00
Axel Dörfler c45b77186b Added private libtracker headers, shared with Deskbar.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 00:24:17 +00:00
Axel Dörfler 3dc0510487 Added exports for stuff needed by Deskbar to compile. Nothing is implemented yet!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 00:09:03 +00:00
Axel Dörfler 88706bbe11 Added some compatibility exports for libtracker.so; not yet sure if we
will keep those two, though, as I don't think they are widely used.
Note, BPrivate::CheckNodeIconHintPrivate() is not implemented.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 23:52:28 +00:00
Axel Dörfler bad54f6fa4 Added symbol exports for _kset_mon_limit_() and _kset_fd_limit_().
Don't do anything yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 23:50:01 +00:00
Axel Dörfler 97c5bef4a1 Added missing assembly functions for __swap_float() and __swap_double().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 23:16:55 +00:00
Axel Dörfler 097d641852 Didn't know that BView::do_owner_check() also checks the lock - maybe
it should be renamed to do_owner_and_lock_check().
Removed looper locking again, since it's not needed, then. Thanks to
Adi for the hint.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 14:58:49 +00:00
Axel Dörfler 52005fdaff Finally fixed Adi's repeatedly mentioned pet peeve: in AS_LAYER_GET_MOUSE_COORDS
communication, the port's reply port is no longer sent to the app_server (as it
knows where to reply to, anyway).
Also made sure the view's looper is locked while getting the coords - I guess
BPortLink doesn't like to be written to from two different threads :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 02:42:52 +00:00
Axel Dörfler 4dfc2afb5b Added a BAlert to the "clear" button - doesn't work yet (not even pressing <enter>
for the default button does), but at least, the window itself is updated now :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-20 00:00:52 +00:00
Axel Dörfler 25500bdfd9 Fixed BWindow::UpdateIfNeeded() by moving the code from BView::GetMouse() over.
GetMouse() will now just call UpdateIfNeeded().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 17:20:36 +00:00
Axel Dörfler 402612b831 It's called "preferences" not "prefs"! :-)
Added some preferences applications to the image. Some of them even start
(DataTranslations, Keyboard), most will bring down the app_server, or miss
libtracker.so.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 16:49:19 +00:00
Axel Dörfler 04dc040e40 No more B_MESSAGE_NOT_UNDERSTOOD messages for standard messages.
Added another ToDo item about missing filtering.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 16:14:51 +00:00
Axel Dörfler d1783112af Our devfs currently keeps drivers around, so it's not a good idea to
install interrupt handlers in init_driver().
The downside of this is that you can now only use F12 to drop into
the debugger when the console appeared (not before).
This way, the driver no longer causes ps2_hid to not be able to
disable or enable the keyboard (which means you can keep them both
installed without worries).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 14:30:27 +00:00
Axel Dörfler fe9bc5ae27 Added sqrt() and sqrtf() assembly versions.
Still they are not yet really used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 14:13:22 +00:00
Axel Dörfler d6fad1d006 Changes due to Adi's insight:
- there can only be one _UPDATE_ message at a time in the queue so we
  can stop searching after we hit the first one
- mouse coordinates are always send in screen coordinates (unlike R5,
  which means this is a compatibility problem), so we need to convert
  them even for the current view.
Apps should now work with the old synchronous controls method (even
though their drawing updates look clumsy and are slow compared to
asynchronous controls for whatever reason).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 14:12:02 +00:00
Axel Dörfler 62f9753de5 Added public domain versions of sin() and cos() (taken from glibc).
Not yet used, though - we probably need to rearrange the source files a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 22:19:35 +00:00
Axel Dörfler bcd8a1fad9 Converted Window.cpp to our coding style guide and (unfortunately) fixed a
myriad of small bugs here and there, as well as some very odd coding techniques:
- the "Minimize" property was not handled
- the "Minimize" property was not settable
- the property/scripting stuff was horrible, anyway
- there are more and better error codes than B_ERROR (could someone tell the
  app_server guys? :))
- added some ToDo items here and there
- and much more I don't remember


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 20:53:21 +00:00
Axel Dörfler 3405fff2a9 Implemented private function BWindow::DequeueAll() which reads all pending
messages from the port.
BView::GetMouse() now calls this function if it was called from the window's
thread and thus blocking the message loop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 16:54:56 +00:00
Axel Dörfler 25b0ec461d Now, GetMouse() processes and removes all _UPDATE_ messages, not
just those before the first mouse message.
This should be more correct and look better.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 15:47:49 +00:00
Axel Dörfler c66f958bb6 Corrected BView::GetMouse(), untested though:
- it returned on _UPDATE_ messages without a mouse position
- it no longer calls DispatchMessage() for everything anymore,
  however, it will still call BWindow::DispatchMessage() directly
  for _UPDATE_ messages
- it didn't care for B_MOUSE_DOWN messages
- it didn't unlock the queue in case it found a message.
(this message actually reflects the differences to r12683 of this
file, but the newer one r12705 was even more broken, but in other
ways)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 15:40:29 +00:00
Axel Dörfler c1fc0493cb Added missing wctype.h header - R5 does not include this header, but its
libroot.so exports the functions declared therein.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 15:02:09 +00:00
Axel Dörfler 62d6961672 Renamed vm.c to vm.cpp and made all the changes to let it compile without
errors. Also made the VM headers C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 23:17:45 +00:00
Axel Dörfler 8f8d46a3ff vm_put_area() now gives feedback wether it deleted the area or not (it
will return true in the former case).
vm_delete_areas() is now using this information to print out a warning
in this case (so that a missing vm_put_area() can now be found easier).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 22:37:34 +00:00
Axel Dörfler 4393552b4d The heap is now located at 384 MB, and creates a reserved range that spans over the
following 1152 MB - that area only guarantees that the heap can grow this much before
the application need the memory for something else. And even then, the heap range
is reused from top-to-bottom, allowing for maximum heap usage. Of course, if the
memory after the heap range is not claimed yet, it can still be claimed by the heap,
too. Added new syscall to create the reserved range.
Fixed a bug in vm_delete_areas(): when it removed reserved areas, the area list
could get messed up.
Fixed a bug in resize_area(): resized areas could never be deleted (missing vm_put_area())!
resize_area() now supports reserved regions (but not perfectly yet, see ToDo items).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-16 22:15:13 +00:00
Axel Dörfler a3e9996e9d Added support for special reserved address ranges: they will be used
only if memory becomes tight, and then the range is used from end to
start.
This is useful to reserve heap address ranges.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-15 15:56:55 +00:00
Axel Dörfler 20a6e5473b Renamed RESERVED_REGION_ID to RESERVED_AREA_ID.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-15 15:06:57 +00:00
Axel Dörfler ccc8865ba2 Added an additional flag B_OVERCOMMITTING_AREA (currently to be specified
along the protection flags).
Changed the handling of B_STACK_AREA types and anonymous vm_areas: now
every area can overcommit if B_OVERCOMMITTING_AREA was specified.
B_STACK_AREA areas are still automatically overcommitting, but
B_KERNEL_STACK_AREA areas no longer.
vm_store_anonymous_noswap.c now only tests for guard pages if there were
any specified which is only done for B_STACK_AREA areas.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-15 15:03:44 +00:00
Axel Dörfler d5b04e50f8 First step into a new block allocation strategy for the block_cache
(right now, it's still malloc/free, just encapsulated in an allocator class).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-13 18:18:28 +00:00
Axel Dörfler f95eb77cef Another mini-update to at least correct the updated part of the text :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-13 00:01:00 +00:00
Axel Dörfler 0faec19e8a Cleanup, turned off debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 23:43:39 +00:00
Axel Dörfler 6bdc405f75 Whenever KPath is used, it will now be tested if it could be initialized
(thanks to Ingo for the reminder...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 23:31:04 +00:00
Axel Dörfler 90a0e0b9d9 Cleanup, turned off debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 23:29:28 +00:00
Axel Dörfler 879d9c6b6e Renamed the "blkman" module to "block_io".
Also renamed some defines and structures, although the structure and some other names are still odd.
This module should probably be moved into the kernel anyway, as it provides basic and crucial services.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 15:43:02 +00:00
Axel Dörfler c3a92c3186 Renamed blkman to block_io - the module name etc. will follow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 14:28:43 +00:00
Axel Dörfler 6094d89f2f Merged branches/developer/axeld/driver_recognition changed r12307:12637 into trunk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 03:27:44 +00:00
Axel Dörfler cbd1d9977f Changed all _kern_*() calls to use KPath instead of a path buffer on the stack.
This reduces the stack usage quite a lot, and since file system calls could be
nested (for example, a mounted image on a volume), definitely a must, too.
Might be a good idea for user calls, too, though, although it's not urgent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 01:14:01 +00:00
Axel Dörfler 24cea645f1 Moved all documentation out of the device_manager.h header file to this place.
We might want to use it as a basis for the device manager documentation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-11 16:40:13 +00:00
Axel Dörfler 3a5624e900 Replaced the strange BEOS_ADD_ONS_BUSMASTERS with BEOS_ADD_ONS_BUS_MANAGERS and
BEOS_ADD_ONS_KERNEL_MISC.
Added PCI IDE modules to the build and boot links.
The config_manager can now be handled like every other bus manager.
The config_manager appeared twice in the jam argument list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-11 02:03:18 +00:00
Axel Dörfler ad5caf291f Updated the config_manager Jamfile to use the KernelAddon rule instead of KernelObjects/KernelLd.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-11 02:00:37 +00:00
Axel Dörfler 5514672d42 Added a syscall timing utility, similar to the one in NewOS.
Can also be run under R5 when TARGET_PLATFORM=r5 for comparison.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-04 01:03:44 +00:00
Axel Dörfler 367861b645 This fixes the bfs_shell build under Linux: replaced B_OK with FS_OK in
tracker.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 02:34:32 +00:00
Axel Dörfler 895e2a0375 Reenabled the Qemu workaround: the frame buffer is now cleared after a mode change.
After all, there might be real graphics card which behave the same??


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 02:06:08 +00:00
Axel Dörfler 1a802114af Got the Visit() return value wrong: "true" means to abort visiting the
partitions, because the right entry was found - but we always want to
visist all partitions, anyway.
Also, if a partition has not been mounted yet, no mount point will be
printed.
The device string is still missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 02:04:02 +00:00
Axel Dörfler 75e4e6ee69 Fixed a small bug: the proposed name of a file system was always "unnamed volume"
in case BPartition::Name() was NULL or empty (ContentName() was ignored).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 02:00:58 +00:00
Axel Dörfler 0953c83ebd Fixed another bug: after a partition had been mounted, it was only marked
mounted, but no one told it about its volume ID - that caused "mountvolume"
not to be able to return a valid mount point.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 01:59:17 +00:00
Axel Dörfler 47729f044c Fixed a possible bug in path_to_vnode(): if called before a root
file system has been mounted, it would have crashed (that for example
happened if you deleted the kernel settings file...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 01:05:20 +00:00
Axel Dörfler 9c3942070a Added mountvolume to the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 00:36:43 +00:00
Axel Dörfler 509676a027 Fixed mountvolume to make it compile and somewhat work (only tested listing volumes yet).
Added it to the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 00:31:52 +00:00
Axel Dörfler b07ce77575 BDiskDeviceList now has a default value for the "useOwnLocker" argument - it defaults
to using its own locker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-03 00:28:31 +00:00
Axel Dörfler 03989987d5 The ChannelSliderTest now always tests Stefano's implementation instead of R5's.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-02 22:35:01 +00:00
Axel Dörfler d4112f6bc5 Applied some changes suggested by mmu_man, more to come, though:
- has_signals_pending() is not declared in Be headers, and it isn't declared in
  our KernelExport.h anymore, too
- removed snooze_etc() from KernelExport.h, as it's already defined in OS.h
  (and really exported by libroot.so).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 11:41:12 +00:00
Axel Dörfler 55932743b4 Cleaned up, added a ToDo comment where it behaves (possibly) strange.
The properties are now the same as in the Be version - there is no reason (IMO) for usage
comments like these; it's a public class, and its scripting usage should be documented in
the BeBook, if anywhere.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 00:58:39 +00:00
Axel Dörfler aed75ba2f6 Added a SetViewColor() before and after AttachedToWindow().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 00:30:24 +00:00
Axel Dörfler 8bdf4008fe Added test for BCheckBox (message sending is actually not tested, though, only drawing)...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 00:17:40 +00:00
Axel Dörfler 80bd55147b Many changes, it now does work okay on Haiku (tested with consoled only (both,
keyboard and mouse part), since for some reason, the app_server refuses to work
with the input_server for me now):
- keyboards are now actually detected, the keyboard device is only published if
  there actually is a keyboard
- keyboard_close() no longer calls put_module() for the ISA bus manager; it's
  sharing that resource with the mouse driver.
- rewrote the keyboard command handshake; now, the acknowledge byte is always
  considered, and it's now also safe to call keyboard commands with the interrupt
  handler installed (bytes read are now safely routed through the handler).
- keyboard_open() now also sets the PS/2 command byte to enable keyboard
  interrupts (this may actually have been the source of all evil - ie. keyboard
  not working after having touched the mouse)
- many commands now try again several times if they failed
- ps2_get_command_byte() is now safe to be called when the keyboard driver
  is up and running, too (it's now locally buffered)
- more and better error checks
- possibly more I forgot about...
- general cleanup.

Note, there is still some functionality missing from the keyboard driver:
- ctrl/alt/del handling
- key repeat (delay, time, non-repeating)

Repeat stuff might better be moved to the input_server add-on, anyway, for
more flexibility and better performance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-28 19:04:06 +00:00
Axel Dörfler b20667b35b {install|remove}_io_interrupt_handler() now correctly handle the B_NO_ENABLE_COUNTER flag.
Lots of cleanup:
- moved B_NO_ENABLE_COUNTER flag definition out of int.h to KernelExport.h, as it's
  described in the BeBook (although it's probably not really used that often :))
- int.c no longer has any platform dependent code (+ 0x20 on interrupt numbers is gone);
  it's now entirely handled in the arch/x86/ section.
- the io_vectors[] is now statically initialized, instead of allocated from the heap
- removed {install|remove}_interrupt_handler(); they weren't that useful, arch_smp_init()
  is now calling install_io_interrupt_handler() correctly instead
- introduced a new arch_int.h header file that currently contains NUM_IO_VECTORS only
  (though on x86, it also has ARCH_INTERRUPT_BASE == 0x20).
- changed the return type from {install|remove}_io_interrupt_handler() from "long" to
  "status_t"
- rearranged and cleaned the PIC initialization code, made the PIC code more prominent
- changed comments that talk about a non existing 8239 (the PIC chip is actually 8259)
- moved arch/x86/interrupts.h to the source directory, as it's not used outside
- added BeOS compatible interrupts_enabled() function, that should replace our
  equivalent (and private) are_interrupts_enabled()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 01:08:35 +00:00
Axel Dörfler a38e60f223 Added "-f" option to only show real files.
Some cleanups and minor fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-26 20:29:30 +00:00
Axel Dörfler 7542e025d3 Corrected the last commit: we actually use the value of *_length later,
so we shouldn't overwrite it with zero...
I must have tested an older version of the driver by accident; now it
actually works again under R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-26 20:27:46 +00:00
Axel Dörfler 24e4add56f This partially removes the changes made in r7099:
Apparently, the net_server does not use read()/write() but the kernel
syscalls directly. Even worse, it obviously ignores error values like
B_WOULD_BLOCK - the return length has to be set even in case of error.
The driver did not work at all under R5 net_server since then...
Some other minor changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-26 17:14:24 +00:00
Axel Dörfler 81012f638c Mostly cleanup and style guide changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-26 16:02:38 +00:00
Axel Dörfler 497d01f0b9 Some minor visual improvements: the keyboard input device now reports
"AT Keyboard" and "USB Keyboard", instead of "at|usb Keyboard".
Also, the mouse input device now reports a "PS/2 Mouse" instead of
a "ps2 Mouse".
Generally, both now capitalize the device name when reporting the name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-25 14:17:57 +00:00
Axel Dörfler 7b58474a09 Beautified some odd code (like "a ? a : NULL" to "a").
Applied our coding style guide.
No functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-25 14:14:09 +00:00