Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler fd5b59d227 Added initial support for file systems. Not tested yet, but compiles.
New Directory class for use in file systems; file systems need to publish
their root directory as a subclass of this class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:12:06 +00:00
Axel Dörfler 275186b598 list.h location has moved.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:10:15 +00:00
Axel Dörfler 405a3fb126 Moved list.h to the util/ subfolder. (It currently still is in the kernel
private headers directory to not break the build.)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:09:33 +00:00
Axel Dörfler 8de63d24da Renamed the Descriptor::Read()/Write() methods with position to ReadAt()
and WriteAt().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 22:50:50 +00:00
Axel Dörfler eced90ea7a Moved the definition of the Descriptor class to vfs.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 12:32:33 +00:00
Axel Dörfler 15832d7b04 Removed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 12:30:25 +00:00
Axel Dörfler a8ee1dbc56 Added Marcus version of __swap_int16(); it's commented out for now, though,
but we might want to add it later.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 12:23:03 +00:00
Axel Dörfler e4cf172727 Since Ingo found out that BeOS requires the module name and its location
on disk to match to be able to find it, changed the ToDo: comment in the
affected function, and added a test call to vfs_get_module_name(); our
bootfs cannot handle the path depth/length required to be a useful module
host, so we still have our recursive search algorithm in place for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 04:06:14 +00:00
Axel Dörfler ad304a7ef7 Implemented a new vfs_get_module_path() call that returns the module path
of a given module name.
vnode_path_to_vnode() can now return the type of the file, changed the parameter
order.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 04:02:34 +00:00
Axel Dörfler 5306fba3a1 Added the new vfs_get_module_path() call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 04:01:07 +00:00
Axel Dörfler d8018ea5b1 Fixed a build bug I introduced earlier.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 03:54:36 +00:00
Axel Dörfler 2eb8498f76 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 03:52:44 +00:00
Axel Dörfler 393d1e9163 Add some sources to the boot loader that are needed by the intel partition
module (even qsort()!).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 02:50:44 +00:00
Axel Dörfler c754274e3a Added some more dummy stuff, so that the whole thing is linked correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 02:42:49 +00:00
Axel Dörfler 3a48e17b83 Added the intel partition module to the boot loader build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 02:41:57 +00:00
Axel Dörfler b132797ec3 Made the module working in the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 02:41:05 +00:00
Axel Dörfler e5d542ba54 Moved the Partition class declaration to the source file.
Added some partition types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 02:39:24 +00:00
Axel Dörfler 6eae77e068 Moved the Partition class declaration to the source file.
Refactored the code a bit (moved the scan algorithm to the Partition class, ...).
Implemented get_parent_partition() and added a stub for get_child_partition()
as needed by the intel partition module.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 02:38:45 +00:00
Axel Dörfler e731e11702 Added the nothrow variants of the new operator.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-08 02:33:37 +00:00
Axel Dörfler 7cde8a9d7f Implemented __swap_int16/32/64() (float/double are missing right now, but should
be the same as __swap_int32/64()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-07 17:22:15 +00:00
Axel Dörfler dbb3d1fc5b Fixed some warnings.
Added a comment about how to traverse the module path to find a given module -
could well be that we got that wrong (too loose, it will work perfectly, though,
just slower than it could be).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-06 17:35:05 +00:00
Axel Dörfler 080cec2518 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-06 17:31:33 +00:00
Axel Dörfler e4bd4b6b58 Added the full monty to build the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-05 02:01:43 +00:00
Axel Dörfler 1a0637a258 Applied NewOS change 1828 - moved the interrupt initialization to the
correct point.
Cleaned up the sources a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-05 00:12:13 +00:00
Axel Dörfler e12302da4b Fixed a couple of warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:23:16 +00:00
Axel Dörfler a7d21bad55 Fixed some warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:20:42 +00:00
Axel Dörfler db310cf12e Added internal syscalls for fs_read_info() and fs_write_info().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:19:24 +00:00
Axel Dörfler 318ea28beb Added internal syscalls (_user/_kern) for fs_read_info() and fs_write_info().
Not yet accessible from the outside.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:18:48 +00:00
Axel Dörfler 73d330cf0a Added some missing index functions, and ifdef'd them out, since that
functionality might not be accessible for R1.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:07:39 +00:00
Axel Dörfler ad20736f2d Introduced new get_mount()/put_mount() calls to protect a volume against
"sudden unmounts" (as far as that can work). This replaces the weak
find_mount() call used at several places in the fs index functions.
Fixed a bunch of warnings, mostly unused prototypes and variables.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 04:01:25 +00:00
Axel Dörfler 854c22e257 Removed an unused function.
#ifdef'd a variable that's only of use with TRACE() on.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-04 03:29:13 +00:00
Axel Dörfler 255c3d7e0a Added the boot_loader to the build (does only build the x86 version right now).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 20:15:44 +00:00
Axel Dörfler 58ff5e1763 Added dummy bios_ia32 boot loader bindings to be able to build the loader
under x86 as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 20:11:48 +00:00
Axel Dörfler 8e31b79dc8 Implemented dprintf() - output goes to OF's stdout.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 17:08:45 +00:00
Axel Dörfler 9d12fd8503 Added dprintf() to the platform dependent methods.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 17:08:08 +00:00
Axel Dörfler 93773b0125 Added the new 2nd stage boot loader to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 16:43:01 +00:00
Axel Dörfler 317de76810 Added an empty Jamfile for the bios_ia32 dependent 2nd stage boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 16:42:25 +00:00
Axel Dörfler 6e886cc40e Removed now unused code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 16:39:02 +00:00
Axel Dörfler 01d8a1cdc0 Added the apple style partitioning support to the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 16:38:31 +00:00
Axel Dörfler cd67111575 Commented the "#pragma mark -" (for the text editor) so that gcc doesn't
warn.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 16:38:04 +00:00
Axel Dörfler 3f4524a309 Improved the test application: it now accepts a test disk image as first
parameter (else it falls back to the old behaviour, trying to open
/boot/home/tmp/test-file-device).
Also fixed the hackish busy loop to at least snooze() a bit (so that it
doesn't use all your CPU energy while debugging a partitioning module :-)).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 16:33:14 +00:00
Axel Dörfler 4f5bd2b685 Added the amiga_rdb and apple modules to the list of dependencies for the
disk device manager test.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 16:31:01 +00:00
Axel Dörfler 5c80ce8dfa Minor style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 16:30:05 +00:00
Axel Dörfler 0503a73f11 Implemented a simple Apple style partitioning scheme add-on.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 16:28:47 +00:00
Axel Dörfler ccc316dc1c Our <new> lets delete throw __nothing - kernel_cpp.h now reflects this,
although I might change this issue after having had a look at the PPC
compilation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 14:57:55 +00:00
Axel Dörfler feff755691 Fixed the problem shatty reported - I just forgot to check out the latest
code, since I made the problem causing changes on another machine...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 14:56:45 +00:00
Axel Dörfler 7604ff4246 removed unused headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 14:56:01 +00:00
Axel Dörfler ea9b59c915 Made the amiga_rdb module ready for the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 02:45:13 +00:00
Axel Dörfler 8abaaaf7e5 OpenFirmware bindings for the stage2 boot loader.
Not yet complete.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 02:03:28 +00:00
Axel Dörfler e601a11b67 Added missing vprintf() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 01:55:20 +00:00
Axel Dörfler 6f7c2dc677 Missing boot loader headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 01:53:41 +00:00
Axel Dörfler f659db057c Initial commit of the platform independent part of the new stage2 boot loader.
Not yet complete, of course, but already scans amiga partitions :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 01:31:49 +00:00
Axel Dörfler 9b890bf17f Now includes the util/kernel_cpp.h header.
Fixed some warnings (unused variables).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-03 01:29:37 +00:00
Axel Dörfler c3b3abea79 some style cleanups.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 23:54:14 +00:00
Axel Dörfler 99f9554253 Removed an unused variable.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 13:08:48 +00:00
Axel Dörfler a6a723ebea Moved list.c into the util/ subdirectory and build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 13:07:22 +00:00
Axel Dörfler e84acb2bb2 libkernel_util.a was missing from the kernel build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 13:05:44 +00:00
Axel Dörfler 161915fd91 Resolved the name clashing caused by the introduction of atomic_set() and
atomic_test_and_set() to the OpenBeOS headers (prefixed BFS versions with '_').


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 04:26:04 +00:00
Axel Dörfler 20743a3a67 KPartition::Dump() now also writes its size in MB for convenience (makes it
easier to check if the partitioning_system returns the correct size :-)).
Uses %f which doesn't work in the BeOS kernel (but might in OpenBeOS).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 04:06:01 +00:00
Axel Dörfler d2a0f6a3dd Moved the checksum validation for child partitions from amiga_rdb_scan_partition()
to get_next_partition().
If a wannabe partition fails its checksum test, all partitions that might come
later are now skipped. Added a ToDo item for what would be a nicer dealing with
such errors.
get_next_partition() and search_rdb() are now static.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 04:04:16 +00:00
Axel Dörfler 37dae1afce Moved the checksum validation into a templatized function; the checksum
is now tested for partition_blocks as well.
Makes use of the new endian-aware structure methods.
If a partition is out of bounds (starts or reaches beyond the available
disk space), it won't be registered anymore - not sure if that's sooo
desirable, though.
Removed some unneeded debug output.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 03:56:22 +00:00
Axel Dörfler 9f34c3c766 Added some more endian-aware getter methods for fields actually used.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 03:52:53 +00:00
Axel Dörfler da1a45d3c0 Made the module name compatible with the userland module loader - it requires
the file path to be part of the module name (that's not the case for BeOS, is it?).
Also added some more debug output, and now only allocate a new rigid_disk_block
if we are going to need it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 03:11:30 +00:00
Axel Dörfler 91b4829872 Initial Amiga RDB read-only support. Code itself is tested, but not yet in
this "shell" (the new DiskDeviceManager module API).
Hope for the best :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-02 00:59:45 +00:00
Axel Dörfler d0db65a53f Added a header (not yet used by the current Doxygen file) for use with
the BeBook style docs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-27 03:48:16 +00:00
Axel Dörfler c04f2d92ca Added a \brief for the file.
Now uses <span class="var"> instead of \p for variables in the text.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-27 03:46:29 +00:00
Axel Dörfler d99a9fa0a5 Hacked together a BeBook style derivation of the standard doxygen.css
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-27 03:44:59 +00:00
Axel Dörfler 9a230c2672 Fixed using \subsection without a \section (replaced all subsections by sections).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-27 03:19:26 +00:00
Axel Dörfler 4d00ee5ddd Added doxygen documentation for the parsedate() function.
Tried to get right with doxygen, but it ain't easy...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-27 02:34:47 +00:00
Axel Dörfler d7ef3fc59c Now ignores the ending of ordered numbers (1st, 2nd, 3rd, ...).
Added the "week[s]" keyword to accept strings like "5 weeks", doesn't work
right yet in the "next/last week" case - that extra case should be added to
computeRelativeUnit().
Removed an unused variable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-27 01:12:51 +00:00
Axel Dörfler 13e966c78e Big (and final for now) update to the code, it's now complete and working better
and faster than the R5 code as far as I have checked it.
Refactored the source a bit, it's now much clearer: divided the heavily overloaded
type field into type/unit/flags.
Introduced some new methods to track everything we have to to provide a
useful date in hopefully all cases.
Now supports using a dash to mark negative values as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-26 02:21:19 +00:00
Axel Dörfler 6fb692ef97 Added some more test dates, nicer output.
Reveals some bugs in the original parsedate() implementation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-26 02:11:16 +00:00
Axel Dörfler 770108b448 Added alternate identifier strings (mostly abbreviations).
Mixed up comma/colon/semicolon in some stupid ways...
Fixed a bug that prevented weekday/month names to be matched correctly.
Temporarily enabled some debug output.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-24 11:48:16 +00:00
Axel Dörfler c6a70c8d1b Added a test application for the parsedate() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-23 18:34:10 +00:00
Axel Dörfler cb19965e13 Added an initial implementation of parsedate(), parsedate_etc(), get_dateformats(),
and set_dateformats().
It's not complete yet, but already quite useful.
Added a "d.m.y" to the R5 set of formats.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-23 18:32:09 +00:00
Axel Dörfler 6f82bba82a Adds our own, shiny, and almost BeOS compatible parsedate.h header (but not
in the Posix dir).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-23 18:25:11 +00:00
Axel Dörfler 2f096f5a3e Added/changed/fixed area syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 15:58:06 +00:00
Axel Dörfler 8655936935 Replaced some more vm_*() calls with BeOS compatible ones.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 15:55:56 +00:00
Axel Dörfler 0fd7b49819 Added/changed VM syscalls to the BeOS compatible ones.
Reordered the syscalls a bit (in functional groups), not completely, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 15:52:58 +00:00
Axel Dörfler fc3874cf13 Replaced the vm_get_region_info() call with get_area_info().
Removed the user_vm_get_region_info(), and user_vm_clone_region() calls.
Added all missing BeOS compatible area syscalls.
Partially implemented [_user_]find_area(), implemented _user_area_for().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 15:51:30 +00:00
Axel Dörfler f236d16605 Removed the vm_get_region_info() call and the vm_region_info structure -
they are now replaced by get_area_info() and the area_info structure.
get_area_info() still misses some pieces, though.
Added all missing VM user/kernel syscalls.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 15:47:52 +00:00
Axel Dörfler b98ed81007 Made the VM even calmer - this one uses the TRACE() stuff now as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 03:21:13 +00:00
Axel Dörfler 5e809fa13e Added empty stubs for all missing BeOS VM functions.
The lock_memory()/unlock_memory() functions cannot be implemented right
now, as the NewOS VM doesn't support locking.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 03:07:51 +00:00
Axel Dörfler 44e874a74d Made the VM a lot calmer if you wish; moved many dprintf()s into the new
TRACE() macro. Renamed the old TRACE macro to TRACEPFAULT.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:41:07 +00:00
Axel Dörfler 414ecbd490 Now uses the BeOS map_physical_memory() call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:17:09 +00:00
Axel Dörfler fac37b22cb Added the BeOS compatible and working map_physical_memory() call.
Made the "name" argument const for create_area_etc() and vm_map_physical_memory().
Moved some common conversion code (BeOS to NewOS VM constants) to separate
functions to clean them up a bit.
create_area() now automatically sets LOCK_KERNEL if the area is to be created
in kernel space (as I would guess BeOS does, too).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:14:44 +00:00
Axel Dörfler d4055614a4 Made the "name" argument const for create_area_etc() and vm_map_physical_memory().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:10:14 +00:00
Axel Dörfler 39ce1ac62d Didn't know B_SLOWMEM - bumped B_ALREADY_WIRED one further.
Fixed the now broken LOCK_KERNEL definition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:09:28 +00:00
Axel Dörfler f8a4dcfa28 Forgot about B_ANY_KERNEL_BLOCK_ADDRESS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 22:29:51 +00:00
Axel Dörfler c4aff5f858 Now uses delete_area() instead of vm_delete_region().
Temporarily #if'd out scan_pci() and removed the compiler calming hack for it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 17:47:20 +00:00
Axel Dörfler cbc1309c68 Replaced some more vm_create_anonymous_region() with create_area() and
create_area_etc().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 17:38:13 +00:00
Axel Dörfler 425b6cdf15 Added the new kernel private delete_area_etc() call.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 17:22:47 +00:00
Axel Dörfler 5152eb6890 The delete_area() call in the kernel now only allows to delete areas created
in the kernel.
Use the new delete_area_etc() call for other needs.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 17:21:50 +00:00
Axel Dörfler b2e5e9af2d As the BeOS documentation states what will happen in the future,
delete_area() now only allows to delete areas you have created
yourself before from userland, again.
The kernel's delete_area() still allows everything, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 17:08:35 +00:00
Axel Dörfler 010a1e70be Made the delete_area() function BeOS compatible; it now allows any area to
delete. Added a comment how the security should be improved by adding another
restriction.
Also mentioned that it's probably a bad idea that vm_delete_region() will
not wait until the region has been freed, but just "mark" it as to be freed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:47:31 +00:00
Axel Dörfler 7b25ddd21a Replaced calls to vm_create_anonymous_region() with the BeOS compatible
create_area() where possible.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:28:11 +00:00
Axel Dörfler fe8a9052c0 Updated for the new BeOS compatible syscalls - create_area() is no longer
broken.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:20:06 +00:00
Axel Dörfler beb1a1b992 Now uses the new BeOS compatible area calls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:18:30 +00:00
Axel Dörfler 5d4b10645c Adds some private kernel extensions to the BeOS VM/API: things like
B_EXACT_KERNEL_ADDRESS, B_KERNEL_READ_AREA, ...
They are preliminary defined here.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:14:26 +00:00
Axel Dörfler 640d0ba831 Replaced old create/delete area syscalls with the new ones, added
new kernel private create_area_etc() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:11:58 +00:00