Commit Graph

797 Commits

Author SHA1 Message Date
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
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
beveloper
5fe840b9b5 fixed address checking in ppc atomic functions.
fixed compilation on x86.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-21 23:36:06 +00:00
beveloper
50e0ce4bee Implemented new syscalls for 32 and 64 bit atomic operations.
They are only used if the architecture doesn't support them directly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-21 23:02:00 +00:00
beveloper
fb16941a02 added atomic_read
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-21 17:55:56 +00:00
beveloper
0163e36659 Added 32 bit atomic read.
Implemented all 64 bit atomic operations.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 23:21:26 +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
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
beveloper
ea8af9630a renamed test_and_set into atomic_test_and_set
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:56:22 +00:00
beveloper
40ac5c5195 cvs server: Up-to-date check failed for `src/kernel/core/vm/vm.c'
cvs [server aborted]: correct above errors first!
cvs commit: saving log message in /tmp/cvsFPtfaj


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:48:15 +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
beveloper
5f993f93ff renamed test_and_set into atomic_test_and_set
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:35:24 +00:00
beveloper
b4e05c0eb8 On most systems, atomic functions do not need to be implemented as syscalls.
ATOMIC_FUNCS_ARE_SYSCALLS is only defined on architecture like SH4.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:34:42 +00:00
beveloper
2fdb794edc The atomic and system_time function are now included in the
kernel_os_arch_x86.o file that is genereated by libroot.
Removed duplicate implementations from this file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:23:44 +00:00
beveloper
67fd74cd28 moved atomic user functions to SH4 atomic.c
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:21:57 +00:00
beveloper
6f54d569e9 added 64 bit atomic functions (implementation still pending),
removed non atomic functions from this file


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:19:42 +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
beveloper
a36eac86ac Removed system_time from atomic.S file and added it in a separate one.
The atomic and system_time function are now included in the kernel_os_arch_x86.o file


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:16:43 +00:00
beveloper
890b96d5c5 removed system_time from atomic.S file and added it in a separate one.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:15:23 +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
beveloper
74aad02bac SH4 needs atomic operations to be implemented as syscalls, other
architecture can do this better. Removed from generic cpu.c file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-20 02:13:45 +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
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
50ba6835f7 Replaced old create/delete area syscalls with the new ones.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:10:35 +00:00
Axel Dörfler
20fcd813b9 Implemented BeOS compatible create_area()/delete_area() calls for the VM
that will call the internal vm_*() calls. This will make it easier to just
drop in another VM.
Also (partially - Ingo was faster) introduced the new syscall naming scheme
_kern_ & _user_ prefixes to them into the system namespace, and no longer
clobber the application namespace.
Removed the now unused user_vm_create_anonymous_region() call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-19 14:06:13 +00:00
Axel Dörfler
650a32fb62 Fixed two very subtle and hidden bugs that prevented the module component
to work at all: recurse_directory() always returned failure, no matter what opendir()
returned (one semicolon too much), create_module() allocated only 4 bytes for
the module - sizeof(module) referred to the variable, not the structure name...
(the unfortunate consequences of the naming scheme I otherwise like very much -
it "just" took me 3 hours to hunt both bugs down).
Added some TRACE() and ASSERT()s.
Added a new debugger command "modules".


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-18 03:41:26 +00:00
Axel Dörfler
54711c1b89 free() now fills the freed memory with 0xdeadbeef if PARANOID_KFREE is defined
(except for the first 4 bytes, because that's the pointer to the next buffer
in the free list).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-18 03:35:57 +00:00
Axel Dörfler
782a460588 subtle cleanup, debug output corrections.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-18 03:21:26 +00:00
Axel Dörfler
f3514075a1 opendir() did not correctly set "errno" if sys_open_dir() failed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-18 02:08:58 +00:00
shatty
84e10936b8 fixed implementation to match new posix/beos compatible prototype for tolower/toupper, also added isblank implementation
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-16 07:14:04 +00:00
Ingo Weinhold
00e2926fda Uses a free list of semaphore slots for faster creation now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-04 00:06:54 +00:00
Ingo Weinhold
d40ced0e2e Fixed a few smaller issues.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 22:21:00 +00:00
Ingo Weinhold
8d91b8087d Improved the interaction between job queue and manager. Partitions should now be mark busy correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:39:12 +00:00
Ingo Weinhold
13ab290504 Fixed a potential memory leak. If any operation prior to the addition of the job queue to the manager failed, it wouldn't be deleted. Now the job generator deletes it by default and must be told via DetachJobQueue() to not do that.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:37:21 +00:00
Ingo Weinhold
cc6edbdf8f * Added VisitEachDescendant().
* Added {Add,Clear}Flags() which are more comfortable than SetFlags() in
  most cases.
* On construction the `busy' and `descendant busy' flags are set.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:27:33 +00:00
Ingo Weinhold
7e4c7d4350 Added KPartitionVisitor class used for advanced partition tree traversal.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-03 18:23:53 +00:00
shatty
e9004ce2e9 include sys/param.h for MAXPATHLEN
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-02 08:11:16 +00:00
Ingo Weinhold
572b5b77d3 Implemented _kern_commit_disk_device_modifications() (save the notification related part).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-02 00:01:37 +00:00
Ingo Weinhold
af314d827a Implementing generation of remaining jobs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-02 00:00:49 +00:00
Ingo Weinhold
84ba3a5265 Added JobFactory().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-01 23:59:26 +00:00
Ingo Weinhold
1217079c31 Changed parameter name only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-01 23:58:46 +00:00
Ingo Weinhold
a10abc1e14 Added KDiskDeviceJobGenerator.cpp to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 22:48:51 +00:00
Ingo Weinhold
bdbbcfaf16 Added CountDescendants().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 22:48:08 +00:00
Ingo Weinhold
ec4ef3525f Added a KDiskDevice* parameter to the constructor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 22:46:38 +00:00
Ingo Weinhold
57c8af057e Replaced the Vector parameter of CreateMoveJob() by a simple array. Added CreateUninitializeJob() (empty implementation).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 22:45:26 +00:00
Ingo Weinhold
6ae0077c0d This class compares a KDiskDevice with its shadow partition hierarchy and
generates the jobs needed to transform the former to the state of the
latter. Currently only the jobs for deleting partitions and resizing
and moving existing ones are generated. Resizing and moving was the
hard part, though, the rest should be much easier. Completely untested
yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-31 22:41:50 +00:00
Ingo Weinhold
78097103b7 Turned off debugging. Now sets the job description.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 17:51:01 +00:00
Ingo Weinhold
68f12c0221 Implemented job related functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4138 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 17:49:50 +00:00
Ingo Weinhold
fe05b0ac95 Added and implemented job related syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 17:48:08 +00:00
Ingo Weinhold
c34b4f49f4 Added ActiveJobIndex().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 17:46:59 +00:00
Michael Phipps
7241529789 Removing old VM2, starting to integrate new VM.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 11:48:09 +00:00
Ingo Weinhold
4f2af97d45 Implemented class. Some bits are still missing (e.g. setting the description).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:29:03 +00:00
Ingo Weinhold
71346466b8 Added user_partition_data::content_size field. Small change to support a NULL parameter in _kern_supports_resizing_partition().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:24:22 +00:00
Ingo Weinhold
738e4a700b Support for the added partition content size attribute.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:21:21 +00:00
Ingo Weinhold
ace55d9bfc Implemented the job related functionality. Moved scanning of partitions into the respective job class.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:18:16 +00:00
Ingo Weinhold
6eaec7ddda Some changes to the interface (added missing methods and such). Implemented the class almost completely. Basically only the notification stuff is still missing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:16:15 +00:00
Ingo Weinhold
a31533cbec Brought the interface up to date. Added empty implementations for all methods, save the one creating a job for scanning, which is complete.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:14:27 +00:00
Ingo Weinhold
38bd13fcf9 Some changes to the interface. Implemented most of the methods. The notification stuff is still missing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-30 00:12:39 +00:00
Axel Dörfler
1baf26bc47 Fixed allocate_cbuf_mem() after Ingo's hints. The CBUF_FLAG_CHAIN_HEAD flag is
now no longer set in the loop, the total_length calculation should now be correct.
The CBUF_FLAG_CHAIN_TAIL is now set for the lastBuffer instead of buffer.
Removed some superfluous lines in cbuf_get_ptr(), and cbuf_ones_cksum16().
Fixed the buffer->length calculation in cbuf_truncate_tail() and added some
comments about the correctness of the code - should be investigated and fixed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-26 13:58:20 +00:00
Ingo Weinhold
95152e1e98 Implemented remaining partition modification syscalls. Some small fixes. Some refactoring.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:58:06 +00:00
Ingo Weinhold
1d8675355f Added some more support for tracking changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:56:53 +00:00
Ingo Weinhold
ee1ebe375c * Added ShadowPartitionChanged() to KDiskSystem and respective hooks
to the module interfaces. So the disk system will be informed, when a
  shadow partition has changed and it is allowed to do necessary
  adjustions (e.g. adjusting the cookie, the parameters, or on
  partitioning system initialization even creating special child
  partitions (apple partitioning system)).
