Commit Graph

40001 Commits

Author SHA1 Message Date
Ingo Weinhold
533833f646 Add kernel args boot volume "packaged" flag
* Add BOOT_VOLUME_PACKAGED boot volume message field name constant.
* register_boot_file_system():
  - Now takes a BootVolume& parameter.
  - If the boot volume is packaged, add that info to the boot volume
    message.
2011-07-17 16:54:15 +02:00
Ingo Weinhold
cbc85916fb Add boot loader packagefs support
* Add pread().
* Add Node::ReadLink() to read a symbolic link path.
* Add Directory::LookupDontTraverse() and make Lookup() non-abstract.
  Lookup() is implemented via LookupDontTraverse() and Node::ReadLink().
* Adjust all FS implementations accordingly.
* Add a packagefs implementation. Unlike other FS implementations it
  isn't a pseudo-module, but provides a function to explicitly mount a
  package file (packagefs_mount_file()).
* Finish BootVolume::SetTo() implementation, mounting the package file
  and replacing fSystemDirectory.

Now the boot loader can load the kernel and boot modules from a packaged
system. The kernel boots up to the point where the boot volume is
mounted.
2011-07-17 16:54:15 +02:00
Ingo Weinhold
3057223796 Add BReferenceable to boot loader
Also force include kernel_cpp.h, so it doesn't have to be included in
every file (still is included in most, though).
2011-07-17 16:54:15 +02:00
Ingo Weinhold
b232be5a47 Boot loader build: add strerror,...
* Don't link against libsupc++ anymore. We use kernel_cpp.* instead.
* Link twice against boot_loader.a, so undefined symbols in FSs are
  resolved.
2011-07-17 16:54:15 +02:00
Ingo Weinhold
2ef572b8fe ReaderImplBase::ParseStrings(): Avoid new[0] 2011-07-17 16:54:14 +02:00
Ingo Weinhold
9a8c1339ce Split package kit DataReader.cpp
Pull AttributeDataReader and FDDataReader implementations out of
DataReader.cpp into own source files. Thus we can avoid dependencies
(e.g. to fs_attr code) we don't need/want.
2011-07-17 16:54:14 +02:00
Ingo Weinhold
abc3c57ba6 KernelLd rule: opt-out linking against libsupc++
Introduced HAIKU_NO_LIBSUPC++ variable on target to prevent linking
against libsupc++.
2011-07-17 16:54:14 +02:00
Ingo Weinhold
898396ef61 Increase boot loader heap size
We need more for packagefs support.
2011-07-17 16:54:14 +02:00
Ingo Weinhold
8f583b2771 Build fix 2011-07-17 16:54:13 +02:00
Ingo Weinhold
d11ea2b5ed Introduce BootVolume abstraction class
BootVolume is initialized from a root directory of a volume. It finds
the system directory, and -- not implemented yet -- mounts the system
package, if the system is packaged, replacing the system directory with
it. Adjusted several functionality (main(), the loader functions,
user_menu()) to use BootVolume instead of the root directory.
2011-07-17 16:54:13 +02:00
Ingo Weinhold
624b7c8958 Add system package to image 2011-07-17 16:54:13 +02:00
Ingo Weinhold
2bda1e84fe Package rule: introduce current package notion
The HaikuPackage rule now sets the variable
HAIKU_CURRENTLY_BUILT_HAIKU_PACKAGE to the given package and all
*ToPackage rules use that instead of a parameter. This saves passing the
package in each of those rule invocations.
2011-07-17 16:54:13 +02:00
Ingo Weinhold
dcdeed6176 AddDirectoryTo{HaikuImage,...} refactoring
Move common code from AddDirectoryToHaikuImage/AddDirectoryToPackage to
AddDirectoryToContainer. AddDirectoryToPackage was incorrect, using an
incorrect search directory for the attribute files.
2011-07-17 16:54:12 +02:00
Ingo Weinhold
d1f40ef636 HaikuPackages: Remove the "system" path component 2011-07-17 16:54:12 +02:00
Ingo Weinhold
93211f331f PackageWriterImpl: Build platform symlink issues
On a non-Haiku build platform map openat(), fstat(), and
FileDescriptorCloser to _kern_open(), _kern_read_stat(), and
BuildFileDescriptorCloser respectively, so symlinks can be opened and
stat()ed.
2011-07-17 16:54:12 +02:00
Ingo Weinhold
355b8ba755 Build a system Haiku package
* Create rules (build/jam/PackageRules) and a script,
  build_haiku_package, to build hpkg files.
