Commit Graph

19056 Commits

Author SHA1 Message Date
Axel Dörfler
fcfbb8aa6c libprefs.so uses the private _klock_node_() syscall, and even loops until it
returns success - since this stub always returned failure, this prevented all
apps using that library (like Gobe Productive) from running.
It now calls the Haiku equivalent _kern_lock_node(), and Gobe now runs fine!
This closes bug #562.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 17:04:10 +00:00
Axel Dörfler
ce78b3653a Now only removes a default route for a domain in case a new one is specified;
this fixes bug #1423, the loop interface removed the default route for the
other interface (didn't happen previously, as routes were bound to devices).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 15:15:25 +00:00
Axel Dörfler
9004a56437 * Made some functions static that should have been.
* Added a commented out dump_routes() function for debugging purposes.
* Removed weird spaces, fixed indentation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 15:13:34 +00:00
Stephan Aßmus
ff85245718 * fixed the crashing result of bug #634, check if the supplied region
falls within the frame buffer bounds. This should not happen, and
  I am going to search for the cause next, but at least app_server
  dosn't crash anymore in this context. Left a comment on my findings
  so far.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 15:11:58 +00:00
Stephan Aßmus
e48d0f097b * fix trailing tabs in FPS.h, thanks Michael!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 13:33:07 +00:00
Stefano Ceccherini
2d05e85cb5 decide -> device
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 13:30:36 +00:00
Stephan Aßmus
450bb3e557 patch by Fredrik Modéen:
* extensive code cleanup
* small additional clean ups by myself


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 12:28:22 +00:00
François Revol
42b025bece No need for ppc code there.
68030 invalidates only 1 long of a cache line each time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 12:10:46 +00:00
Stefano Ceccherini
09d6e976df Looks like I deleted too much... copied Region.h back from the os
folder, updated Region.cpp and RegionSupport.cpp accordingly. Also 
implemented empty BStatable destructor. Needed, since it's virtual now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 11:46:06 +00:00
François Revol
829748d89d Fix flushing the ATC, add flushing icache.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 02:24:38 +00:00
François Revol
ee75f8527b This should handle TLB flushing on m68k (it's called ATC though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 00:45:01 +00:00
François Revol
00c8f3104c Add a warning about CAS2: 060 doesn't have it, we'll loose 64bit atomics :^)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 00:39:27 +00:00
Stephan Aßmus
5913d84eb8 patch by "anxiety":
* added a Query menu to the main menu, giving access to some
  email queries
I refactored the patch a little and added monitoring the query folder,
so that all open Mail windows should update. However, I might not have
got it to work as intended, at least I got no entries for the query results,
even though the same query did return results when run in Tracker.

This should implement the idea in #1208, and that's also where the patch
was attached. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-24 23:01:54 +00:00
François Revol
cc9ad8e824 Start of math support from glibc.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-24 22:54:33 +00:00
Stephan Aßmus
20b56fdd92 * actually initialize the static sLocker with NULL too...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-24 22:51:43 +00:00
François Revol
fd5679a989 Empty arch specific drivers folder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-24 20:43:10 +00:00
François Revol
d0e366a937 Empty cpu module. Might do something there later, should be possible to emulate mtrr as the page descriptors have a cache-disable bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-24 20:41:04 +00:00
Ingo Weinhold
6bd2f399e8 Patch by Vasilis Kaoutsis: Implemented killpg().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-24 13:49:42 +00:00
François Revol
51238e6bd3 Missing Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 23:38:34 +00:00
François Revol
90f87904fc Some m68k fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 23:34:20 +00:00
François Revol
df05c21550 Default code for m68k.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 23:31:01 +00:00
Axel Dörfler
13ca2d942d Patch by Vasilis Kaoutsis - thanks!:
* Rewrote TextView.h
* Renamed all private methods to have the underscore prefix.
And also:
* Whitespace and line width cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 20:44:17 +00:00
Rudolf Cornelissen
877ed9ed93 updated docs. The driver is now synced against nVidia's official april 2007 ID list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 19:57:21 +00:00
Rudolf Cornelissen
5f3e6740f1 updated naming for some previous unknown cards, added 25 new cards for support/recognition in the driver, being GF 6xxx, 7xxx and 8xxx types. Also two more nforce 6100 4x0 cards recognized now. Please note: GF8xxx support is experimental, and without acceleration. Reports are welcome.. Bumped version to 0.83.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 19:45:43 +00:00
Rudolf Cornelissen
37bf6a6a6e disabled acceleration engine init and exporting the hooks on G80 and above for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 18:55:52 +00:00
Rudolf Cornelissen
40685b3e4d added a laptop, G86: 8600M GT, submitted by pieter panman.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 18:42:25 +00:00
Oliver Ruiz Dorantes
86aceda984 -Dummy implementation of DiscoveryListener\n-Add to jamfile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 17:27:49 +00:00
Axel Dörfler
45ae0aa1aa It's not a good idea to write back large files while keeping the vnode busy.
The low memory handler now has two passes which should help there; however, it
might also accidently remove recently used vnodes, too. We could mark the clean
ones in some way if that turns out to be a problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 16:05:38 +00:00
Axel Dörfler
1d0b34faae * If a new buffer had its last part in common with an existing larger buffer,
BufferQueue::Add() tried to remove a negative amount of bytes. This could
  bring a download to a complete halt (as could the other one due to the list
  link mixup).
* While the RTT computation still seems to work not that good (with a drop quote
  of 50% I would easily reach retransmit timeouts of 80 secs), TCP should now
  work a lot better on a flaky connection.
* Renamed _GetMSS() to _MaxSegmentSize().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 10:42:46 +00:00
Axel Dörfler
875c4627fd The TCP shell now works again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 01:49:37 +00:00
Axel Dörfler
abbff8b909 SendQueued() could send empty buffers in case fSendQueue.Get() failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 01:47:18 +00:00
Axel Dörfler
157da1cd6e * net_buffer is a module, so it shouldn't have its initializers called
indirectly by the stack - they are now again usable separately as well.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 00:04:41 +00:00
François Revol
8c5602829e arch-specific stubs for config manager.
Will allow hardcoding ISA devices for platform faking an ISA bus, and the PC floppy and PS/2 ports.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 23:55:19 +00:00
Ingo Weinhold
56a63c3b2a Patch by Vasilis Kaoutsis: Style and copyright header cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 23:51:46 +00:00
Axel Dörfler
568bb32385 Applied patch by Gerald Zajac:
1) Some video modes which did not work properly with the Savage chips
have been removed from the mode list, and a few wide-screen modes which
work have been added.
2) The code which loads the cursor image has been simplified.  This code
is similar to the code I'm using in the S3 Virge video driver which I
will be submitting to the Haiku project in a few days.  This change also
removes the last piece of code that came from Erdi Chen's BeSavage
driver;  thus,  this diff file also removes his copyright from the file
savage_cursor.c.