* Added `int32 *index' parameter to ValidateCreateChild(). So the
  partitioning system can report at which index the new child shall be
  inserted.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-24 22:53:23 +00:00
Ingo Weinhold
5ee968b3df * Added a change counter parameter to all partition querying and
modification functions. Don't know why I didn't right from the start.
* Implemented _kern_resize_partition().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:11:03 +00:00
Ingo Weinhold
02885b7d6e * Got rid of SetContentType(). It is set automatically now, to the
PrettyName() of the responsible disk system.
* Added change counter support and changes tracking.
* Added UninitializeContents().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-22 00:03:35 +00:00
Ingo Weinhold
c0b8ba64fd _kern_supports_moving_partition() now returns the list of partitions that need to be unmounted for moving.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-21 14:17:03 +00:00
Ingo Weinhold
df3b8c625e Added partition modification syscalls with empty implementations.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 22:39:37 +00:00
Ingo Weinhold
d7ce4fddfc Implemented all read-only (more precisely: not writing) methods. Small changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:24:32 +00:00
Ingo Weinhold
71a5281923 Implemented _kern_get_partitionable_spaces(). Got rid of user_partitionable_space_data.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:18:48 +00:00
Ingo Weinhold
2a596c013a Implemented all read-only (more precisely: not writing) methods. Small changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-20 17:15:35 +00:00
Ingo Weinhold
752cec6459 Several changes to the _kern_{supports,validate}_*() calls:
* Removed the disk_system_id parameter where superfluous.
* Got rid of the `child' variants of the _kern_{supports,validate}_*()
  syscalls for moving and resizing. Reimplemented the real ones to do the
  the right thing, i.e. they check all concerned disk systems now.
