Commit Graph

33324 Commits

Author SHA1 Message Date
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
Ingo Weinhold
3cd2094396 * Added new debug feature (DEBUG_PAGE_ACCESS) to detect invalid concurrent
access to a vm_page. It is basically an atomically accessed thread ID field
  in the vm_page structure, which is explicitly set by macros marking the
  critical sections. As a first positive effect I had to review quite a bit of
  code and found several issues.
* Added several TODOs and comments. Some harmless ones, but also a few
  troublesome ones in vm.cpp regarding page unmapping.
* file_cache: PrecacheIO::Prepare()/read_into_cache: Removed superfluous
  vm_page_allocate_page() return value checks. It cannot fail anymore.
* Removed the heavily contended "pages" lock. We use different policies now:
  - sModifiedTemporaryPages is accessed atomically.
  - sPageDeficitLock and sFreePageCondition are protected by a new mutex.
  - The page queues have individual locks (mutexes).
  - Renamed set_page_state_nolock() to set_page_state(). Unless the caller says
    otherwise, it does now lock the affected pages queues itself. Also changed
    the return value to void -- we panic() anyway.
* set_page_state(): Add free/clear pages to the beginning of their respective
  queues as this is more cache-friendly.
* Pages with the states PAGE_STATE_WIRED or PAGE_STATE_UNUSED are no longer
  in any queue. They were in the "active" queue, but there's no good reason
  to have them there. In case we decide to let the page daemon work the queues
  (like FreeBSD) they would just be in the way.
* Pulled the common part of vm_page_allocate_page_run[_no_base]() into a helper
  function. Also fixed a bug I introduced previously: The functions must not
  vm_page_unreserve_pages() on success, since they remove the pages from the
  free/clear queue without decrementing sUnreservedFreePages.
* vm_page_set_state(): Changed return type to void. The function cannot really
  fail and no-one was checking it anyway.
* vm_page_free(), vm_page_set_state(): Added assertion: The page must not be
  free/clear before. This is implied by the policy that no-one is allowed to
  access free/clear pages without holding the respective queue's lock, which is
  not the case at this point. This found the bug fixed in r34912.
* vm_page_requeue(): Added general assertions. panic() when requeuing of
  free/clear pages is requested. Same reason as above.
* vm_clone_area(), B_FULL_LOCK case: Don't map busy pages. The implementation is
  still not correct, though.

My usual -j8 Haiku build test runs another 10% faster, now. The total kernel
time drops about 18%. As hoped the new locks have only a fraction of the old
"pages" lock contention. Other locks lead the "most wanted list" now.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 02:37:05 +00:00
Michael Lotz
c1f316db61 When canceling the transfer, the callback is still called, just with the
canceled status, so we need to collect the corresponding sem release. Otherwise
we would run directly into the old cancel status the next time we schedule.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 02:21:31 +00:00
Stephan Aßmus
dfddb9f479 * Optionally use libswscale for color space conversion. Have not done any
performance tests, but I wrote this code before David got around to improve
   his color space assembler code and didn't want to throw it away. Turned
   off for the time being, since David's version works fine.
 * Supply a codec sub_id in the media_codec_info. This allows matching
   decoders to encoders, which comes in handy for Smart Rendering in Clockwerk.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 01:18:32 +00:00
Stephan Aßmus
856d0bbf95 Disabled tracing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 01:14:44 +00:00
Stephan Aßmus
59ec4d2f76 * Disabled tracing.
* Use the configured source color space when converting instead of hardcoding
   B_RGB32. (Resolved TODO)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 01:14:20 +00:00
Stephan Aßmus
f947df7ded Slightly more precise calculations in finding keyframes/seeking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 01:12:47 +00:00
Stephan Aßmus
79d332bbfe Missed this in my diff. Somewhat important to make Matroska container work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 01:11:12 +00:00
Stephan Aßmus
2a0cb284c4 Added utility function colorspace_to_pixfmt().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 01:10:28 +00:00
Stephan Aßmus
ead6198972 Enable Matroska container for testing purposes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 01:08:43 +00:00
Stephan Aßmus
9ea74f6c0b It's late, forgot to remove debugging output...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 00:56:51 +00:00
Stephan Aßmus
3a57be2aea * Indentation and naming cleanup in the header
* Small coding style cleanups in the .cpp
 * When reading raw chunks, keep fCurrentFrame updated anyway
 * When decoding frames and chunks, don't change the meaning of fCurrentTime,
   it's supposed to be the start time of the next chunk/frame, same as
   CurrentFrame(), not the time of the frame/chunk we just decoded/read.
   BMediaTrack::CurrentFrame() is actually documented like this in the BeBook,
   but CurrentTime() is not. However, when seeking to a specific time, it is
   understood that this is the time of the next frame/chunk. If we decode/read
   it and set fCurrentTime to the start_time as specified in the media_header,
   it would actually not change for the first frame/chunk after seeking.
   To be able to know the duration of chunks, fWriterFormat had to be changed
   to just fFormat and is now used for decoding as well.
* Simplified handling of media_header in some methods, saves one assignment.

These changes are not so well tested, yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 00:55:55 +00:00
Michael Lotz
40d3e7158f Whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 00:13:03 +00:00
Adrien Destugues
a88df561df - Fix some lithuanian translations
- Some of them were also missing from the jamfiles


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-06 20:59:24 +00:00
François Revol
cecee6bb75 M is 1024*1024, dammit ! Has the US finally switched to the metric system ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-06 18:15:56 +00:00
Stephan Aßmus
9149b4aa35 Fixed line-endings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-06 17:54:21 +00:00
Stephan Aßmus
7c5a2487c1 Patch by Andreas Faerber:
* Fixed coding style issues pointed out by Axel.
 * Fixed potential buffer overflow and fault in default-client-up code path
   (OF counts terminating zero char, too).
 * Added an intermediate fallback to parsing the boot path
 * Added himself to the copyright holders

Thanks a lot! Fixes ticket #5189.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-06 17:53:03 +00:00
François Revol
bc85c20bdd - add board-specific stuff to header paths,
- automatically download the u-boot flash image when set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-06 17:47:54 +00:00
Michael Lotz
5926a6129f I don't know why this was disabled, but not canceling the queued transfers after
a timeout leaks these transfers. In the end this would at least lead to a flood
of canceled transfers on device unplug or, worse yet, exhaust the USB memory
pool stalling all further transfers as seen in #4604. Probably fixes both
issues, can't test though as I don't have the hardware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-06 00:54:15 +00:00
Michael Lotz
cb3d173dc2 Whitespace cleanup only, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-06 00:48:13 +00:00
Ingo Weinhold
66896bba13 RemovePage() + InsertPage() == MovePage()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-05 22:04:24 +00:00