Commit Graph

3519 Commits

Author SHA1 Message Date
Oliver Tappe
41426d9bac * Moved three locale-related headers back into a safe place (where no
software looking for them will find them) as a temporary fix for #4747.
  In the long run, the functions declared in these headers should be
  implemented by means of ICU and then the headers shall be made public again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-13 17:15:49 +00:00
Axel Dörfler
b74a098352 * Got rid of the duplicated functionalities provided by RWLocker.cpp, and
Locker.cpp.
* The services are now using recursive_locks, and rw_locks instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-12 14:29:05 +00:00
Axel Dörfler
4baa865937 * Added casts to the *_INITIALIZER macros, so that they can also be used in
a member constructor list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-12 14:27:02 +00:00
Michael Lotz
93b63126e1 Adding mutex and rw_lock with the same interface as the kernel versions to
libroot. The mutex is a simple benaphore, the rw_lock is pretty much the same
as the one from libkernelland_emu but uses a mutex per lock instead of emulating
a global thread lock. Also added MutexLocking and RWLock{Read|Write}Locking and
AutoLockers based on them. It's cased with __cplusplus so the locks are also
usable from C. Everything's currently exposed in shared/private/locks.h but I
think we should make these locking primitves public.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-12 11:19:33 +00:00
Michael Lotz
7ebd7cfc40 Add a vm_page_allocate_page_run_no_base. It bases its search on the pages found
in the free and/or clear queue. This performs better in the case where only few
pages are free/clear but performs worse in the case where there are a lot of
usable pages. It's not used anywhere but it might come in handy one time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-11 16:55:21 +00:00
Michael Lotz
44778a8a28 Introduce vm_map_physical_memory_vecs. It is like vm_map_physical_memory but
takes a list of iovecs describing the physical pages to be mapped. With it one
can map a set of physically disjoint pages into one linear virtual range. This
is a private API right now, but we might want to make it public as
map_physical_memory_vecs alongside map_physical_memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-11 16:48:03 +00:00
Michael Lotz
1af7d11504 * Rework page writing to combine page writes where possible. For now the pages
are required to be physically contiguos, which should be reworked to put them
  into seperate iovecs. Still this manages to combine a great deal of page
  writes into larger bursts already. Reduces the amount of IO requests being
  scheduled (and greatly benefits media where page wise writes are slow when
  they are accessed through a non-IOScheduler path, i.e. USB mass storage until
  that is properly implemented).
* Abstracted per page page writing tasks into a PageWriteWrapper class.
* Abstracted per transfer page writing tasks into PageWriteTransfer class which
  formerly was the PageWriterCallback.
* Use both classes from the PageWriterRun and from
  vm_page_write_modified_page_range to remove code duplication.
* Adjusted synchronous VMAnonymousCache::Write() to cope correctly with larger
  iovecs and more than one iovec. It assumed that there was exactly one page per
  vector previously.
* Introduced MaxPagesPerWrite() and MaxPagesPerAsyncWrite() to VMCache to allow
  a cache to specify restricitions. VMAnonymousCache does restrict the max pages
  to 1 for WriteAsync right now as I didn't feel like reworking that one to cope
  with non single page writes just yet.
* Pulled out PageWriteTransfer methods for better readability.
* Some typo fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-10 22:37:26 +00:00
Michael Lotz
793d0f340d Add a nogrow variant for new[] as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-10 22:29:11 +00:00
Stephan Aßmus
011a4cdbfc * Removed now obsolete notification (this was not even used in Tracker
anymore).
* Added interface to get the current settings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 19:31:57 +00:00
Stephan Aßmus
21f2402e20 Work in progress of moving the (audo-)mounting functionality from Tracker into
a dedicated mount server. This is pretty much a straight copy from the
AutoMounter code from Tracker, except
* the eject on unmount setting has been added (in Tracker, it's part of the
  general settings, not the mount specific ones),
* scripting features have been added, such that it becomes possible to trigger
  mounting the previoulsy mounted volumes from the outside, and most
  importantly block until the operation is done (waiting for the reply).

TODO:
* Change Tracker to not run it's own AutoMounter, but send messages to the
  new server.
* Move the eject when unmounting setting to the mount settings window.
* Enable the mount_server in the Bootscript.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 18:34:29 +00:00
Axel Dörfler
931cd377aa * Added a new flag kAcceptKeyboardFocusFlag that allows B_AVOID_FOCUS windows
to still receive keyboard events. This is now used for menu windows (before,
  the menu feel alone would trigger that behaviour).
* This also fixes bug #4691, as tool tip windows use the menu feel as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 16:26:32 +00:00
Oliver Ruiz Dorantes
515209e338 Merge view class in the window object
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 20:03:36 +00:00
Stephan Aßmus
b0488dca68 Patch by "v" to fix ticket #4733, there are Core and Core 2 Celerons. I
enhanced it to also say Core 2 Quad and Core 2 Duo again, instead of just
Core 2. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 17:08:24 +00:00
Axel Dörfler
fc548b41f3 * Removed the pretty useless "Multifinger scrolling" option - it's now always
the same as the two finger scrolling option (could be disabled, too, opinions
  welcome).
