Commit Graph

33347 Commits

Author SHA1 Message Date
Ingo Weinhold
f082f7f019 * Added vm_page::accessed flag. Works analogously to vm_page::modified.
* Reorganized the code for [un]mapping pages:
  - Added new VMTranslationMap::Unmap{Area,Page[s]}() which essentially do what
    vm_unmap_page[s]() did before, just in the architecture specific code, which
    allows for specific optimizations. UnmapArea() is for the special case that
    the complete area is unmapped. Particularly in case the address space is
    deleted, some work can be saved. Several TODOs could be slain.
  - Since they are only used within vm.cpp vm_map_page() and vm_unmap_page[s]()
    are now static and have lost their prefix (and the "preserveModified"
    parameter).
* Added VMTranslationMap::Protect{Page,Area}(). They are just inline wrappers
  for Protect().
* X86VMTranslationMap::Protect(): Make sure not to accidentally clear the
  accessed/dirty flags.
* X86VMTranslationMap::Unmap()/Protect(): Make page table skipping actually
  work. It was only skipping to the next page.
* Adjusted the PPC code to at least compile.

No measurable effect for the -j8 Haiku image build time, though the kernel time
drops minimally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 22:32:51 +00:00
Jérôme Duval
e25dcf1a96 * We now mute internal speakers when using headphones. We don't distinguish between headphones and mic jacks though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 22:07:42 +00:00
Michael Lotz
fc844f7bfb * Don't call into the ATA stack if we're not transferring data since the
interrupt could be triggered early in the boot process where the ATA channel
  might not yet be fully set up leading to KDLs accessing uninitialized memory.
* Automatic whitespace cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 19:21:52 +00:00
Stephan Aßmus
feb0da5925 Fixed misleading warning. I don't know how a BMessage based settings file
at ~/config/settings/netfs/NetFSServer would come into being, but NetFSServer
will fall back to ~/config/settings/kernel/drivers/netfs-server, which works
if that file is there (see src/add-ons/kernel/file_systems/netfs/netfs-server
for an example settings file).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 12:35:37 +00:00
Rene Gollent
01dffd8edd More Tracker refactoring:
* relocated Trash dirs to volume roots by modifying find_directory() to report the trash location as volume/Trash.
 * FSUtils no longer creates /home/Desktop on every volume.
 * TrashWatcher now keeps icons in sync on all volumes.
 * Simplified FSGetDeskDir since it no longer has to worry about getting the desk directory on any volume other than the root.
 * Relocated trash context menu logic to BContainerWindow so it can also be used at the volume roots.
 * DesktopPoseView now creates a virtual Trash pose representing the trash contents as before.
 * Corrected typo: Model::WriteAttrKillForegin() -> Model::WriteAttrKillForeign().

Closes ticket #5245.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 05:12:45 +00:00
Philippe Saint-Pierre
bb7cffd0d1 ActivityMonitor (when used as replicant) :
* Use the "Icon Label Outline" setting to improve readability
 * It is using the same algorithm as Tracker to outline and glow the text,
   and determine the color of the text.

Implements enhancement suggestion #5105.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 03:08:18 +00:00
Michael Lotz
d4ffeadd1a Don't return early when we're not DMAing. This causes the bus master status
to be read/acknowledged (new) and the status to be read (like before in that
case) which helps discarding spurious interrupts on one controller I have that
would otherwise cause an interrupt storm as the bus master interrupt would never
be acknowledged. The ATA stack will discard the interrupt if it's not expecting
a transfer, so no real harm done.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 02:56:39 +00:00
Rene Gollent
7b6edf5209 Simplified FSIsDeskDir() as suggested by Axel. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 23:40:13 +00:00
Stephan Aßmus
5a1d355fdf Copied Ingo's netfs from the dark pit in which it was forgotten to something
more visible and ported it to the current UserlandFS server (and GCC4). It still
uses the R5 file system API, which the UserlandFS conveniently still provides
support for. It compiles and links, but is otherwise still untested. The changes
I am alsmost confident that I didn't change any semantics. That is unless
HashMap, HashString and DoublyLinkedList work differently enough to make any of
the netfs code break.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 21:56:16 +00:00
Stephan Aßmus
783a5c71b1 Bring up to speed for GCC4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 21:51:48 +00:00
Stephan Aßmus
9d3442dff1 Haiku defines B_BEOS_VERSION_5, so the code didn't work as intended. On Haiku,
we want to define closesocket() as close().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 21:50:50 +00:00
Stephan Aßmus
41777edb47 Make more defined classes visible outside the BPrivate namespace when including
this header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 21:49:53 +00:00
Stephan Aßmus
edb41bfb71 Added HashSet class based on the (OpenTracker) OpenHashTable code. This is
currently similar to HashMap, which is also based on that version. The kernel
has OpenHashTable by Hugo Santos, which is a bit nicer, but I didn't want to
change too much code, although HashMap and HashSet exist for this as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 21:49:16 +00:00
Karsten Heimrich
35c09220cc * Cleanup, some style changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 21:21:45 +00:00
Ingo Weinhold
c6aa013564 Changed VMTranslationMap::Lock()/Unlock() return types to the usual.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 20:44:29 +00:00
Oliver Tappe
b55a57da71 * added perl script to create *.pro files required for using the haiku source
tree within qt-creator (at least auto-completion and navigation seem to work
  fine)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 18:04:03 +00:00
