Commit Graph

1069 Commits

Author SHA1 Message Date
Ingo Weinhold df6a690eae Patch by Matt Madia: Use "set -o errexit" to error out when a command failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 02:39:03 +00:00
Rene Gollent bdf7d02094 Update the new mail notification add-on's name to match the sentence case changes. Should fix ticket #5257. MDR's account add-on chain format should probably be modified to not be so dependent on the actual name of the add-on as opposed to some alternate UID though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-17 19:18:31 +00:00
Oliver Ruiz Dorantes eb30e0668a Update bluetooth optional package
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-17 17:23:48 +00:00
Axel Dörfler 29ddbdbb53 * Moved the "var" directory to /boot/common/.
* Moved the "tmp" directory out of /var, and to /boot/common/cache/.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-16 17:17:07 +00:00
Axel Dörfler 0e403fd188 * Give the iprowifi3945 driver more exposure by adding it to the image by
default (it works for me).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-16 16:25:11 +00:00
Philippe Saint-Pierre 85b9f10561 Apply patch by mmadia to increase the image size to 650MB. Ticket #5255.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-16 01:10:32 +00:00
Joachim Seemer 61110dd09f Adjusted path to welcome page. Thanks Matt, for cleaning up after me. Fixes #5268.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-15 22:57:25 +00:00
Stephan Aßmus 9563f44bfd Patch by Humdinger:
Changed strings to sentence case in various places. This is the
case-misc.diff part of ticket #5169.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 10:49:58 +00:00
Colin Günther ae8d7c50e5 Patch by mmadia: Adding installoptionalpackage to HaikuImage. This is a
temporary solution as long as there is no package manager available. When
executing the script, it mentions this, too. This fixes #4680. Thank you.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 08:30:35 +00:00
Ingo Weinhold 4f7b2c67b0 * gcc 4 features built-ins for atomic operations. If the macro
B_USE_BUILTIN_ATOMIC_FUNCTIONS is defined most atomic_*() functions are
  redefined as macros using the built-ins directly.
* Enabled that feature for the x86 build. Might work on other platforms as
  well, but that needs to be tested.

No significant speedup for the -j8 Haiku image build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-11 21:38:07 +00:00
Ingo Weinhold 1a837b3910 Tell gcc to produce code for Pentium at least. Doesn't seem to make any
difference performancewise though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-11 21:12:37 +00:00
Ingo Weinhold 4eb548a8ae Removed useless assigning of the default values and use a switch for the
architectures.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-11 20:36:24 +00:00
Jérôme Duval c8eb5b0bdf * regenerate config.h as it seemed not the good one for diffutils
* added sdiff command to the build and the image


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-11 20:23:34 +00:00
François Revol f175afefc3 Use the amiga-specific checksum fixing tool when building the Amiga boot floppy image (not usable yet).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-11 00:17:10 +00:00
Ingo Weinhold 74887321dd Ignore the additional make flags when building gcc 2. Currently those are
only -jN and gcc's build system has problems with multiple jobs. It works
fine for binutils and gcc 4 though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-10 15:48:09 +00:00
François Revol e123e6d25d Add checkitout to the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 23:38:50 +00:00
Ingo Weinhold b01f92ebd1 Sorry, made up my mind: KDEBUG_LEVEL_2 it is for DEBUG_PAGE_ACCESS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 20:29:55 +00:00
Ingo Weinhold b5be9fe6ff Accidentally left DEBUG_PAGE_ACCESS in enabled state. Mmh, maybe it would be
a good idea to tie it to some KDEBUG_LEVEL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-08 20:24:01 +00:00
Ingo Weinhold 3cd2094396 * Added new debug feature (DEBUG_PAGE_ACCESS) to detect invalid concurrent
access to a vm_page. It is basically an atomically accessed thread ID field
  in the vm_page structure, which is explicitly set by macros marking the
  critical sections. As a first positive effect I had to review quite a bit of
  code and found several issues.
* Added several TODOs and comments. Some harmless ones, but also a few
  troublesome ones in vm.cpp regarding page unmapping.
* file_cache: PrecacheIO::Prepare()/read_into_cache: Removed superfluous
  vm_page_allocate_page() return value checks. It cannot fail anymore.
* Removed the heavily contended "pages" lock. We use different policies now:
  - sModifiedTemporaryPages is accessed atomically.
  - sPageDeficitLock and sFreePageCondition are protected by a new mutex.
  - The page queues have individual locks (mutexes).
  - Renamed set_page_state_nolock() to set_page_state(). Unless the caller says
    otherwise, it does now lock the affected pages queues itself. Also changed
    the return value to void -- we panic() anyway.
* set_page_state(): Add free/clear pages to the beginning of their respective
  queues as this is more cache-friendly.
* Pages with the states PAGE_STATE_WIRED or PAGE_STATE_UNUSED are no longer
  in any queue. They were in the "active" queue, but there's no good reason
  to have them there. In case we decide to let the page daemon work the queues
  (like FreeBSD) they would just be in the way.
