Commit Graph

8114 Commits

Author SHA1 Message Date
Axel Dörfler
500e879b20 Implemented vm_unreserve_address_range().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:18:18 +00:00
Axel Dörfler
e1f53d9bbe Added prototype for vm_unreserve_address_range().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 02:17:16 +00:00
Axel Dörfler
11727a9c43 B_EXACT_KERNEL_ADDRESS is now the same as B_EXACT_ADDRESS; it will be
removed once it is no longer referenced.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 01:06:35 +00:00
Axel Dörfler
dd9e837ebd Added prototype for vm_reserve_address_range().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 01:05:32 +00:00
Axel Dörfler
76377cf3f5 - Removed B_EXACT_KERNEL_ADDRESS - doesn't make that much sense (it was a private
and (very) temporary extension, anyway).
- Fixed _user_create_area() - it will now also recognize B_ANY_KERNEL_BLOCK_AREA,
  and it will not access a kernel address for B_EXACT_ADDRESS.
- create_area() will now handle B_EXACT_ADDRESS correctly as well.
- get_memory_map() will now silently ignore the missing final entry if the map
  contains only one entry.
- The check for user memory was wrong in get_memory_map(); it worked, but it
  was not necessarily portable.
- vm_reserve_address_range() was not correctly initializing the region.
- find_and_insert_region_slot() will now search for reserved regions when
  B_EXACT_ADDRESS is used - not yet tested, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 01:04:51 +00:00
Axel Dörfler
98b3dfb3e1 Extracted the address specification stuff out of map_backing_store() and
created a call around find_and_insert_region_slot() that takes care of
everything. Fixed B_BASE_ADDRESS support (it now really works).
First shot at a new VM function vm_reserve_address_range() that will be
used to fix our ELF loader issues (which needs to create adjacent regions
which the VM cannot guaranty at this point).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-09 00:05:02 +00:00
Jérôme Duval
591af8735d compiling with DEBUG is only for tests
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 23:58:29 +00:00
Jérôme Duval
990b523c0c Removed unused files and stubs.
It fixes bug with ls -l and symbolic links


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 23:56:43 +00:00
Philippe Houdoin
bc333ea2ef Fix a thread safety issue in "USB Port" transport.
Now all transports okok'ed the received init message on success.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 22:59:21 +00:00
Axel Dörfler
e243c52503 Now correctly handles B_BASE_ADDRESS, and probably B_ANY_KERNEL_BLOCK_ADDRESS,
too.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 22:55:39 +00:00
Axel Dörfler
706d99ca73 This patch from Jack Burton should finally fix the interrupt problems on
thread exit - get_death_stack() now returns the interrupt state so that
it can be restored correctly later.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 22:07:08 +00:00
Axel Dörfler
1d67f5a556 Fixed executable paths.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 22:02:44 +00:00
Axel Dörfler
9c642b6454 Adjusted paths.
The stack of the main thread is now called "{team name}_main_stack" instead
of primary stack.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:35:14 +00:00
Axel Dörfler
0b57ed842f Adjusted paths to new locations.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:15:16 +00:00
Axel Dörfler
5fce212779 Adjusted the default library path to the standard Be location - added
a note that we should evaluate the LIBRARY_PATH env variable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:08:08 +00:00
Axel Dörfler
d26f311066 Moved the executable files to locations that better match the Be directory
hierarchy.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 21:01:02 +00:00
Jérôme Duval
3d02233113 Avoids using path from parameter
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 18:13:35 +00:00
Jérôme Duval
f66d5f8c04 Readded sig.c
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 18:09:27 +00:00
Jérôme Duval
23a4690b22 don't know how this could build before
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 15:31:49 +00:00
Stefano Ceccherini
f59a054710 Should always count to 10 before committing. Another comment
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 14:26:22 +00:00
Stefano Ceccherini
741f96a162 Added a comment
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 14:03:38 +00:00
Axel Dörfler
e2df52b7da The symlink traversion didn't balance the ref_count of the starting vnode
correctly when it entered the next recursion of vnode_path_to_vnode().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 11:34:49 +00:00
Axel Dörfler
c26e46469e Fixed warning I just introduced.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 10:17:32 +00:00
Axel Dörfler
618253640c Userland segments are now called _seg0rw/_seg0ro.
Replaced "addr" with "addr_t".
Made segment naming safe (could the buffer could overflow).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 10:01:24 +00:00
Axel Dörfler
3c20ebe8d7 Unified kernel loader area names (they now use "_text", and "_data" suffixes
only).
Userland segments are now called _seg0rw/_seg0ro.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 09:56:51 +00:00
Axel Dörfler
dc991aec9e Removed REGION_WIRING_* and REGION_ADDR_* and replaced them by their
BeOS counterparts.
Improved output of dump_region_list().
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 09:45:50 +00:00
Axel Dörfler
ee7e4109ad Removed REGION_WIRING_* and REGION_ADDR_* and replaced them by their
BeOS counterparts.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 09:33:51 +00:00
Axel Dörfler
3b183ea392 It now has to use kernel_interface_r5.cpp instead of kernel_interface.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 08:37:14 +00:00
Axel Dörfler
dab1088ba3 "addr" to "addr_t", cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 08:35:39 +00:00
Axel Dörfler
3c9e531071 Removed NewOS LOCK_KERNEL and LOCK_RW - replaced by B_READ_AREA, and friends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 08:24:53 +00:00
Axel Dörfler
1adfa388af Hardcoded vfs_mount_boot_file_system() to try to mount the first raw SCSI
device with BFS - if it succeeds, it will print out the contents of the
volume's root directory.
fs_mount() now makes the mount structure available when mount() from the
FS is called - so that new_vnode() and get_vnode() can work.
fs_mount() did not correctly clean up when something went wrong; it also
didn't notice if the mount's recursive lock couldn't be created.
Some minor debug output improvements.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:43:46 +00:00
Axel Dörfler
bdd600c6eb Fixed two typos.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:37:40 +00:00
Axel Dörfler
c8409817d4 Now also exports the old ISA bus manager module.
(DMA is still not implemented)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:34:18 +00:00
Axel Dörfler
4f91f11509 Now includes the old ISA.h header as well; removed doubled definitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:32:02 +00:00
Axel Dörfler
972f12eeb4 Fixed several bugs during the mount process:
- DeviceOpener::GetSize() didn't work correctly for devices - the size returned
  was the block count. Also, it didn't expand the computation to 64 bits