I did a minor modification to fix a warning in ProposeDisplayMode.c (it
now includes savage.h). Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 22:05:16 +00:00
Axel Dörfler
30eca597da * Implemented support for the module_dependency extension in Haiku.
* Added a way to initialize built-in dependencies that the tcp_shell is now
  using - at least it gets to the prompt again (it still doesn't work, though).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 18:18:29 +00:00
Oliver Ruiz Dorantes
7236d2c1c8 Fix coding style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 17:53:08 +00:00
Axel Dörfler
2eaecb7b33 Fix build for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 16:18:34 +00:00
François Revol
c87d0ba1fb E2BIG wasn't catched by the sed scripts... added.
Some #ifdefs to allow building under BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 16:01:15 +00:00
François Revol
cb44673606 Naive swap_float/double. Not sure sizeof(double) is 8 on m68k...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 15:50:27 +00:00
Stefano Ceccherini
3c5bd34432 Rewrote OptionPopUp.h and OptionControl.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 14:59:04 +00:00
Stephan Aßmus
a637e3c53c patch by Fredrik Modéen:
* add filtering of files by mimetype when adding them to the playlist
* some changes by myself (added Axel's suggestion to guess the mimetype
  in order to support other filesystems than BFS)
Fredrik -> please have a look at our coding guidelines, also you have weird
whitespaces in your patches... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 14:44:38 +00:00
Stefano Ceccherini
09a4122e4c Moved initialization of the system color map from AppServer to Desktop
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 14:07:26 +00:00
Stefano Ceccherini
37b83b1a2d The system palette was defined in two files. Moved to a private header,
included by the two.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 13:44:37 +00:00
Stefano Ceccherini
d9cebac2b7 Rewrote DirectWindow.h, updated DirectWindow.cpp accordingly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 10:29:44 +00:00
Stefano Ceccherini
7bd24def80 At least for the column menu layout, don't recalculate the whole layout
if the calling function supplied an item index.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 09:23:19 +00:00
François Revol
1609107a45 - some swap asm.
- 64bit atomic ops.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 00:48:01 +00:00
François Revol
5bbe87abba Fake pci bus manager for m68k.
We will fake hardcoded devices depending on the platform.
Hopefully that will help some generic drivers (ide) to work without major modification.
Synced to r22648.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 00:13:10 +00:00
François Revol
188b43270e m68k arch files for libroot.
Mostly ppc from r22648. Some atomic_* done.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 00:10:36 +00:00
François Revol
11ce65f5a0 crt files for m68k.
Synced with r22648.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 00:06:13 +00:00
François Revol
0e274db4b9 Dummy platforms for m68K.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 00:03:51 +00:00
François Revol
56b8edd4e3 ld scripts for m68k.
Actually mostly untouched ppc from r22648.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 00:00:32 +00:00
François Revol
845a180f3d Unfinished kernel support for m68k.
Based on ppc/x86 from r22648.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 23:49:57 +00:00
Axel Dörfler
fe2aaee7ec * Corrected mode creation; can't reuse the EDID values as is.
* The sync flags still aren't handled correctly, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 21:20:38 +00:00
Axel Dörfler
23128566a4 Slab.h no longer includes Depot.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 20:56:34 +00:00
Axel Dörfler
28f1589f9c Now builds again, but it doesn't work yet due to the changes in the stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 20:25:54 +00:00
Axel Dörfler
6f1dac37f9 * Fixed lots of warnings (there are still a lot left).
* Got rid of the PARAMS_AS_STRING stuff (it's always defined, anyway).
* Will remove BeOS support, too, in the future.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 20:14:32 +00:00
Axel Dörfler
15ab0bcf01 * int32_t, uint32_t are now of type "int", and no longer of type "long".
This should help to reduce the number of warnings imported code will throw
  during compilation (helps a lot with tcpdump, for example).
* Since long is 64 bit on 64 bit platforms, we might want to think about doing
  that change for the Haiku types int32 and uint32 as well.
* Fixed several occurences of hidden type problems.
* Fixed build of the stack and TCP under BeOS.
* Fixed incorrect typedef in socket_interface.h.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 20:10:43 +00:00
Oliver Ruiz Dorantes
3dfa121266 Dummy implementation of the LocalDevice class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 17:58:38 +00:00
Stephan Aßmus
d3f08e7fb8 * we don't actually need the AccelerantHWInterface in the test environment,
therefor we don't need to worry about the extended Accelerant interface


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 15:55:53 +00:00
Stephan Aßmus
dd8cf8ddd6 * fix build in test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 15:52:56 +00:00
Stephan Aßmus
0e1ffc3925 * fix build in test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 15:48:12 +00:00
Axel Dörfler
a22279fa0b Fixed build under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 13:51:50 +00:00
Axel Dörfler
d0a41190b6 Made our kernel-emu a bit more complete.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 13:45:47 +00:00
Karsten Heimrich
85b69a9437 * code cleanup, small refactoring
* make the panel font sensitve within the possible plain font range

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 12:40:57 +00:00
Axel Dörfler
9db35b6825 Revised named configurations a bit:
* Named settings are only overwritten if they were an exact match (ie. it's
  the very same monitor).
* The unnamed settings retrieval now has two passes, on the first it will
  now ignore named settings. It will also only remove unnamed settings now.
* Added some TODO commments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 11:00:30 +00:00
Axel Dörfler
fe54eece9d * Removed the "new_stack" test approach; it's no longer useful, and you can
still look for it in the SVN history if you like.
* Moved tcp_tester.cpp to its own sub-directory tcp_shell - it doesn't yet
  build, though (due to recent changes to the stack/TCP implementation).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 10:58:24 +00:00
Ingo Weinhold
3ee83016ed Added header directories missing for the libbe_test target, since my changes
a while ago that removed the incorrect automatic addition of Haiku header
directories in case of targets other than "haiku". The app server test
environment does now almost build again. The problem left is related to the
recent changes of the accelerant interface. I suppose someone in the knows
should decide if we can simply use our header or if special handling is
needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 10:15:57 +00:00
Ingo Weinhold
9d3f15c60e Style cleanup patch by Vasilis Kaoutsis. Small changes by myself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-20 20:40:09 +00:00
Ingo Weinhold
cb93a65449 Patch by Vasilis Kaoutsis: Added and implemented lockf() using fcntl() locking.
Small change and notes on standard compliance by myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-20 19:51:49 +00:00
Karsten Heimrich
dc7de148c3 * save and load the window position inside window class, center on first start
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-20 18:56:20 +00:00
Karsten Heimrich
2e548bd870 * remove these until we have something to implement it properly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-20 16:51:12 +00:00
Salvatore Benedetto
dfd1357ad2 * Rewrote part of the constructor: most of the code is ported from FreeBSD
* Usual clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-20 16:31:15 +00:00
Salvatore Benedetto
2907d85a71 * Renaming macros
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-20 12:11:16 +00:00
Axel Dörfler
4ee81443c3 * The app_server now stores the whole display_timing structure of a mode, not
just the frequency.
* Previously saved modes are no longer supported, though.
* Screen modes are now stored with the monitor info it belongs to, IOW the
  app_server will now choose a mode from the settings that fit your monitor
  description. Driver support is required for this to work as intended.
* The changes are completely untested at this point, though, sorry (shouldn't
  harm anyone, though) :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-19 16:47:06 +00:00
Axel Dörfler
e544dd5915 * Fixed a possible dead lock between the kernel daemon and the DDM; the media
status checker now only tries to lock the manager, it won't wait anymore.
* Added MediaChanged() and UpdateMediaStatusIfNeeded() methods to KDiskDevice.
* KDiskDeviceManager::_CheckMediaStatus() now uses these new methods; it should
  no longer detect removed media more than once :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-19 15:20:36 +00:00
Ingo Weinhold
c70623faaf * Added base class of job classes DiskDeviceJob and job container class
DiskDeviceJobQueue.
* Basic synchronous implementation of BDiskDevice::CommitModifications(),
  ignoring the given parameters, though.
* Some more work on DiskDeviceJobGenerator: Added class
  PartitionReference which will reference a partition while the jobs are
  executed. The generator manages the mapping of partitions to those
  references now. Also exemplarily implemented the generation of the
  InitializeJob.
* Moved support functionality to private header DiskDeviceUtils.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-19 03:18:28 +00:00
Karsten Heimrich
25d7f14a9c * more work towards working central settings, only Deskbar for the moment
settings are not saved atm...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 22:36:30 +00:00
Jérôme Duval
5a9e9581c1 clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 20:44:20 +00:00
Axel Dörfler
e9d9842ae8 Found and fixed the reboot problem of most of my systems: by binary searching
through our revisions, I found r20883 to be the cause of this problem.
This one obviously fixed bug #1185, but I'm afraid there has to be another
solution for this problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 17:27:39 +00:00
Axel Dörfler
98659f44ab Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 17:24:07 +00:00
Axel Dörfler
dd84f111b9 Fixed a few potential deadlocks:
* in r22410 the unlock/relock was removed accidently from ServerWindow::_Hide()
  before calling a desktop method.
* Desktop::ActivateWindow() no longer calls SetWorkspace() with the window lock
  held.
* WorkspacesLayer::MouseUp() now uses the asynchronous version of SetWorkspace().
* AFAICT AS_HIDE_WINDOW, AS_SHOW_WINDOW, and AS_MINIMIZE_WINDOW don't need the
  all window lock, reverted to standard single window lock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 13:49:36 +00:00
Axel Dörfler
643801426c As the commit says, don't do this at this place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 13:41:18 +00:00
Axel Dörfler
0af55d39f6 Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 09:57:15 +00:00
Ingo Weinhold
0cd5e0436d Beginnings of the class that analyzes the changes done to a BDiskDevice
and generates jobs that perform the individual actions transforming the
current state of the disk device into the desired one. Most code was
taken and adapted from the soon to be gone kernel class
KDiskDeviceJobGenerator. The methods creating the job objects are only
stubs ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 03:49:50 +00:00
Ingo Weinhold
9417631f64 * Made _CountDescendants() public.
* Added private _ChildAt() and _CountChildren(), which don't ask the
  delegate, thus reflecting the hierarchy as it was before changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 03:42:30 +00:00
Ingo Weinhold
013e7894b7 We need flags to track what properties of the partition change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 03:39:50 +00:00
Karsten Heimrich
77f02aaead * basic settings view, not functional atm...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 23:28:43 +00:00
Ingo Weinhold
23b034566f Moved disk device API into subdirectory disk_device.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 23:12:36 +00:00
Ingo Weinhold
1573b62671 * Removed the BDiskDeviceJob class. Jobs won't be generated and executed
in the kernel anymore. The respective functionality will be moved into
  the userland. Depending on how we want the API user to interface with
  it, we may want to reintroduce a similar class later.
* Cleared remaining references to shadow partitions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 22:56:23 +00:00
Ingo Weinhold
271b1f27bf Adjusted to yesterday's API changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 22:28:22 +00:00
Ingo Weinhold
8c0dd56800 Added some debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 22:27:23 +00:00
Ingo Weinhold
a3a0e88e70 Load the disk system add-ons in PrepareModifications(). Otherwise the
delegates wouldn't be able to get them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 22:25:48 +00:00
Ingo Weinhold
27d7c36659 * Reimplemented BDiskDevice::IsModified()/
{Prepare,Commit,Cancel}Modifications() using the userland add-on
  backend. IsModified() and CommitModifications() are little more than
  stubs ATM.
* Made BPartition::VisitEachChild()/VisitEachDescendant() const.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 21:50:20 +00:00
Karsten Heimrich
e4289a54e3 * rename this to better reflect it's usage and to be able to add a real settings view
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 21:05:44 +00:00
Ingo Weinhold
46b93b2cfd Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 20:51:10 +00:00
Stephan Aßmus
b0e2e12f4f * fix the build of this test
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 18:21:26 +00:00
Axel Dörfler
8047441723 The disk device manager now periodically checks for media changes - all it does
is dump its findings, but it's an (untested) start.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 17:05:48 +00:00
Axel Dörfler
10ffdaa294 Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 15:35:13 +00:00
Axel Dörfler
2590e7d29c Preferred mode should be 32 bits.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 15:33:38 +00:00
Axel Dörfler
89d522a443 AccelerantHWInterface should no longer rely on GetModeList() being called before
working with it. The app_server would have crashed before if a graphics driver
could directly return a preferred display mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 14:20:58 +00:00
Stephan Aßmus
540fe7aef9 patch by Fredrik Modéen with changes by myself
* toggle the "marked" state of the settings menu items correctly
* implement muting/unmuting the volume
* implement volume up/down triggered by keyboard events
* forward the skip next/previous events to the controller
  (various kinds of keyboard navigation or mouse wheel)
* establish the notification link for volume and muted changes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 10:29:16 +00:00
Ingo Weinhold
c9518b6240 Removed some now obsolete methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 01:04:53 +00:00
Ingo Weinhold
fe6bd3b5b7 * Moved GetNextSupportedType() and IsSubSystemFor() from
BDiskSystem to BPartition and reimplemented them using the userland
  add-on backend instead of syscalls. As a side effect this solves the
  TODO I recently added in GetNextSupportedType().
* Reimplemented BDiskSystem::GetTypeForContentType() using the userland
  add-on backend instead of a syscall.
* Moved GetTypeForContentType() and IsSubSystemFor() from
  BPartitionHandle to BDiskSystemAddOn. They were misplaced.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 01:01:49 +00:00
Ingo Weinhold
d712d042ea Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 00:03:23 +00:00
Jérôme Duval
287cc7652b fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-16 19:02:28 +00:00
Axel Dörfler
e7e325508b Allocating additional memory should now work on the i965 as well (but bad things
will happen on earlier i9xx chips for now...). Not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-16 16:52:34 +00:00
Axel Dörfler
b24bb37c3b Now also implements B_GET_PREFERRED_DISPLAY_MODE for panels that don't use
EDID (like obviously on my laptop).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-16 09:45:11 +00:00
Ingo Weinhold
b62085b975 Coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-16 00:32:41 +00:00
Axel Dörfler
a9f57acd01 Fixed build for BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-16 00:00:09 +00:00
Axel Dörfler
9ee4f3c805 The Radeon driver should now support returning EDID information as well - not
yet tested, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 23:53:57 +00:00
Axel Dörfler
3dd4843b9d Updated unrar to 3.7.8, patch by Ioan Molnar - thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 23:49:42 +00:00
Jérôme Duval
78878cabe8 Background.h was moved to be_apps/Tracker
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 23:47:07 +00:00
Jérôme Duval
e27e4f8d51 only define va_copy for gcc2.95
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 23:08:08 +00:00
Jérôme Duval
7ebabb8644 more on gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 23:03:15 +00:00
Jérôme Duval
f2e230ca88 fix a bit of gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 22:35:52 +00:00
Axel Dörfler
f6e4cbb952 * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 20:13:55 +00:00
Jérôme Duval
59b66b0cb5 fix ppc build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 19:07:52 +00:00
Axel Dörfler
2bea4eae5c Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 18:39:04 +00:00
Philippe Houdoin
0795ca4a8e Applied pieterpan's patch to disallow window to get too small.
#1542 is not fixed yet, as the crash happened in Mesa Software Renderer add-on first.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 18:17:28 +00:00
Jérôme Duval
b8b20fac4d generate with a different name to avoid rewriting on the same file
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 18:11:07 +00:00
Jérôme Duval
338c42929b fix signature
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 17:51:57 +00:00
Axel Dörfler
22df5cfa2f Fixed warnings, minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 17:36:34 +00:00
Axel Dörfler
332d5f437e Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 14:09:14 +00:00
Axel Dörfler
4c437c0fc7 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 12:48:22 +00:00
Axel Dörfler
c0737fa86d Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 12:26:27 +00:00
Axel Dörfler
c3d49e1317 * Fixed warning.
* Use strlcpy() to copy the confstr instead of strncpy().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 11:57:28 +00:00
Axel Dörfler
c278448653 * Introduced a monitor_info structure and means to let it be filled by the
accelerant (or the app_server via EDID info). It's still experimental
  API, and opinions are welcome.
* Moved BPrivateScreen into the BPrivate namespace.
* Rewrote Screen.h.
* Introduced a BScreen::GetMonitorInfo() method, and implemented it in the
  app server as well (ie. AS_GET_MONITOR_INFO).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 11:41:47 +00:00
Ingo Weinhold
4ff2178120 Adjusted due to API changes. It compiles again, but won't work for a
while.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 00:42:57 +00:00
Ingo Weinhold
28541deac2 Beginning of the integration with the new userland disk system add-on
based code. Small API changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 00:41:18 +00:00
Karsten Heimrich
0c13f74dfb * fixed bug #1554, it seems my patch didn't make it in completely even after several trials
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 23:10:53 +00:00
Jérôme Duval
20674e3150 stop tracking if we don't have a owner anymore, should help with bug #573
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 21:44:10 +00:00
Karsten Heimrich
3ad1de3b5a * implemented gmt/ local time switch, not working atm but will investigate
note: i think it should be enough to only call _kern_set_tzfilename(..)  as the timezone offset and
      dst would have been set by clockconfig on boot or from the time prefs panel while switching the
      timezone. so the comment in _user_set_tzfilename should not be count and no update would
      be needed. it should only take the sIsGmt boolean take into account when getting the time.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 18:18:52 +00:00
Axel Dörfler
6a0f39da22 Applied patch by Julun: time computations based on an algorithm by Fliegel,
and van Flandern (1968), instead of those inefficient loops we had before.
Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 17:27:44 +00:00
Axel Dörfler
d5fb5794c6 Fixed various style issues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 16:55:32 +00:00
Salvatore Benedetto
f82eb0415a * License changed: I've successfully contacted Jan-Rixt Van Hoye, and he gave me his bless :)
* Usual clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 15:05:14 +00:00
Karsten Heimrich
00826781d4 * implemented Time, Date, DateTime classes to be used in CalendarView
* implemented new Calendarview, capable to show/hide week numbers and day names
   weekstart sunday/monday and getting the current selected date etc...

* updated mail addresses
* make use of the new calendar view in time prefs
* changed required classes to use the new date, time classes
* gmt/ local time change implementation is missing atm, will come next

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 13:53:53 +00:00
Axel Dörfler
53d781f439 * Now uses the new create_display_modes() function.
* Now supports the new B_GET_EDID_INFO hook under Haiku.
* Fixed build under BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 12:31:51 +00:00
Axel Dörfler
67e4704330 MakeEmpty() now also calls _FixupScrollBar() - this fixes bug #1558.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 11:23:40 +00:00
Axel Dörfler
7e9f5d25d3 * WindowLayer::InWorkspace() was actually nowhere used the way it was
implemented; it now only returns wether or not the window is part of the
  list specified by the index. This fixes bug #195 and #1553.
* HasInSubset() would report "true" for app-floating windows vs. modal app
  windows which was wrong.
* Removed SameSubset() as it isn't needed at all.
* SubsetWorkspaces() now take the front window into account for floating
  windows.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 11:03:57 +00:00
Ingo Weinhold
7322bd7a19 gcc 4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 00:14:31 +00:00
Ingo Weinhold
08baf63a9f Decided that BPartition::ImmutableDelegate would basically be a big
collection of no-op methods, which could as well be implemented in
BPartition itself. This makes the Delegate hierarchy unnecessary:
MutableDelegate becomes Delegate, and we save a few casts as a side
effect.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 00:07:03 +00:00
Ingo Weinhold
7a5b0bb588 Missed to add this one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 00:00:51 +00:00
Salvatore Benedetto
ee21f1bcb7 * Fix some bugs introduced by myself ;)
* Removed IOC bit on last TD. To find out whether the TD removed is the
last one of a transfer it simply iterate through every transfer submitted. Not the best
solution, but should be ok for now. Improvements will be made when there will be some driver to test it with.
* Clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 23:22:25 +00:00
Ingo Weinhold
ade9d403d4 Implemented loading/unloading of add-ons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 23:17:44 +00:00
Ingo Weinhold
91c21ff4d6 Beginnings of a userland intel disk system add-on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 21:34:15 +00:00
Ingo Weinhold
260bb9a2a1 Added a few handy methods. The PartitionType::Set*() methods return bool
(valid), now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 21:32:43 +00:00
Ingo Weinhold
350043e707 * Initialization of BPartition::Delegate is now two-phased. The first phase
builds the object hierarchy, the second will (in case of MutableDelegate)
  let the disk systems do their initialization. This way the disk systems
  already find a fully functional object hierarchy they can work with.
* Child creation also takes a partition name as a parameter, now.
* Implemented BMutablePartition child creation/deletion.
* The BDiskSystemAddOn/BPartitionHandle::Validate*() methods return a
  status_t instead of a bool, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 21:29:33 +00:00
Ingo Weinhold
103ca6a3ad The info about partitionable space will be provided by the userland disk
system add-ons. First work to make this class usable for them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 21:17:26 +00:00
Ingo Weinhold
b3e7c4a4b9 * Added fDelegate member.
* Removed private AutoDeleter class. The shared ArrayDeleter is used instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 21:13:02 +00:00
Ingo Weinhold
e701d86af5 Patch by Vasilis Kaoutsis: Style cleanup, "OpenBeOS license" -> "MIT license".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 17:18:34 +00:00
Ingo Weinhold
63355585fb Patch by Vasilis Kaoutsis: Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 17:14:17 +00:00
Ingo Weinhold
ab64dcc9b0 Fixed some instances of incorrect erase() while iterating. Shouldn't
have been a problem though, since the iterated container is a list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 16:18:47 +00:00
Ingo Weinhold
190e377976 ppInfoList deletes its elements on destruction, and we didn't clear our
temporary list after deleting its elements manually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 16:15:49 +00:00
Jérôme Duval
87e239b9dc added some tsearch and iconv functions,
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 15:34:19 +00:00
Salvatore Benedetto
b54f4b2da3 * Clean up ohci_rh.cpp, following the style used in the others *hci_rh.cpp files
* Forgot to remove ohci_software in my previous patch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 14:00:37 +00:00
Jérôme Duval
4b3db10297 Patch from Pier Luigi Fiorini for layouts of Appearance and Keyboard preferences
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 13:06:33 +00:00
Jérôme Duval
3db320e4f9 use regex from libroot
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 12:14:25 +00:00
Jérôme Duval
75d07d42b5 increased snooze, ICH4 needs memory mapped io
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 10:59:22 +00:00
Salvatore Benedetto
1b442f1919 * Revert Copyright
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 09:44:23 +00:00
Ryan Leavengood
d1ac4d47b2 Getting a little ahead of myself here...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 05:02:09 +00:00
Ryan Leavengood
44f919da9a Adding Łukasz Zemczak's package installer to our tree. This was his Google
Summer of Code project. Thanks for your work Łukasz and I hope we can see
more work from you.

Still to do:
- Create an icon.
- Add pkg files to the MIME database with PackageInstaller as the default
handler. The rdef here has the MIME type name for the pkg format should
anyone else choose to add it :)
- Support for running scripts included with packages.
- Testing various different packages.
- Fixing problems in the Haiku GUI layout system which affect the code used 
for various parts of the installer GUI (please bear with the commented out
code for now.)
- Adding this to the image.

