Commit Graph

5122 Commits

Author SHA1 Message Date
Axel Dörfler
2f72291d1b Updated to support the new platform API and bootloader features.
Note: it will try to load the "kernel_intel" file for now (it'll
be kernel_x86 or kernel_ppc in the real thing).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:32:51 +00:00
Axel Dörfler
85ee5b9e24 Added a hint on how to build bfs as big endian file system for testing purposes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:30:58 +00:00
Axel Dörfler
44df371a46 Updated to match the new boot loader platform API (boot() was renamed to main()).
platform_user_menu_requested() always returns "false" for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:29:42 +00:00
Axel Dörfler
d76300d0d8 Now has (initial) support to select a boot device if the OpenFirmware
provided one - will always select the first partition on that device,
though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:28:34 +00:00
Axel Dörfler
621540d112 Updated the dummy implementation to match the changed platform API.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:26:54 +00:00
Axel Dörfler
d178a0d7e4 Implemented new Directory::IsEmpty() method.
Amiga-FFS Directory::Lookup() now only creates a HashIterator if needed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:25:06 +00:00
Axel Dörfler
3c3cc60956 Now has support to load the kernel from the boot device, and to open the
user menu if requested (even if there is none yet). It will also mount
all file systems before the user menu is shown in order to get the right
boot volume - it should probably only call user_menu() if there is more
than one possible boot device.
Removed unused parts that won't be needed anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:23:25 +00:00
Axel Dörfler
6072286af6 Dunno why, but CVS didn't pick that up (see CVS comment in loader.h).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:20:21 +00:00
Axel Dörfler
c948f27797 New BOOT_ARCH definition - this is used to create the kernel name (for
looking it up on the disks); it's set to OBOS_ARCH.
Added the new files menu.cpp and loader.cpp to the build.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:19:16 +00:00
Axel Dörfler
7c198b5d2b Made gDescriptors static, and renamed it to sDescriptors (it's private).
vfs_init() now correctly initializes the gPartitions list, and also creates
the root file system (mount_boot_file_systems() did this before). It now
no longer scans the platform for boot devices.
New function get_boot_file_system() which returns the boot file system as
chosen by the platform code.
mount_file_systems() (former mount_boot_file_systems()) now supports the
boot device; it will not scan all partitions again, but only those different
from the boot file system (if any).
get_node_for_path() did not Acquire() the start directory, but released it
(and its callers didn't acquire it, too).
Removed the commented mount() function, since it won't be needed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:17:15 +00:00
Axel Dörfler
221807be72 Added a new variant of add_partitions_for() which takes a device instead
of a file descriptor as first argument.
add_partitions_for() is now able to only mount file systems if requested;
partitions with unknown contents will not be removed from the list if it
doesn't try to mount them.
Moved the file system mounting code to the new Partition::Mount() method.
Partition::Scan() now only mounts file systems if requested.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:10:56 +00:00
Axel Dörfler
8df661e6f8 Some new "barebones" for enhanced boot loader functions for the user menu
and the kernel/module loading.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:06:52 +00:00
Axel Dörfler
1f0aeec0f0 Implemented the new IsEmpty() method.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:05:27 +00:00
Axel Dörfler
774d1ff304 The Directory abstract base class has a new method IsEmpty().
New/changed function prototypes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:04:08 +00:00
Axel Dörfler
6e5bc20607 Added some more functions to the platform abstraction API - it's now
possible to select a boot device which is used directly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:02:36 +00:00
Axel Dörfler
b337ddf60a Added a new method Mount() to Partition, Scan() now takes a parameter to
decide if it should mount file systems on the partition or not.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-01 01:00:53 +00:00
beveloper
209d967508 added decoding of PCI class
included use of PCI Header file with vendor/device information


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-30 19:34:50 +00:00
beveloper
2ec8c35cc5 removed invalid entries, excluded unused tables
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-30 19:33:31 +00:00
beveloper
1989667e2e added output of pci device info
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-30 00:43:36 +00:00
beveloper
3d262ee9fb added reading of configuration
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 23:28:02 +00:00
beveloper
7e277be485 improved implementation of pci_ram_address()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 23:27:31 +00:00
Ingo Weinhold
283e146548 Aesthetical change.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:45:22 +00:00
Ingo Weinhold
58b7de1cda Implemented the resize job.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:44:47 +00:00
Ingo Weinhold
b0814f61c3 Implemented Resize() and ResizeChild().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:44:21 +00:00
Ingo Weinhold
77fe5e61a5 Another fix of the code that updates which partitions are still busy. Hopefully the last one.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:43:59 +00:00
Ingo Weinhold
541c05cc85 We always resize the partition contents.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:43:11 +00:00
Ingo Weinhold
63c99af405 Added Unset(). Also added some new classes that don't work yet and are uncommented for that reason.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:42:33 +00:00
Ingo Weinhold
3acc9a051b Moved the validation functions out of ddm_userland_interface.cpp into ddm_operation_validation.{cpp,h} for re-use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 21:40:36 +00:00
beveloper
51e44e6ee4 added missing include file
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 20:15:00 +00:00
beveloper
90157e6a02 Removed bus_man.c from build since it no longer compiled after removing pci_bus.h :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 19:57:14 +00:00
beveloper
79f40e4322 renamed line into pin, since in PCI terminology, IRQ interrupt number == line, and the physical interrupt wire == pin
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 19:09:32 +00:00
beveloper
fb5398b8f7 removed
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 19:09:12 +00:00
beveloper
1aad0f29d1 added locking
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 19:06:40 +00:00
beveloper
ee3ca5c227 include new files and kernel C++
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 19:02:34 +00:00
beveloper
3348f6b7fa basic pci information
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 19:01:31 +00:00
beveloper
f4b84940c0 PCI Vendors, Devices, and Class Type information from http://www.yourvote.com/pci
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 19:00:09 +00:00
beveloper
9b4ce42bf2 new PCI bus scanning & configuration code as C++ class
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 18:58:51 +00:00
beveloper
b1393f0002 moved PCI module specific code from pci.c into pci_module.c
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 18:57:36 +00:00
beveloper
870d99e3fc moved PCI module specific code into pci_module.c
moved PCI bus scanning into pci.cpp


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 18:56:18 +00:00
Ingo Weinhold
eae4df8320 Fixed the usage of CHECK_USER_ADDRESS(). R5 has the inverse memory layout, so we need to adjust the KERNEL_BASE macro when compiling for it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 18:50:02 +00:00
Ingo Weinhold
6c27ff9492 Define some macros telling us, that we compile for R5 and userland.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-29 18:47:10 +00:00
Ingo Weinhold
3d2fa2ae20 Wait until jobs are done after committing the changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:07:57 +00:00
Ingo Weinhold
11ef678c43 We don't need to mark/unmark shadow partitions busy separately anymore, since they should automatically remain in sync with the physical ones.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:06:54 +00:00
Ingo Weinhold
2998edc39b Added KPartitionListener.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:04:37 +00:00
Ingo Weinhold
58bdbab626 Added a KPartition listener mechanism and made use of it to keep shadow partitions with the corresponding physical ones in sync.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 22:04:13 +00:00
Ingo Weinhold
373c8e3751 Implemented Do(). Looks like it works.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:33:23 +00:00
Ingo Weinhold
0ee064b1fb KPartition::UninitializeContents() returns an error code now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:31:49 +00:00
Ingo Weinhold
bce1e50726 Some fixes concerning job queue handling.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:30:57 +00:00
Ingo Weinhold
70f0555bce Debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:30:12 +00:00
Ingo Weinhold
583f8c1d02 Added set_disk_device_job_error_message() for setting an error message, when an error occurs while executing a job.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-09-28 19:29:36 +00:00