Axel Dörfler
7108ab1ff9 * copy_meta_data() also copied the size of the buffer, which wasn't such a good
idea. Splitting large buffers no longer causes KDL.
* merge_buffer() now maintains the size of the source buffer while removing its
  nodes.
* The paranoia checks run through again now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 16:35:41 +00:00
Axel Dörfler
bedf29cacd * Fixed build with tracing turned on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 16:31:24 +00:00
François Revol
b3de82492a - add a -n option to dev to bootstrap a new project,
- allow using an already exported DEVROOT.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 15:25:54 +00:00
Axel Dörfler
d9c5ba808b * Added missing HOST_NAME_MAX, and _POSIX_HOST_NAME_MAX.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 15:23:28 +00:00
Axel Dörfler
82e4f70df1 * Volume::Unmount() never put the root node, and never deleted the volume's
block cache.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 12:36:14 +00:00
Colin Günther
50b6d555c2 Adding svn property svn:executable do make the script executable. Thx Humdinger
for the heads up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 08:27:22 +00:00
Joachim Seemer
ee7dedc859 Initial import of the user guide translations from http://userguide.haikuzone.net. Thanks to Vincent for providing all the necessary tools and to all translators for their work so far!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 07:00:47 +00:00
Ingo Weinhold
bcc2c157a1 Refactored vm_translation_map:
* Pulled the physical page mapping functions out of vm_translation_map into
  a new interface VMPhysicalPageMapper.
* Renamed vm_translation_map to VMTranslationMap and made it a proper C++
  class. The functions in the operations vector have become methods.
* Added class GenericVMPhysicalPageMapper implementing VMPhysicalPageMapper
  as far as possible (without actually writing new code).
* Adjusted the x86 and the PPC specifics accordingly (untested for the
  latter). For the other architectures the build is, I'm afraid, seriously
  broken.

The next steps will modify and extend the VMTranslationMap interface, so that
it will be possible to fix the bugs in vm_unmap_page[s]() and employ
architecture specific optimizations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 03:26:12 +00:00
Rene Gollent
167898484d FSIsDeskDir should only consider a path to be the desktop if it lives on the boot volume. Fixes non-boot Desktop dirs still showing the volumes and such in windows and nav menus.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 23:50:53 +00:00
Karsten Heimrich
3fcf8a6ac5 * Fix copy & paste leftover from Thunderbirds colored diff plugin.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 23:12:33 +00:00
Karsten Heimrich
6f62c7917f * Accidentally removed the copyright notice.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 22:58:18 +00:00
Ingo Weinhold
30f423606d As per the IA32 specification we can save TLB invalidations in at least two
situations:
* When mapping the page the page table entry should not have been marked
  "present" before, i.e. it would not have been cached anyway.
* When the page table entry's accessed flag wasn't set, the entry hadn't been
  cached either.

Speeds up the -j8 Haiku image build only minimally, but the total kernel time
drops about 9%.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 22:55:52 +00:00
Karsten Heimrich
58f1b1311f * Fix ticket #5249.
* Cleanup and some layout changes.
* Disable the text control when using the selection.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 22:55:00 +00:00
Michael Lotz
15755741ce Move just a bit more of the interrupt code to the glue code. It does an and with
the enabled interrupts to check if there's anything of interest. This obviously
couldn't really work when clearing the enabled interrupts in the glue code.
This gets broadcom43xx working for me, tested with a Linksys WMP54GS-EU (PCI).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 22:24:18 +00:00
Ingo Weinhold
946325051b * Added boolean "alreadyWired" parameter to vm_map_physical_memory().
* ioapic_init(): map_physical_memory() was called for already mapped
  addresses. This worked fine, but only because the x86 page mapping code
  didn't mind.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 22:02:21 +00:00
Ingo Weinhold
9435ae9395 x86 page mapping:
* Removed the page_{table,directory}_entry structures. The bit fields are
  nice in principle, but modifying individual flags this way is inherently
  non-atomic and we need atomicity in some situations.
