Commit Graph

20894 Commits

Author SHA1 Message Date
Karsten Heimrich
8a2dad71cc * no need to reply, as set_ui_color won't read it anyway
Fixes some strage behavior (moving/disappearing text) in
  Appearance preflet while moving a color control chooser.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 23:19:31 +00:00
Michael Lotz
4b80900d33 Remove the at least questionable b_sqrt() function and replace it with the
normal sqrt(). The stated goal of the function was to avoid a dependency to
the math library, which in our case does not apply anyway. This removes one
case of broken strict aliasing rules...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 23:05:43 +00:00
Michael Lotz
4a32ef2c30 Remove doubled "count" in declaration. Fixes a "operation may be undefined"
warning with GCC4.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 22:55:27 +00:00
François Revol
9173ac083b Don't use the drop offset, much better now, it goes where the mouse is.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 21:18:26 +00:00
Axel Dörfler
5464b10f1a * get_uint32_color() now returns the color as host endian value.
* Introduced a new get_rgb_color(), that returns an rgb_color from a host endian
  uint32.
* Those two together fix bug #2094.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 18:10:44 +00:00
François Revol
5f2f72a288 Accepts drops on legends.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 17:30:00 +00:00
François Revol
79cbd22649 Colors should be archived correctly now, at least for replicants.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 16:42:10 +00:00
François Revol
c28f8ea349 Now reacts to color drops. Tested with Zeta prefs and ArtPaint palette.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 16:09:27 +00:00
Axel Dörfler
3f315b26d2 * Moved the "Remove View" functionality into the popup menu of the ActivityView
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 14:51:27 +00:00
Axel Dörfler
f374f0d9f1 * A view can have more than just one LayoutItem, and therefore, we have to
remove them all in RemoveView().
* Also, previously, the wrong LayoutItem could be removed if there was any
  view that had more than one item around.
* IOW using BView::RemoveSelf()/RemoveChild() yourself would have leaked
  memory in the best case, and would otherwise crash your app if there was
  any view with more than one LayoutItem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 14:44:19 +00:00
Ingo Weinhold
25010b8723 Updated rand.c with a newer version from FreeBSD (version 1.17). This
also removes the advertising clause.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 14:24:10 +00:00
François Revol
dc1ffc79ef - fix BeOS build (it's getting nasty)
- add a media node count data source. Yes I do have work to do instead :P


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 14:01:48 +00:00
Axel Dörfler
43eda1cd8f * Each DataSoure now has a "primary" indicator - this is used to separate
more important DataSources from less important ones.
* Made the popup less crowded based on that info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 12:54:34 +00:00
Axel Dörfler
065e8de0d5 * Improved layout of the activity views: each view now has separate layout
items for the history and the legend, causing the history parts of all
  views to be of equal size if used (which ActivityWindow now does, of course).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 12:45:41 +00:00
Axel Dörfler
28d5567e28 * GetPreferredSize() no longer crashes when given a NULL parameter (as the
other interface views already do).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 12:01:07 +00:00
Axel Dörfler
00d5cfaa7e Fixed view persistence again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 11:35:05 +00:00
Axel Dörfler
6f6ba87580 * Amazing: François writes almost style compliant code! :-)
* Minor cleanup - I haven't written SystemInfoHandler, François did.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 11:08:34 +00:00
François Revol
e034d18f42 Really really useless clipboard size data source (both flattened message size and plain text size). I should rather go to sleep than write useless code :D
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 00:12:40 +00:00
Alexandre Deckner
e8fa461ae7 * clamps the textcontrol input to 255
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 22:57:04 +00:00
François Revol
74158bb474 - introduced a SystemInfoHandler class used to watch for stuff when polling isn't needed.
- used it to add a count of running apps (not exactly the same as teams).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 22:04:18 +00:00
François Revol
03aaa278a5 Add Semaphores and Ports data sources.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 20:30:13 +00:00
François Revol
8cda9a8ead Added Teams data source.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 20:02:43 +00:00
François Revol
cbd4bc9573 Made ActivityMonitor buildable under BeOS (at least BONE).
This is only temporary, to help test adding data sources, so the gross #ifdef __HAIKU__ are intentional to keep BeOS-only code (without layout support) trackable. It is not fully functional but sufficient for testing and will go away later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 19:46:52 +00:00
François Revol
3ddc1cdb8b - style cleanup.
- fix warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 19:34:01 +00:00
Oliver Ruiz Dorantes
3ef106839a - Block correcily until the discovery has finished to retrieve the remote names.
- Guidelines fixings



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 19:19:19 +00:00
Oliver Ruiz Dorantes
fae5a1d349 - Add inquiry fields for the RemoteDevice, to store the information retrieved .
- Update those fields at discovering




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 19:17:10 +00:00
Ingo Weinhold
b5a945d648 Allow only root access to the shadow password DB.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 17:58:51 +00:00
Ingo Weinhold
2d9a40222f ReceiveFrom() can now return the message_port_info for the received
message, if desired.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 17:58:02 +00:00
Ingo Weinhold
7727e08e5f Added experimental public API get_port_message_info_etc(). It is similar
to port_buffer_size_etc(), but returns the info through a structure,
which also identifies the sender (uid, gid, team ID) of the message.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 17:46:02 +00:00
Ingo Weinhold
a94ce1c912 * Reorganized the passwd and group support: A dedicated thread in the
registrar provides access to the DBs via a port message based
  protocol. The functions in libroot just ask the registrar now.
* Added Linuxish shadow passwd support. No putspent() though -- we'll
  provide private functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 16:19:18 +00:00
Ingo Weinhold
e09769a94c Added Dump() method. It prints some general info and a list of the
message fields, no data, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 16:05:37 +00:00
Axel Dörfler
f127ebfd93 * Replaced the previous pthread_key implementation with a lockless one
that does not rely on the Be API TLS anymore, and is also more compliant
  with respect to the lifespan of the key specific values.
* It supports up to 256 different keys, which is equivalent of the solution
  that FreeBSD offers.
