Commit Graph

33444 Commits

Author SHA1 Message Date
Jérôme Duval
534bebec39 When BString assignment operator is called with a NULL argument we should use an empty string instead. I checked this against Dano.
This fixed #4713


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 23:06:30 +00:00
Jérôme Duval
9b79c5cc28 cleanup & typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 23:03:44 +00:00
Jérôme Duval
0064d3243a * added and used the macro RETURN_AND_SET_STATUS()
* added parsing for DQue, DQTi, DQSz, DQMi tags. This could be used to check if an application is actually installed.
* added parsing for PtcI (unknown use).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 22:05:04 +00:00
Ingo Weinhold
5e0aacb9f8 vm_page_schedule_write_page_range(): The debug code was a bit too possessive.
We can only access the page, if it is not busy. Fixes #5228.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 20:59:03 +00:00
Ingo Weinhold
4aedc06701 "page" debugger command:
* Various smaller fixes.
* Used add_debugger_command_etc() and added more verbose usage message.
* Added option "-m" which iterates through all address spaces and finds out
  which virtual pages are mapped to the page.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 20:27:11 +00:00
Ingo Weinhold
509f1174ce * Added Size() method.
* Added Debug{First,Next}() methods to allow easy iteration through the
  address spaces in kernel debugger commands.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 20:21:43 +00:00
Ingo Weinhold
db28a227c4 Added GetIterator() version that takes a key and returns an iterator to the
respective element (if in the table).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 20:19:29 +00:00
Jonas Sundström
d746188719 Humble beginnings of a code style correction.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 20:01:25 +00:00
Adrien Destugues
b3fb916a7a Updated bluetooth catalogs to match sourcecode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 18:58:44 +00:00
Jonas Sundström
d5430bf756 Removal of non-Haiku ifdefs. Rephrasing 'BeOS attributes' as 'file attributes'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 18:37:12 +00:00
Jonas Sundström
5ef42fcc60 Sentence-cased GUI strings, adapted from patch by Humdinger in #5169.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 17:04:25 +00:00
Ingo Weinhold
5bcbe8b2a0 "find_page" didn't search the inactive queue.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 15:26:15 +00:00
Ingo Weinhold
924a3e5f9b Removed unused <arch>_switch_stack_and_call() and
arch_thread_switch_kstack_and_call().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 15:09:02 +00:00
Michael Lotz
29aa1bebef Add missing error return.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 13:12:54 +00:00
Adrien Destugues
6e441f1497 Forgot to add this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 12:41:42 +00:00
Adrien Destugues
ef97af8733 - Add japanese translation for zipomatic, done by JPBE.
- Update lithuanian catkeys, done by Algirdas.
Thanks !


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 10:50:27 +00:00
Michael Lotz
14429e896e Reverted the part of r31520 that made devfs_unpublish_partition() take a raw
device path + child partition name. When a "raw" device is unpublished the node
removal notification triggers the partition and child partitions to be
unpublished/removed. Since in that case the "raw" node is already unpublished
trying to resolve it in devfs_unpublish_partition() again to unpublish the child
partitions would fail, leaving the child partition nodes behind. When a new raw
device would then become available publishing its partitions would fail because
of these left behind nodes, causing bug #4587. Seeing that this code is more
compact and straight forward anyway I don't quite see why it was changed in the
first place.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 03:55:38 +00:00
Jonas Sundström
5d4c68c2f7 Japanese translation revised by Jorge G Mare.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 02:21:22 +00:00
Ingo Weinhold
afed2658f4 * Made VMCacheChainLocker more flexible (added unlocking destructor and
LockAllSourceCaches()) and moved it to the beginning of the file.
* Removed sMappingLock and adjusted the locking policy for mapping/unmapping
  pages: Since holding the lock of the affected pages' caches is already
  required, that does now protect the page's mappings, too. The area mappings
  are protected by the translation map lock, which we always acquire anyway
  when mapping, unmapping, or looking up mappings.