* Added a new settings to disable horizontal two finger scrolling, since it's
  not that easy to only scroll in one direction with this. Maybe a higher
  starting boundary would also be an option for this instead, Clemens what do
  you think?
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 14:30:57 +00:00
Stephan Aßmus
852e81f6cb Come to think of it, this is actually a multi-line if...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 12:27:19 +00:00
Stephan Aßmus
8ee28a00be Fixed a style violation that I missed, thanks Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 12:26:06 +00:00
Stephan Aßmus
b2e0606edc Patch by "v" to distinguish between different processors with the same CPU-ID.
Slightly enhanced coding style by myself. Should fix ticket #3541. Thanks a
bunch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 11:54:28 +00:00
Ryan Leavengood
1c5a1e55c1 Suggestion from Rene:
- Make the BuildScreenSaverDefaultSettingsView function be built into
libscreensaver.so and under the BPrivate namespace. This avoids the repetition
of the compiled code in each screen saver that uses it.
- Updated the ScreenSaver preferences to use this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-01 20:48:14 +00:00
Ryan Leavengood
7d183c0492 Adding a private header with a method that can be used to provide a consistent
default look for the settings of screen savers without complicated settings
views. This is based on the code originally in the ScreenSaver preferences
window.

Also fixed a type in the ScreenSaverRunner header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-01 19:53:23 +00:00
Ingo Weinhold
7f16b78c41 Moved vmdkimage.h to a shareable place, cleaned it up a bit, and renamed it to
vmdk.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-01 03:08:46 +00:00
Ingo Weinhold
d6778355ee * <DiskDeviceTypes.h>: Removed kPartitionTypeIntel{Primary,Logical} constants.
* Added new header headers/private/system/disk_device_types.h, which defines
  the <DiskDeviceTypes.h> constants as macros and which can be used where the
  constants cannot be used. The constants are defined using the macros, so now
  there's only one place where the string literals should be specified.
* Use the macros in the partitioning systems. I was too lazy to also adjust the
  file systems -- most of them seem to hard-code the string literal yet.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-01 03:07:42 +00:00
Ingo Weinhold
a9689e8492 * VFS:
- Fixed vfs_get_vnode_from_fd() return type.
  - Added vfs_open_vnode().
  - Added a "bool traverseLeafLink" parameter to vfs_get_fs_node_from_path().
    It was always resolving symlinks.
* device manager/devfs:
  - devfs: get_node_for_path() no longer resolves leaf symlinks. That still
    doesn't help with file disk devices, as creating partition wouldn't work
    anyway.
  - Pulled the module-related implementation part of BaseDevice into new class
    AbstractModuleDevice and made all methods of BaseDevice virtual. Small
    adjustments to devfs to be happy with the new BaseDevice interface.
  - Added BaseDevice subclass FileDevice, which maps the interface to a file's
    file descriptor. Still got a few TODOs, but should basically work.
  - Use FileDevice for publishing file disk devices in devfs. Now those do
    actually work, though there's some BFS trouble with one of the images I
    tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-01 03:06:34 +00:00
Ingo Weinhold
be51dd0f4c Added debug_strlcpy() for use in the kernel debugger.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-01 03:02:34 +00:00
imker
adc602a44b Model string for Core i7 920 @2.66 added.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-30 18:01:16 +00:00
François Revol
858a20cab8 Patch by Vincent Duvert:
Remove the 4 cores limit at boot, and fix the allocator to handle 8 cores.
There are still performance problems, but this allows booting with 8 cores.
WARNING: since this changes x86 platform kernel args, you really don't want to update haiku_loader and kernel_x86 separately!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-29 13:07:10 +00:00
Stefano Ceccherini
ea40a61a84 Some big changes, still not working on my laptop, since hpet interrupts
aren't routed correctly over the 8259, it seems.
- Removed passing the hpet_regs around, since there's a static variable.
- Added lots of debug dprintfs.
- Fixed setting the timer interrupt to edge
- Timer is initialized once.
- Use the timer 0 instead of 2.
- Renamed register definitions to be more readable
- Use 64 bits registers and unions where applicable.
- Other things I don't remember


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-29 08:36:36 +00:00
Stefano Ceccherini
8593bcad87 Use the hpet defines in the source.
Also shortened some defines using "TN" instead of "TIMER". It's also
the same scheme used in the specs


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-28 13:14:16 +00:00
Stefano Ceccherini
6e53324663 Added more HPET defines, not yet used in the source.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-28 05:10:43 +00:00
Ingo Weinhold
ac106be534 Inherit the disable_debugger() flag to a fork()ed child. load_image() doesn't
-- I'm undecided whether it should, too. Fixes #4642.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-28 02:54:38 +00:00
Adrien Destugues
0a255c0c6a Cleanup of the locale kit tools :
-Jamrule for collectcatkeys no longer print all the strings, only a message when it can't parse one (happens for TR(variable) basically)
-Added fingerprint check in the plaintext catalog ReadFromFile. However, the adler checksum is different each time the catalog is loaded because it relies on the string being iterated always in the same order, but this is not always the case with an HashMap ! Some rethinking is needed, so disabled the check for now so it does not breaks the build
-Some try to debug the bluetooth preflet localization. Still buggy, but I wanted to commit all this mess before I break everything up again.
-Also sorted the fr.catkeys files to be in the same order as the autogenerated en.catkeys (this is useless but makes them easier to check) and updated their fingerprint even if they are still not checked.
-Miscelaneous style fixes, small bugfixes, more error checking and error messages saying where they come from.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-27 21:19:52 +00:00
Stefano Ceccherini
3cafc2ec3e Update comments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-27 08:50:42 +00:00
Ingo Weinhold
7dde9c1dab * Added operators == and !=.
* Added "bool* _isSigned" parameter to IsInteger().
* Added static TypeIs{Number,Integer,Float}() operating on type codes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-27 04:08:45 +00:00
Rene Gollent
4e79886a59 Fix gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-25 14:36:26 +00:00
Stefano Ceccherini
d54e62b2c8 Added dumping the timer configuration, and the possibility to use any of
the hpet timer, not just the first 3.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-25 05:08:22 +00:00
Philippe Houdoin
62f9de87b0 Moved Mesa libs (mesa, glu & glut) under src/libs/mesa, where it should have
been since long already.
This should help aljen reintegrate his gallium branch sooner than later, 
which after the speed improvment on softpipe made last days will 
be welcomed, I'll bet ;-)