* The main thread now also gets a pthread_thread structure.
* Reenabled the POSIX suite test pthread_key_delete_2-1 as we now pass it.
* This also fixes bug #1642.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 13:44:39 +00:00
Ingo Weinhold
33b577d3b3 Patch by Vasilis Kaoutsis: Added mmap/munmap tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 13:10:07 +00:00
Axel Dörfler
ef4a3227fa * If there is no handler, we must not try to remove it from the linked list.
* This fixes bug #1644 again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 11:55:04 +00:00
Axel Dörfler
e0da34f5c0 * "where" and "be:view_where" are supposed to contain the same value; dunno
why the latter is then even added, but we do the same thing as BeOS now.
* This fixes bug #2075.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 11:10:44 +00:00
Michael Lotz
ba575e420d Add support for detecting FAT32 volume labels.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 10:04:12 +00:00
Michael Lotz
b8c45ca140 Just a bit of cleanup, remove trailing whitespace mostly. No functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 10:02:49 +00:00
Michael Lotz
0eaadd30b2 * Applying patch by Dustin Howett that updates the iso9660 filesystem to the
new filesystem interface.
* Renamed sISO* to gISO* though as they are in fact not static.

Briefly tested and works as expected. Thanks for your work Dustin!
Closes enhancement #2089.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 06:26:43 +00:00
Oliver Ruiz Dorantes
ae736793e8 - Fix parsing of the inquiry replies. There is a first byte indicating the number responses which was ignored.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 22:21:28 +00:00
Oliver Ruiz Dorantes
6b81bac2bf - Change again the api... Strings are not for everything
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 22:16:19 +00:00
Oliver Ruiz Dorantes
b0410a2221 - Implement a filter for devices that are repling multiple times.
- Fix the creation of the RemoteDevicesList


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 22:15:20 +00:00
Oliver Ruiz Dorantes
5d820ba02d - Completed the command line tool. Discovers and after finishing asks the names of the discovered devices
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 22:08:23 +00:00
Ingo Weinhold
b0b25f209e Updated lp_solve copyright.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 21:01:16 +00:00
Michael Lotz
72010d4247 * Ported the FAT filesystem to the recent filesystem interface changes which
was, thanks to the detailed instructions from Ingo, quite doable.
* Ported the (deprecated and now publically removed) notify_listener() calls
  to the respective new notify_* calls.
* Fixed debug build.
* Added the FAT filesystem back to the image.

I only tested the filesystem briefly and everything seemed to work as expected
(mounted the FAT part of my bootable Haiku memory stick, opened a few files
and copied something to it). At least it should not be any more broken than
before the interface changes ;-).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 20:24:22 +00:00
Jérôme Duval
6112fe9a8d added memrchr and dirname
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 18:49:23 +00:00
Ingo Weinhold
b9f23a3497 Moved KMessage from libbe to libroot.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 17:55:55 +00:00
Stephan Aßmus
52e06f988d Applied patch by Artur Wyszynski:
* Renamed BView::Alignment() to LayoutAlignment() which fixes a ton of warnings
  and some conflicts with BControls.
* Added virtual destructor to BRefFilter in case the GCC version is 3 or newer
  (can't do it for GCC 2.95.3, since that would break binary compatibility 
  AFAIKT)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 17:11:40 +00:00
Michael Pfeiffer
5162961675 Added David Dengg to list of contributores for providing the initial version of bootman boot loader. Thank you!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 15:26:10 +00:00
François Revol
5415d8ed79 Fix warning on extra token.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 13:09:26 +00:00
Michael Lotz
f3283bfa83 * Increase the amount of tries in the EHCI BIOS handover so it lasts for up to
1 second instead of half a second. Might help with slow BIOSes.
* Disable EHCI interrupts if the BIOS handover fails so that we do not flood
  the system with interrupts if the BIOS later on decides to still comply with
  our handover request.
* Add an unconditional success message to EHCI and UHCI to better see if
  controllers are present/initialized correctly at all.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 08:16:14 +00:00
Bruno G. Albuquerque
044f45b2db - Another patch by Hervé W.
- Updated code so Processor IDs for older processor do not have to be 
modified.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 23:51:17 +00:00
Oliver Ruiz Dorantes
bf6f088436 The stack is already discovering devices, this is the small tool I used to test.
The stack calls for the moment hooks at starting and finishing and discovering each BT deviceNeeds still some polishing as some devices reply multiple times, and they should be filtered. And its nice to know the name after discovering not only the address. 




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 22:49:05 +00:00
Oliver Ruiz Dorantes
078958f502 - Run the Looper
- Create Agent from the LocalDevice
- Fix constructors



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 22:31:54 +00:00
Ingo Weinhold
ae3633b049 We weren't tracking the buffer size in one case, which was rewarded with
a segment violation due to NULL pointer access.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 21:21:45 +00:00
Ingo Weinhold
5b53519c63 Some setre{g,u}id() tweaking. What happens to the saved set-{g,u}id is
not specified by the standard, but other systems set it as well in most
cases. We set it to real {g,u}uid now, if that changes. OpenSSH (sshd)
seems to be agreeable with that solution.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 21:18:07 +00:00
Axel Dörfler
2d8e02e435 * Started playground for the new device manager. This will eventually evolve
into the full thing, and will then be adapted to the kernel.
* Doesn't do a lot at this point - it can be built as a test app under BeOS
  and Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 19:07:08 +00:00
Ingo Weinhold
6fd31accd3 makebootable was broken under Haiku:
* Haiku partitions are block devices.
* Unlike BeOS Haiku requires a size parameter to be passed to ioctl()
  for B_GET_PARTITION_INFO.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 17:28:22 +00:00
Oliver Ruiz Dorantes
717c9b00f2 - Fix correct handling of the command status event
- Fix Removal of specifil event wanted in a given request



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 17:17:47 +00:00
Ingo Weinhold
b27b39f198 Added libMicro benchmark. Ported by Vasilis Kaoutsis.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 16:27:00 +00:00
Ingo Weinhold
9b293bf653 mmap() was a little strict: The length parameter need not be page
aligned. It shall be rounded up by the implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 14:22:50 +00:00
Stephan Aßmus
e806cb517a Applied patch by Scott McCreary:
* Added a whole lot of missing copyright statements, small corrections in
  some existing ones.
Changes by myself:
* Fixed line breaks to honor 80 char limit.
* Removed unused function declaration to avoid warning.
* Small style fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 14:22:03 +00:00
Michael Lotz
33574eaf6e Exclude the frame list rollover interrupt from the interrupts we are interested
in. We do not enable this interrupt and if we still "handle" it in our
interrupt handler we might prevent the interrupt from reaching the real intended
handler in a shared interrupt setup. Not sure if this could have happend at
all, but this is more correct in any case.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-14 06:35:25 +00:00
Ingo Weinhold
3cf7ecd1e4 * Added <sys/mman.h> header. It declares only mmap() and munmap() yet
and defines the macros needed by them.
* Renamed syscall sys_vm_map_file() to _kern_map_file() and changed the
  path to an FD parameter. Changed vm_map_file() accordingly and
  adjusted the kernel ELF loader and the runtime loader.
