Commit Graph

33847 Commits

Author SHA1 Message Date
Stephan Aßmus 86a0da42a5 Fixed spelling mistake.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 21:05:23 +00:00
Stephan Aßmus f88faf25fb Fix parsing scientific notation in the form of 1E+6 or 1E-6.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 21:02:04 +00:00
Ingo Weinhold e54d40e826 There's no reason for allocating with CACHE_DONT_SLEEP. The only thing that
would get us is that the allocations could fail when they wouldn't need to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 20:01:26 +00:00
Ingo Weinhold 8a65066a11 vm_soft_fault(): map_page() can fail for B_NO_LOCK areas, since it needs to
allocate a page mapping. In that case we do at least have to mark the page
not busy again. Furthermore we enforce the minimum page mappings object cache
reserve, so we'll have more luck on the next fault.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 19:58:04 +00:00
Stephan Aßmus 789d560bc6 Automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 11:48:16 +00:00
François Revol a8a6d0f150 Patch by mmadia: update NetSurf package, fix dependancies. Fixes #5311.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 11:41:59 +00:00
Ingo Weinhold f6543e7d55 "&>" is not POSIX. Use "2>&1 >" instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 11:39:12 +00:00
Stephan Aßmus e31addc53d Added German translation from HTA. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 07:04:47 +00:00
Joachim Seemer 787d6f11e8 Applied Matt's patch fixing images in the Welcome page. Fixes #5307. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 06:08:45 +00:00
Philippe Saint-Pierre 41b65b532e Patch by mmadia, updates Firefox's Optional Package
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 01:17:31 +00:00
Ingo Weinhold 86c794e5c1 slab allocator:
* Implemented a more elaborated raw memory allocation backend (MemoryManager).
  We allocate 8 MB areas whose pages we allocate and map when needed. An area is
  divided into equally-sized chunks which form the basic units of allocation. We
  have areas with three possible chunk sizes (small, medium, large), which is
  basically what the ObjectCache implementations were using anyway.
* Added "uint32 flags" parameter to several of the slab allocator's object
  cache and object depot functions. E.g. object_depot_store() potentially wants
  to allocate memory for a magazine. But also in pure freeing functions it
  might eventually become useful to have those flags, since they could end up
  deleting an area, which might not be allowable in all situations. We should
  introduce specific flags to indicate that.
* Reworked the block allocator. Since the MemoryManager allocates block-aligned
  areas, maintains a hash table for lookup, and maps chunks to object caches,
  we can quickly find out which object cache a to be freed allocation belongs
  to and thus don't need the boundary tags anymore.
* Reworked the slab boot strap process. We allocate from the initial area only
  when really necessary, i.e. when the object cache for the respective
  allocation size has not been created yet. A single page is thus sufficient.

other:
* vm_allocate_early(): Added boolean "blockAlign" parameter. If true, the
  semantics is the same as for B_ANY_KERNEL_BLOCK_ADDRESS.
* Use an object cache for page mappings. This significantly reduces the
  contention on the heap bin locks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 23:10:52 +00:00
Ingo Weinhold 5f679d1cd3 Resize(): Added boolean "force" parameter that allows to force setting the
new memory, even if it isn't needed at that time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 22:16:03 +00:00
Stephan Aßmus 5b45f726d8 German catalog for DriveSetup. Not heavily tested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 20:03:44 +00:00
Stephan Aßmus 7d24c6470f Localized DriveSetup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 20:02:57 +00:00
Stephan Aßmus e07fca806a * Removed now useless run script.
* Updated TODO, we support creating partitions in empty space now. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 18:17:06 +00:00
Stephan Aßmus ca48b8d068 Removed no longer valid TODOs. Thanks PulkoMandy!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 15:54:57 +00:00
Stephan Aßmus 9add3a659a Updated German translation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 15:53:03 +00:00
Stephan Aßmus 14c09c6029 Improved strings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 15:26:55 +00:00
Stephan Aßmus b14896ee8d It Just Works(TM). Replaced the CD boot alert with ReadOnlyBootPrompt.
One just has to love the write overlay. That one really saved a lot
of work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 15:14:20 +00:00
Adrien Destugues 141da9c590 Update the dutch translation of virtulmemory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 14:55:07 +00:00
Stephan Aßmus aef296bb5f Sorry, forgot to add German translation for ReadOnlyBootPrompt...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 14:51:10 +00:00
Stephan Aßmus fa74162f8a Added application which is supposed to replace the "Do you wish to run the
Installer or continue booting to the Desktop" alert that pops up on CD boots.
It allows to set the language and keymap as the very first thing before a Haiku
installation. (Aside from replacing the alert.) Everything tested and working,
I just need to test integration in the Bootscript.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 14:41:58 +00:00
Stephan Aßmus 9471043456 Removed no longer needed header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 14:39:43 +00:00
Stephan Aßmus 0ee4261ea8 * Don't return positive status_t in Load() instead of B_OK.
* Small coding style corrections.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 14:39:08 +00:00
Stephan Aßmus 384ed4569c Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 14:38:04 +00:00
Adrien Destugues a292eb4af2 Removed useless static qualifier on some variables that made them behave weird.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 12:04:02 +00:00
Stephan Aßmus 005a5d0bfe Stumbled across some problems while using the Locale Kit and added TODOs
accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 11:38:16 +00:00
Colin Günther 48e129c9d4 White space cleanup. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 10:07:25 +00:00
Adrien Destugues 62f29d9e0f Added dutch localization of VirtualMemory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 09:44:01 +00:00
Ingo Weinhold ce89123828 Patch partially by Samuel Rodríguez Pérez:
* Added amd64-* as supported host gcc machine.
* Added work-around for AMD64 FreeBSD 8: It only has a static libsupc++,
  which prevents us from building shared libraries, so we use the shared
  libstdc++ instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-21 04:04:51 +00:00
