Commit Graph

6626 Commits

Author SHA1 Message Date
Ingo Weinhold
54e721afeb Add support for bind-mounting directories
* Add support function vfs_get_mount_point(), so a file system can get
  its own mount point (i.e. the node it covers). Re-added
  fs_mount::covers_vnode for that purpose -- the root node isn't know to
  the VFS before the mount() hook returns.
* Add function vfs_bind_mount_directory() which bind-mounts a directory
  to another. The Vnode::covers/covered_by mechanism is used, so this
  isn't true bind-mounting, but sufficient for what we need ATM and
  cheaper as well. The vnodes connected thus aren't tracked yet, which
  is needed for undoing the connection when unmounting.
* get_vnode_name(): Don't use dir_read() to read the directory. Since we
  have already resolved vnode to the covered vnode, we don't want the
  dirents to be "fixed" to refer to the covering nodes. Such a vnode
  simply wouldn't be found.
2011-11-25 06:17:44 +01:00
Ingo Weinhold
f4a1387cea Add vfs_ prefix to resolve_vnode_to_covering_vnode() 2011-11-25 06:17:44 +01:00
Ingo Weinhold
47ea54c55b Generalize use of Vnode::covered_by/covers
* Introduce Vnode flags for covered and covering. Can be used as a quick
  check when one doesn't already hold sVnodeLock.
* Rename resolve_mount_point_to_volume_root() to
  resolve_vnode_to_covering_vnode().
* Adjust all code that deals with transitions between mount points and
  volume root vnodes to generally support covered/covering vnodes.
2011-11-25 06:17:43 +01:00
Ingo Weinhold
7ed37afaba Build libpackage for the build platform 2011-11-25 06:17:34 +01:00
Ingo Weinhold
c4b463c5cd Added several APIs to libbe_build/libshared_build 2011-11-25 06:17:33 +01:00
Ingo Weinhold
dff6f3c1ca Updated to current Haiku version 2011-11-25 06:17:32 +01:00
Ingo Weinhold
38b54295ff Added missing <StorageDefs.h> include. 2011-11-25 06:17:28 +01:00
Ingo Weinhold
287243ab5f Added very simple BLooper class to libbe_build. 2011-11-25 06:17:27 +01:00
Oliver Tappe
323b65468e Filtered flat import of Oliver's svn package management branch
Bring the changes that aren't package management related and the ones
that are but don't take effect as long as they are ignored by the build
system into the master.

Summary of changes:
* Introduce private header <directories.h> with constants for a good
  deal of paths that should usually be retrieved via find_directory().
* Replace hard-coded paths by using find_directory() or the
  <directories.h> constants (e.g. in drivers and the kernel).
* Add find_directory() constants needed for package management.
* Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros.
* src/apps/deskbar: BeMenu.* -> DeskbarMenu.*,
  DeskBarUtils.* -> DeskbarUtils.*
* Change deskbar menu settings directory from ~/config/be to
  ~/config/settings/deskbar.
* Other smaller cleanups, changes, and fixes.
2011-11-25 06:17:07 +01:00
Alexander von Gluck IV
cb050a33be Add support for thermal status queries on newer chipsets
* add temperature query support for Juniper, Sumo, Evergreen, and North Islands
* add missing thermal defines for evergreen cards
* northern island cards use the evergreen thermal calculations
2011-11-24 19:42:45 -06:00
Oliver Tappe
ae90193596 Introduce __set_errno() throughout libroot.
* add errno_private.h, which defines the __set_errno() macro with
  and without tracing
* instead of setting errno manually, all libroot's code now invokes
  __set_errno(), which makes it much easier to trace changes to errno
* redirect glibc's use of __set_errno() to our own version
2011-11-24 23:48:18 +01:00
Oliver Tappe
1f84898190 Let ErrnoMaintainer restore errno unconditionally.
* we never want to let ICU calls change the errno at all, so we always
  restore it to the value it had before entering ICU (not just if it
  was 0)
2011-11-24 23:48:18 +01:00
Oliver Tappe
c894d1868e Bring rewritten multibyte-support into repository.
* update copyrights of locale backend files

Multibyte-support has been rewritten to use ICU as backend.
While this does not necessarily work properly in every aspect
(e.g. the shell still has [different] problems with multibyte-
characters now), it does fix #6263 and #7700.
2011-11-23 19:55:34 +01:00
Oliver Tappe
cc5eca7554 Activate our new multibyte implementation.
* add implementations for the following multibyte-related
  functions:
    btwoc()
    mblen()
    mbrlen()
    mbrtowc()
    mbsinit()
    mbtowc()
    wcrtomb()
    wcswidth()
    wctob()
    wctomb()
* the implementation of the above function live in a symbol
  named __<name>, the above symbol names are defined as a weak
  alias to the internal ones - TODO: we need to make sure to
  only invoked the internal functions (i.e. prepended with __)
  in order to avoid problems with symbol preemption.
* deactivate the limited mb implementation we provided before,
  as well as respective stuff from glibc