* Added syscall _kern_unmap_memory().
* Added bool unmapAddressRange parameter to vm_create_anonymous_area()
  and map_backing_store(). If true and the address specification is
  B_EXACT_ADDRESS, all areas in the specified address range will be
  deleted (unless an area is covered only partially).
* Introduced B_SHARED_AREA flag, which is set on areas that have been
  created by {vm,_user}_map_file() with REGION_NO_PRIVATE_MAP. When
  fork()ing those areas won't be copied CoW, but rather be cloned. This
  is needed for mmap() MAP_SHARED.
* {vm,_user}_map_file() also accept an FD argument < 0, in which case an
  anonymous area is created.
* Implemented mmap() and munmap(). Currently there's the restriction
  that we can't partially unmap areas. Otherwise the functions should be
  rather compliant. We also support the non-POSIX extension
  MAP_ANONYMOUS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 22:52:11 +00:00
François Revol
ebf8c71d74 Fix warnings about missing protos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 17:52:41 +00:00
Axel Dörfler
c54a6536d6 Committed patch by Gerald Zajac, thanks!:
* Enabled testing the checksum of the EDID info.
* Added a version check of the EDID info.
* Added more debug output.
* In the ModeList class, changes were made to how the refresh rate is 
  computed and used.  Previously, some of the basic VESA modes were not 
  added to the mode list because the computed and specified refresh rates 
  did not exactly match.  Now if the computed refresh rate is within 1.2% 
  of the specified rate, the mode is added.  With this change, all basic 
  VESA modes selected by the EDID info are now added to the mode list.
* The "additional video modes" shown in the EDID dump are now added to 
  the mode list.  Previously, this mode data was setup but not added to 
  the mode list.  Code was also added here to set the vertical & 
  horizontal sync polarity according the EDID info.  The sync polarities 
  are set according to a VESA document that I have.
* Fixed copy_str() warning, broken removal of trailing spaces, and null
  termination.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 10:58:30 +00:00
Bruno G. Albuquerque
9c383d9867 Applied patch by Hervé W.
- Updated Intel processor IDs.
- Only take extended family/model into account on Intel processors.




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 07:27:12 +00:00
Michael Lotz
93209d82e2 Fully clear the EHCI members too, so an incompletely constructed object can be
safely deleted.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 06:04:20 +00:00
Axel Dörfler
3a4a214197 Some more work on the ActivityMonitor:
* Added legend.
* Added network receiving/sending DataSource.
* Now uses the new layout engine.
* Added support for per CPU DataSources, and added a per CPU CPU usage
  DataSource.
* The DataSources can now be turned on and off via popup menu.
* You can now add more than one view to the window.
* The DataSources of the ActivityViews are now remembered.
* Now uses an offscreen bitmap to reduce flicker (it should now no longer
  flicker with accelerated graphics).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 06:02:45 +00:00
Michael Lotz
656af4e869 * Initialize all of the fields in the UHCI class so in case of an error in the
constructor the object can be safely deleted (as documented for bug #1473)
* Some simplifications by caching the Pipe object for a transfer
* Minor cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 05:56:10 +00:00
Axel Dörfler
6ad23dbbf4 Some cleanup:
* Reordered to have the constructor/destructor first.
* Two blanks between functions.
* Removed superfluous constructor calls.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 04:57:13 +00:00
Rene Gollent
1174007caf Modified bin/keymap's -h option to write a variable to the generated header
indicating the name of the keymap. Correspondingly, modified input_server 
to use the aforementioned variable in order to write the name attribute
to ~/config/Key_map. This allows Keymap prefs to correctly recognize the name
of the default keymap on a fresh build.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 22:41:19 +00:00
Ingo Weinhold
f13ba03959 * Removed SyscallRestartWrapper comparison operators. They are not
needed, since we've got a cast operator.
* Reverted r24927-r24929. There's no potential ambiguity anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 17:18:31 +00:00
Ingo Weinhold
460c990c5d The syscalls that were returning an address always copied back the full
address back to userland, even if the provided buffer was smaller. Fixes
a problem with Firefox, which is for some reason providing a buffer
smaller than our sockaddr_in.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 16:59:49 +00:00
Michael Lotz
c8661c3885 Make a local copy of the passed in isochronous packet descriptors before
handing them over to the USB stack. Otherwise the finisher (kernel) thread
would have no way to fill those packets when they came from a user space
address range. Completely untested though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 14:20:53 +00:00
Jérôme Duval
c103aef2b3 disabled check for memory overlaps for the time being
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 13:36:33 +00:00
Stephan Aßmus
2082f2d5c1 * Cleanup and improvements in the debug output
* Handles wrapping of the chunk buffer for the case that we need to read
  additional chunk data, but still need the data from the last chunk
  buffer as well.
* Don't skip the very first frame when calculating the timing.
* Includes some new code to handle seeking internally, but it is currently
  disabled and incomplete.
* Prepared to recover from floating point exceptions generated in some rare 
  situations by xvid, but we are currently missing fenv.h in our public POSIX
  headers, so it is disabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 13:24:33 +00:00
Michael Lotz
b6d44561ff Quick buildfix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 10:27:04 +00:00
Ingo Weinhold
59234b36ce * Added support for SCM_RIGHTS (sending file descriptors).
* Fixed shutdown(). It was computing the wrong fifo flags and set the
  wrong ones from the wrong variable on the peer fifo.
* Generally made the Unix sockets behave more like they should. E.g.
  after closing one end, it must still be possible to read from the
  other (as long as there are buffered data). Also fine-tuned when to
  return what errors from recv()/send().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 09:37:13 +00:00
Jérôme Duval
316b5f9214 updated bzip2 to 1.0.5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 09:30:47 +00:00
Ingo Weinhold
97cdbb548e Added support for sending/receiving ancillary data. The protocol modules
have two more optional hooks for attaching supplied ancillary data to a
net_buffer and for processing received ancillary data. Not sure, if that
is flexible enough for all kinds of ancillary data, but it is for
SCM_RIGHTS and also should for SCM_CRED[ENTIAL]S (if we ever decide to
implement one of those) -- don't know any other types on other protocol
levels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 09:28:05 +00:00
Ingo Weinhold
62d7da1f45 Added support for attaching ancillary data to a net_buffer. It's a naive
implementation ATM, since it malloc()s the required memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 09:19:44 +00:00
Ingo Weinhold
5f2d64a25e * _user_{send,recf}msg() no longer copy iovecs on the stack. They use
the heap and the IOV_MAX limit.
* They also take the responsibility of copying the ancillary data in and
  out.
* These syscalls were badly broken. They used a member of an
  uninitialized structure instead of the iovec pointer passed from
  userland. sendmsg() would thus fail or send arbitrary data, recvmsg()
  would overwrite arbitrary memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 08:50:17 +00:00
Jérôme Duval
9c6ab2ae36 fixed bug #2067
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 08:37:03 +00:00
Ingo Weinhold
0cc82d47d4 Added close_fd_index() which is pretty much like close(), but gets the
IO context in which to close the FD.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 08:32:29 +00:00
Michael Pfeiffer
dff9173818 Save and restore MBR and write boot menu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 08:25:38 +00:00
Michael Pfeiffer
7437e205be Removed debug code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 08:21:35 +00:00
Michael Pfeiffer
86ad7d1c71 Refactored and reformatted.
Select default item at start.
Added timeout handling.
Don't switch to graphics mode, stay in text mode instead. Graphics mode led to display issues with lilo.
Reverted order of text color like it is in original bootman.
Fixed bugs.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 08:19:25 +00:00
Michael Pfeiffer
1b56fe8db5 Helper application that converts the contents of a file into an uint8 array.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 08:10:57 +00:00
Michael Pfeiffer
20abf32b6d Boot menu and loader by Dengg David.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 08:10:29 +00:00
Jérôme Duval
2be56e7576 Applied patch from n3s: the check for file extension was broken. Thanks!
This fixes bug #2034


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 07:58:43 +00:00
Jérôme Duval
6cb51e58bc better cast to the good type to avoid confusing gcc
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 07:17:01 +00:00
Jérôme Duval
b1459ca4b4 hmm I managed to break the comparaison order...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 07:08:56 +00:00
Jérôme Duval
bdfe92370f gcc4 build fix. Here is one of the two errors:
src/system/kernel/fs/fd.cpp: In function 'ssize_t common_user_vector_io(int, off_t, const iovec*, size_t, bool)':
src/system/kernel/fs/fd.cpp:727: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the 
second:
headers/private/kernel/syscall_restart.h:151: note: candidate 1: bool SyscallRestartWrapper<Type>::operator<(const Type&) const [with Type = long int]
src/system/kernel/fs/fd.cpp:727: note: candidate 2: operator<(long int, int) <built-in>


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 07:04:45 +00:00
Michael Lotz
349a9cfc0f Use a list of host controller modules instead of using open_module_list() and
read_next_module_name(). This is ugly and less flexible but it allows us to
explicitly force an initialization order. As detailed by the added comment
there seem to be controllers/BIOSes that require the EHCI controller to be
initialized after the companion host controller or else they refuse to publish
any high speed devices. This was the case for bug #1236 and my laptop when
legacy emulation is enabled and any device was plugged in at boot. This change
fixed the problem for me and hopefully closes bug #1236 too.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 06:10:36 +00:00
Michael Lotz
e959baed58 * Set the interrupt threshold of the controller when doing the rest of the
initialization as suggested by the EHCI spec and do not touch it again
  once the controller is running. Doing so would result in undefined behaviour
  according to EHCI specs.
* Set the port routing policy after the controller has started and not before
  as suggested by the EHCI specs.
* Explicitly set the segment register after resetting the host controller and
  not before, as this likely has no real effect ;-)