Maybe it's possible to even have both current Mesa Software Renderer add-on 
*and* Gallium-based SoftPipe one. Will need to actually support renderer 
selection (in OpenGL preference panel or via a missing OpenGL Kit API), 
as today the first add-on found is the only one ever selected...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-25 01:50:30 +00:00
Stefano Ceccherini
cd1352fe63 Fix endianess problem: the period and capabilities bits were reversed in the hpet registers
struct definition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-24 22:06:02 +00:00
Jonas Sundström
0d62f09d74 Explicitly allow not giving a relative path.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-24 21:35:10 +00:00
Adrien Destugues
875e7244d7 Patch by Michael Weirauch to fix bluetooth apps signatures.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-24 21:07:18 +00:00
Ingo Weinhold
3bd94918ed Reordered Reference::SetTo() operation so that it is safe to reinitialize to
the same referenceable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-21 04:29:27 +00:00
Jonas Sundström
7914280cb8 Less hardcoding of paths. Adding shared private OpenWithTracker().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-20 14:50:01 +00:00
Stefano Ceccherini
4b115815dd Removed unused headers directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-19 22:28:31 +00:00
Oliver Tappe
75f1522155 * reintegrated gsoc-locale-kit branch into trunk - there's more
work to do, but it's about time to give this code more exposure.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-18 22:23:34 +00:00
Stefano Ceccherini
f0bf38026a Add safemode option to disable the use of APIC timers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-14 09:02:15 +00:00
Rene Gollent
b48e7fc842 Fix Device Kit build in debug mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-13 01:30:38 +00:00
Oliver Tappe
e0b7c61c46 Closing ticket #4465:
Net_server starts services by invoking fork() followed by exec(). If the latter
fails (for instance because the service isn't installed), the forked child is
invoking exit(). This in turn unloads libbe, triggering static cleanup code in 
BMessage, which deletes a couple of message ports that were inherited from the
parent during the fork. After that, net_server was desparately missing those
ports and no longer worked reliably.
* in InitTerminateLibBe, we now register an atfork-(child-)handler, which
  takes care to re-initialize the static reply ports used by BMessage code
* added BMessage::Private::StaticReInitForkedChild wrapper and 
  BMessage::_StaticReInitForkedChild() implementation which overwrites the
  inherited port IDs with a set of own ports


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-10 23:10:51 +00:00
Michael Lotz
0f4242de40 Implement a vm_block_address_range() function which creates an area with no
mapped pages and a non-read and non-write protection to block a certain address
range from being used by anything.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-10 01:40:46 +00:00
Jonas Sundström
70dc439139 Check return value also for B_ALREADY_RUNNING, or else we launch the add-on twice.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-09 01:29:45 +00:00
Rudolf Cornelissen
19a34ea09c added disabling of spread spectrum-ing DAC clocks on NV30 and later: my laptop display nolonger shivers on the secondary output. version is 1.03. +alphabranch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-06 14:42:11 +00:00
Rudolf Cornelissen
148077d71e the previous commit shifted the PLLsel problem from digitally connected screens to analog connected screens apparantly. That is now fixed and both should work OK. Bumped version to 1.01. +alphabranch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-06 10:20:42 +00:00
Stephan Aßmus
032631e54a Make the base class destructor of BCommandPipe::LineReader virtual, since
that will fix the problem fixed in r32926 for all derived classes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-06 09:53:28 +00:00