Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 093015033f File systems are modules now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:20:59 +00:00
Axel Dörfler 34c763c98f File systems are modules now.
Added prototype for unremove_vnode(), some other minor changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:14:17 +00:00
Axel Dörfler 287704526b Don't panic for now if the PnP-root node cannot be registered; it doesn't
harm in case bootfs is used for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 15:17:02 +00:00
Axel Dörfler a0c7420724 Changes due to renaming the public fs functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:30:56 +00:00
Axel Dörfler a540a3f904 Renamed the public fs functions (removed the vfs_ prefix), and separated
them from other functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:25:22 +00:00
Axel Dörfler d0da374bc3 Moved the public fs functions from vfs.h to this file.
Renamed them to match other exported BeOS functions as well (removed the vfs_ prefix).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:23:48 +00:00
Axel Dörfler aad3f70c86 Moved the public fs functions to fs_interface.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:21:51 +00:00
Axel Dörfler 600203b105 Added the ability to link against static libraries for both, the R5KernelAddon
and the KernelAddon rule.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 13:55:34 +00:00
Axel Dörfler 99b8dab3b9 Added the "app" directory to the kernel includes to be able to access
AppDefs.h (for B_QUERY_UPDATE, etc.).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 13:35:31 +00:00
Axel Dörfler 35c681e031 Ah, that looks better (and actually works...).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 02:06:04 +00:00
Axel Dörfler 67efc07974 MAX_BOOT_CPUS is defined in kernel_args.h so we better include it.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 02:03:29 +00:00
Axel Dörfler f475c9696b Fixes the build under R5.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:50:46 +00:00
Axel Dörfler 47197929ca Temporarily disabled bus manager iteration - this might be done differently
anyway when it's all done.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:45:16 +00:00
Axel Dörfler 12373950ab Added header guards, cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:40:08 +00:00
Axel Dörfler a6426a42d7 Better debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:35:53 +00:00
Axel Dörfler 8a0d571192 That word might even exist, who knows?
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:33:39 +00:00
Axel Dörfler c8d5cf78c9 Improved debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:28:51 +00:00
Axel Dörfler d9918aa7e8 Added temporary hack to load the ISA bus manager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:25:45 +00:00
Axel Dörfler 97dfc072d7 Added devfs module to the built-in modules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:21:08 +00:00
Axel Dörfler c920230fed Added device manager support - work in progress.
Updated debugging macros.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:18:56 +00:00
Axel Dörfler 2fa2a91f08 Fixed build conflict with new ISA bus manager.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:13:49 +00:00
Axel Dörfler d1a9037152 Added missing newline to the end of the files.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:09:56 +00:00
Axel Dörfler 029990185b Added SCSI, IDE, and ISA bus managers to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:07:51 +00:00
Axel Dörfler de021f71fb Added ISA bus manager written by Thomas Kurschel. This is currently
hard coded to use the ISA IDE driver only.
This bus manager is architecture dependent; maybe there is a better
place to live for it than here. x86 and PPC/Pegasos will have an
ISA bus later - this module only supports x86 for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 01:05:26 +00:00
Axel Dörfler 1450572a5d Added SCSI bus manager written by Thomas Kurschel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 00:55:49 +00:00
Axel Dörfler debb0e18cc Added IDE bus manager written by Thomas Kurschel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 00:46:42 +00:00
Axel Dörfler b7c4739649 Added a generic PCI IDE driver, a specialised one for the Promise TX chips,
and an ISA IDE driver.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 00:37:08 +00:00
Axel Dörfler 386c5ff7f6 Added new generic kernel modules to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 00:23:21 +00:00
Axel Dörfler 64a23904af Added new bus/disk drivers to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 00:18:06 +00:00
Axel Dörfler e23fab9bef Added scsi CD and disk drivers, written by Thomas Kurschel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 00:08:20 +00:00
Axel Dörfler c8bbe37502 Added raw SCSI bus driver (from Thomas Kurschel).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 00:00:30 +00:00
Axel Dörfler 0d59a3d2a9 More headers for the new modules and PnP/device system - note, this
is a work in progress; the name as well as the contents will change :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 23:52:08 +00:00
Axel Dörfler cc5bfcb2e9 Added Thomas Kurschel's ide_adapter module. This module helps you writing
your specialized IDE driver.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 23:33:54 +00:00
Axel Dörfler f66f07a616 Added Thomas Kurschel's blkman module.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 23:25:59 +00:00
Axel Dörfler b59852c818 Added Thomas Kurschel's scsi_periph module.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 23:14:52 +00:00
Axel Dörfler 9d506c43b8 Added Thomas Kurschel's locked_pool module.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 23:08:56 +00:00
Axel Dörfler 5e3662534f Added Thomas Kurschel's fast_log module.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 23:06:25 +00:00
Axel Dörfler 7c3d0ba1f5 get_memory_map() didn't take page offsets into account (i.e. didn't work correctly).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 16:39:03 +00:00
Axel Dörfler 2195a2522a Implemented get_memory_map().
lock_memory() and unlock_memory() will now silently fail and return success -
that's only to get things working.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 01:14:18 +00:00
Axel Dörfler 54d94d3929 Replaced double equal symbols with single ones - seems to be more compatible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-05 12:31:01 +00:00
Axel Dörfler 755b059fc1 Doh, Elf32_Word is unsigned, so st_size cannot go below zero.
Also made elf_lookup_symbol_address() less restrictive with respect to the
ELF symbol found (it now accepts all types, not only functions).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-01 00:35:55 +00:00
Axel Dörfler 6444e8f7bf Copied boot loader code to load symbol table into kernel as well - not yet
tested, though.
No longer copies the elf_header in insert_preloaded_image(); it's not used
at runtime (should be superfluous to keep in other kernel images, too).
dump_symbols() now ignores entries with invalid values - don't know exactly
what makes a good entry, but that should look okay.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-01 00:27:15 +00:00
Axel Dörfler 8b33111039 Updated ELF loader to use preloaded_image struct for the kernel.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:52:01 +00:00
Axel Dörfler a8061da698 Removed system_time() prototype; it's already defined in OS.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:31:15 +00:00
Axel Dörfler b1b1136ca3 No longer uses gKernelEntry.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:15:37 +00:00
Axel Dörfler 2f42f1cf3a gKernelEntry is no longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:12:15 +00:00
Axel Dörfler 2c628d4aef gKernelEntry is no longer necessary.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 23:11:47 +00:00
Axel Dörfler cbb2b6c19f The kernel image data is now maintained in a preloaded_image as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:54:43 +00:00
Axel Dörfler bc6ab31951 (Almost) removed special handling of the kernel image, as it's now
maintained in a preloaded_image as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:51:01 +00:00
Axel Dörfler 38e937ca8e Removed superfluous htons()/htonl() functions (we already have the
standard byte order functions in the kernel).
Small cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:49:06 +00:00
Axel Dörfler 78f42e3f33 Moved the addr_range struct to a separate header.
Changed the kernel image data to a preloaded image as well, to simplify
handling in the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:44:24 +00:00
Axel Dörfler ca109e727d Moved the addr_range struct out of kernel_args.h to a separate file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 22:41:25 +00:00
Axel Dörfler 5cc177f4d6 Replaced all "addr" with "addr_t".
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:58:18 +00:00
Axel Dörfler 52823d0c3d Added debugger command for dumping all symbols of the specified kernel image.
Fixed warnings when compiled with TRACE_ELF.
Changed elf_lookup_symbol_address() to returning more useful information.
It now also scans the extended debug symbol table if present - for now, this
only works with preloaded images except the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:47:34 +00:00
Axel Dörfler 73e40f2d6e Small hack to get create_area() to create valid r/w areas in the kernel
(in BeOS, all kernel areas are r/w).
If you use B_READ_AREA/B_WRITE_AREA flags, you make the area readable
or even writeable from userland!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:43:57 +00:00
Axel Dörfler 9d9a07acd8 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:41:39 +00:00
Axel Dörfler 4a88dcb2cd Changed the "sc" output to be more useful.
Now uses the extended possibilities of the elf_lookup_symbol_address() call.
Fixed a bug in dbg_stack_trace(); it could crash at the top most stack frame.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:40:43 +00:00
Axel Dörfler 6fccd3b788 Changed elf_lookup_symbol_address() prototype - due to the way it now returns
its information, it's no longer safe to call this function outside the debugger.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:38:09 +00:00
Axel Dörfler ecfed6a718 Added fields to hold debug symbol information.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 21:33:13 +00:00
Axel Dörfler fa1ddc4f0e For debugging purposes, the boot loader is now able to load an additional
symbol table into memory and hand it over to the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-31 20:30:20 +00:00
Axel Dörfler 5325a3e53d Fixed a major bug in the inode code: Inode::GetTree() was called completely
without any locking, but was not safe to be used this way.
Now, B+tree creation is done when the inode is created, and thus no further
locking is needed.
Although this reduces the speed when doing directory listings with many sub-
directories, any errors are reported upfront, and not only when you access
the tree directly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-29 21:48:30 +00:00
Axel Dörfler c46a51bb81 Fixed oddly indented comment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-29 21:45:44 +00:00
Axel Dörfler fd88c05421 Added a possible optimization to the list.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-29 21:44:51 +00:00
Axel Dörfler 0692dc0cdd Fixes the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-26 17:00:27 +00:00
Axel Dörfler 6d7ccae449 Separated exported from private functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-26 15:11:39 +00:00
Axel Dörfler d9e5697c73 Selection changes via keyboard no longer copy DiskProbe's original behaviour,
but can be done like in BTextView.
Fixed a strange drawing bug that could happen on startup (R5): IsFocus()
could return false, even if the view had focus.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-25 23:44:41 +00:00
Axel Dörfler cc83827621 Could not delete a selection using backspace if that selection started
at the first character.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-25 19:58:30 +00:00
Axel Dörfler 5aacd7f134 Fixed the PPC kernel build; now in sync again with the changes made
to arch/thread.h and arch/smp.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-25 16:33:47 +00:00
Axel Dörfler 0865e4b204 Added syscall for rename_thread(), courtesy of Jack Burton.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-24 12:12:58 +00:00
Axel Dörfler df88c4db24 Added missing newline.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-24 01:36:53 +00:00
Axel Dörfler a4733dd5dd Added some more error message found in Dano headers - not sure if we'll keep them, though.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-23 23:21:20 +00:00
Axel Dörfler 1648d0d88e daemon_hook typedef wasn't R5 compatible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-23 23:14:49 +00:00
Axel Dörfler fdaf57f5a5 Always wrote fRealViewSize blocks; didn't use the correct calculated size...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-20 19:14:09 +00:00
Axel Dörfler 811903d10c Added a rule that builds a kernel add-on which links against our kernel.
That makes it possible to use functions not available in the original R5
kernel.
Might be a hack, but it seems to work.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-19 23:59:41 +00:00
Axel Dörfler ce986d0759 Renamed the build target of the kernel's test "ls" app (to separate it from
coreutil's ls).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-19 15:21:29 +00:00
Axel Dörfler 8c60a23b16 addr_t is now defined in public headers.
Fixed missing initialization from fBitPosition which could result in strange
input in the hex mode (only at first try).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-19 13:44:45 +00:00
Axel Dörfler 88cfa4fb99 Applied Jack Burton's patch to fix the boot problems on many systems:
find_real_mem_size must not be called with interrupts turned off.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-18 10:27:28 +00:00
Axel Dörfler adbaa7817e It's now B_MAX_CPU_COUNT rather than SMP_MAX_CPUS.
Removed unused headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-18 09:42:13 +00:00
Axel Dörfler 814291ded8 No need to include <kernel.h>.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-18 09:37:20 +00:00
Axel Dörfler f9ba8a1b61 Last patch was broken, thanks to Jack Burton for notifying me.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-17 10:01:17 +00:00
Axel Dörfler 70cdc7af60 If you call get_fd_and_vnode() you need to free it with put_fd(), not
put_vnode() - thanks to Ingo for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-16 11:55:42 +00:00
Axel Dörfler 20b8926754 The -imacro header inclusion is no longer necessary, and also seems to have
been removed in more current GCC releases; thanks to Jack Burton for pointing
this out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-14 15:28:49 +00:00
Axel Dörfler 0b8a2c94ce Introduced sUsedPorts/sUsedSems variables that can make it more efficient
to deny further port/sem allocation (and also simplifies port/sem stats).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-13 19:35:49 +00:00
Axel Dörfler 78ab9987c3 Modules out of preloaded images will now be registered and can be used
like any other module (yeeha!).
You can even unload preloaded images later on (to replace them with a
more up-to-date on disk version).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 23:44:58 +00:00
Axel Dörfler 8590e919fc Now maintains the new preloaded_image::id field.
If an image cannot be created out of a preloaded_image, its resources
are freed now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 23:43:30 +00:00
Axel Dörfler 6e062dd1b5 Added an ID field that connects the real kernel image with the preloaded image structure.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 23:41:34 +00:00
Axel Dörfler d81a053b90 Bye, bye elf_lookup_symbol(), hello get_image_symbol().
Also renamed elf_load_kspace() to load_kernel_add_on(), and friends.
The new unload_kernel_add_on() now has an image_id as parameter, no longer
a path (like the former elf_unload_kspace()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 19:54:10 +00:00
Axel Dörfler d00edc2f92 Bye, bye elf_lookup_symbol(), hello get_image_symbol().
Also renamed elf_load_kspace() to load_kernel_add_on(), and friends.
The new unload_kernel_add_on() now has an image_id as parameter, no longer
a path (like the former elf_unload_kspace()).
Now requires a driver to export the api_version symbol.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 19:53:37 +00:00
Axel Dörfler b918b5035f Bye, bye elf_lookup_symbol(), hello get_image_symbol().
Also renamed elf_load_kspace() to load_kernel_add_on(), and friends.
The new unload_kernel_add_on() now has an image_id as parameter, no longer
a path (like the former elf_unload_kspace()).
Fixed missign file system unload.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 19:52:38 +00:00
Axel Dörfler 81c323a767 unregister_elf_image() didn't call unregister_image(), so images never got
unregistered.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:30:18 +00:00
Axel Dörfler d14f9aac93 Cleanup to better match our coding style guide; renamed variables, etc..
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:29:19 +00:00
Axel Dörfler 7e323e80d6 Kernel images are now registered, so the ToDo item is fulfilled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:27:59 +00:00
Axel Dörfler 2b6b9a5afb Added a comment (now that we're using a hash table).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:20:40 +00:00
Axel Dörfler a364fba7d4 Is now using a hash for the images instead of a singly linked list.
Now registers its images as it should do (so you can use commands like
listimage in userland).
Added new debugger command "image".


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 17:18:02 +00:00
Axel Dörfler 11a5baaf67 Updated the private kernel image API to be more efficient (no longer needs
to acquire the team spinlock).
Renamed the user syscalls to the new style.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 15:04:36 +00:00
Axel Dörfler fd1f6b7f01 Fixed a bug in elf_load_kspace(): the image structure and the pheaders were
freed in the wrong order in case of an error (could have crashed the kernel).
Implemented insert_preloaded_images() which prepares the preloaded images
for later use in the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 14:22:00 +00:00
Axel Dörfler dc4eb9db8d Removed unneeded code, updated comment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 14:20:14 +00:00
Axel Dörfler 797647691a elf_region already had a field to store an area_id; we now use this one.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 13:54:13 +00:00
Axel Dörfler d07a6f89a0 Actually, elf_region already contains an area_id field...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 13:43:39 +00:00
Axel Dörfler ff76eb5cde Boot loader BFS now has symbolic link support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-11 12:16:26 +00:00