Might help with some legacy support or UHCI/OHCI to EHCI handover problems.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 06:10:28 +00:00
Rene Gollent
487171f0b9 Keymap preferences now saves an attribute on the Key_map file to indicate
what keymap it came from. This allows us to indicate the current keymap in
the list views. I'm not sure how to get the build system to populate that
attribute by default though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 03:28:12 +00:00
Michael Lotz
77599d6d06 Redefine B_KERNEL_{READ|WRITE}_AREA to 0 for BeOS compatibility and not to
B_{READ|WRITE}_AREA. Otherwise we'd allow any user process to shredder our
data as Axel put it so nicely ;-) Thanks for the clarification.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 22:03:34 +00:00
Michael Lotz
dbcfdd5ca7 Correct the way serial devices are deleted. They are either deleted on removal
when they are not open or they are deleted on free when they are already
removed. This should fix the sudden crashes when you unplugged a device that
might not have been fully closed yet.
Also handle the case of removal correctly and don't use the usb_device anymore
after releasing it by returning from the device removed hook. Calls to the
device just return B_DEV_NOT_READY in that case.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 21:52:39 +00:00
Ingo Weinhold
c1add58abb Resolved TODOs: We now do know whether the call comes from userland or
the kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 20:43:40 +00:00
Ingo Weinhold
3118b3a7cb * Added fd_ops::set_flags() hook. It's only implemented by socket FDs
ATM.
* Changed common_fcntl() to also work for non-vnode-based FDs. Only the
  operations that require a vnode do fail now. F_SETFL uses the new
  fd_ops::set_flags() if available, falling back to the vnode respective
  operation.
* Changed some direct accesses to file_descriptor::u::vnode. It was safe
  in those cases, but might not be anymore if we ever change fd_vnode().

ftp can at least connect to servers again, now, but apparently we still
have a problem with syscall restarts -- downloads fail after one second,
when the timer goes off.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 19:21:14 +00:00
Stephan Aßmus
f156c25d14 Applied patch by JiSheng Zhang:
Synchronized firewire bus manager with FreeBSD current.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 17:35:11 +00:00
Axel Dörfler
ac0e5c1ce5 The fs_sync() function (or any other, for that matter) must not hold the
sMountMutex lock when calling sync() on a file system. This fixes a potential
deadlock (I just encountered for the first time).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 17:01:25 +00:00
Ingo Weinhold
75015ff525 * Renamed THREAD_FLAGS_IOCTL_SYSCALL to THREAD_FLAGS_SYSCALL,
syscall_restart_ioctl_is_restarted() to syscall_restart_is_restarted,
  IoctlSyscallFlagUnsetter to SyscallFlagUnsetter, and
  IoctlSyscallRestartWrapper to SyscallRestartWrapper, as they are no
  longer only used for ioctl().
* Removed unused syscall_restart_ioctl_handle_post().
* Made SyscallRestartWrapper a lot fancier. Instead of storing a
  reference to the result value, it stores the value itself, and it
  features all the interesting operators that make it appear like that
  value. This simplifies the use of the class quite a bit.