- the check if the disk size was large enough make use of BlockShift() which
  access the fBlockShift variable which wasn't initialized at that point
- if new_vnode() failed, a wrong error code was returned
- it will now write a different error message if the root node creation
  failed before new_vnode() was called.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:30:37 +00:00
Axel Dörfler
ebb6a50a53 Fixed the prototype of parse_expression() - it's parameter should be const.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:25:18 +00:00
Axel Dörfler
e08f7c4e6f Added stupid version of parse_expression() for the kernel debugger.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:24:35 +00:00
Axel Dörfler
1c1b60af69 lock.h and cache.h are C++ safe now.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:16:35 +00:00
Axel Dörfler
c64f45a195 Made it C++ safe.
Removed private and implementation specific stuff.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:15:34 +00:00
Axel Dörfler
83d9569570 Missing name index update with a late failed rename operation fixed (the
same as in kernel_interface_r5.cpp).
{add|remove}_debugger_commands() are now called in B_MODULE_[UN]INIT, no
longer in bfs_[un]mount().
Removed empty cache implementation as it's in the kernel itself for now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:13:38 +00:00
Axel Dörfler
fcf3d20e94 lock.h and cache.h are now C++ friendly.
If renaming failed late, the old name of the inode was restored, but the
name index was not.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:09:27 +00:00
Axel Dörfler
5b168fe639 Style cleanup.
Removed some temporary debug output.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:06:55 +00:00
Axel Dörfler
f1613a0b1f Replaced libvm.a with kernel_vm.o.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:05:46 +00:00
Axel Dörfler
94c145777c Removed circular dependency - the module is now opened in B_MODULE_INIT.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:05:05 +00:00
Axel Dörfler
bd383ca361 Added simple and dumb BeOS compatible cache implementation - at this point
it's (almost) read only.
Added it to the build - libvm.a is now build as merged object file, since
the cache functions didn't get exported else.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:02:43 +00:00
Axel Dörfler
56b4e8289c We temporarily need a BeOS compatible cache implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 05:59:53 +00:00
Axel Dörfler
69debf9e84 get_module() didn't correctly maintain the module ref_count (in case
something went wrong) - this would have hidden circular dependencies
as well.
Recursive directory scan was broken, it didn't filter "." and ".." out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 05:58:23 +00:00
Axel Dörfler
39f34cf425 Fixed the broken ioctl() function. Unlike BeOS, it also passes the
eventually specified length parameter.
The IOCPARM_LEN() macro should be used by the device/file system
implementation only if applicable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 05:53:35 +00:00
Axel Dörfler
1bfc2c6901 First try at a working BFS for the new kernel - does compile but not much more.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 23:13:15 +00:00
Axel Dörfler
2b89e0b32f Now builds two file systems: "bfs" is now the file system for the new kernel,
while "bfs_r5" or "obfs_r5" is the one for the R5/Zeta kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 23:11:17 +00:00