Commit Graph

20525 Commits

Author SHA1 Message Date
Axel Dörfler
3a199128de * Now checks if the BootMethod allocation succeeds.
* Minor cleanup, reordered header files to go from private/local to public/global.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 23:51:21 +00:00
Jérôme Duval
0de9b61d51 updated mesa to 7.0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 22:28:49 +00:00
Axel Dörfler
5d92d947c2 * Completed some more missing parts.
* Replaced some more spaces with tabs, though still not complete.
* And I forgot: the last commit also removed some garbage at the beginning of the file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 18:09:43 +00:00
Jérôme Duval
2ff0a95e11 work from JiSheng Zhang : fwcontrol with firewire headers from FreeBSD current. Thanks!
clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 17:43:02 +00:00
Axel Dörfler
84f03dd594 * Removed deprecated functions.
* The documented the notify_*() functions - only notify_listener() was deprecated
  among them.
* Replaced spaces with tabs - there is no reason to deviate from the standard we're
  using everywhere else.
* Completed the docs here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 13:31:02 +00:00
Axel Dörfler
bd1877933f remove_vnode() will now return an error code if the vnode to be removed did not exist.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 12:38:13 +00:00
Ingo Weinhold
f29a0687cf We were leaking a module reference.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 02:29:00 +00:00
Ingo Weinhold
951d99dacb This one slipped. Added remote_disk driver to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 02:13:00 +00:00
Ingo Weinhold
9e8dc2a9bb [Sorry, couldn't split this one up any further.]
* Images preloaded by the boot loader had to be modules to be of any use
  to the kernel. Extended the mechanism so that any images not accepted
  by the module code would later be tried to be added as drivers by the
  devfs. This is a little hacky ATM, since the devfs manages the drivers
  using a hash map keyed by the drivers inode ID, which those drivers
  obviously don't have.
* The devfs emulates read_pages() using read(), if the device driver
  doesn't implement the former (all old-style drivers), thus making it
  possible to BFS, which uses the file cache which in turn requires
  read_pages(), on the device. write_pages() emulation is still missing.
* Replaced the kernel_args::boot_disk structure by a KMessage, which can
  more flexibly be extended and deals more gracefully with
  arbitrarily-size data. The disk_identifier structure still exists,
  though. It is added as message field in cases where needed (non net
  boot). Moved the boot_drive_number field of the bios_ia32 platform
  specific args into the message.
* Made the stage 1 PXE boot loader superfluous. Moved the relevant
  initialization code into the stage 2 loader, which can now be loaded
  directly via PXE.
* The PXE boot loader does now download a boot tgz archive via TFTP. It
  does no longer use the RemoteDisk protocol (it could actually be
  removed from the boot loader). It also parses the DHCP options in the
  DHCPACK packet provided by PXE and extracts the root path to be
  mounted by the kernel.
* Reorganized the boot volume search in the kernel (vfs_boot.cpp) and
  added support for network boot. In this case the net stack is
  initialized and the network interface the boot loader used is brought
  up and configured. Since NBD and RemoteDisk are our only options for
  net boot (and those aren't really configurable dynamically) ATM, the
  the boot device is found automatically by the disk device manager.

Booting via PXE does work to some degree now. The most grievous problem
is that loading certain drivers or kernel modules (or related activity)
causes a reboot (likely a triple fault, though one wonders where our
double fault handler is on vacation). Namely the keyboard and mouse input
server add-ons need to be deactivated as well as the media server.
A smaller problem is the net server, which apparently tries to
(re-)configure the network interface we're using to boot, which
obviously doesn't work out that well. So, if all this stuff is disabled
Haiku does fully boot, when using the RemoteDisk protocol (not being
able to use keyboard or mouse doesn't make this a particular fascinating
experience, though ;-)). I had no luck with NBD -- it seemed to have
protocol problems with the servers I tried.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 02:10:15 +00:00
Ingo Weinhold
018cf36396 Clear out/initialize IDT and GDT using their virtual addresses after
they have been mapped. The previous method relied on their physical
pages living in the identity mapped region, which they wouldn't, when
the boot loader allocated enough memory before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:54:16 +00:00
Ingo Weinhold
119c6cdd0b Use the AutoLocker defined by the super class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:49:04 +00:00
Ingo Weinhold
bf8e5ecab7 * Reduced the region allocated for the uncompressed data to 16 MB. With
32 MB the kernel's VM initialization code would run into trouble.
  Accessing freshly mapped memory in the generic page mapper would
  result in a page fault. To be investigated.
* Apparently in the boot loader the file systems are responsible for
  resolving symbolic links (instead of the VFS). We do that now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:45:10 +00:00
Ingo Weinhold
0274089508 Never include anything in an extern "C" block.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:35:10 +00:00
Ingo Weinhold
3532662e0c Added RemoveLeaf() leaf method. Very handy for recursive directory
iteration code using a single KPath object.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:34:17 +00:00
Ingo Weinhold
dad631290c * Made header includable by C code. In this case a KMessage structure
with the same size as the class is defined.
* The SetTo() methods do now accept an unspecified (negative) bufferSize
  in case of being told to initialize from the given buffer.
* Added handy Get*() methods returning a field element value or a
  supplied default value, if the field element doesn't exist.
* Added also handy Set*() methods setting the value of first element of
  a field, i.e. adding it, if it didn't exist before, otherwise
  replacing the old value. Only for fixed size types.
* Moved _FindType() inline template method into the header.
* Made the source file fit for use in the boot loader. If the macro
  KMESSAGE_CONTAINER_ONLY is defined, the message sending/receiving part
  is omitted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:32:37 +00:00
Ingo Weinhold
5f4b58a4d1 * Removed stuff not strictly necessary for the net boot (ps2 bus
manager, some drivers).
* Commented out nbd for the time being and added remote_disk.
* Consequent use of boot links.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:15:54 +00:00
Ingo Weinhold
7ba3142d97 Kernel driver my home-brewn remote disk protocol. I actually intended to
remove it completely, but I had no luck with the NBD driver. :-/



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:13:14 +00:00
Ingo Weinhold
1485d7a2d7 Added small tool source_to_data, which takes an arbitrary data file and
generates a C source file defining an array variable containing the file's
data. DataFileToSourceFile is the respective jam rule.

The idea is to directly built the boot archive into the boot loader for
network booting (and thus avoiding to download it from somewhere). In
case of PXE this doesn't work, though, due to restrictions to the size
of the NBP. Maybe Open Firmware is less restrictive.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 00:04:27 +00:00
Jérôme Duval
b9fcbf7c74 added directories to hold firewire sources (on behalf of absabs)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-14 14:16:14 +00:00
Jérôme Duval
4eab749193 added CodyCam to the menu
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-14 11:41:09 +00:00
François Revol
1118b1e30c Add CodyCam to the image
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-14 09:37:58 +00:00
François Revol
60076b7199 Official place for socket.h is sys/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-14 09:26:22 +00:00
Stefano Ceccherini
2b0f12f79e Moved spawning the shell from TermApp to TermWindow
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-13 11:27:59 +00:00
Stefano Ceccherini
85f69514f4 More style changes, replaced sprintf use with snprintf. Removed unused
variables and code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-13 10:38:58 +00:00
Philippe Houdoin
6a3088c64b Fixed ACPI main module for non-haiku targets:
* On these targets, we must load ACPI's modules dependencies ourself!
* Only the main B_ACPI_MODULE_NAME will work on non-Haiku targets, as
the (work-in-progress?) extra ACPI modules (ACPI_ROOT_MODULE_NAME, ACPI_NS_DUMP_MODULE_NAME,
and ACPI_DEVICE_MODULE_NAME) needs Haiku's Device Manager.
* "cat /dev/power/namespace" was successfully tested on a BeOS R5+Bone system.
* My P5W DH Deluxe-based system have a huge ACPI namespace ;-)
* A graphical ACPI Namespace Viewer will be welcomed (Hint) 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-13 09:33:17 +00:00
Philippe Houdoin
e659b9521f Changed snprintf() (un)availability test from COMPILE_FOR_R5 to
__HAIKU__.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-11 20:35:24 +00:00
Philippe Houdoin
fd836a9165 Fix build on fro non-haiku targets, on which libroot.so lacks
snprintf()...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-11 20:31:23 +00:00
Jérôme Duval
5d5a6848b5 added printf format attributes for gcc
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-11 18:55:27 +00:00
Ingo Weinhold
b39c8d3711 * Refactored the image creation rules. There are now generalized rules that
work on arbitrary "containers". The image rules are just
  specializations.