* THREAD_FLAGS_SYSCALL is now set for all socket function and the
  read[v](), write[v]() syscalls.
* Added is_syscall() function and net_stack hook to the net stack.
* Removed "kernel" parameter from all net_stack_interface and net_socket
  module hooks. They aren't need any longer, since is_syscall() can be
  used instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 16:13:47 +00:00
Axel Dörfler
9493edbe9f Applied patch by Christian Fasshauer:
* get_dir_path_and_leaf() now removes trailing slashes from the path.
* This fixes bug #2016, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 14:37:48 +00:00
Stefano Ceccherini
838c73ba76 Removed unused BWindow friend classes, renamed some BView member
variables to fit our guidelines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 09:26:11 +00:00
Stefano Ceccherini
18af47f5c4 Renamed some private methods to have the underline prefix, now that
BWindow doesn't call them directly anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 08:53:25 +00:00
Stefano Ceccherini
10f4d0679a Added a class MenuPrivate to handle access to private BMenu methods.
BMenuItem and BWindow are no longer friends of BMenu, but use this class 
instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 08:22:09 +00:00
Ingo Weinhold
df50f7a9b4 * Changed the way the socket functions work:
- The net_stack driver is no longer used. Instead we have a kernel
    module which is directly used by syscall implementations in the
    kernel. I.e. we no longer tunnel those functions through ioctls, but
    have normal syscalls.
  - Removed the superfluous net starter module.
  - Implemented the FDTYPE_SOCKET type file_descriptors, that is sockets
    are no longer vnode based.
  - Adjusted libnetwork (the socket function implementations)
    accordingly.
  - Adjusted netstat accordingly.
* Socket module:
  - Implemented socketpair().
  - Added "kernel" parameter to the control hook. Quite a few more hooks
    would actually need the parameter, but I didn't change those yet,
    since that would probably also require changes to the protocol
    module interface.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 04:12:23 +00:00
Ingo Weinhold
446d50a652 Removed unused _kern_socket() dummy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 03:37:18 +00:00
Ingo Weinhold
0fc6c43728 Resolved TODO: We can check for sockets, now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 03:35:15 +00:00
Ingo Weinhold
08b2313e70 * Fixed some checks for user addresses. IS_KERNEL_ADDRESS is not the
same as !IS_USER_ADDRESS.
* Use the new IoctlSyscallFlagUnsetter helper class in _kern_ioctl().
  The former implementation wasn't checking correctly for a previous
  syscall flag.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 03:32:45 +00:00
François Revol
ef16b3bb76 Use the thread's stack size for RLIMIT_STACK, this should work even if we ever implement changing a thread's stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 21:56:22 +00:00
Stefano Ceccherini
0323cae536 Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 20:58:32 +00:00
Stefano Ceccherini
42bf22abf8 fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 20:57:29 +00:00
Stefano Ceccherini
47908b9ae3 fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 20:48:38 +00:00
Michael Lotz
017d539c2a A few more things to get the USB stack working under BeOS again. We now have
KDEBUG on by default which causes benaphores to always use their semaphore.
Therefore when initing the benaphore with the inline compatibility function
and then using it using the lock.h provided inline would always cause a
deadlock and a hanging system under BeOS. Also we now (re-)define the
B_KERNEL_{READ|WRITE}_AREA defines for non Haiku targets to 0 apparently which
would probably also cause the stack to misbehave. Therefore they are now
just redefined (again) to plain B_{READ|WRITE}_AREA in BeOSCompatibility.h.
Change the inclusion order in some places so things work as expected.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 19:55:51 +00:00
François Revol
c4a7b4e09e Report the stack size from getrlimit(), we might want to get fancier later but that should be enough. Tcl will want that.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 19:27:26 +00:00
François Revol
85e1e2f4d6 Coding style :P
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 18:05:00 +00:00
François Revol
42fe011d2a Set close-on-exec flag on USB Kit device descriptors, so apps launched by Tracker won't inherit all the fds to hubs as they do on Zeta :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 16:46:26 +00:00
Axel Dörfler
c28d31cce6 Removed unused variables.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 12:48:42 +00:00
Axel Dörfler
cdde324d77 * Looks like r24456 was a bit premature: with string attributes, it makes sense
to ignore a trailing null byte, which the code now didn't do anymore.
* This caused bug #2054.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 11:43:45 +00:00
Ingo Weinhold
875757adef Wait states should be interruptable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 05:01:21 +00:00
Ingo Weinhold
9c796e6e71 * Added some debug output.
* Flags and timeout arguments to acquire_sem_etc() were swapped.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 04:12:40 +00:00
Ingo Weinhold
65a0f233b9 Looks like I had been fallen asleep before finishing the implementation.
After successfully copying the data from the receive queue into a new
buffer, we should actually return that buffer and update the queue size.
recv() doesn't KDL anymore when reading less data than queued.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 03:27:31 +00:00
Ingo Weinhold
eb8b342d56 Protocol module for Unix domain stream type sockets. The implementation
is almost complete, but still quite buggy (receiving data has a good
chance to drop into KDL). 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 03:17:05 +00:00
Ingo Weinhold
f8b4d83f2f New service function vfs_create_special_node() to create special nodes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 03:07:07 +00:00
François Revol
8ff902d0bd Fix building usb busses with tracing on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 21:53:11 +00:00
Maurice Kalinowski
a7fb4c16b6 fix some gcc4 related warnings...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 20:28:55 +00:00
Maurice Kalinowski
3c08ed4a34 Don't reset the duration value after passing it to SetRef as pointed out by Marcus.
Sorry for taking so long to commit this...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 19:43:49 +00:00
François Revol
facc00359b Fix building usb bus manager with TRACE on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 18:46:24 +00:00
Rene Gollent
aa84c115f6 Build fix :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 18:16:53 +00:00
Axel Dörfler
400ba068e0 Made sure load_driver_symbols() is not used anymore when building for Haiku;
it's a no-op, and I removed the prototype from KernelExport.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 17:48:36 +00:00
Axel Dörfler
afaf6f2f1b * Implemented open_module_list_etc() in libkernel_emu.so as well.
* Added license.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 14:45:17 +00:00
Axel Dörfler
8b79f1fd68 * Added open_module_list_etc() that also allows to specify a required name
suffix. You can use this to verify the version of a module_info structure.
* Made module_info::std_ops optional.
* Minor cleanup in module.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 14:36:04 +00:00
Axel Dörfler
037f70947f * Cleaned up KernelExport.h completely, removed deprecated and non implemented
API, uses the _PRINTFLIKE macro where appropriate.
* Got rid of the "qent" structure, struct timer now contains everything we
  need. This makes the affected code in sem.cpp, signal.cpp, and timer.c much
  cleaner, and resolves a few TODOs.