Tomorrow I will add Łukasz's InstalledPackages utility which can be used to
view installed packages and uninstall them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 04:46:32 +00:00
Karsten Heimrich
ed1c257ade * the divider width was taken from the wrong archive field
- this is my first commit, so i'm really looking forward to work with you guys    :)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 22:42:51 +00:00
Salvatore Benedetto
46a41c432c * Clean up (removing unneeded comment)
* Renaming, fixing coding guidelines
* Re-writing AddTo method
* Removing ohci_software.h file (its content has been moved to ohci.h) but it will probably be deleted in the future.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 22:17:27 +00:00
Axel Dörfler
4191a211aa * Started accelerant extension to be able to get the preferred mode from
the accelerant, as well as its EDID info. B_GET_PREFERRED_DISPLAY_MODE and
  B_GET_EDID_INFO are both optional. The preferred mode will be taken from the
  EDID info if only the latter hook is implemented, or the former returned an
  error.
* Currently, the app_server should correctly set the preferred mode on start,
  but no accelerant supports that yet, so it's not really tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 16:50:24 +00:00
Ingo Weinhold
e8cae7424e Patch by Vasilis Kaoutsis: Correctly set errno on error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 16:49:56 +00:00
Ingo Weinhold
36b89f8f12 Patch by Vasilis Kaoutsis: Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 16:49:19 +00:00
Axel Dörfler
7bdf92f3f7 Started a create_display_modes() function that should be used by accelerants
to create their mode list. Once it's done, it should cover all possible cases,
and allow the base mode list to reside in the app_server (under Haiku, at least),
so that all drivers will benefit from an updated list.
Right now, it might already work to a degree, but it's not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 15:59:50 +00:00
Axel Dörfler
13a81299f1 Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 15:56:08 +00:00
Axel Dörfler
4ff0c50078 * The loop that should select a thread of the next priority class actually did
not work; it would always choose the last thread of the current priority.
  IOW a thread was never skipped, and lower priority threads were never called
  when a higher priority thread was running - from the POV of the scheduler,
  we only has real time threads...
