Commit Graph

33470 Commits

Author SHA1 Message Date
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
Karsten Heimrich
fb39cbd38b * Fixes ticket #3068. DataTranslations accept timezone files as valid
translators.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 23:35:25 +00:00
Karsten Heimrich
887d9b8b43 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 23:35:22 +00:00
Philippe Saint-Pierre
03734edfef [Expander] : Window Sizing enhancements
* Now takes the screen size into consideration when enlarging the window (fixing ticket #5280)
 * Enables Zooming capabilities
 * Remembers the last height of the window so that clicking Show contents on and off just returns it to the previous height.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 23:31:58 +00:00
Rene Gollent
c40914bbf5 Fix build with VM_PAGE_FAULT_TRACING enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 23:29:15 +00:00
Karsten Heimrich
73f41f49ec * Introduce a new method to ask the translator if it can handle the image
output size, if not it will not show up in the dynamically generated
  translator list. Folow up on ticket #4874.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 22:52:09 +00:00
Colin Günther
0541219b59 Applying patch by mmadia. This fixes ticket #5299. Thank you!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 22:05:18 +00:00
Stephan Aßmus
908b8aa481 Patch by Matt Madia:
Ignore "NetFS" OptionalPackage in the installoptionalpackage script. It is a
source code only optional package which needs to be compiled from within the
tree.

Thanks a lot! Fixes #5297.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 21:37:41 +00:00
Ingo Weinhold
20ca0c5eaa * object_cache_return_object_wrapper(): Calling object_cache_free() is a bad
idea, since that would potentially add the object back to the object store
  or lead to infinite recursion. When the object cache is destroyed it most
  likely led to infinite loops, because the object would alternately be
  removed from and added back to the object store.
* delete_object_cache(): Lock after destroying the object store, so we don't
  deadlock.
* Use the object store on SMP machines. It seems to work, though I only
  tested with the network stack and that seems to have problems of its own.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 20:45:20 +00:00
Ingo Weinhold
bcf73b3a59 Pulled smp_get_num_cpus() out of loops.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 20:37:39 +00:00
Ingo Weinhold
7dcd388aa6 Coding style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 20:36:29 +00:00
Ingo Weinhold
3da8837069 * Fixed build with PARANOID_HEAP_VALIDATION.
* heap_index_for(): Could return invalid index, if there hadn't been created
  a set of heaps for each CPU.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 20:36:06 +00:00
Adrien Destugues
4ac2299989 Update lithuanian catalog for touchpad.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 20:10:39 +00:00
Ingo Weinhold
1a7d8045d0 gcc 2 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 20:04:54 +00:00
Ingo Weinhold
70742459f5 Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 19:38:09 +00:00
Stephan Aßmus
51f50b1274 Installer cannot use find_directory(), since it needs to support source volumes
other than /boot. That's why it worked like it did in the first place. Some
folders like "trash" can be volume specific, but most others are not and the
volume passed to find_directory() is ignored (which makes sense).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 19:21:48 +00:00
Ingo Weinhold
825566f82f * Split the slab allocator code into separate source files and C++-ified
things a bit.
* Some style cleanup.
* The object depot does now have a cookie that will be passed to the return
  hook.
* Fixed object_cache_return_object_wrapper() using the new cookie.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 19:13:25 +00:00
Stephan Aßmus
6ff00ae7e5 Make the Installer ignore /var at it's new location. The old location is also
still checked, in case one uses the Installer to copy an old installation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 18:51:30 +00:00
Stephan Aßmus
776796d3af Added "NetFS" OptionalPackage.
You will want to edit /boot/home/config/settings/kernel/netfs-server before you
run netfs_server for the first time (or use netfs_server_prefs on the command
line, see below).

To run the server:
$ /system/servers/netfs_server &

To run the client:
$ /system/servers/authentication_server &
$ mkdir /dummy
$ mount -t userlandfs -p "netfs """ /dummy

A "Network" icon will appear on your desktop. Remote servers will appear inside
the "Network" folder (host name). Inside a folder for a server are the shares
of that server. (I.e. what has been defined as share in that respective server's
netfs-server driver settings file). netfs_server has actually a new settings
file format, you can create settings by using "netfs_server_prefs --help" on the
command line. Have fun!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 18:25:48 +00:00
Colin Günther
396abf076f * Adapting firmware based driver to the new firmware name mapping method.
* Removing the respective settings files, as they are no longer needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 17:49:45 +00:00
Colin Günther
d3806c1b62 * Reworked firmware loading. This gets rid of the need for the settings files.
Name mapping is now defined in the glue code.
* Adding two macros for handling firmware name mapping completely in the glue
  code:
  - HAIKU_FIRMWARE_NAME_MAP(firmwarePartsCount) is used when mapping is
    required. Have a look to iprowifi2100's glue code for an example.
  - NO_HAIKU_FIRMWARE_NAME_MAP() is used when the firmware names don't need to
    be mapped. For example: broadcom43xx
* Discard usage of vm_map_file() and use the previously read() method again.
  After Axel and Ingo agree that both methods are fine in this particular use
  case, using read() looks easier on the eye. It needs only 3 parameters, where
  vm_map_file() takes 10.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 17:44:38 +00:00
Stephan Aßmus
bf365f13aa * Renamed NetFSServer to netfs_server and added .rdef for running it in the
background.
 * Renamed NetFSServerPrefs to netfs_server_prefs.
 * Fixed copyright years in authentication_server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 16:57:59 +00:00
Stephan Aßmus
63fad9a172 Added resource which makes the userlandfs_server run as a background service.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 16:05:19 +00:00
Stephan Aßmus
44905bf648 * Renamed jam target to "authentication_server"
* Updated application signature (I couldn't find a place outside the server's
   code where it is used).
 * Added .rdef with icon and making the app run as background service.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 15:50:33 +00:00
Stephan Aßmus
0ccd0a0b6f axeld+stippi:
When initializing driver settings, make sure to set the parameter count to 0,
because these settings have not been parsed yet. This allows us to safely free
the settings. Freeing the settings is triggered in load_driver_settings() if
we encounter settings which have been originally loaded by the boot_loader,
which might be stale. I think the bug would trigger for settings which had been
loaded by the boot_loader but had never been parsed.

With this change, I can use the userlandfs on all my machines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 15:40:24 +00:00
Stephan Aßmus
6a4c235b67 Renamed jam target to just "netfs".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 10:59:00 +00:00
Colin Günther
81a0bf6fdc Adding a wifi firmware installation script done by mmadia. This script installs
firmware for unshipable broadcom43xx and marvell88w8335. Furthermore it installs
the firmware for ipw2100 and iprowifi2200, which requires the user to consent
to its license terms. Thank you mmadia!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 10:17:33 +00:00
Ingo Weinhold
0fc052b47d Moved the definition of the CACHE_ALIGN_ON_SIZE flag to the header and fixed
its value.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 10:17:16 +00:00