* Move all rule invocations that copy files and created symlinks and
  directories in the "system" directory from HaikuImage to
  HaikuPackages, which creates a package "haiku.hpkg".
* build_haiku_image: Comment out adding the copyrights info to
  AboutSystem for the moment.
2011-07-17 16:54:11 +02:00
Ingo Weinhold
9e3bdfb0ef Generalize some image rules
Pulled generalized *ToContainer versions out of several *ToHaikuImage
rules.
2011-07-17 16:54:11 +02:00
Ingo Weinhold
e272fb5dec <build>package: attribute iteration, license dir
PackageWriterImpl:
* Iterate through attributes using fs_read_attr_dir() instead of
  readdir(). Makes it work correctly on the build platform.
* On the build platform look up the system licenses in their source
  directory rather than based on find_directory().
2011-07-17 16:54:11 +02:00
Ingo Weinhold
abd5edcb5f libroot_build: fix error.ccp build
Since USES_BE_API is set by default on all libroot_build sources, the
error.cpp
was broken, since it wouldn't be exempt from the error mapping. Define
the
BUILDING_HAIKU_ERROR_MAPPER for it directly in the Jamfile, now.
2011-07-17 16:54:11 +02:00
Ingo Weinhold
a1cada9784 Fix x86_64 BuildConfig issues
* Resolve TODO: HOST_GCC_BASE_FLAGS should not be included in
  HOST_LDFLAGS. Enable adding "-fno-strict-aliasing -fno-tree-vrp"
  accordingly.
* Fix handling of HOST_PLATFORM_IS_64_BIT and HAIKU_HOST_USE_32BIT: The
  former does now state whether the platform is effectively treated as
  64 bit platform, i.e. it actually is 64 bit and the 32 bit mode is
  not enforced. HAIKU_HOST_USE_32BIT is now only set when the platform
  is actually 64 bit, but 32 bit mode is enforced.
2011-07-17 16:54:10 +02:00
Ingo Weinhold
efec892e2b Added .gitignore 2011-07-17 16:54:10 +02:00
Ingo Weinhold
922e7ba1f3 Build the package tool for the build platform 2011-07-17 16:54:10 +02:00
Ingo Weinhold
0ee9bc97d0 Build libpackage for the build platform 2011-07-17 16:54:10 +02:00
Ingo Weinhold
d451f7a329 Added several APIs to libbe_build/libshared_build 2011-07-17 16:54:09 +02:00
Ingo Weinhold
14c34be2e1 Fixed host build issues/warnings 2011-07-17 16:54:09 +02:00
Ingo Weinhold
a7bcad8194 Updated to current Haiku version 2011-07-17 16:54:09 +02:00
Ingo Weinhold
e781b1b5a8 Open/close attribute support for xattrs backend
For the xattr/BSD (untyped) attribute backend implement fs_fopen_attr()
and fs_close_attr(). A new AttributeDescriptor is created. It is
currently used in write_pos() only.
2011-07-17 16:54:09 +02:00
Ingo Weinhold
62fef8b3fc Added driver settings and find_directory() support.
find_directory() is a very simplified implementation, only supporting
what we currently need.
2011-07-17 16:54:09 +02:00
Ingo Weinhold
b795c9ce72 Made the check for B_BUFFER_OVERFLOW more flexible. 2011-07-17 16:54:08 +02:00
Ingo Weinhold
f1eeb32334 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-07-17 16:54:08 +02:00
Ingo Weinhold
1cb2d5a467 Use fs_close_attr()/write_pos() instead of close()/pwrite().
This makes it easier to reuse the code on non-Haiku platforms.
2011-07-17 16:54:08 +02:00
Ingo Weinhold
5eedc38011 Fixed printf() format related warnings. 2011-07-17 16:54:08 +02:00
Ingo Weinhold
41f39d0dd6 Removed obsolete TODO. 2011-07-17 16:54:07 +02:00
Ingo Weinhold
1044b2eb82 Added missing <StorageDefs.h> include. 2011-07-17 16:54:07 +02:00
Ingo Weinhold
bd9d1df3a0 Added very simple BLooper class to libbe_build. 2011-07-17 16:54:06 +02:00
Ingo Weinhold
bc93eff874 Added BuildPlatformStaticLibraryPIC rule.
It works like BuildPlatformStaticLibrary, but generates position
independent code.
2011-07-17 16:54:06 +02:00
Oliver Tappe
3dfd9cb95c Flat commit of all changes from package-management branch in svn 2011-07-17 16:54:06 +02:00
Ingo Weinhold
b353a9a30a ANSI C doesn't like unnamed unions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 13:57:30 +00:00
Adrien Destugues
cd4db9ee5d Update usb-floppy icon with a fixed one by jstressman (tweaks the persective and overall look of the icon). Thanks !
Fixes #6677.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 11:41:00 +00:00
Alexandre Deckner
df1c9e984e * Slight renamings, no functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 10:31:50 +00:00
Alexandre Deckner
29769e0452 * Don't do anything in MouseIdle if we're not dragging a message.
This especially avoid bringing tracker windows up to front when staying idle
over a tracker window while holding down a button. This could happen when
hovering while still holding a scroll thumb of another overlapping window.

