Commit Graph

5421 Commits

Author SHA1 Message Date
Ingo Weinhold
2222d0559d * Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
  abstraction by defining types and macros that allow the posix/ and os/
  headers to be mostly architecture/compiler agnostic. 
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
  and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
  types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
  macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
  unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
  defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 19:44:07 +00:00
Ingo Weinhold
b5a20f9d11 Removed headers and sources not needed for build platform version for libbe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 18:59:40 +00:00
Ingo Weinhold
a85cf9d793 * configure: Pass gcc's host machine string to the jam build system.
* BuildSetup: Set jam variable HOST_PLATFORM_IS_64_BIT and add host define
  HAIKU_HOST_PLATFORM_64_BIT if the host platform is 64 bit. Removed the
  check from BeOSBuildCompatibility.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 18:57:49 +00:00
Axel Dörfler
15fe75b9a0 * Added a protocol version field to AS_GET_DESKTOP. This should be bumped after
incompatible releases, and makes sure clients using the old libbe.so will be
  rejected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 17:22:44 +00:00
Axel Dörfler
5472c0c23e * The VESA driver now tries to find the PCI card that it is controlling by
checking the physical frame buffer location.
* This allows us to map the whole frame buffer at once, which means there is no
  need anymore to remap the memory on mode change.
* Also, this will ease the burden of the MTRRs, as the memory size will be
  properly aligned.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 15:26:52 +00:00
Clemens Zeidler
d503f2628b Forget ACPI.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-23 21:31:18 +00:00
Ingo Weinhold
bb163c0289 * Added a set_mtrrs() hook to x86_cpu_module_info, which is supposed to set
all MTRRs at once.
* Added a respective x86_set_mtrrs() kernel function.
* x86 CPU module:
  - Implemented the new hook.
  - Prefixed most debug output with the CPU index. Otherwise it gets quite
    confusing with multiple CPUs.
  - generic_init_mtrrs(): No longer clear all MTRRs, if they are already
    enabled. This lets us benefit from the BIOS's setup until we install our
    own -- otherwise with caching disabled things are *really* slow.
* arch_vm.cpp: Completely rewrote the MTRR handling as the old one was not
  only slow (O(2^n)), but also broken (resulting in incorrect setups (e.g.
  with cachable ranges larger than requested)), and not working by design for
  certain cases (subtractive setups intersecting ranges added later).
  Now we maintain an array with the successfully set ranges. When a new range
  is added, we recompute the complete MTRR setup as we need to. The new
  algorithm analyzing the ranges has linear complexity and also handles range
  base addresses with an alignment not matching the range size (e.g. a range
  at address 0x1000 with size 0x2000) and joining of adjacent/overlapping
  ranges of the same type.

This fixes the slow graphics on my 4 GB machine (though unfortunately the
8 MTRRs aren't enough to fully cover the complete frame buffer (about 35
pixel lines remain uncachable), but that can't be helped without rounding up
the frame buffer size, for which we don't have enough information). It might
also fix #1823.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-23 15:06:08 +00:00
Jérôme Duval
2795d5dca5 Play startup sound after the first defaults rescan is done. This fixed #1902.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-22 16:26:12 +00:00
Jérôme Duval
b7b67e723a correctly ordered
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-21 15:26:19 +00:00
Jérôme Duval
8684e35ad7 added wcsdup to wchar.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-21 08:39:38 +00:00
Ingo Weinhold
4d7a736bbf Some more style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-20 13:57:20 +00:00
Ingo Weinhold
0d1fab522b * Added flag KMESSAGE_CLONE_BUFFER, which will cause buffer passed to SetTo()
to be cloned.
* Added "flags" parameter to the SetTo(const void*,...) version.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-20 13:52:23 +00:00
Ingo Weinhold
395fb0895f Style cleanup. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-20 11:04:12 +00:00
Ingo Weinhold
c77f643a2b Added support for in-kernel node monitoring ({add,remove}_node_listener()).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-20 07:59:09 +00:00
Ingo Weinhold
9837ec16c8 Fixed spelling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-20 07:10:23 +00:00
Ingo Weinhold
f0a0bca5bb Should have been part of r34137. Request definitions for the new I/O request
functionality.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-19 16:33:52 +00:00
Ingo Weinhold
1ca0b78f54 Extended the public I/O request C API.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-19 07:38:33 +00:00
Axel Dörfler
09749e95dc * Added a BWindow::InViewTransaction() that determines whether or not the
window is currently updating its drawings as suggested by Stippi.
* Add this method to decide whether to call _FontChanged() in
  BListView::SetFont().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 10:48:44 +00:00