2011-11-22 18:31:27 +01:00
Oliver Tappe
32a04e8721 Formatting cleanup of B_DEFINE_WEAK_ALIAS macro.
* This doesn't necessarily belong here, but we're going to make use
  of it in the next changeset. Additionally, this change to BeBuild.h
  will trigger a rebuild of nearly all files, and applying it during
  the multibyte-related work will skip another full rebuild ...
2011-11-22 18:19:28 +01:00
Oliver Tappe
28ae43d033 Add multibyte-support to ctype-locale backend.
* add actual converter methods MultibyteToWchar() and WcharToMultibyte()
  to locale backend and implement them in the ctype subpart
* add management code for maintaining converters referenced by mbstate_t
2011-11-22 18:17:58 +01:00
Oliver Tappe
0f21cf0ca0 Define MB_LEN_MAX to 16.
* we follow glibc's example and allow 16 bytes as maximum multibyte
  character length (ICU's data currently shows an actual maximum
  of 8 bytes)
2011-11-22 17:40:45 +01:00
Oliver Tappe
e0eb1d38c4 Let MB_CUR_LEN lookup the actual value.
* instead of yielding 1, MB_CUR_LEN now looks up the correct
  value in the ctype data provided by the locale backend
2011-11-22 17:32:39 +01:00
Oliver Tappe
fa02fc6907 Adjust mbstate_t to what we need.
* we maintain the character count and the ID of the corresponding
  ICU converter in mbstate_t
2011-11-22 17:23:04 +01:00
Oliver Tappe
bf5ff48092 Use TLS and converter manager in locale backend. 2011-11-22 17:17:18 +01:00
Oliver Tappe
bcadc4ca66 Start work on multibyte-support in locale backend.
* add ICUThreadLocaleStorageValue, which will be used to maintain
  per-thread ICU converters
* add ICUConverterManager
2011-11-22 16:55:39 +01:00
Axel Dörfler
362ae0a27e Added unimplemented copy constructor. 2011-11-21 23:57:19 +01:00
Axel Dörfler
29e07dd0eb Added a buffered DataIO subclass.
* Only the read path is tested so far.
2011-11-21 23:55:13 +01:00
Alexander von Gluck IV
0cd972316d Add first hints of thermal monitoring on radeon cards
* add a few missing/needed header defines
* show GPU temp in millidegrees C on r600/r700
* evergreen+ support soon
* function may be moved to driver long term once testing done
2011-11-21 17:54:27 -06:00
Axel Dörfler
0e478f5aec Added experimental version of a Socket API with SSL support.
* Each class has a Socket() method to retrieve the underlaying file descriptor
  to be able to do the more advanced stuff, if necessary.
* A server socket is yet missing, but the rest is pretty much covered.
2011-11-21 22:07:52 +01:00
François Revol
e3591817b3 ARM: move kernel calling code to arch specific file
* needs some more cleanup.
* had to change gUBootOS to 32bit to avoid a linker bug.
2011-11-21 01:22:32 +01:00
Rene Gollent
7b27c8fc41 Adjust method naming. 2011-11-17 09:12:47 -05:00
Rene Gollent
6beb27d4a1 Add {Get,Set}ItemVisible() accessors and setters. 2011-11-16 22:19:02 -05:00
Rene Gollent
6d16dcfa0c Add GetCollapsible() accessor to BSplitView/Layout. 2011-11-16 21:43:35 -05:00
François Revol
478dc9887e PPC: Preliminary untested boot support for Common Firmware Environment
CFE is used in the upcoming Amiga X-1000 dualcore PPC board.
* Largely inspired by the OF and U-Boot code.
* Still largely stubbed out.
* The loader builds but I don't have a machine to test it. Anyone interested?
2011-11-14 01:31:50 +01:00
Michael Lotz
2cdd33d4ff Add an assert to ensure the wired count doesn't wrap. 2011-11-13 22:02:36 +01:00
John Scipione
3b1791fa15 80 char limit fix. 2011-11-13 15:47:27 -05:00
John Scipione
30d17caa9d Added support for colored window tabs in the default decorator. 2011-11-13 14:58:21 -05:00
Siarzhuk Zharski
f37821851e Refactoring of 8-bit encodings support.
* Fixed issue introduced in hrev38139: restoring from the line
  drawing table was hard-coded to UTF8 Ground table. That is wrong:
  the table for currently configured encoding must be set back.
  Please look on using of _GuessGroundTable() for details;

* Fixed issue introduced in hrev34894: the semantic of convert_xx_utf8
  functions requires the destination length to be set equal to the
  target buffer size. Pre-hrev34894 usage of "homebrew" conversion
  functions was a bit different - destination length was set to 0.
  This made any converstions of input data useless and produce no
  visual results;

* Private list of supported encodings (Encoding.cpp) was replaced by
  using BPrivate::BCharacterSetRoster functionality. That allows to
  use centralized info about encodings in unified with other
  applications (Mail & StyledEdit for example) way. Most of currently
  enumerated in UTF8.h encodings now available in Terminal.
  Note that UCS-2 and UTF-16 are temporary (???) excluded from the
  list of encodings supported by Terminal.

