Commit Graph
16866 Commits
Author SHA1 Message Date
Ingo Weinhold c10705cbda We do now provide the BeOS style FS add-ons with the kernel interface they
need via library libuserlandfs_beos_kernel.so. Fine-tuned the legacy headers
so they can by used by the the kernel interface emulation code as well as by
the add-ons. This is actually a bit hacky, since we build everything in the
Haiku build environment and thus mix these old headers and Haiku's.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 22:07:40 +00:00
Ingo Weinhold 9b54c9d1e3 Removed cache.h, lock.h, and fsproto.h. The copies in the userlandfs public
headers dir are used instead. Added missing <new> inclusion.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 21:50:31 +00:00
Axel Dörfler ca954b7816 Another work-in-progress towards having extra structures per mapping per page:
* vm_area and vm_page now have a new field "mappings" where they will store lists
  of vm_page_mapping structures. vm_page::ref_count is gone, as it's no longer
  needed (it was never updated correctly, anyway).
* vm_caches now have a type field, ie. CACHE_TYPE_RAM for anonymous areas - this
  makes the stores a bit less independent, but is quite handy in several places.
* Added new vm_map_page() and vm_unmap_pages() functions to be used whenever you
  map in or unmap pages into/from an area. They don't do much more than handling
  vm_page::wired_count correctly right now, though (ie. B_LAZY_LOCK is now working
  as expected as well).
* Moved the device fault handler to vm_map_physical_memory(); it was not really
  used as a fault handler, anyway.
* Didn't notice Ingo's changes to the I/O space region broke lock_memory(). It
  now checks the type of the area that contains the memory, and doesn't lock
  anymore if not needed which solves the problem in a platform independent way.
* Implemented lock_memory() and unlock_memory() for real: they now change the
  vm_page::wired_count member to identify pages that shouldn't be paged out.
* vm_area_for() now uses vm_area_lookup() internally.
* Fixed various potential overflow conditions with areas that reach 0xffffffff.
* Creating anonymous areas with B_FULL_LOCK no longer causes vm_soft_fault()
  to be called, instead, the pages are allocated and mapped (via vm_map_page())
  directly.
* Removed the _vm_ prefix for create_area_struct() and create_reserved_area_struct().
* Fixed a bug in vm_page_write_modified() that would not have enqueued pages that
  failed to be written to the modified queue again when needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 13:24:53 +00:00
Axel Dörfler 5cd229a5a1 I accidently broke the build with some work-in-progress changes, this should fix it for now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 11:04:55 +00:00
Ingo Weinhold ca6faf4958 * Adjusted BeOSKernelFileSystem and BeOSKernelVolume to Haiku's FS interface.
* Moved stuff need for the BeOS interface only into the beos_* namespace.
* Shuffled a few things around to reduce the block cache implementation
  dependencies. compat.h and sysdep.c are gone accordingly.
* The whole UserlandFSServer builds now and could (at least theorectically)
  drive a FS add-on implementing the old interface. The required emulation of
  the BeOS kernel is not yet provided, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 04:54:13 +00:00