* Minor cleanup in vfs.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 14:21:06 +00:00
Axel Dörfler
36de598e0f * block_cache_sync[_etc]() now also waits for all notifications to be handled.
This fixes a potential problem where a volume would be left marked dirty on
  a clean reboot as reported by Vasilis; no harm would have been done to the
  data on the volume, though (it would just replay a log entry that it didn't
  need to).
* Unified the naming of the notifier/writer thread: renamed the thread to "block
  notifier/writer", and the variable holding the thread ID to
  sNotifierWriterThread.
* Added a few more doxygen descriptions to the private functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 11:04:26 +00:00
Axel Dörfler
cfc3fa87da * Cleaned up InterfaceDefs.h, added TODO about getting rid of declaring
_init_interface_kit_() in there.
* Moved private get_mode_parameter() into the BPrivate namespace.
* Renamed interface_misc.h to InterfacePrivate.h.
* Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 10:07:35 +00:00
Ingo Weinhold
3daf03d3ab I broke the index dir access when changing the FS interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 21:14:21 +00:00
Oliver Ruiz Dorantes
2154bbe8d6 Added copyright
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 20:39:04 +00:00
Oliver Ruiz Dorantes
da9793832b ObjectList is required
Courtesy of candidate SoC student Adrien Destugues 



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 20:02:29 +00:00
Stefano Ceccherini
e5e708ca39 Removed the snooze() call before tracking the popup menu. This should
avoid the problem noticed by Andrea Anzani (can you check, please ?) 
where the tracker menu would close when moving the mouse too fast.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 08:37:05 +00:00
Stephan Aßmus
67d5c5a838 Implemented Oliver's suggested improvement to ServerCursorReference when
switching cursors. There was a race condition in case the objects was used
by multiple threads, in which Cursor() could return an already destroyed
object. Note: This doesn't fix a real bug or anything, the change is purely
forward looking in case ServerCursorReference is ever used like that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 08:12:38 +00:00
Michael Lotz
bfbbfedc5f * Prepare usb_raw.h for eventually being made public. Prefixed enums values
with B_USB_* and the command union is now usb_raw_command.
* Changed usb_raw and the BUSB* classes accordingly.
* Moved the raw_device struct into usb_raw.cpp as suggested by Francois as it
  was the only thing usb_raw_private.h defined.
* Removed usb_raw_private.h again because of the above.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 07:53:43 +00:00
Ingo Weinhold
5822847842 If the entry leaf name is "." or ".." we need to resolve it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 19:41:49 +00:00
Ingo Weinhold
54045c2e44 * Explicitly support source paths with a leaf name "." or "..". In this
case the contents of the directory shall be copied into the target
  directory, not the source directory itself. This is actually a feature
  the build system uses for installing in a directory, but I've only
  ever tested it under Linux and there a bug in libbe_build made it work
  automatically. Fixes #2036.
* Removed copy and paste left-over for the "-x" and "-X" options.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 19:40:52 +00:00
Michael Lotz
d419b482ad Integrate the USBKit into libdevice and make it public. I left the USBKit.h
name, as it in fact is like a kit in the kit. It combines the different BUSB*
classes as compared to SerialPort.h where there really is a 1:1 relationship
between the header and the (one) class. If someone has a better fitting name
please shout.
Separated the usb_raw.h into usb_raw.h which defines the protocol and
usb_raw_private.h which holds the internal device structure for usb_raw. This
reduces the header dependencies.
Hopefully cought all occurencies of USBKit.a usage (in usb_dev_info and
the usb_webcam media add-on) but might have missed something that is not in
the image.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 19:24:16 +00:00
Michael Pfeiffer
d4f7b8428a Applied patch for ticket #2042 by Philippe Saint-Pierre: List box was overlapping the label of the list box.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 19:04:07 +00:00
Axel Dörfler
8b5e5656f4 * BFS now panics if cache_sync_transaction() didn't free the space needed,
instead of writing over the old log entries.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 12:15:15 +00:00
Axel Dörfler
b9fe86d2d7 * Added pthread_setconcurrency(), and pthread_getconcurrency() functions.
* Since we use a 1:1 mapping, they don't do anything besides remembering the
  level set, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 10:57:01 +00:00
Stephan Aßmus
04ea9a475f * Use the new layout features to build the UI, prevents problems with
BMenuField being cut off. Simplifies the code a lot.
* Move message constants declaration into View, since they are private.
* Cleanup of EthernetSettingsView.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 10:45:50 +00:00
Axel Dörfler
391fdf1e99 * notify_transaction_listeners() would always remove all listeners when it
was asked to. Unfortunately, it also removed the TRANSACTION_WRITTEN
  listeners (that were added before notifying other listeners), so that BFS
  could never free up space in the log. Now, it will only remove the listeners
  it may remove. This fixes bug #2024.
* Rearranged functions a bit, moved notification/listener related private
  functions together.
* Added tracing entry for written transactions as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 10:39:01 +00:00
Axel Dörfler
797a92d84d * Made super block log handling endian-safe.
* Made all debugging functions endian-safe.
* Added tracing for log entries.
* Added new KDL command "bfs_journal" to dump all pending log entries.
* When BFS_DEBUGGER_COMMANDS is defined, the LogEntry class will also track
  the transaction ID it belonged to.
* The "bfs" KDL command now sets some useful debugger variables.
* The "bfs_allocator" KDL command now accepts the group index as 3rd argument.
* Renamed Journal::_TransactionListener() to _TransactionIdle(), as that's
  all it is for.
* Removed TODO comment in Volume::WriteSuperBlock(), as it's actually not true.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 10:32:03 +00:00
Stephan Aßmus
c9d15f8cdb Applied patch by Duane R. Bailey:
* Replaced occurances of "..." by B_UTF8_ELLIPSIS in the apps folder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 09:19:56 +00:00
François Revol
038ed3d1f2 Add _SC_PAGE_SIZE sysconf().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 01:08:18 +00:00
Ingo Weinhold
bd31302c3c Added small tool diff_zip that I used for building the latest optional
packages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 23:40:12 +00:00
Michael Lotz
31f63eb4da Fix broken build due to forgotten definition of the reserved virtual functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 22:00:19 +00:00
Axel Dörfler
18d3e65ebd * The beginnings of an activity monitor application. Very bare and feature-less
right now, but it's already working (and shows that we better compute our
  system_info::cached_pages field directly).