* Added rules, a definition file (build/jam/NetBootArchive), and a shell
  script for creating a gzipped tar archive containing kernel and modules
  required for network booting (the contents may need some fine-tuning).
  ATM it can be built via the haiku-netboot-archive pseudo target. It is
  generated in the output directory (e.g. "generated").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-11 01:04:35 +00:00
Axel Dörfler
835e31d5a7 Fixed failure return codes as pointed out by Jerome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 21:41:44 +00:00
Jérôme Duval
b6bd7e1595 uint32 => addr_t
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 20:19:02 +00:00
Stephan Aßmus
4d4ee928bf * work in progress new Network preflet by Andre Garzia (GSoC student)
- can currently display the configuration of a chosen ethernet device


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 09:14:25 +00:00
Stephan Aßmus
7b6156a275 * moved network to network_old to make room for new preflet by Andre Garzia
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 09:09:33 +00:00
Gerasim Troeglazov
62cee9f9cb update libntfs-3g to 1.616
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-09 04:55:36 +00:00
Jonas Sundström
2c02680d03 Allow removing any Deskbar replicants, by name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 16:29:44 +00:00
Niels Sascha Reedijk
412a49defe Update to the latest prototypes of fs_interface.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 08:29:52 +00:00
Ingo Weinhold
dcb3c6c321 * Added support for symlinks.
* Prepared for other uses than just boot floppies (/CDs). We first try to
  inflate the contents of the given device at offset 0 before using the
  floppy disk offset. This will make it easy to mount tgz files loaded via
  network or built into the boot loader itself.