Ingo Weinhold 8474904ee0 Adjusted the FileSystem, Volume, and UserlandRequestHandler to the new FS
interface. The classes actually interfacing with the client FS add-on still
need to be adjusted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 23:27:27 +00:00
Axel Dörfler 583ed1c698 * Applied codestyle patch by Vasilis Kaoutsis (missing space between if/for and the
opening bracket) - thanks!
* Shuffled functions a bit around to separate static and exported functions.
* Some other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 22:33:58 +00:00
Axel Dörfler 3eca858515 * Moved the early startup VM allocation functions from vm_page.c to vm.cpp.
* Renamed them, made everything static besides vm_allocate_early() (previous
  vm_alloc_from_kernel_args()) which now allows you to specify a different
  virtual than physical size, and therefore makes vm_alloc_virtual_from_kernel_args()
  superfluous (which isn't exported anymore, and is now called allocate_early_virtual()).
* Enabled printing a stack trace on serial output on team crash - it doesn't hurt
  for now, anyway.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 19:26:40 +00:00
Jérôme Duval bb377cd514 fixing indenting style issues
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 00:31:31 +00:00
François Revol 769d863635 Link to libnetwork. simpler copat checking. more error repporting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 23:05:53 +00:00
Axel Dörfler 63d6bf7ad8 * Applied patch by Jonas to have 32-bit icons in the mount and template menus
under Haiku. This fixes bug #1033. Thanks!
* Changed IconMenuItem sizing to use the same method as ModelMenuItem which
  makes sure the item is large enough for the icon, and which centers the icon
  in case the item is higher than the icon.
* Minor cleanup, added some comments about where those classes are used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 23:02:54 +00:00
Ingo Weinhold 5d3147f66a Class renaming:
UserFileSystem -> FileSystem
  UserVolume -> Volume
  KernelUserFileSystem -> BeOSKernelFileSystem
  KernelUserVolume -> BeOSKernelVolume

The BeOSKernel* classes are indeed intended to handle FS implementations
that use the (old) BeOS FS interface. We'll see how well that will work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 16:26:02 +00:00
Stefano Ceccherini 3834597b97 Another patch by Vasilis Kaoutsis: Replaced pointer use with a
BMessenger


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 16:18:44 +00:00
Ingo Weinhold 1546cbf149 Moved FileSystem class into the new Dispatcher subnamespace, so we can drop
the "User" part of the way more often used UserFileSystem and the other
classes that had it accordingly for consistency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 16:00:45 +00:00
Ingo Weinhold b12d25d15d First walk through the userlandfs kernel add-on to port it to the Haiku
FS interface. Adjusted old hooks, but didn't add the new ones yet. The
module builds now at least.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 02:54:05 +00:00
Ingo Weinhold c2f0ee7a7b Don't send B_ENTRY_MOVED messages twice, if fromDirectory == toDirectory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 00:57:45 +00:00
Marcus Overhagen a090257d09 Add volatile keyword to apic memory access, cleanup, add timeout to arch_smp_send_ici.
But this still doesn't help with bug #1018...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-25 23:32:21 +00:00
Ingo Weinhold 61381bf71d The kind of comment that saves you half an hour of brooding if you, for some
reason, don't see the obvious. Well, or doesn't if absent...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-25 20:07:14 +00:00
Oliver Tappe 07628e25b1 * changed to use TARGET_CC instead of host as.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-25 15:47:10 +00:00
Ingo Weinhold 1d0429efd9 Added --ignore-attributes option to cp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 17:21:46 +00:00
Ingo Weinhold f7100fce9b Fixed BDirectory::Contains() test comments and checks for existing entry
uninitialized/badly initialized BDirectory cases.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 16:34:34 +00:00
Axel Dörfler ed518e4b22 Fixed "cp" (and "mv") leaking file descriptors like crazy when copying attributes, thanks to Ingo for noticing this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 15:26:02 +00:00
Ingo Weinhold 0b9da247dc Intermediate check-in. I've decided I rather want to use Pe instead of
Kate for this job. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 15:01:34 +00:00
Axel Dörfler d8de23cd1e BDirectory::Contains() would return "true" if the entry being tested for existed,
but the BDirectory was not initialized correctly. Thanks to Jonas who also provided
a patch for this (which I didn't use directly, though, for some minor reasons).
This fixes bug #1034.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 05:43:16 +00:00
DarkWyrm 5605e701d7 Added a menu to allow the user to choose the decorator. Untested, but theoretically working. I'll be content with the user being able pick a decorator and tweak system colors for R1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 02:03:08 +00:00
DarkWyrm 9439d163d4 Correction to buildfile for linking against the app_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 01:53:37 +00:00
Ingo Weinhold 83812f6752 Copied userlandfs code from the test tree to the haiku source tree,
where it will be ported to Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 00:30:19 +00:00
DarkWyrm d5e020e912 Decorator looks *much* more like R5. Thanks to Thomas Winwood for the patch. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 23:44:29 +00:00
DarkWyrm fa73ff0d14 Moved the decorator function declarations into DecorManager (which is the only place which uses them) to allow add-on decorators to build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 23:35:01 +00:00
DarkWyrm ff78e73c3b Unbroke the classic R5 decorator and updated sources to match the sources for DefaultDecorator before applying changes for its looks
Sweet cracker sandwich! I actually figured out something for a Jamfile on my own -- it took a while to figure out how to link against the app_server. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 23:34:06 +00:00
Ingo Weinhold eef478cd20 Solved a name clash for the poor souls using Windows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 20:17:48 +00:00
Jérôme Duval 695174cbdd avoids invalidating when the text doesn't change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 20:04:57 +00:00
François Revol d436e544a4 Some fixes for the Haiku version... it's working!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 16:43:29 +00:00
Ingo Weinhold b9a1530f6d Some renaming.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 02:19:41 +00:00
Ingo Weinhold e0f723a9e1 Obsolete file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 02:11:10 +00:00
Ingo Weinhold 36ca5d166c Squashed a few minor TODOs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 02:10:51 +00:00
Ingo Weinhold e696418178 * Split the Node references and referrers concepts. One can now have a
reference without being a referring entry.
* Reworked entry renaming. We do now remove the original entry first and
  then create a target entry. Renaming directories didn't work before since
  there would temporarily have been two links to a directory, which is not
  allowed. Replacing an entry was also broken: The original entry was not
  removed. Due to reversing the entry creation/deletion order we also do no
  longer suffer from the Tracker bug, that entries would disappear from
  queries when being renamed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 01:01:26 +00:00
Ingo Weinhold 0d427dec46 * Missing locking initialization in Volume::Mount().
* Added missing locking in the query hooks.
* Added live query support similarly as done in BFS:
  - Volume manages a doubly-linked list of live queries.
  - Volume::UpdateLiveQueries() invoked from several places where it makes
    sense (standard indices, Attribute::WriteAt(), and
    BVolume::NodeAttributeRemoved()) notifies the live Query objects.
  - Adjusted Query to be able to deal with hard links. Unfortunately Tracker
    is a bit broken with respect to hard links, particularly in the query
    windows. E.g. only one entry referring to a node is shown, and the renaming
    method RamFS uses (link new entry, then unlink old one) causes renamed
    entries to fall out of queries, even if they should still be in.
    (Want a bug report for this, Axel? :-P)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-22 23:30:39 +00:00
François Revol b0f302e45b more comments & todos
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-22 22:53:17 +00:00
Jérôme Duval 4f4762f0c1 actually activates alpha on _mesa_add_soft_renderbuffers
this fixes bug #1029, though make sure to use BGL_ALPHA flag with BGLView constructor


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-22 21:59:18 +00:00
Marcus Overhagen ca21e6053e really invalidate the TLB of non-boot CPUs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-22 19:47:28 +00:00
Marcus Overhagen 9e8dd0a713 added PCI express capability
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-22 17:46:44 +00:00
Jérôme Duval df6c6990ed this fix provided in tzcode2007a is wrong, as noticed by BGA
symlinks are now correct on BeOS


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-21 20:16:44 +00:00
Axel Dörfler cf2aeb201f * Implemented BDragger::{Show|Hide}AllDraggers() and its backend in the app_server.
This fixes bug #242. The value is currently stored in a separate file.
* Removed some unused codes from ServerProtocol.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-21 07:57:21 +00:00
Ingo Weinhold 72d71bc8dc Aligned Query.h/cpp with the BFS (Haiku) versions r20186. Updated Stack.h
to <util/Stack.h>.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20187 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-20 21:30:27 +00:00
Jérôme Duval 301d9851fe fix change in revision 20162, the path was left out
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-20 20:27:23 +00:00
Ingo Weinhold e485fc0347 If a mount request failed (e.g. due to failed authentication) the respective
not-yet-mounted ClientVolume was not removed, which could cause query requests
to crash the server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-20 17:28:40 +00:00
Stefano Ceccherini 11ef32dfa9 erase() shrinks the vector, so we decrement the handler. Fixes the crash in case there are invalid handlers (Time application, for example). Should be fixed in the other _SendNotices() call too ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-20 16:25:15 +00:00
Stefano Ceccherini e44561b2e9 even more style changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-20 14:50:40 +00:00
François Revol b5a3387b08 Some cleanups and fixes. Really use the Url class. Fix building under Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-20 14:27:49 +00:00