* I am not sure if we want to keep this app here, merge it with
  ProcessController, or have it as a separate (3rdparty) app. Opinions welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 21:30:50 +00:00
Michael Lotz
6a7b827501 Forgot to use nothrow for the allocation of the interface descriptor. Thanks
for pointing that out Stephan!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 20:19:38 +00:00
Stephan Aßmus
636bff2fd2 Patch by Philippe Saint-Pierre:
* Revised the RLE algorithm used for compressing the boot splash artwork to
  handle uncompressed runs.
* Compress the RGB channels separately for improved efficiency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 20:10:50 +00:00
Stephan Aßmus
5c21588c29 Addded various people who have contributed lately.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 20:00:58 +00:00
Michael Lotz
5aa70ae110 * Add a AlternateAt() method to the BUSBInterface class that can retrieve the
usb_interface_descriptor of an alternate interface without having to switch
  to it.
* Add some reserve bytes to all classes and add some reserved virtual slots
  where the objects are publically constructable.
* Remove the source compatibilty defines that were briding the old USB* with
  the new BUSB* class names.
* Implement the usb_raw side of getting an alternate interface descriptor.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 19:59:24 +00:00
Stephan Aßmus
d7aa5bb89c Oh boy. I think I fixed the issue by understanding it with the right side of
my brain, while the left side is still puzzled. So it's hard to put it into
words. Basically, there was an unwanted feedback loop when applications first
scrolled vertically and then horizontally (or vice versa). Because of the
feedback effects between BView and controlling BScrollBar, and because BView
controlls both scrollbars at once, it is important not to set the scrolling
offset of an unaffected ScrollBar, since we might actually be comming from the
SetValue() function of the other scrollbar. Fixes #1913 and possibly more,
going to check up on the other scrolling related bugs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 17:59:22 +00:00
Stephan Aßmus
205cf95ff6 More cleanup, disabled accidentally left on tracing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 17:53:43 +00:00
Stephan Aßmus
2f8dc04583 More style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:56:30 +00:00
Stephan Aßmus
1158eeac58 According to my tests on R5, a BScrollBar with a proportion of 0.0, the value
that it has when you never set it, uses the large step to figure out the
proportion it should display. This fixes Pe's scroll bars to display the
"correct" proportion. Of course the proportion is only correct if the large
step indeed equals the page size. Fixes #1758.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:47:43 +00:00
Michael Lotz
a43222b925 * Implemented setting an alternate interface through the USBKit library based
on a patch by Salvatore Benedetto, adapted to the usb_raw interface by me
* Added two convenience functions IsStalled() and ClearStall() to USBEndpoint

Both changes are actually untested, so if you have a use for them and encounter
problems please shout.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:22:59 +00:00
Stephan Aßmus
c2234e0598 * Added optional tracing to ScrollBar.cpp.
* Fixed line breaks to not exceed 80 char limit.
* Removed any trailing spaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:22:10 +00:00
Michael Lotz
49df4099d1 Implement a binary compatible way of setting an alternate interface through
usb_raw.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 15:57:26 +00:00
Ingo Weinhold
25eb8cd717 * Renamed pipefs.cpp to fifo.cpp.
* Removed the pipefs functionality. We only need to support FIFO nodes.
* Renamed the remaining pipefs_*() functions to fifo_*().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 15:50:28 +00:00
Ingo Weinhold
a1db78790d Removed pipefs from the built-in modules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 15:45:07 +00:00
Stephan Aßmus
6a1d169c52 * Removed trailing spaces in ScrollBar.h
* It's not a good idea to archive fProportion as int32, seeing it's a float
  on [0..1].