Stephan Aßmus
d0f1a68746 Added method BlockSize() to get the block size of the underlying file system.
Untested but with good chances to actually work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 09:47:42 +00:00
Bruno G. Albuquerque
7d911b2ad9 - Coding style fixes. Thanks Axel for the heads up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 16:13:00 +00:00
Bruno G. Albuquerque
ada17216f9 - Added wait3() and wait4() to the bsd compatibility library.
- Untested, but should work (will test it when I get home later today).
- This is my first attempt at adding something for compatibility reasons. Let
  me know if something in wrong.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-17 15:53:17 +00:00
Rene Gollent
f4dc59983b Partially implement ticket #4916:
- Rename "Configure Favorites..." to "Edit Favorites...".
	- Remove the old-style Configure Favorites dialog in favor of simply
	  opening the favorites folder (~/config/settings/Tracker/go) in a
	  Tracker window for the user to manipulate.
	- Rename the "Favorite Folders" section to simply "Favorites" as files
 	  are also allowed (i.e. to easily open a template document).
 	- Removed completely arbitrary (and silent) 20 item limit to favorites
 	  list.
 	- Automatic whitespace cleanup
Still to do: Grab the ref filter from the file panel (if any) and run the
favorites through it as well, since we want to filter out any non-folder
favorites that the app is incapable of handling. Also, the setting for
the favorites menu to show recent documents needs a new home, as it was
previously in the no longer existing Configure Favorites window. Suggestions
welcome, as I'm not currently seeing a spot in the Tracker prefs that would
make good sense.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 01:07:40 +00:00
Oliver Ruiz Dorantes
b2ebb71755 File not yet ready, revert
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-13 22:09:00 +00:00
Oliver Ruiz Dorantes
02d67528b5 Add class to handle all code values to be sent in the ports
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-13 22:03:33 +00:00
Ingo Weinhold
050aa61bd6 Implemented a tool ("package") that implements creation and extraction of
packages of the newly invented Haiku Package format
(http://dev.haiku-os.org/wiki/PackageFormat). It basically works, but it's
still work in progress (e.g. compression is not implemented yet), as is the
format itself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-13 13:45:49 +00:00
Jérôme Duval
ce80623dff added some definitions in termios.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-12 23:49:58 +00:00
Ingo Weinhold
6c00aabc9e Implemented POSIX.1-2008 functions unlinkat(), symlinkat(), mkdirat(),
utimensat(), and futimens().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-12 19:14:42 +00:00
Axel Dörfler
e629da4a47 * Changed parameter back to socklen_t (which follows POSIX, but not RFC 2553;
obviously POSIX got it wrong, as socklen_t hardly makes sense here).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-11 17:03:34 +00:00
Axel Dörfler
119371a51e * Rewrote arpa/inet.h header, also dropping the __inet* defines.
* Resurrected the __inet* prefix for binary compatibility with older Haiku
  versions - this could be a temporary solution in case we want to export the
  inet_* functions not just as weak symbols. In that case, the __inet* versions
  would be dropped.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-11 14:28:18 +00:00
Axel Dörfler
338cf53758 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-11 14:26:11 +00:00
Axel Dörfler
8e4966ebca * Applied patch by Adrian to fix the command structures used for the media
server with GCC4 in a GCC2 system (and vice versa). See #4920 which this
  patch closes, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-11 09:16:32 +00:00
Ingo Weinhold
db2b554fa3 Moved the POSIX *at() functions and AT_* macros out of the default namespace
as long as the full set hasn't been implemented. They are guarded by the
B_ENABLE_INCOMPLETE_POSIX_AT_SUPPORT macro until then. Fixes the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 17:12:03 +00:00
Axel Dörfler
b299a6e9d3 * Moved resolv.conf to /boot/common/settings/network/.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 16:42:03 +00:00
Ingo Weinhold
a6147679a3 Added AT_SYMLINK_[NO]FOLLOW constants and fstatat(). Fixes the findutils
gnulib build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 14:51:25 +00:00
Axel Dörfler
492dd892ce * Removed /system/etc directory.
* /etc now points to /boot/common/etc/, and the remaining contents of the former
  "etc" are put there now, as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 14:26:42 +00:00
Axel Dörfler
f9a80fec95 * LocaleRoster.h was not self-containing.
* Moved the locale stuff to the data directory as well (some parts were in /etc).
* The DefaultCatalog will now also scan the user directory for catalogs.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 13:44:22 +00:00
Ingo Weinhold
b189a2014e Added readlinkat().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 11:24:46 +00:00
Ingo Weinhold
098906f1d4 * src/system/libroot/posix: Moved open.c and fcntl.c out of the unistd
directory, where they were misplaced, and joined them to fcntl.cpp.
* Added openat().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 11:15:35 +00:00
Ingo Weinhold
9e81ddee87 * Fixed fdopendir(): We have to explicitly (re-)open the directory, because FDs
returned by open() aren't suitable for directory iteration and because checks
  have to be performed (like whether this is a directory at all and whether the
  user has read permission).
* Added __create_dir_struct() for the attribute, index, and query open
  functions to use instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 10:55:43 +00:00
Axel Dörfler
d6ac23c010 * Moved the location of the "hosts" file to
B_COMMON_SETTINGS_DIRECTORY/network/hosts.
* Moved the location of the "services" file to
  B_COMMON_DATA_DIRECTORY/network/services.
* Removed headers I forgot to remove.
* Made getnameinfo() use socklen_t internally as well.
* Removed _PATH_* constants from netdb.h that we don't deliver anymore.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 10:13:19 +00:00
Axel Dörfler
4bd3cce627 * Ported libbind-6.0 to Haiku, and into our libnetwork.so.
* Got rid of the TLS/multi-thread hacks of the previous port.
* Took over irs/lcl_sv.cpp, and irs/lcl_ho.c, and irs/lcl_pr.c from the previous
  version as they contain customizations.
* Removed unused files from libbind.
* Only barely tested, so beware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-09 22:18:34 +00:00
Axel Dörfler
ecf6b86c92 * The pthread_thread structure is now allocated for all threads.
* Therefore, all pthread functions should now work fine on all threads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-09 21:33:35 +00:00
Axel Dörfler
c73ea8216d * Removed superfluous wcstoul() version pointed out by Scott.
* Removed superfluous "int" before wcstol().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-09 08:43:32 +00:00
Jérôme Duval
35e2c7ab62 updated libpng to 1.2.40
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-08 23:30:28 +00:00
Axel Dörfler
6242fd5977 * Added the possibility to debug latency issues with spinlocks.
* When DEBUG_SPINLOCK_LATENCIES is 1, the system will panic if any spinlock is
  held longer than DEBUG_LATENCY micro seconds (currently 200). If your system
  doesn't boot anymore, a new safemode setting can disable the panic.
* Besides some problems during boot when the MTRRs are set up, 200 usecs work
  fine here if all debug output is turned off (the output stuff is definitely
  problematic, though I don't have a good idea on how to improve upon it a lot).
* Renamed the formerly BeOS compatible safemode settings to look better; there
  is no need to be compatible there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-08 20:26:48 +00:00
Axel Dörfler
01ce3f26d2 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-08 17:31:39 +00:00
Ingo Weinhold
d0b21f13dd Removed obsolete comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-07 08:20:00 +00:00
Ingo Weinhold
9c7b2520c2 Added get_pthread_thread_id() function returning the Haiku thread_id of a
pthread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-07 08:19:24 +00:00
Axel Dörfler
5569f33367 * Someone obviously forgot to check in some header changes. Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-06 15:32:55 +00:00
Ingo Weinhold
be350af3d9 Added methods AddToMessage() and SetFromMessage() to add the value of the
variant as a field to a message, respectively initialize the variant from
one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-05 17:24:58 +00:00