* Pulled the common part of vm_page_allocate_page_run[_no_base]() into a helper
  function. Also fixed a bug I introduced previously: The functions must not
  vm_page_unreserve_pages() on success, since they remove the pages from the
  free/clear queue without decrementing sUnreservedFreePages.
* vm_page_set_state(): Changed return type to void. The function cannot really
  fail and no-one was checking it anyway.
* vm_page_free(), vm_page_set_state(): Added assertion: The page must not be
  free/clear before. This is implied by the policy that no-one is allowed to
  access free/clear pages without holding the respective queue's lock, which is
  not the case at this point. This found the bug fixed in r34912.
* vm_page_requeue(): Added general assertions. panic() when requeuing of
  free/clear pages is requested. Same reason as above.
* vm_clone_area(), B_FULL_LOCK case: Don't map busy pages. The implementation is
  still not correct, though.

My usual -j8 Haiku build test runs another 10% faster, now. The total kernel
time drops about 18%. As hoped the new locks have only a fraction of the old
"pages" lock contention. Other locks lead the "most wanted list" now.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-07 02:37:05 +00:00
Oliver Tappe 100418b654 * updated rsync optional package (now with xattr support)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-05 17:13:33 +00:00
Oliver Tappe fbb3d94f46 * handle the fact gracefully that some of our BuildSetup jam variables contain
'+' as part of their name, which is illegal for shell variables (where the
  corresponding replacement character is 'X'). 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-05 08:59:10 +00:00
Oliver Tappe 7c4641d0af * added --update option to configure which will re-run the last invocation
(--update must be given as first option, but can be followed by others)
* added simple perl scripts that is used by configure to convert BuildSetup
  from jam to shell format



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-04 19:36:58 +00:00
Ingo Weinhold 3e5498e4c9 Patch by Andreas Färber modified by myself:
* Determine HOST_LD and HOST_OBJCOPY in configure.
* Removed Solaris ld work-around in BuildSetup.

The change requires configure to be re-run. Alternatively HOST_{LD,OBJCOPY}
can be added to generated/build/BuildConfig.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-04 17:50:52 +00:00
Scott McCreary 056970a70d Created BasicCommandLineTools OptionalPackage group and moved sed from DevelopmentBase to the new group.
TODO: determine which other command line tools may also fit under this new group.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-04 15:45:20 +00:00
Oliver Tappe 82cbfd3573 first stab at fixing #5091:
* let BuildSetup set HAIKU_HOST_IS_BIG_ENDIAN according to HOST_GCC_MACHINE
* minor cleanup in BuildSetup
* when building ICU, set the endianness indicator suffix according to
  HAIKU_HOST_IS_BIG_ENDIAN

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-02 22:11:08 +00:00
Colin Günther 1e84402302 * Adjusting firmware path of Haiku's native Intel PRO/Wireless 2100 driver,
so that it can make use of the firmware installed by the OptionalPackage
  Wifi-ipw2100+fw.
* Updating OptionalPackages to use the latest Wifi-ipw2100+fw package.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-31 20:39:27 +00:00
Ingo Weinhold 448671a39c * Build library libroot_debug.so, which is the standard libroot.so with the
debug heap implementation.
* Added libroot_debug.so to the DevelopmentMin optional package. Since it has
  the same soname as the standard libroot, it can simply be specified in
  LD_PRELOAD to run a program with that version.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 00:13:17 +00:00