* Added _kern_supports_setting[_content]_parameters().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:37:00 +00:00
Ingo Weinhold
708a31badf Added SupportsSetting[Content]Parameters() to the KDiskSystem interface and respective functions to the module interface. Some re-ordering of methods/functions for aesthetical reasons. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:29:58 +00:00
Ingo Weinhold
24fa6c601b Added LoadDiskSystem() version, that takes a disk system name.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-19 20:26:48 +00:00
Ingo Weinhold
18b90323d9 Added flags for disk systems.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-18 18:41:21 +00:00
Ingo Weinhold
a1a7d37e2c Added syscall for validating the initialization parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-17 00:04:22 +00:00
Ingo Weinhold
3f60a01369 Added "name" parameter to KDiskSystem::[Validate]Initialize() and the respective module API functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-17 00:03:17 +00:00
Ingo Weinhold
8bc0bd912a Added and implemented the remaining disk system syscalls.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-16 21:01:14 +00:00
Ingo Weinhold
1f3f1294a8 Added a IsSubSystemFor() method to the KDiskSystem interface and respective calls for the module interfaces.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-16 21:00:01 +00:00
Ingo Weinhold
1863de6785 Added and implemented the first part of the disk system querying syscalls (_kern_supports_*()).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:42:59 +00:00
Ingo Weinhold
0fbb290f51 Some changes to/fixes of the KDiskSystem interface and the disk system module interface.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:41:32 +00:00
Ingo Weinhold
a97769a5d3 Added {Read,Write}Lock{Device,Partition}().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 21:39:34 +00:00
Ingo Weinhold
1ff134b901 * Added shadow_id field to user_partition_data.
* Implemented several new syscalls (_kern_find_{disk_device,partition}(),
  {prepare,cancel}_disk_device_modifications(),
  [un]register_file_device()),


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:27:43 +00:00
Ingo Weinhold
2438192b6c Added a deviceOnly flag to {Find,Register}Device(). Minor {Create,Delete}FileDevice() changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:05:50 +00:00
Ingo Weinhold
5d22fa967a Shadow partition related changes:
* Fixed handling of the deletion (removal) of shadow partitions. Formerly
  the shadow partition corresponding to the disk device wasn't removed
  properly.
* Added a shadow_id field to the user_partition_data structure which
  contains the ID of the shadow partition, if it is one. The id field
  will hold the ID of the physical partition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-15 01:00:24 +00:00
Ingo Weinhold
7dd03a026b Renamed KDiskDeviceManager::DiskSystemWith{ID,Name}() to FindDiskSystem().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:24:47 +00:00
Ingo Weinhold
995d5c53be * Renamed ddm_user_interface.cpp to ddm_userland_interface.cpp which
matches the name of the header much better. :-)
* Implemented the syscalls for iterating through and finding disk systems.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 23:23:27 +00:00
Ingo Weinhold
c54d68a84e Should have waited a few more minutes... Renamed the methods {B,K}Partition::Is{Mountable,Partitionable}() to Contains{File,Partitioning}System(). Similar change for the respective flags (B_PARTITION_{MOUNTABLE,PARTITIONABLE}).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 17:38:45 +00:00
Ingo Weinhold
55bf93d80d Fixed handling of partition and device flags and statuses.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-08 17:25:32 +00:00
Ingo Weinhold
c0455c33b8 * More shadow partition support.
* Writing disk device/partition data into userland buffer added.
* Migration of some definitions into <DiskDeviceDefs.h> header.
* Small bug fixes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 23:01:22 +00:00
Ingo Weinhold
d885284414 First implementations of Disk Device API related syscalls (iterating through disk devices and retrieving disk device data). As long as we work in userland these aren't real syscalls, of course.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-06 22:56:39 +00:00