* Improved "run_queue" KDL output.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 10:29:08 +00:00
Axel Dörfler
00ef60f643 Removed the "next_*" in queue debugger commands.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 10:25:58 +00:00
Axel Dörfler
dd980a197c Started working on a test application for the scheduler; it uses the scheduler
of the kernel directly, and emulates the kernel's API where necessary.
Not complete at all yet, but I already found one serious bug in our current
scheduler with it :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 10:23:45 +00:00
Stefano Ceccherini
9d12401dcf Check keys against "raw_char" instead of "key"
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 09:44:32 +00:00
Stefano Ceccherini
cbcae6ef9b StyledEdit didn't print anything if there's only one line (bug #1288).
Note, though, that printing in StyledEdit is still very much broken. 
Often it prints only the current page, for example.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 07:58:33 +00:00
Axel Dörfler
e0049e2c37 Updated to latest kernel versions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-11 17:55:27 +00:00
Stefano Ceccherini
fc6a714ec0 Static variables should have the s prefix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-11 13:43:07 +00:00
Stefano Ceccherini
65e63b987d PaletteConverter now exports a static InitializeDefault() method, which
can be used (and is, by _init_interface_kit()) to initialize the ... 
er... default instance of 
PaletteConverter using the system color map, thus avoid building the 
list of colors, which takes some time. Fixes bug #505.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-11 13:30:56 +00:00
Axel Dörfler
7861bd3cfb * IDs are now generally printed as decimal values.
* Removed old port test code, it doesn't belong there.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-11 08:30:18 +00:00
Axel Dörfler
f8941839c3 * Reworked stealing pages: the page thief thread is gone now,
vm_page_reserve_pages() and vm_page_allocate_page() will now steal pages from
  the inactive queue as needed.
* We currently never steal active pages anymore, but this might need to be
  revised later (therefore, the page scanner never waits anymore, but uses
  mutex_trylock() to lock a cache).
* The page scanner and writer now both run at normal priority - let's see how
  that will work out.
* Introduced an inactive queue.
* Instead of shuffling pages around in the queue (and therefore destroying LRU)
  the page stealing mechanism now uses a marker page to be able to release the
  page lock without losing its position in the queue.
* The page writer now always grabs the whole release count of the semaphore, so
  that there won't be a huge backlog to catch up with. 
* vm_page_num_free_pages() now also includes the inactive queue as well as the
  reserved pages (they are no longer regarded as free pages).
* Added a insert_page_after() function that inserts a page after another one,
  needed by the marker code.
* clear_page() now gets a vm_page instead of a physical address which simplified
  some code.
* Removed superfluous initialization of the queues (if those aren't zeroed on
  start, we would have serious problems, anyway).
* Removed old and unimplemented dump_free_page_table() ("free_pages") KDL
  command.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-11 08:01:18 +00:00
Axel Dörfler
215a91d161 No need to print and try NULL at all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-11 07:49:04 +00:00
Axel Dörfler
90bab16d16 * IDs are now generally written as decimal numbers, rather than hexadecimal.
* Fixed warnings with debug output turned on.
* Shuffled functions around a bit.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-11 07:46:55 +00:00
Ingo Weinhold
15ed7c71d6 More fleshing out the disk system add-on interface and related classes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-10 21:35:22 +00:00
Ingo Weinhold
67c578e73f Added global lock that can be used for lazy initializations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-10 21:30:51 +00:00
Michael Lotz
2827e2995b Extended flushing repeat messages in kernel debug output. The repeat message is printed when there has been no repeat for more than 1 second and now also when the first repeat was more than 3 seconds ago. This ensures that repeat messages are sent when the repeated message is constantly output at a frequency of less than a second.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-10 20:47:16 +00:00
Axel Dörfler
f271831fc8 Corrected comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-10 18:57:10 +00:00
Ingo Weinhold
d9769e2219 Patch by Vasilis Kaoutsis: select() and pselect() set errno correctly now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-10 14:13:34 +00:00
Axel Dörfler
013f781f47 vm_test_map_{modification|activation}(), vm_clear_map_flags(), and
vm_remove_all_page_mappings() all computed the wrong virtual address for the
page in question, and would therefore return incorrect data!
Introduced a virtual_page_address() function that is now used by all of them.
So that's why we were still "losing" modified flags - it took me some hours
to find those (sometimes processes died after stealing pages)...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-10 09:58:25 +00:00
Rudolf Cornelissen
1f48250890 updated naming for some previous unknown cards, added 24 new cards for support/recognition in the kernel driver, being GF 6xxx, 7xxx and 8xxx types. Also two more nforce 6100 4x0 cards recognized now. NOTE: accelerant update will come at a later date (soon I hope), needs more investigation first.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-09 20:05:43 +00:00
François Revol
ba5b226142 Fix warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-09 19:44:29 +00:00
Axel Dörfler
477c9d1dc0 * vm_set_area_protection() would remap the whole area instead of just the page
it intended to. That resulted in more writable pages where you wouldn't want
  them (ie. allowing the area to change pages in lower caches).
* We were losing modified pages: vm_unmap_pages() sometimes has to preserve
  the modified flag (eg. when called from page fault).
* Both of these were responsible that stealing active pages would crash
  applications - even if less likely, this could also have happened when
  stealing inactive pages. Therefore, I've activated stealing active pages
  again.
* The page writer now pushes the pages of busy vnodes to the end of the queue,
  so that it won't pick them up again too soon (the vnode destruction would
  be in the process of writing those pages back, anyway).