* The B_UTF16_CONVERSION was added in system-wide UTF8.h declarations.
  This character set is available for enumerating by BCharacterSetRoster
  but not listed in public API. Looks like it was just missed;

* Special note about "Text Encoding" entry in Preference File:
  So known "shortname" of encoding was used in the preferences file.
  For details look on the encodings list in previous version of
  Encoding.cpp. As result of migrating to BCharacterSet-provided
  resources this list was deleted and is not available anymore.
  Instead of it the IANA name of the character encoding targeted
  to be used for this purposes. Frankly speaking this part looks
  like not working at the moment. The value of text encoding is
  hardcoded to "UTF-8" now and is not affected by any operations
  in Terminal menu. Note that "shortname" for default encoding
  was "UTF8" but the saved value is "UTF-8" - and they are looking
  not dependent at all. So this change should not introduce any
  kind of backward incompatibility.
2011-11-13 13:17:38 +01:00
Alexander von Gluck IV
207794909d Merge branch 'master' of ssh://git.haiku-os.org/haiku 2011-11-12 11:42:19 -06:00
Alexander von Gluck IV
0188ca92a5 First attempt at older Radeon card support
* add missing chipset ranges
* add a few more older (X1200) PCI ID's (mostly IGP)
* add code to detect and set frame buffer size on old chipsets
* we get to the connector detection currently and fail due to the
  lack of legacy support on my X1200 IGP
2011-11-12 11:41:31 -06:00
Ingo Weinhold
1c2d7d3a86 Fixed x86_64 handling by the build system.
* Map build variables HOST_CPU and HOST_ARCH to x86_64, if it they are
* x86 and
  64 bit and define the __x86_64__ C macro instead of __INTEL__ in that
case.
* <OS.h>: Also handle __x86_64__.
2011-11-12 15:40:16 +01:00
Alexander von Gluck IV
359b926f79 * style cleanup of shared storage names
* return better data on card 
* display chipset flags in screen preflet


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-08 19:50:07 +00:00
Alexander von Gluck IV
76a3e009dd * add lots of missing evergreen defines
* evergreen headers are split due to different
  header copyrights
* detect and set up evergreen memory controler
* change the way we manage radeon chipsets to
  more closely match drm driver as the chipset
  model numbers aren't in order and change from
  numbers to names.
* check for evergreen when populating frame buffer
  information.
* style cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-08 17:17:43 +00:00
Adrien Destugues
98f88d29c4 Avoid warning for unused parameters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-07 21:31:17 +00:00
John Scipione
8abe72fb66 Changes the menu key bitmap from CTL to CTRL and SHFT to SHIFT.
This is coming from but does not close #7967

Adds a new (currently unused) Menu key bitmap.

Instead of having a single AltAsCommandKey() method the menus now
show the correct bitmap when you switch between your control,
windows/option, and alt/command keys. This is really not flushed
out yet since it only works when you switch those keys and not
other combinations like say switching the control and caps lock
keys but it is a step in the right direction.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-07 01:46:42 +00:00
Axel Dörfler
c80c50772e * Coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-06 08:23:41 +00:00
Michael Lotz
90c6930ebb Add VM page allocation tracking similar to what happens in the slab already.
Introduces "page_allocation_infos" and "page_allocations_per_caller" KDL
commands.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-04 18:07:07 +00:00
Michael Lotz
75088a863b Move AllocationTrackingInfo into a header. This way it can be re-used outside
of the slab code. It is generic as it only contains the link to a tracing entry
and not any application specific info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-04 18:03:34 +00:00
Adrien Destugues
ba5e652d79 Set of patches by Pete Goodeve to imrpove the handling of audio latency.
Closes #7285.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 14:26:03 +00:00
Adrien Destugues
e9834f35e7 * revert '43157 as the files are actually needed. I still don't understand how I managed to build everything without them ...
* Move the files shared between server and preflet to the server folder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 12:49:18 +00:00
Adrien Destugues
8f1b66b114 Turns out the "notification kit" was not actually used anywhere. So, remove it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 12:18:19 +00:00
François Revol
f239fdf6b8 Some more 68k mmu definitions I forgot to commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 01:05:54 +00:00
Axel Dörfler
214853702f * Put ServerConnection into the BPrivate namespace as it should have been.
* Fixed completely broken error reporting; Write()/Read() will now return the
  proper error code (and ssize_t instead of int32).
* Reimplemented WaitForData() using poll() which is more efficient.
* Now uses BNetworkAddress to resolve the server address which also should now
  work with IPv6.
* Removed some unused headers.
* Minor coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 22:56:50 +00:00
François Revol
afa453ee2a Make the page table types scalar, to make them simpler to use with atomic ops, and define the corresponding bitmasks.
While structs looked cleaner at first sight, it didn't really was any simpler.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-02 22:56:20 +00:00