Fixes regression #7829 introduced in r41892

* Also properly reinitialise the cached dragMessage on B_EXITED_VIEW, 
otherwise it would still think it is dragging and thus still pass through my
above fix.

I'd like to cleanup the drag message caching mechanism as it's not 
pretty in my opinion. Possibly even adding it to BView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 09:51:22 +00:00
Axel Dörfler
b2a7732258 * Don't crash if initialModes is NULL, but the count is not.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 20:37:35 +00:00
Rene Gollent
2f47fe6c8a Need to acquire a reference here as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 17:44:31 +00:00
Bruno G. Albuquerque
5eed3d9892 Fix crash in VESA accelerant.
- Keep track of the correct number of initial modes available.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 13:59:06 +00:00
Rene Gollent
07ec2fab02 Resolve TODO: If a function is selected by other means than the stack
trace view, but we have a call frame matching that function, then jump
to that frame in the stack trace view as well.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 12:57:14 +00:00
Adrien Destugues
eadad13a4f * Fix one more off-by-one error in the interpolating resampler
* Since it now doesn't crash anymore; set it as default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 11:18:54 +00:00
Adrien Destugues
61215fd53d fix bugs in interpolating resampler :
* I got the downsampling version completely wrong. It should now be much better.
 * A small bug in the delta calculation sometimes caused an off-by-one read to the source and a crash of the media add-on server

Effect of this resampler can be heard very clearly using the following setup in Cortex :
 * Demo Audio producer producing a sinewave at any frequency (sampling rate is hardcoded at 44100Hz)
 * Audio output set to 48000 Hz
 * system mixer in between
select either resampler in the mixer and you'll hear the difference immediately.

Should finally fix #1351.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 09:15:21 +00:00
Rene Gollent
4ee20b83b4 In the case where the .eh_frame section was used, Debugger was reading the
exception table address at the wrong location, leading to totally bogus values
for the alignment factors and return register, which ultimately resulted in
failing to reconstruct the CFI. (.eh_frame Format reference:
http://refspecs.freestandards.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html )

Fixes #7818.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 03:01:21 +00:00
Adrien Destugues
aeba7dc609 Leftover debug output. Thanks Ryan for watchiung!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-15 18:50:14 +00:00
Adrien Destugues
a642bc78a3 Fix #7189 : linkcatkeys erases file with plain catalog data instead of writing it as a resource.
Was only a missing break in switch/case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-15 17:30:17 +00:00