* The page thief now triggers the page writer to run once it has to steal
  active pages. This might be a bit too aggressive, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-09 11:05:50 +00:00
Axel Dörfler
0d871d3c5f * satisfy_cache_io() was using the wrong value to compute the number of
pages to reserve, which could result in to few being reserved in certain
  situations.
* Use MutexLocker where appropriate.
* Reordered includes following the new rules.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-09 02:04:36 +00:00
Axel Dörfler
de37318060 Removed gethostname() and sethostname() from the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-09 02:02:50 +00:00
Axel Dörfler
6030b585aa * Implemented gethostname() and sethostname().
* uname() now calls gethostname() instead of using a hard-coded value.
* This fixes bug #1250.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-09 01:36:18 +00:00
Axel Dörfler
173d0b2fc7 panic() could hang in the early boot process in case it was called before
the blue screen was initialized - blue_screen_enter() now returns wether
or not it has been initialized already (there will only be serial output
in that case).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-09 00:12:29 +00:00
Stefano Ceccherini
17dee6524b and there, the usual commit which removes the forgotten debug output...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 21:48:49 +00:00
Stefano Ceccherini
c044172704 I was wrong after all. InsertText() doesn't call SetRunArray() (and
hence CancelInputMethod()), but it implements part of it. To avoid code 
duplication, I added a private _SetRunArray() call, which does most of 
the work, except cancelling the input method, and calling Refresh().
Removed some unneeded code from CancelInputMethod(), some small changes 
in HandleInputMethodChanged. 
-Questa linea, e quelle sotto di essa, saranno ignorate--

M    src/kits/interface/TextView.cpp
M    headers/os/interface/TextView.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 21:46:35 +00:00
Axel Dörfler
ace15ce212 Changed defaults in readline to be more useful. This fixes bug #1540.
Alternatively, we could add an inputrc file - this would have the advantage
that other apps using readline built-in would have those, too.
OTOH this really should be in the defaults, too, IMO (ie. we could do both).
Opinions welcome :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 21:18:19 +00:00
Ingo Weinhold
b510c4d236 Reverted r22484. setitimer() already sets errno, if necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 19:58:54 +00:00
Axel Dörfler
873f2ffc1a * Fixed the page_thief(): it never noticed it could not get a page.
* The page_thief() will no longer steal any pages in B_LOW_MEMORY_NOTE state,
  only in the more serious cases.
* I've disabled stealing active pages for now again; there seem to be some
  problems with it (either with how we do it, or with other stuff).
* vm_page_schedule_write_page() now always releases the page writer semaphore,
  resulting in many more written pages - this isn't optimal as long as there is
  no I/O scheduler, but before it was much too rare when there are many dirty
  pages.
* Customized the thread priorities a bit to make the page scanner/thief/writer
  experience a bit nicer with our current scheduler.
* vm_page_reserve_pages() would return too early, it did not test if really
  enough pages are free.
* Under certain circumstances, the wakeup from vm_page_reserve_pages() did not
  work - we now always notify in vm_page_unreserve_pages() to work around that
  problem.
* Checked if the page reservations are done when needed and are always balanced
  for the whole kernel.
* vm_page_allocate_page() now panics if it can't deliver a reserved page.
* vm_page_allocate_page_run() can no longer steal reserved pages.
* With all of those changes, I could finally copy a file in emulation, ie. the
  Luposian bug should finally be fixed, even though the system might still not
  be perfectly stable under low memory. Will do some more testing.
* write_page() no longer prints something on failure.
* Dumping a whole page queue will now also write the cache type of each page.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 16:15:56 +00:00
Axel Dörfler
0710d59c1c * Added a "canWait" argument to vfs_get_vnode() - you can use this to ignore
busy vnodes.
* dir_create_entry_ref() used get_vnode() incorrectly (and could therefore
  potentially prevent a file system from doing proper locking when called
  from the kernel).
* The vnode_store now uses this for its acquire_unreferenced_ref()
  implementation (and therefore for the page writer).
* read_into_cache() and write_to_cache() were still marked inline.
* The system will now wait 10 secs for a busy vnode before returning an error.
* It will also no longer panic in that case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 16:06:32 +00:00
Ingo Weinhold
a16571b404 Patch by Vasilis Kaoutsis: Return error code via errno.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 15:32:02 +00:00
Axel Dörfler
899d854005 * B_LOW_MEMORY_NOTE now starts earlier, at 8 MB left.
* vm_low_memory_state() now periodically recomputes the state in case the
  low memory thread is waiting for something.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 13:56:49 +00:00
Axel Dörfler
7faf279d73 The block allocator needs to reserve pages, too, when it maps pages.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 08:25:47 +00:00
Ingo Weinhold
98b97f9603 First draft of the userland disk system add-on interface. A good deal of
functionality of the kernel add-ons will be moved into userland, which
will simplify the kernel-side significantly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 01:33:46 +00:00
Ingo Weinhold
0b7582a306 Some types of files cannot be seeked and we need to fail in those cases.
We actually need to fail for sockets, too, but until I'm mistaken, we
can't identify them in the VFS. Fixes bug #1539.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 22:51:41 +00:00
Ingo Weinhold
ede3fe6c94 POSIX functions return their error codes via errno and so does lseek().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 22:43:41 +00:00
Jérôme Duval
1ea618c556 added BOOT_MODE define instead of adding dprintf_no_syslog()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 19:52:24 +00:00
Axel Dörfler
b21fc3c730 Added another test case to the menu trigger test that could reproduce the last
problem of BMenuItem::SetTrigger() that got fixed in r22476 (see bug #1506 for
the details).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 17:22:30 +00:00
Axel Dörfler
f1be468272 fTriggerIndex was still a byte index in BMenuItem::SetTrigger() - this one
fixes bug #1506 once and for all :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 17:20:28 +00:00
Ingo Weinhold
bf95c9aee6 * The shadow_changed() FS and partitioning system hooks take an
additional partition_data* child parameter now.
* _user_get_partitionable_spaces() doesn't need to copy the buffer into
  the kernel, since it is no input parameter. It also copies back the
  actual partitionable spaces count on error, now -- B_BUFFER_OVERFLOW
  is returned when the buffer was too small, but then the count must be
  returned too.