* Increased the max possible size of inflated data to 32 MB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 01:49:02 +00:00
Ingo Weinhold
5519ed578c Added AutoDeleter::Get().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 01:41:55 +00:00
Ingo Weinhold
4dac6ac8de Allow building the BootLoaderTest (and zlib) for BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 01:28:04 +00:00
Marcus Overhagen
ad1d8116a6 compile fix, header file for strcmp was missing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:37:11 +00:00
Marcus Overhagen
c41c3f9bca gcc4 compile fix, but C++ predicates are ugly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:36:11 +00:00
Marcus Overhagen
896aa538d4 gcc4 fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:02:12 +00:00
Axel Dörfler
b463849f4d StorageKit.h still included the Alias.h header file I removed with the previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-06 12:52:01 +00:00
Axel Dörfler
70fa61adbb * Removed the _IMPEXP* stuff from the headers Ingo clearly identified as ours.
* Removed storage/Alias.h as that stuff isn't even available on BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-06 10:35:17 +00:00
Stephan Aßmus
560e5dfccc * compile fix for ZETA, provided by Ingo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 21:00:27 +00:00
Axel Dörfler
d2d753669d * Renamed "EFI GUID Partition Table" to "EFI GUID Partition Map" to be consistent
with the other partition types.
* Added kPartitionTypeEFI to the constants.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 19:41:47 +00:00
Axel Dörfler
3f8368e223 Made the output of the volume listing more useful: added size, and device information.
size_string() was taken from df.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 19:32:59 +00:00
Axel Dörfler
9958d12db2 Because of ongoing problems with thread_yield() and our current scheduler, I've disabled yielding for now; it will now just snooze a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 18:27:27 +00:00
Philippe Houdoin
e3202264ff Moved capabilities info under a sublevel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 18:01:25 +00:00
Marcus Overhagen
005b9e7acd spolling fex
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 16:42:46 +00:00