Ingo Weinhold c682a1937e SharedLibrary: The soname of the library can now be set explicitly by setting
the HAIKU_SONAME variable on the target.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 00:06:11 +00:00
Ingo Weinhold eb8dc1ebfb * Removed DEBUG_PAGE_CACHE_TRANSITIONS debugging.
* Added VMCache::MovePage() and MoveAllPages() to move pages between caches.
* VMAnonymousCache:
  - _MergeSwapPages(): Avoid doing anything, if neither cache has swapped out
    pages.
  - _MergeSwapPages() does now also remove source cache pages that are
    shadowed by consumer swap pages. This allows us to call _MergeSwapPages()
    before _MergePagesSmallerSource(), save the swap page shadowing check
    there and get rid of the vm_page::merge_swap flag. This is an
    optimization based on the assumption that usually none or only few pages
    are swapped out, so we save a lot of checks.
  - Implemented _MergePagesSmallerConsumer() as an alternative to
    _MergePagesSmallerSource(). The former is used when the source cache has
    more pages than the consumer cache. It iterates over the consumer cache's
    pages, moves them to the source and finally moves all pages back to the
    consumer. The final move is relatively cheap (though unfortunately we
    still have to update all pages' vm_page::cache field), so that overall we
    save iterations of the main loop with the more expensive checks.

The optimizations particularly improve the common fork()+exec*() situations.
fork() uses CoW, which is implemented by putting two new empty caches between
the to be copied area and its cache. exec*() destroys one copy of the area,
its cache and thus causes merging of the other new cache with the old cache.
Since this usually happens in a very short time, the old cache does still
contain many pages and the new cache only few. Previously the many pages were
all checked and moved individually. Now we do that for the few pages instead.

A very extreme example of this situation is the Haiku image build. jam has a
huge heap (> 200 MB) and it fork()s+exec*()s for every action to be executed.
Since during the cache merging the cache is locked, any write access to a
heap page causes jam to block until the cache merging is done. Formerly that
took so long that it killed a lot of parallelism in multi-job builds. That
could be observed particularly well when lots of small actions where executed
(like the Link, XRes, Mimeset, SetType, SetVersion combos when building
executables/libraries/add-ons). Those look dramatically better now.
The overall speed improvement for a -j8 image build on my machine is only
about 15%, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 16:14:13 +00:00
Scott McCreary cd9c31cc1a added sed to DevelopmentBase, seemed to be the place it best fit in.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 08:58:50 +00:00
Scott McCreary 96b1978dc5 Updated neon to 0.29.1 and fixed symlinks in bzip2 package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 03:30:44 +00:00
Colin Günther aa50f74f12 Adding patch by mmadia, which allows installation of firmware for the
Intel Pro Wireless 2100 and 2200/2945 chipsets in a license correct manner.
Thank you!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 00:13:08 +00:00
Scott McCreary 579f5ff88f Updated automake to 1.11.1
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-23 16:43:51 +00:00
Ingo Weinhold a38f850360 * arch_debug_get_stack_trace():
- Replaced the "userOnly" parameter by a "flags" parameter, that allows to
    specify kernel and userland stack traces individually.
  - x86, m68k: Don't always skip the first frame as that prevents the caller
    from being able to record its own address.
* capture_tracing_stack_trace(): Replaced the "userOnly" parameter by
  "kernelOnly", since one is probably always interested in the kernel stack
  trace, but might not want the userland stack trace.
* Added stack trace support for VM cache kernel tracing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 15:15:07 +00:00
Ingo Weinhold 42f2c2d099 Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 15:02:35 +00:00
Adrien Destugues c48d1db6ff Disable catalogs for appearance until someone finds why the en.catkeys doesn't get built.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 11:36:40 +00:00
Adrien Destugues 9c1a9b926a * Patch by Humdinger to convert a lot of things to sentance case.
* Cleanup and update of all the touched catkeys files


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-21 12:51:41 +00:00
Ingo Weinhold 1b6f98637b Patch by Andreas Färber: Fix mixup of GNU and Sun linker on OpenSolaris.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 16:46:27 +00:00
Ingo Weinhold 0b58d8440c * Prefixed the INCLUDE_GPL_ADDONS variable by "HAIKU_". configure needs to
be run again or generated/build/BuildConfig needs to be adjusted manually.
* Removed bochs debug hack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:55:45 +00:00
Ingo Weinhold adf0692b51 * Removed the DEBUG_PRINTF variable support.
* Simplified the HAIKU_INCLUDE_PATENTED_CODE variable support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:40:12 +00:00
Ingo Weinhold e001389fc7 Added shared headers to HAIKU_PRIVATE_KERNEL_HEADERS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-19 14:23:44 +00:00
François Revol 5a19f90372 Add link to User Guide to the Desktop. Fixes #4537.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-18 22:43:07 +00:00
Stephan Aßmus 53ed733a36 Patch by Humdinger:
Renamed OpenTerminal to Open Terminal, since it sounds much more like a phrase
than a label for an add-on. Fixes #4434.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 20:46:49 +00:00
Siarzhuk Zharski 97df980335 Add vt612x NIC driver (VIA VT6122) into trunk HaikuImage.
This driver was confirmed as working stable for a week by Algirdas Buckus.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 20:25:07 +00:00
Colin Günther 89ee864a4c Renamed atheros wlan driver to atheroswifi. This makes it easier to tell apart
the lan atheros813x and the wlan atheros driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-10 20:21:43 +00:00
François Revol 4dc69971bc Force 64bit for i686-apple-darwin10 (OSX), since it seems to fool everyone about it being still 32bit (well the kernel maybe but not the rest). This makes the build go further along on OSX 10.6.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 14:22:44 +00:00
Ingo Weinhold fc7864091e Attempt at allowing to use C++ structures in C only code: We use the
CreateAsmStructOffsetsHeader mechanism to generate a header with macros
defined to the sizes of the structures we're interested in and when compiling
in C mode define the structures as "struct { char bytes[size]; }".
It works in principle, but due to how jam works, one would have to specify the
dependency to the generated header for all sources that include it directly or
indirectly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-02 10:56:10 +00:00
Ingo Weinhold ba829ba0f9 Adjusted gcc2 work-around to renamed file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 17:07:10 +00:00
Rene Gollent bef04468c3 Add missing optional package dependency between Curl and OpenSSL as pointed out by Adrian Panasiuk. Resolves ticket #5059.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 23:43:39 +00:00
Colin Günther 048efdbc0a Including atheros wlan driver and atheros813x ethernet driver into the build
images. The atheros wlan driver isn't included in the NetBootArchive, because
you can't tell the driver, which wlan it should connect to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 11:42:19 +00:00