* Fixed several instances of syscall implementations that unloaded a disk
  system, although they didn't load it in the first place. This screwed
  up the load count with undesirable consequences.
* _user_create_child_partition() would set the size to the supplied
  offset.
* Fixed broken loop in KPhysicalPartition::CreateShadowPartition().
* KPartition::RemoveChild() notified the listeners about the wrong
  event.
* Intel partitioning module:
  - The *_get_partitionable_spaces() correctly return B_BUFFER_OVERFLOW
    now, if the supplied buffer is too small.
  - Implemented a part of pm_shadow_changed(), which creates and updates
    the PartitionMap, so that the validate_*() hooks have a chance to
    work at all.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 15:39:35 +00:00
Ingo Weinhold
24ce374f61 The index parameter to validate_create_child_partition() is optional,
but it is mandatory to the KDiskSystem::ValidateCreateChild(), which is
invoked, so we need to use a stack variable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 15:14:54 +00:00
Ingo Weinhold
dbef8fc452 * Added get_physical_partition() function, which always retrieves the
physical partition, unlike get_partition() which returns the shadow
  partition, if it exists.
* Added B_PARTITION_SHADOW[_CHILD] partition pseudo operation values for
  the shadow_changed() hook, notifying a disk system, that a shadow
  partition has been created.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 15:11:37 +00:00
Ingo Weinhold
04adb291a6 Clear the user_partition_data::user_data fields before updating the
BPartition structure with the data retrieved from the kernel. For new
partitions the field is not set in the next step and later code would
use an initialized pointer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 14:56:26 +00:00
Ingo Weinhold
7ede8e4494 Added [Content]Parameters() getters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 14:52:54 +00:00
Ingo Weinhold
11e9c3980c Changed semantics of GetNextSupportedType(): It expects a pointer to the
parent (not the child) partition, now. A method with the old semantics
is probably needed, too, but before creating a child partition, one
obviously doesn't have a child to pass yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 14:50:25 +00:00
Ingo Weinhold
2e3d6b83ca * Ask for a partition name for initialization only, if the disk system
supports names.
* Finished interface for creating partitions.
* Cosmetic changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 14:47:17 +00:00
Ingo Weinhold
9d337ccc01 Aesthetical changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 14:41:55 +00:00
Axel Dörfler
20b232e900 Actually forgot this nail: the file cache will now reserve the pages it will
allocate with the vm_cache locked - this is necessary to be able to steal pages
from itself (large files...).
The system doesn't actually lock up anymore, but it still renders itself unusable;
obviously the page thief does not work correctly, yet. The rest of the experience
is created by our current scheduler (the page thief runs and runs, but it doesn't
free any pages anymore).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 13:32:13 +00:00
Axel Dörfler
0633dcc2c6 * Fixed a serious oversight that could result in trying to insert a page
twice into the same cache: cache_io() called read_into_cache() (or
  write_to_cache()), and that broke down the request into smaller parts.
  It then called read_chunk_into_cache() (or write_chunk_to_cache() resp.)
  to actually allocate pages and fulfill the request.
  However, it needed to unlock the cache for each chunk, and in the mean
  time someone else could insert pages into the remaining chunks.
* Now, cache_io() already takes care of chunking the data which makes this
  approach safe, and also simplified the code a bit - read_into_cache()/
  write_to_cache() are gone now. I've renamed read_chunk_into_cache() to
  read_into_cache() (same for the write function).