The change results in a -j8 Haiku image build speedup of almost 10%. The
total kernel time drops almost 30%.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 01:38:50 +00:00
Ingo Weinhold
31996a8e56 Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-09 01:25:38 +00:00
François Revol
8b5e546391 urlwrapper doesn't know about rsync: but checkitout does.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 23:39:39 +00:00
François Revol
e123e6d25d Add checkitout to the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 23:38:50 +00:00
François Revol
b9418c74d6 Add rsync:// support. There seems to be a cvs: uri scheme too according to http://en.wikipedia.org/wiki/URI_scheme but we'd have to decode it. TODO.
checkitout needs libtracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 23:37:05 +00:00
Jonas Sundström
ee8e73e751 Japanese translation catalog, strings extracted from the source of Mail (r34955 and previous).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 23:06:14 +00:00
David McPaul
7789e74c32 Cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 21:27:42 +00:00
Ingo Weinhold
2a30aab6f4 Don't announce page access before being sure that the page isn't busy. Fixes
the erroneously trigger panic() in #5216.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 20:39:08 +00:00
Ingo Weinhold
b01f92ebd1 Sorry, made up my mind: KDEBUG_LEVEL_2 it is for DEBUG_PAGE_ACCESS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 20:29:55 +00:00
Jonas Sundström
c8767bee6f Localization to replace the hardcoded English/Japanese. I will follow up with a Japanese translation based on the previous code. Some of the old solution lingers in parts of the code. A small amount of clean-up and removal BeOS-specifics.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 20:26:05 +00:00
Ingo Weinhold
b5be9fe6ff Accidentally left DEBUG_PAGE_ACCESS in enabled state. Mmh, maybe it would be
a good idea to tie it to some KDEBUG_LEVEL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 20:24:01 +00:00
Ingo Weinhold
aac9b8e4af unmap_and_free_physical_pages(): Don't try to free already free pages.
Apparently (at least when running in VMware >=2) the boot loader can still
map the same physical page more than once -- in the ACPI or HPET code I
suppose -- which would lead to this situation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 20:01:19 +00:00
Adrien Destugues
1de5dffb8a These files were missing from a previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 18:39:05 +00:00
Ingo Weinhold
440a118398 Use SYMBOL() instead of FUNCTION() to define the function end symbol. The
following function might otherwise not be shown correctly in ELF tools.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 17:24:29 +00:00
Adrien Destugues
68effbf082 Fixed a bug in the plaintext catalog add on : in some cases the resulting catalog file was corrupt (checksum error).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 17:23:49 +00:00
Ingo Weinhold
1b1b94b85a Entry cache:
* Moved hash computations out of the critical sections.
* Replaced the LRU entry queue by an array of entry "generations", each
  containing a sparse array of entries of that generation. Whenever a
  generation is full, we clear the oldest generation and continue with that
  one. The main advantage of this algorithm is that entry cache's mutex could
  be replaced by an r/w lock, that most of the time only has to be read
  locked in Lookup(). This does dramatically decrease contention of that
  lock.

The total -j8 Haiku image build speedup is marginal, but the kernel time
drops about 7% (now being smaller than the real time).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 17:02:24 +00:00
Ingo Weinhold
74a2534a03 Small optimization proposed by "Grey": We load USER_DATA_SEG into %ecx
anyway, so we can as well push the register later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 16:41:57 +00:00
Ingo Weinhold
d756fcf644 acpi_check_rsdt(), acpi_find_table(): Unmap the mapped page again, if we
don't need it. That prevents us from ending up with the page being mapped
multiple times (under VMware at least) and thus fixes #5208.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 16:06:22 +00:00
Ingo Weinhold
7f051b5710 * Changed/fixed mmu_map_physical_memory() semantics: It does now always
allocate all pages the given range intersects with. When not page aligned
  it could fail to allocate the last page.
* mmu_free():
  - Adjusted semantics to be compatible with mmu_map_physical_memory().
  - The validity check was broken, because page number and addresses were
    mixed, and because KERNEL_BASE + kMaxKernelSize doesn't mark the end of
    the allocated virtual ranges.
  - The final check against sNextVirtualAddress was broken.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 15:58:08 +00:00
David McPaul
7aa1ecffe5 remove commented out code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 11:42:44 +00:00
David McPaul
96f1b483e4 use width and height when deciding on which conversion routine to select. Remove some checks per frame from sse2 conversion routines. Hopefully it still handles misaligned buffers ok. Too many tests were hurting performance
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 11:25:48 +00:00
Oliver Tappe
cd591a3e00 * BTextView no longer inverts the caret although there is a selection, which
would yield double inversion of the caret position, causing #5006
* cleanup with respect to when the selection can be highlighted and/or the
  caret can be shown/hidden


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 09:35:05 +00:00
François Revol
12a17213b4 Undo r34942 and use printf instead, which is standardized by POSIX and supports \n, thanks DraX!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 23:31:12 +00:00
François Revol
08605557d3 Do not use echo -e, as FreeBSD doesn't support it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 23:03:19 +00:00
Adrien Destugues
a323ccd947 Work in progress driver for davicom 9601 ethernet usb chipset. So far it reads the MAC address from the device. It is not finished yet, so don't try to use it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 22:48:20 +00:00
François Revol
c505b2765b Patch by Matt Madia: detect host sfdisk in configure for ARM, including the FreeBSD port.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 22:08:12 +00:00
Adrien Destugues
987acd111b The copyright year was mistakenly changed when sentance casing these files. this is now fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 19:40:12 +00:00
Ingo Weinhold
fb1819be95 Eliminated sVnodeCoveredByMutex. The Vnode::covered_by field is now also
protected by the global vnodes lock. The contention mostly moves to other
locks, though. The total -j8 Haiku image build time is only reduced
minimally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 17:01:27 +00:00
Ingo Weinhold
bd0bff449f Changed sAreaCacheLock from mutex to rw_lock. This reduces the lock's
contention about two orders of magnitude. Most of it seems to be taken over
by other locks, though. Yields only small improvements for the -j8 Haiku
image build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 15:36:18 +00:00
Ingo Weinhold
77690f288e Added VMCache::SwitchFromReadLock(), atomically unlocking a read lock and
starting to lock the cache.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 15:32:28 +00:00
Ingo Weinhold
c4f9831292 Added new mutex_switch_from_read_lock() for unlocking a read lock and
starting to lock a mutex in an atomic operation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 15:31:29 +00:00
Ingo Weinhold
8ab820f076 VMAddressSpace::Put() is too hot to always write lock the address spaces
table. It is now inline and uses double-checked locking. This reduces the
contention on the lock to insignificant. Total -j8 Haiku image build speedup
is marginal, but the total kernel time drops 12%.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 14:09:56 +00:00