* Implemented archive constructor for BScrollBar. Untested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 15:11:31 +00:00
François Revol
658aafcb62 Add recent files to the Open File menu.
Add dropped files to the roster's list of recent files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 14:52:43 +00:00
Stephan Aßmus
27000126fd Fixed the build of the registrar for the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 14:39:22 +00:00
Stephan Aßmus
20eb92f20a * Fixed missing include.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 14:36:14 +00:00
Michael Lotz
8024db25a8 Change just host_controller_info to usb_host_controller_info for the sake of
clearity as suggested by Philippe Houdoin once and brought to my attention by
Slavatore. As this definition is completely private to the USB stack it would
not have caused any conflicts though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 14:14:42 +00:00
Michael Lotz
3568352d8d When a partition was unpublished from devfs the devfs_delete_vnode() would
also free the device info which it must not do, as this info is in fact just
a pointer to the device info of the raw node. Removing a raw device that had
partitions published therefore always lead into KDL when closing the raw
device after unpublising the partition, as the close_hook pointer which sits
in the device info now was 0xdeadbeef. This should make for example unplugging
USB devices work as expected.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 12:07:45 +00:00
Axel Dörfler
a63f51dea4 * Enabled a few more chipsets that I found PCI IDs for. Only the i845G one has
actually been tested (see ticket #1969).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 09:37:14 +00:00
Michael Lotz
fc38019945 Rename vfs_stat_entry_ref() to vfs_stat_node_ref() as that's what a dev_t and
ino_t combination really is.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 09:18:27 +00:00
Ingo Weinhold
ea39c6377e Might help gcc 2.95.3 to resolve its perceived overloading of the
function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 03:13:11 +00:00
Ingo Weinhold
6e36a49e62 * Added _kern_create_pipe() syscall, creating a pipe as an entryless
FIFO. Reimplemented pipe() to use it.
* pipefs is no longer mounted. Will remove the superfluous code soon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 02:49:12 +00:00
Ingo Weinhold
ad3a563d43 create_special_node() supports creating a special node without entry,
now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 02:44:37 +00:00
Ingo Weinhold
3af6d6a43a Commented out some debug output. The sources will be reworked soon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 02:42:18 +00:00
Ingo Weinhold
9583c41d8a Added TODO regarding potential deadlock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 02:35:07 +00:00
Ingo Weinhold
d4016ffdbb * A pipe can now be inactive and active. After creation it remains
inactive until at least one reader and one writer have opened it. As
  long as it is inactive, reads from and writes to it just block. When
  active, they behave as before (if there's no counterpart writes fail:
  SIGPIPE + EPIPE, reads return 0). When both reader and writer count
  drop to zero, the pipe becomes inactive again.
* Allocate the ring buffer lazily when the pipe becomes active and
  delete it when it becomes inactive.

This makes the pipe implementation FIFO compatible. IOW, FIFOs work as
expected as far as I've tested them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 01:40:01 +00:00
Ingo Weinhold
a8cba5904f The rootfs was calling remove_vnode() on nodes for which it might not
have had a reference.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 00:27:36 +00:00
Ingo Weinhold
717705d816 We get a reference to the node from create_special_node(), so we have to
release it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 00:26:15 +00:00
Ingo Weinhold
7ffafac8d7 * Reorganized the FS interface a little:
- Moved most file_system_module_info hooks into separate structures.
    Those that operate on mounted volumes to fs_volume_ops, those
    operating on a vnode to fs_vnode_ops.
  - Got rid of the fs_volume, fs_cookie, fs_vnode typedefs. We use void*
    again.
  - Instead of a void* volume and node cookie hooks are passed a
    fs_volume and fs_vnode structure pointer, which contain the cookie
    and an ops pointer (fs_volume a few more things).
  - The VFS {new,publish,get,...}_vnode() functions take a fs_volume*
    instead of the volume ID. So does vfs_get_fs_node_from_path().
  - Added type and flags arguments to publish_vnode() and the
    get_vnode() hook and removed the type argument from lookup() hook.
    Added vnode::type using formerly unused bits to store the node type.
    Simplified a few things in the VFS due to the now always available
    node type.
  - Added fs_volume_ops::{create,delete}_sub_vnode() and
    fs_vnode_ops::get_super_vnode() hooks. They are used to support file
    system layers, e.g. allowing to extend an FS not supporting BeOS
    attribute with attribute support. Needs some more work in the VFS.
  - Added fs_vnode_ops::create_special_node() hook for creating special
    nodes (e.g. FIFOs).
* Adjusted the built-in file systems and BFS according to the interface
  changes. Removed all other FSs from the image for the time being.
  We'll see whether further API changes are necessary before porting
  them.
* Adjusted the bfs_shell accordingly.
* Implemented create_special_node() in rootfs to support special nodes.
* Added support for FIFOs:
  - Added syscall _kern_create_fifo() (used by mkfifo()), which creates
    a special node (type S_IFIFO) in the respective file system.
  - When a special node is published the VFS creates a respective sub
    node. Currently only FIFOs are supported.
  - Added a little support for FIFO subnodes by using functionality from
    the pipefs.
  - Added mkfifo to the image. It can create FIFOs in the rootfs, but
    the FIFOs aren't really usable ATM, since they still work like
    pipes, i.e. readers and writers need to have them open at the same
    time.
* Some smaller changes in the VFS:
  - Made the *_CALL macros nicer to use (vargs).
  - Refactored FS entry lookup into new function lookup_dir_entry().
  - create_vnode() no longer just calls the FS create() hook. First it
    looks up the entry and uses open_vnode(), if it already exists. This
    is necessary for two reasons: 1) The FS might not support create()
    while still allowing to open() entries. 2) When the FS has other
    layers on to of it (or the respective node) it might not be
    responsible for opening the node.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 23:05:16 +00:00
Michael Lotz
5d7ee5e84a * Replace the path based lstat in the device watcher with the new device/node
based one. The path based version could not have worked for entry removed
  notifications at all as the node is removed from the directory at this point
  already
* Forgot to delete the device watcher instance after removing all monitors
* The PartitionRegistrar in DeleteDevice() was set to already locked which is
  not the case
* Someone probably forgot to add a PartitionRegistrar to the media checker - it
  did register the device on each run but never actually unregistered it, which
  obviously messed up the reference counting a bit

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 22:08:47 +00:00
Michael Lotz
efb965d559 Introduce vfs_stat_entry_ref() that allows to stat a vnode based on a dev_t
and ino_t instead of a path. Supposed to work with node monitoring messages.
Took the name from vfs_entry_ref_to_path() that takes the same arguments, but
suggestions for a better name are welcome.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 22:01:05 +00:00
Stephan Aßmus
d0fc7c65c6 Patch by Philippe Saint-Pierre:
* Implemented RLE compression for the boot splash images, resulting in
  smaller kernel and boot loader.
* Only the boot loader contains the RLE compressed images, the decompressed
  buffer for the icons is passed to  the kernel via kernel args.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 21:15:43 +00:00
Michael Lotz
86dd3875cd * Updating device->removed must be protected by the device lock
* Also updating device->open_count must be protected by the device list lock

This fixes the (unlikely) case where a device was removed from usb_disk
standpoint while it still had an open read/write/ioctl operation.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 16:42:34 +00:00
Michael Lotz
b6b5de0741 Use a more reasonable timeout of 1 second for synchronous USB requests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 15:14:30 +00:00
Axel Dörfler
0e4edbeafa * Added checks to (hopefully) all write/create functions to bail out early
if the volume is read-only. This should help with #2028.
* Removed unused bfs_[de]select() functions.
* Removed most paranoia checks - now that we control both sides of code,
  this would just hide eventual problems in the VFS code.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 12:24:11 +00:00
Stephan Aßmus
85f0201086 Rene left tracing turned on in his last commit to this file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 12:07:10 +00:00
Axel Dörfler
98b7d71b7c The wait_for_notifications() function now detects if it has been run from
within the notifier/writer thread, and will then flush the notifications
directly. This should fix #2008 again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 10:23:11 +00:00
Axel Dörfler
355914a2cd * Enlarged maximum kernel size to 2 MB - this is the code the boot loader's
MMU code reserves for the kernel, and we hit that limit recently with the
  addition of the boot splash code.
* This fixes the boot crash as triggered by Stippi's recent changes to the
  splash image.
* Cleanup (doxygen comments, line length).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 10:16:49 +00:00
Michael Lotz
b04afa2413 * Another tiny cut in stack load time: do not delay after setting the current
configuration of a root hub
* Cut down on number of retries to set the initial device address

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 00:38:38 +00:00
Michael Lotz
f1a9c3c214 Implement a downcounter for the synchronize cache command. There are devices
that do not support it (probably because they do not have a cache at all like
in flash media) and this should at least avoid spamming the syslog when this is
the case. It will try 5 times and then disable syncing for that device. Untested
as of yet though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 23:46:14 +00:00
Rene Gollent
0ee109102b Forgot about this static function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 23:41:01 +00:00
Rene Gollent
45219b61ea Modify ProcessController's System Resources and Caches item: it
now shows cache and total committed mem respectively.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 23:40:09 +00:00