* Also got rid of that goto in that function while I was on it.
* Disabled cache_prefetch_vnode() for now (it's similar to cache_io(), but
  since it's currently not used [since no cache module is installed yet],
  I didn't want to go through updating it now, too).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 12:21:18 +00:00
Jérôme Duval
94302e2f82 dprintf_no_syslog is needed for openfirmware platform
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-06 18:40:32 +00:00
Jérôme Duval
428a7df2f9 fix ppc kernel build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-06 18:20:05 +00:00
Axel Dörfler
c950f17a51 * Added a acquire_unreferenced_ref() to vm_store
* his has to be used by the page writer to make sure the vnode is still valid.
* This should have been the final nail on the Luposian bug - I haven't tested
  it yet, but we'll certainly see :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-06 15:35:38 +00:00
Axel Dörfler
80f5469291 * struct vnode is an opaque type now, removed void* where it was used incorrectly.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-06 15:33:12 +00:00
Jérôme Duval
2caa43976d switch from COMPILE_FOR_R5 to HAIKU_TARGET_PLATFORM_HAIKU
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-06 14:11:25 +00:00
Jérôme Duval
082c9eb03a clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-06 14:04:09 +00:00
Jérôme Duval
4689d4f1ab added ice1712 driver on behalf of Jérôme Leveque. Thanks!
Current status : playback only.
Support for M-Audio Delta 1010, Delta 1010 LT, Delta DIO 2496, Delta 66, Delta 44, Audiophile 2496 and Delta 410 VX 442.
Tested on M-Audio Audiophile2496.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-06 13:45:16 +00:00
Axel Dörfler
5c7dbe881d Applied François' patch to be able to free large allocations. Even though the
heap is going away soon, it doesn't hurt to have it in the repository.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-06 13:14:11 +00:00
Axel Dörfler
1211351476 The page thief can now also steal active pages under pressure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-06 11:38:03 +00:00
Axel Dörfler
0e18334057 * Mapping a page might actually need memory - since we usually have locks that
interfere with the page thief, we always need to have reserved a page for
  this upfront. I introduced a function to the vm_translation_map layer that
  estimates how much pages a mapping might need at maximum. All functions that
  map a page now call this and reserve the needed pages upfront.
  It might not be a nice solution, but it works.
* The page thief could run into a panic when trying to call vm_cache_release_ref()
  on a non-existing (NULL) cache.
* Also, it will now ignore wired active pages.
* There is still a race condition between the page writer and the vnode
  destruction - writing a page back needs a valid vnode, but that might just
  have been deleted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-06 11:18:21 +00:00
Ingo Weinhold
aa4d8ee6ee * Allow NULL name argument on initialization.
* Some code beautification on the way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-05 23:25:58 +00:00
Ingo Weinhold
d6e565c76b * Fixed gcc 4 warnings.
* Style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-05 22:39:52 +00:00
Ingo Weinhold
7ca40195ba Don't overwrite the last read byte with the null-terminator. Fixes bug
#1536.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-05 19:01:18 +00:00
Ingo Weinhold
570263197e * Reviewed checking of empty paths and fixed some occurrences. Thanks to
mjw for the hint. Fixes bug #1516.
* Changed _{kern,user}_create_symlink() to no longer check the supplied
  link string. BeOS seems to do that, but this is not standard
  conforming. The previous implementation even used the path processed
  by check_path(), which would potentially have appended a ".".
* Some style cleanup.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-05 18:42:50 +00:00
Axel Dörfler
7ce5ca3222 The page scanner must not turn pages inactive that are actually wired
(currently, wired pages don't always have the PAGE_STATE_WIRED, but a
wired_count).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-05 16:54:50 +00:00
Ingo Weinhold
7c8a352db7 * Cleanup.
* Corrected checking of parameters (name).
* Gracefully deals with disk systems that rescan after initialization,
  now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 23:52:21 +00:00
Ingo Weinhold
db5c68ca46 * Added the partition size as parameter to the file and partitioning
system initialize() hooks. It's often the only info about the
  partition one needs and thus locking the partition just to get it is
  no longer necessary.
* intel partitioning system:
  - Removed passing around block sizes. We require 512 byte sectors
    anyway. In fact using the parent partition's block size was even
    wrong.
  - Simplified writing the partition map sector.
  - Simplified and corrected the partition map initialization.
  - We don't fail identifying a partition anymore, if the partition map
    contains no partitions. We would never identify a freshly
    initialized partition map before.
  - Made pm_identify() more intelligent: It determines the priority to
    return depending on whether the partition is the device itself and
    whether we have recognized child partitions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 23:48:18 +00:00
Ingo Weinhold
6748659272 Added an identify_file_system() hook to the FS modules. The boot loader
does no longer give partitioning systems precedence over file systems.
The one with the greater identification priority wins. ATM, if a file
system wins, we still mount the first file system that recognized the
partition at all, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 23:16:31 +00:00
Jérôme Duval
ff386118f4 removed former haiku_book and headersampler tool
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 22:15:58 +00:00
Stefano Ceccherini
6fc1a5d0ea Mail's inherited InsertText() calls CancelInputMethod()
indirectly, and since InsertText() is called inside 
BTextView::HandleInputMethodChanged(), this method would see fInline 
slip away from under its feet.. Now we call the BTextView version 
explicitly. Fixes bug #1022, although I'm not sure if this is completely 
correct.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 19:57:27 +00:00
Ingo Weinhold
bcc2eb0c72 Moved the write support code into a separate source file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 18:27:25 +00:00
Ingo Weinhold
33e38cdad2 * Implemented bfs_validate_initialize(). It should probably do more
checks (e.g. if the partition is big enough), though.
* bfs_initialize():
  - Report job progress.
  - Rescan the partition after it has been initialized, so that all
    partition_data fields are properly initialized.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 18:11:00 +00:00
Ingo Weinhold
8c8f8c8420 Added scan_partition() function which can be used by disk systems (e.g.
in *_initialize()) to save some work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 18:03:24 +00:00
Ingo Weinhold
088136f66b gcc 4 warned unnecessarily.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 17:59:29 +00:00
Axel Dörfler
edf668344a * Added some docs.
* Removed dead code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 16:53:02 +00:00
Axel Dörfler
9d8c209014 * vm_remove_all_page_mappings() now returns an accumulation of the flags of
the unmapped page.
* This is needed by everyone who calls this to make sure modifications to a
  page aren't ignored. Namely, the page scanner and the page thief were
  affected.
* Cleaned up locking the page's cache a bit in page_thief(); there is now
  a helper class that takes care of everything.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 16:36:35 +00:00
Axel Dörfler
06cd40f399 Forgot to replace the error code with the new "mayBlock" logic, thanks Ingo!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 15:11:48 +00:00
Ingo Weinhold
6f05787478 * rootfs.c -> rootfs.cpp
* Made the kernel rootfs reusable by the FS Shell and removed the
  copy in the FS Shell sources.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 14:30:50 +00:00
Axel Dörfler
417f276c05 Forgot to commit the fs_shell with r22434, thanks for the note, Stefano!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 13:23:00 +00:00
Axel Dörfler
3e9513aa4a * fs_{write|read}_pages() now has an additional argument "mayBlock".
* the page writer don't allow to block, while all other writers do. This fixes
  bug #1509. The reason the page writer needs this is because it marks several
  pages from different caches as busy.
* Fixed a warning about ASSERT being defined already in BFS, since
  util/DoublyLinkedList.h now includes debug.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 12:45:15 +00:00
Stefano Ceccherini
94b9294f48 oops! Somehow I managed to commit a version with some extra debug code
enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 11:37:04 +00:00
Stefano Ceccherini
f2476bcc9c Patch by Rene Gollent: TextViews now can scroll even if they aren't
attached to a BScrollView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 11:32:06 +00:00
Ingo Weinhold
39c99f8644 The toggledView variable was assigned twice. The last assignment should
win. Interestingly with gcc 4 and optimizations enabled the same value
was passed twice to Add().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 22:53:19 +00:00
Ingo Weinhold
d45ce8b1dc Move the job control entries of a dying team's children to the kernel
team as well. Otherwise the children would later try to remove them from
a list they weren't in.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 22:20:30 +00:00
Ingo Weinhold
76ab7bdcf8 Added function dprintf_no_syslog(). It is basically equivalent to
dprintf() with the exception that it doesn't write anything to the
syslog. The reason is that syslog_write() releases a semaphore and can
therefore not be invoked when the thread spinlock is held.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 22:14:53 +00:00
Ingo Weinhold
0e69ce7702 Define _BOOT_MODE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 22:10:06 +00:00
Stephan Aßmus
bf7ab50d4c large patch by Bek (HOST team):
* style improvements, header reformatting, small refactoring and adding
  of missing copyrights

(to Marcus: this is not the original patch, it has already been revised two
times by myself and I thought it was very nice now)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 21:19:17 +00:00
Marcus Overhagen
88d9b383f5 added more IDs, removed Intel IDE mode ID due to possible collision with a physical PATA interface
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 20:16:11 +00:00
Ingo Weinhold
0febb19caf Added the students who worked on the DDM and intel partitioning system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 20:15:05 +00:00
Ingo Weinhold
b2537f99cd Added option "--thread" which will perform the crashing operation in
another thread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 19:35:40 +00:00
Ingo Weinhold
99454e4a90 If the ring buffer is full line_buffer_readable_line() returns the
buffer size in case the buffer does not contain an EOL or EOF. This
prevents readers from waiting infinitely, if canonical input processing
is enabled in that situation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 19:07:51 +00:00
Ingo Weinhold
e8429ec9e6 * Added debugger command "tty", which dumps some info about a tty.
* RequestOwner was removing the wrong request from the second queue,
  which could cause the list structure to become invalid and result in
  bug #1526.
* In the writer loops we do now call tty_notify_if_available() when
  we're potentially going to wait and had written something before, so
  that a waiting reader will be woken up also when we write more bytes
  than fit into the ring buffer.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 19:04:44 +00:00
Marcus Overhagen
2f28a3f623 Added PCI ids from Freebsd, Netbsd and Openbsd pcidevs files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 17:57:09 +00:00
Marcus Overhagen
83447512ed Changed device detection. The driver now first uses device and vendor id to check
for devices. This allows using devices that are in IDE compatibility mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 16:05:23 +00:00
Ingo Weinhold
b2d056ecde Add wait_for_objects.cpp to the kernel, too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 19:52:47 +00:00
Ingo Weinhold
b16fdbd661 Little test program for wait_for_objects_etc().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 19:48:39 +00:00
Ingo Weinhold
636bfc08ae * Renamed fs/vfs_select.cpp to wait_for_objects.cpp and got rid of
vfs_select.h, respectively moved most of it into the new kernel
  private header wait_for_objects.h.
* Added new experimental API functions wait_for_objects[_etc](). They
  work pretty much like poll(), but also for semaphores, ports, and
  threads.
* Removed the "ref" parameter from notify_select_events() and the
  select_sync_pool functions as well as from fd_ops::fd_[de]select(). It
  is no longer needed. The FS interface select() hook still has it,
  though -- the VFS will always pass 0.
* de]select_fd() take a select_info* instead of a select_sync* + ref
  pair, now. Added respective functions for semaphores, ports, and
  threads.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 19:47:31 +00:00
Axel Dörfler
a82d70c719 Fixed PLL clock for i8xx chips again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 17:40:05 +00:00
Stephan Aßmus
2a74c55308 * when a vector icon was present, BAppFileInfo::GetIcon() would return an
error if the provided bitmap was B_CMAP8, now BIconUtils will convert the
  icon to B_CMAP8
-> this behaviour is a little inconsistent compared to what happens when
  reading icons from attributes, there, the CMAP8 icon is prefered in case
  such a bitmap is passed, even if a vector icon exists. I am not really
  sure which behaviour is better. For a consistent UI, maybe it is better
  to prefer the vector icon always. I've added a note to BAppFileInfo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 16:54:34 +00:00
Axel Dörfler
e5b464d09f Added a TODO what we need to do with stolen active pages - for now, we don't
do anything with them, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 16:06:17 +00:00
Axel Dörfler
4421183286 * Changed Ld rule to allow adding resource files.
* Changed ResAttr rule to allow not deleting the file before writing the
  attributes.
* Added application signatures for the runtime_loader and zbeos, just so that
  they may have an icon, too (hint, hint) :-)
* As a side effect, this also let's FileTypes handle these two as apps (even
  though they aren't), so that I can close bug #606.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 15:22:13 +00:00
Stephan Aßmus
0064e64138 patch by Julun:
* fixed ticket #1500
	* big cleanup and removal of unused code


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 14:54:15 +00:00
Stephan Aßmus
4d1c422802 * added a way for the ServerWindow message loop to determine the required type
of locking before processing the message (single/all window lock)
  -> in most message cases, I could comment out the unlocking/locking which
  switched to the different lock, because the required lock is now already held,
  this removes some race conditions which were commented in the code already
* EventDispatcher::SetDragMessage() didn't lock the object, this would have
  been bad if multiple windows tried to set a drag bitmap at once