* Use atomic operations in protect_tmap(), clear_flags_tmap(), and others.
* Aligned the query_tmap_interrupt() semantics with that of query_tmap().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 20:29:03 +00:00
Adrien Destugues
b82db87162 Updated lithuanian translation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 19:06:35 +00:00
Ingo Weinhold
a99debff88 Added TODOs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 18:21:36 +00:00
Stephan Aßmus
9869082c8d * First attempt at cleaning up the CopyLoopControl mess. Instantiate one
TrackerCopyLoopControl and pass it on when needed. Avoid access to
   gStatusWindow directly. Later on, I will try to make it possible to drop more
   files/folders onto an ongoing copy process to append it to the job, i.e. copy
   those files to the same target folder.
 * For each updating the status, entry_refs were copied instead of passed by
   reference, which was a bit unnecessary overhead.

 * Some coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 17:20:01 +00:00
Axel Dörfler
41e2ba1437 * Added missing check after an allocation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 17:19:14 +00:00
Michael Lotz
c126f2f2c4 anevilyak:
* Fix missing parenthesis in r35040 that caused node monitoring not to work.
* Minor automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 15:52:21 +00:00
Stephan Aßmus
878bda6780 Made the partition type of Solaris 10 partitions known. I am not quite
sure if Solaris uses this type for boot partitions only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 15:46:08 +00:00
Stephan Aßmus
5b0ddd437e Display the partition type from the partition table entry if the
content type is unknown, except if the partition has children.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 15:44:34 +00:00
Stephan Aßmus
06f34bf2d8 Applied patch by "Grey":
Entering the boot loader menu has changed/simplified while reducing the boot time by .75 seconds.
Now it is enough to hold one of shift/Esc/F8/F12/Space. Thanks!

I've also updated the boot loader documentation to reflect the change, but I only mentioned holding shift.
I know that changing the documention directly is not preferred anymore, but I wanted to make sure this
patch is complete.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 15:02:55 +00:00
Stephan Aßmus
7974d3dcf3 Patch by Humdinger:
Updated Haiku apps to use sentence-case. What a huge undertaking...
The files where I had to apply the patch manually (for mysterious
reasons) have also gotten a whitespace cleanup. I've proof-read
everything so hopefully there should be no problems.

This should be the final part of #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 14:33:35 +00:00
Stephan Aßmus
2865e5a048 Patch by Humdinger:
Changed strings to sentence case in the rest of the Tracker code.
Remaining part of case-tracker.diff from #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 12:06:51 +00:00
Stephan Aßmus
82d8aaf85a Patch by Humdinger:
Changed strings to sentence case. The changes in StatusWindow and
FSUtils are missing because I have some unfinished work in progress
in those files. Will commit them separately. This is case-tracker.diff
from #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 12:03:25 +00:00
Stephan Aßmus
fcc3e627e1 Patch by Humdiner:
Changed strings in add-ons to sentence case. This is case-add-ons.diff
from #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 11:48:15 +00:00
Stephan Aßmus
ab496a4be8 Patch by Humdinger:
Changed various labels in audio drivers to sentence case. This is
case-audio-drivers.diff from #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 11:23:12 +00:00
Stephan Aßmus
3e6fa229d8 Patch by Humdinger:
Switched strings to sentence case in servers and kits. This is the
case-servers+kits.diff applied from #5169. Couldn't spot any possibly
problematic changes.
Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 10:58:34 +00:00
Stephan Aßmus
9563f44bfd Patch by Humdinger:
Changed strings to sentence case in various places. This is the
case-misc.diff part of ticket #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 10:49:58 +00:00
Colin Günther
ae8d7c50e5 Patch by mmadia: Adding installoptionalpackage to HaikuImage. This is a
temporary solution as long as there is no package manager available. When
executing the script, it mentions this, too. This fixes #4680. Thank you.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 08:30:35 +00:00
Rene Gollent
671dd80861 Various cleanups:
* Removed dead/obsolete Integrate Non-boot Desktops code.
	* Modified PoseView to ignore the fInvisible attribute of BPoseInfo for now.
	  This has the net effect that the Desktop folder and /boot/var are no longer
	  hidden from the user. To go with this change, Tracker no longer forcibly
	  writes that hidden setting to those folders on access. This feature might
	  be useful again in the future (especially in conjunction with relocating
	  the Trash folder somewhere such as the disk root), but is currently somewhat
	  problematic because those dual-booting with BeOS will still have a Tracker
	  that force writes those attributes which would bring us back to square one
	  with respect to showing the Desktop folder when we start respecting the
	  attribute again. Suggestions welcome. Haiku-only users can remove the
	  _trk/pinfo_le attribute on those folders to remove the invisibility
	  in any case.
	* TrackerSettings: Removed obsolete desktop integration settings. Also
	  modified TrackerSettings parser to skip unrecognized settings instead
	  of aborting the settings file parsing process entirely.

Closes ticket #2872.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 00:41:43 +00:00
Karsten Heimrich
4b6c586b03 * Fixes ticket #5204.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-12 22:15:23 +00:00