Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 1fdfe0c39a Added a new directory traversing method GetNextEntry() that's based on the
entry's name.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 07:15:32 +00:00
Axel Dörfler 3e64cf641c No longer scans the whole /dev/disk tree, but only the "ide", "scsi", and
"virtual" subtrees in it (no more parallel, ... scanning).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 07:14:03 +00:00
Axel Dörfler 4e91b25740 Tried to use stat() to get the size of the file, but of course, that don't
work out for devices - still need to fix it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 07:12:55 +00:00
Axel Dörfler 3f2188ad1a Partition::AddChild() created its child with the wrong file descriptor; i.e.
it passed partition_data::volume which used to be the correct descriptor
earlier, but is now unused in the boot loader partition support.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 07:10:45 +00:00
Axel Dörfler 184dd21b87 Adds the new Stream.cpp file to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 02:29:33 +00:00
Axel Dörfler 50ab1fac08 Somehow forgot to actually include the Stream class in the last commit...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 02:29:01 +00:00
Axel Dörfler aec0abfd56 Add a new Stream class that handles reading bytes from an inode (retrieved
from the BFS Stream.h file) - it supports all data stream ranges (direct,
indirect, & double indirect).
Moved bfs_inode::InitCheck() to the new Stream class.
The Directory class now has a Stream object instead of a bfs_inode directly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 02:28:14 +00:00
Axel Dörfler 7df7a4cc01 Added endian-aware getter methods for all internal BFS structures.
Also made all methods implemented in this file endian-aware (lazy as I am,
I left things like "name_size == 0" unchanged, because 0 is a endian-safe
value... [hey, it's even faster that way]).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:24:55 +00:00
Axel Dörfler c966bfdab7 Started to implement the real BFS module for the boot loader.
Currently, it only recognizes a BFS disk, and will print out its name
(and that code is now endian-aware as well).
More to come, though :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:22:40 +00:00
Axel Dörfler b796791788 Now adds real devices - it scans the /dev/disk tree and adds all files
with the name "raw" - note, this is directly accessing your precious data,
but read-only of course.
Also added the test-file-device as used by the DiskDeviceManagerTest.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:20:07 +00:00
Axel Dörfler fe281d90df Now has the possibility of opening a file directly, instead of only
accepting already opened files.
Hence, it now also has an InitCheck() method, because opening doesn't
have to succeed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:18:02 +00:00
Axel Dörfler fa89d1f6f3 Now exports the calls of the boot loader heap no longer the platform dependent
bindings - we are now using stdlib's malloc()/free() directly instead.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:16:38 +00:00
Axel Dörfler 6b770349d5 Added partitioning and file systems to the build.
Removed the boot loader heap - it now uses standard malloc()/free() in order
to cause less confusion. The boot heap does have its own test app anyway.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:15:13 +00:00
Axel Dörfler e9117d1507 Put Partition and the new (private) NodeOpener class into the "boot" namespace.
Implemented Partition::Size() and Type() to stat its device.
Partition::ReadAt() and WriteAt() now return B_BAD_VALUE if a position smaller
than zero is provided (as Posix actually states).
Partition::Scan() now provides the partitioning system modules with the correct
file descriptor; it now opens itself (using the NodeOpener class) and no longer
the descriptor of its device directly (resulting in wrong positioning).
Debug output can be turned off now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:12:53 +00:00
Axel Dörfler f150614a3b Node::fRefCount is now 1 after creation, so that a following Acquire()/Release()
pair doesn't delete the object anymore (creation is regarded as an Acquire()
equivalent now).
Moved mount_boot_partitions() and vfs_init().
Debug output can be turned off now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:09:22 +00:00
Axel Dörfler 21d6803233 The class partition is now in the namespace "boot". Now overloads Size()
and Type() as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:07:03 +00:00
Axel Dörfler 04409b5f9e The R5 Device API is not public, and shouldn't be exported by this file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-12 01:01:12 +00:00
Axel Dörfler 0ccfc3ca29 Added TRACE() macro to be able to make the loader more silent.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 18:58:37 +00:00
Axel Dörfler 9225f27c04 Class Node already had a list_link field, so Partition::fNext was not only
wrong, but also completely senseless :-)
Renamed Partition::NextOffset() to LinkOffset() to honour that change.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 18:58:05 +00:00
Axel Dörfler 9a7a3f03c1 While "BuildPlatformTest" doesn't define OBOS_TEST, "ObjectDefines" doesn't
seem to work in combination with "SimpleTest".
As I am too lazy to figure out what's causing this, I hope for Ingo :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 18:17:09 +00:00
Axel Dörfler 8c7387275b Added support for BeOS; Handle.cpp uses read_pos() now, and will define
that to pread() if read_pos() doesn't exist.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 17:49:03 +00:00
Axel Dörfler 0547046085 Added the userland boot loader test to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 17:32:24 +00:00
Axel Dörfler 9e20549fb6 The boot loader heap test now defines HEAP_TEST in order to let heap.cpp
export dump_chunk().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 17:31:31 +00:00
Axel Dörfler 81b8b661c1 dump_chunk() is now only exported when HEAP_TEST is defined.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 17:30:12 +00:00
Axel Dörfler 572edf3377 Added the start of a userland boot loader test (i.e. userland platform
bindings for the stage2 boot loader).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 17:28:58 +00:00
Axel Dörfler 0686bd4707 Fixed and simplified.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 02:01:48 +00:00
Axel Dörfler eb03840af1 Added a BFS special endian header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 01:34:38 +00:00
Axel Dörfler bd75d5b8cf OpenFirmware handles now report a size of 1024 GB for now - so that the
partition modules won't complain about a disk too small to hold a partition.
Should be fixed, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 00:31:21 +00:00
Axel Dörfler ebe8f6bba7 Accidently exported a C++ function in a plain C accessible part.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-11 00:27:11 +00:00
Axel Dörfler 28ab9bb7be list.h is now in util/.
All files updated, so this can be removed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:37:49 +00:00
Axel Dörfler b5a05a72fa Fixed some warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:36:52 +00:00
Axel Dörfler d02898ade8 list.h is now in util/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:36:29 +00:00
Axel Dörfler c7a03dadea list.h is now in util/.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:31:25 +00:00
Axel Dörfler a26d074d55 The boot loader build process has changed a bit.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:23:57 +00:00
Axel Dörfler b5711c8173 An empty BFS file system for the boot loader for testing purposes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:22:37 +00:00
Axel Dörfler 16885aac6f Made the Node base class better to use with files and directories, added
Acquire()/Release() support as well.
New Directory base class.
Added basic support for file systems and the root file system, not yet
fully working (no path parsing yet), and not yet tested.
Implemented fstat().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:21:58 +00:00
Axel Dörfler 6d43a73b2e The very basic root file system for the boot loader, but should be enough.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:19:08 +00:00
Axel Dörfler 795b832490 Moved the definition of the Partition class in a separate private header file.
Implemented recursive child content scanning.
Added support for file systems, and the root file system.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:18:26 +00:00
Axel Dörfler c55a2656e5 Partition modules are now built in their own static library file. Since
only the ones actually used are linked in, the local variable is no longer
used.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-09 02:16:40 +00:00
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