* the Desktop object keeps track of mouse position and pressed buttons, so
  that it doesn't need to lock the EventDispatcher for sending fake mouse
  moves to windows on show/hide of windows (solves some cases of possible
  dead locks with the new locking strategy)
* the keyboard EventFilter switches the current workspace asynchrnously from
  the Desktop thread (another source of possible deadlocks)
* the "reader is trying to become writer" check in MultiLocker is only used
  in DEBUG mode now

As a summary: It would be nice if ServerWindow used a readlock for all messages
it processes itself, and forwards all messages for which it needs a write lock
to the Desktop thread. All cases where either the Desktop or the ServerWindow
mess with the EventDispatcher are possible sources of deadlocks. This is solved
right now by making sure that the lock is released before using the
EventDispatcher.

I have not observed any deadlocks while switching workspaces and launching
many apps anymore, neither crashes. But I have not tested extensively except
for in the test environment. That being said, I could reproduce the problems
on first try before in Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 14:09:11 +00:00
Axel Dörfler
2760c4cd73 * load_program() (and probably others) could call delete_image() with a NULL
pointer - which it now handles gracefully.
* This also fixes starting the runtime loader directly: it no longer crashes
  but will just return an error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 13:17:19 +00:00
Axel Dörfler
828d9454da * Fixed module leak in case there was an error during init when used on BeOS.
* Check safemode settings only when it's not already disabled (doesn't make
  sense to check those then).
* Minor cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 11:56:33 +00:00
Axel Dörfler
fb151b4af1 Fixed initialization threading issues I introduced yesterday.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 10:54:32 +00:00
Stefano Ceccherini
9c16019f62 Patch by Rene Gollent which fixes displaying of current time. I've used
snprintf instead of sprintf and reduced the size of the char array, 
though. Hope you don't mind, Rene.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 09:37:41 +00:00
Axel Dörfler
b5b11466b2 If opening the net_stack driver failed because there was no stack, opening it
a second time would magically work, as it skipped its initialization then...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 01:01:01 +00:00
Axel Dörfler
9f0d226c72 The no-swap store shouldn't fool the page writer into believing that its pages
could be written back. This should stop the page thief from stealing active
pages that cannot be recreated easily :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 00:01:18 +00:00
Ingo Weinhold
3c3674113f Fixed a race condition on thread exit: There was a gap between releasing
the death stack and reacquiring the thread lock in which another thread
could snatch our stack that we were still going to use for the
scheduler. Now we've got a second spinlock that we can hold while
releasing a semaphore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 22:46:56 +00:00
Ingo Weinhold
8609f5a242 * Increased condition variable hash size.
* Renamed condition variable debugger commands to cvar and cvars.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22402 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 22:28:54 +00:00
Ingo Weinhold
d0c2af7713 Addressed a deadlock race condition: Acquiration of condition variable
and thread spinlock was reverse in Wait() and Notify(). The thread lock
is now the outer lock -- this way it is still possible to call Notify()
with the thread lock being held.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 22:24:42 +00:00
Ingo Weinhold
1c118ebc62 * Added a handy FDGetter AutoLocker-style class.
* In select_fd(): First get the file descriptor, then check whether any
  events have to be selected at all. This has the advantage that the
  caller can interpret an error return code as invalid FD. Consequently
  common_poll() no longer checks FD validity separately -- this was a
  race condition.
* common_poll() always selects POLLERR and POLLHUP now, which it has to
  do according to the specs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 18:48:52 +00:00
Axel Dörfler
10194ebc8a Minor build fix - it still doesn't link, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 15:43:45 +00:00
Marcus Overhagen
c134c7b07c disable some debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 10:28:24 +00:00
Axel Dörfler
7746846941 * The ProgressWindow now starts centered over the reference window on every
open.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 10:21:12 +00:00
Ingo Weinhold
eb138dc9c4 Moved the select_sync_pool from tty_cookie to tty. No need to have one
per cookie.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 01:41:46 +00:00
Ingo Weinhold
66c03dc3a9 * fd.c -> fd.cpp
* Reworked the select support:
  - The io_context additionally stores a table of lists of select_infos,
    which enables it to deselect events of a pending select() when
    closing a FD. This prevents a race condition potentially causing a
    write to stale memory.
  - The opaque selectsync* passed to FSs is now actually a select_info*.
    This was necessary, since the FDs deselect() hook (unlike the
    select() hook) doesn't take a "ref" argument and deselecting a
    single info (e.g. caused by a premature close()) was not possible.
    The select() hook's "ref" argument has become superfluous.
  - It should now be relatively easy to implement a poll_on_steroids()
    that can also wait for objects other than FDs (e.g. semaphores,
    ports, threads etc.). 
* Set/reset the signal mask in common_select(). This makes pselect()
  work as required.
* Reorganized vfs_resize_fd_table().



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 01:37:28 +00:00
Ingo Weinhold
f5ede4ec02 Added two small select() test programs. select_check select()s
stdin/out/err according the what was specified via arguments.
select_close_test select()s a file descriptor that is closed a little
later by another thread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 00:39:38 +00:00
Axel Dörfler
e2693621b6 Correctly implemented the missing BBitmap::GetOverlayRestrictions() on the
client and the server. This should fix bug #1490, but I haven't tested it yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 16:03:53 +00:00
Marcus Overhagen
bfd9a59f77 This enable write support. The driver should be useable now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 15:54:35 +00:00
Marcus Overhagen
a2a169feab Improved interrupt handling
Removed DBC_I interrupt
Reduce debug output


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 15:12:39 +00:00
Marcus Overhagen
ea44575a31 Cleanup, improved error handling, fix setting of DBC_I bit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 14:02:04 +00:00
Axel Dörfler
083de48a4b * Rewrote the trigger selection mechanism: it now searches for uppercase
characters first, and then falls back to take everything. fTrigger is now
  uint32 and works with all unicode characters; unlike in BeOS, the
  MenuTriggerTest application now works correctly in Haiku.
* fTriggerIndex is now a character position, not a byte position of the label;
  this allows BMenuItem::DrawContent() to draw the trigger at the correct
  position, even if there are multi-byte UTF-8 characters.
* The above fixed bug #1506; triggers are still not working, though.
* Rewrote Menu.h header.
* Renamed all private methods (that are not called by BWindow) to have the
  underscore prefix.
* Removed unused methods.
* Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 10:52:45 +00:00
Axel Dörfler
b15c9adec7 * Decoupled the page_thief() from the low memory handler chain. This is
necessary because low memory handlers might need to wait for other services
  while we need to make sure the page thief can always steal pages.
* Made the page thief more aggressive when memory is critical: added a third
  run where it will also steal a small amount of active pages to keep things
  going.
* The page thief did not maintain the cache's reference correctly in all
  situations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 09:36:28 +00:00
Ingo Weinhold
f0c668a83a Notifying readers and select() takes canonical input processing into
account when checking for the number of readable bytes. For readers
it doesn't make a difference, since they were looping anyway, but
select() would report read-availability incorrectly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 00:52:06 +00:00
Ingo Weinhold
d5cbcd91b7 * Use condition variables instead of semaphores for blocking readers and
writers.
* Removed the optimization for piping data between two threads of the
  same team. This greatly simplifies the code. It seems to me the case
  is very uncommon; it could be added back later, though.
* Basically rewrote reading from and writing to the pipe:
  - A blockable writer can now write more than what is currently
    available in the ring buffer.
  - Writing respects the PIPE_BUF non-interleaving limit, though our
    headers don't seem to define PIPE_BUF anywhere.
  - Unblock writers, when the last reader is gone and send those that
    haven't written anything yet a SIGPIPE. Fixes bug #1476.
* Correctly implemented select() support. We were only notifying
  writers. We manage two separate select sync pools per pipe now: one
  for the reader end and one for the writer end.
* Reading/writing from the root dir does no longer end in KDL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 23:52:23 +00:00
Axel Dörfler
16da0b3cdd Added test application for menu triggers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 18:17:40 +00:00
Marcus Overhagen
0845746bf7 Cleanup, device present detection improved.
Added support for non-48-bit LBA, added write support.
Proper error handling still missing, write support disabled for your protection.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 17:11:24 +00:00
Axel Dörfler
3392e9bcd6 * Added some more debug output.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 15:48:11 +00:00
Axel Dörfler
b062823d81 * register_low_memory_handler() was called too early by several kernel
components - now, we divide the initialization of that service into two parts
  which allows this (before, most handlers were gone after boot).
* Added debugger command that dumps the low memory handlers.
* The slab allocator now registers its low memory handler with a higher
  priority, so that it'll run before the potentially heavier ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 15:46:40 +00:00