Adrien Destugues 5570fd11c0 - Locale kit : made the language class live. It now uses ICU as a backend as expected
- Some changes in the locale roster to allow instanciating a language
- Locale preflet : use this new API instead of directly calling ICU
Side effect : all languages in Locale window are now displayed in the current locale. It makes more sense as otherwise the list would be unsortable. However it can get annoying if you mistakenly set a strange language as default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 22:44:34 +00:00
Stephan Aßmus 4a2da42550 * Applied localization to the Installer.
* Some coding style fixes along the way.
 * Added German translation.

NOTE: The Installer will have to offer a way to change the current locale! So
any translations which are done at this point will have to receive one more
update after I added this feature.

NOTE2: There is something wrong with generating catalogs and the update-all
jam target. If you don't do a clean build, the build won't run through, but it
is enough to build for example an image and then run update-all on your actual
partition profile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 20:06:30 +00:00
Adrien Destugues 33e5fc1cb2 Add dutch translation for midiplayer, done by Meanwhile. Thanks !
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 19:34:45 +00:00
Adrien Destugues 2f1ed33261 Internationalization and esperanto localization for midiplayer, done by dancxjo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 19:00:46 +00:00
Ingo Weinhold 08d66c1288 Always unlock the object cache while allocating memory. This is necessary for
the CACHE_DONT_SLEEP flag to work for real, since otherwise the thread could
block on the mutex held by a thread allocating memory. We use two condition
variables to prevent multiple threads from allocating slabs at the same time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 18:40:16 +00:00
Adrien Destugues 7bca271d9e Update of ja.catkeys done by koki. Thanks !
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 18:26:24 +00:00
Ingo Weinhold 8766b8b4b9 * Reverted r35203, i.e. ObjectCache::object_per_slab is gone again.
* Changed the semantics of object_cache_reserve_internal(). Now it makes sure
  the given number of objects are free. As a side effect this also changes
  the semantics of object_cache_reserve() similarly, though I have trouble
  seeing the purpose of the function in the first place.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 18:05:00 +00:00
Ingo Weinhold 4ebe37ab69 Added ObjectCache::objects_per_slab, which allowed to squash the TODO in
object_cache_reserve_internal().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 17:46:06 +00:00
Ingo Weinhold bb439b871e * Consequently propagate the CACHE_DONT_SLEEP flag.
* block_alloc(): Create B_FULL_LOCK area.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 17:07:42 +00:00
Ingo Weinhold 547999af44 HashedObjectCache::ReturnSlab(): Also free the slab object itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 14:05:59 +00:00
Ingo Weinhold 453a2bdd18 Replaced the locking strategy (formerly a recursive lock for the depot and
one for each per CPU store):
* The depot is now protected by a R/W lock combined with a spinlock. It is
  required to either hold read lock + spinlock or just the write lock.
* When accessing the per CPU stores we only need to acquire the read lock
  and disable interrupts. When switching magazines with the depot we
  additionally get the spinlock.
* When allocating a new magazine we do completely unlock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 13:00:57 +00:00
Ingo Weinhold 030a4ea6c9 Reordered functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 12:12:54 +00:00
Ingo Weinhold d66916e33b Shuffled functions a bit, so that they are in a reasonable order.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 10:56:34 +00:00
Ingo Weinhold 53a87b035b Removed debug left-over.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 10:28:18 +00:00
Ingo Weinhold 5662ae4585 Changed the team shutdown process a bit:
* The threads beside the main thread are killed earlier now (in the new
  team_shutdown_team()), before removing the team from the team hash and from
  its process group. This fixes #5296.
* Use a condition variable instead of a semaphore to wait for the non-main
  threads to die. We notify the condition right after a thread has left the
  team. The semaphore was released by the undertaker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 09:34:53 +00:00
Ingo Weinhold 15779f70b9 vm_get_page_mapping(): The translation map wasn't locked. For x86 the
function is used only in one place and the missing locking would be harmless
if it weren't for the per translation map physical page mapper. It is used to
map the page table for the lookup. Concurrent access could corrupt its data
structures, or, just as bad, the unlocked Query() could remap the page table
used by a concurrent Map() or Unmap(), which would then manipulate the
wrong page table.
Potentially messing up kernel memory, this bug could obviously cause all
kinds of kernel crashes and weird behavior. E.g. ticket #5138 is a likely
candidate, as are triple faults.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 09:00:38 +00:00
Michael Lotz 28e27159b9 Adding a log_overlay filesystem layer. It passes through all calls to the other
layer(s) and logs a timestamp, the thread id, the super volume or super vnode
and interesting bits about call arguments/results to a file (in /var/log). This
can be used for example to debug filesystems without having to manually add
debug output to all the calls, or to analyze access patterns. To add the logging
layer just mount the layer with whatever actual filesystem you have:

  mount -t "bfs:log_overlay" /dev/disk/usb/0/0/0 /mountpoint

This would then create the logfile /var/log/log_overlay_dev_disk_usb_0_0_0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 05:01:28 +00:00
Philippe Saint-Pierre 94a20a5e74 [Expander]: Fix for Zoom
* When the zip file was really large, it was possible the Height passed to SetZoomLimit exceeded the maximum allowed size. Now, we clip at 32767.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 03:56:36 +00:00
Rene Gollent e9b3ccb129 Add Japanese Background preflet translation by Jorge G. Mare.
Thanks! Closes ticket #5300.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-20 02:45:37 +00:00
Michael Lotz 40fa690b51 The vnode->private_node holds our object, not vnode itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 23:47:03 +00:00