Commit Graph

9173 Commits

Author SHA1 Message Date
Axel Dörfler 3490a4becc No longer needs the arch_thread.h header.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:54:03 +00:00
Axel Dörfler adf29fcdda Removed the broken arch_thread::current_iframe field and switched to the
same mechanism as NewOS, ie. using the iframe "stack" pointer (using the
new i386_get_current_iframe() function).
Implemented fork() support functions arch_{store|restore}_fork_frame().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:52:53 +00:00
Axel Dörfler 21942ca92a The arch_thread::current_iframe was not only redundant, but also incorrectly
maintained. Removed it completely.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:48:51 +00:00
Axel Dörfler 27d0a0aaff Implemented new i386_restore_frame_from_syscall() function needed by fork().
Added some comments.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 03:47:09 +00:00
Axel Dörfler 8bf77a7332 _get_next_area_info() skipped every second area if they were adjacent.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 02:50:30 +00:00
Philippe Houdoin 16bf4f998b Package rule was wrongly placed!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 01:07:45 +00:00
Philippe Houdoin 7dab30dbf7 Move README.html upper.
Add an install script to haiku-networkingkit-cvs package, featuring an
uninstall.zip backup creation.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-12 00:51:22 +00:00
Stefano Ceccherini cbc9d62f52 Fixed issue with Lock/UnlockStaticBuffer() on R5
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 23:33:01 +00:00
Stefano Ceccherini 9edda3ec6d cbuf.h now includes OS.h and not kernel.h anymore. This fixes a strange issue in building the ps2 mouse driver. Thanks to Axel for the advice
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 23:14:49 +00:00
Stefano Ceccherini c6a2e89fec Fixed small typos in the comments
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 14:43:32 +00:00
Stefano Ceccherini 2910a19bbf Added an ifdef around static variables, so we use beos ones when COMPILE_FOR_R5 is defined.
That makes testing TextView under beos possible, again.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 13:43:39 +00:00
Axel Dörfler d3ddbef95c vm_copy_on_write_area() did not correctly set the upper cache_ref - vm_cache's
pointer to the ref was not set (resulting in a crash).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 12:23:02 +00:00
Axel Dörfler 41dbd5191c Fixed vm_copy_area() when B_CLONE_ADDRESS was specified (insert_area() does not
know about this specifier, it has to be replaced by B_EXACT_ADDRESS).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 12:02:20 +00:00
Stefano Ceccherini 53a74c2fa2 Fixed the build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-11 08:17:38 +00:00
Axel Dörfler 71eeb427c3 Implemented team_get_address_space() which gets you a pointer to the
team's address space - for internal use, anyway.
Added a ToDo: item to exec_team() to remind me of alarms and signals.
Started implementing fork_team() based on team_create_team() - it's not
completed (or even works), though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 17:30:42 +00:00
Axel Dörfler f3c2082a3d Added prototype for new team_get_address_space() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 17:26:34 +00:00
Axel Dörfler 7bb329730d vm_delete_areas() didn't do any locking, but the address space region list
must not be accessed without it.
Implemented _get_next_area_info() and _user_get_next_area_info().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 17:23:54 +00:00
Axel Dörfler b9d74a6b88 Added vm_delete_aspace() again - unlike before, it now also puts the last
reference to the address space, so that the calling team deletion function
doesn't have to do this.
delete_address_space() doesn't have to delete any areas anymore, since
at the point it's called, there is no area anymore, anyway: each area
holds a reference to the address space.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 17:21:38 +00:00
Michael Pfeiffer 05ab7b5c32 Set the page origin to the left/top point of the printable rectangle (was page rectangle).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 15:44:51 +00:00
Michael Pfeiffer fecfb1dcff Fixed bug where pages following the first physical page were omitted.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 15:42:47 +00:00
Axel Dörfler 024bab9721 Added vm_delete_aspace() again (although it works a bit differently then before).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-10 14:55:36 +00:00
Michael Phipps dce72ace8b Fixed all known bugs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-09 23:18:56 +00:00
Michael Phipps a5762b3071 Changed the way preferences are stored.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-09 23:17:47 +00:00
DarkWyrm a3bd1e1ca5 Added class for requesting shared client-server memory
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-09 18:13:33 +00:00
Stefano Ceccherini a87bf00703 Bare minimum stuff to have BPopupmenu working with our own BMenu
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-09 08:50:17 +00:00
Axel Dörfler b492de88e3 I've already switched the page pointer to vm_cache, so this comment was
not necessary anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 23:27:04 +00:00
Axel Dörfler adf3b19660 resize_area() must unmap the area beyond the new size, if the area has shrinked.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 23:19:33 +00:00
Axel Dörfler ed3d2e92e8 Added tests for vm_copy_area() and resize_area().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 23:12:55 +00:00
Axel Dörfler ad07c81011 vm_cache_resize() now requires you to have the vm_cache_ref lock held.
This actually reflects the only usage of this function anyway, and thus,
fixes the resize_area() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 23:11:50 +00:00
Axel Dörfler f774bf16ea Implemented vm_copy_area(), mainly a support function for fork().
vm_page no longer keeps a pointer to the vm_cache_ref but to the vm_cache.
This cleans the page handling when having to make an area copy-on-write;
regions belong to vm_cache_ref, pages to vm_cache.
Fixed some return types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 22:56:51 +00:00
Axel Dörfler a2ff38d818 vm_page no longer keeps a pointer to the vm_cache_ref but to the vm_cache.
This cleans the page handling when having to make an area copy-on-write;
regions belong to vm_cache_ref, pages to vm_cache.
Added prototype for new call vm_copy_area().
Fixed some return types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 22:54:42 +00:00
DarkWyrm da0209e2e4 Some fixes and tweaks by Kevin Field
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 22:36:54 +00:00
Rudolf Cornelissen e9a30e453e modified type2 RAMsetup to use PCI instead of ISA access. Works. (I hope.)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 19:58:25 +00:00
Axel Dörfler c77c1efff5 Removed the broken vm_resize_region() and implemented it properly in resize_area(),
some ToDo-items are left.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 15:16:29 +00:00
Axel Dörfler d0f673c8e2 Implemented vm_cache_resize(): it removes all pages outside the current bounds.
It currently checks for temporary caches, but it should really only be used
with regions for anonymous memory.
Fixed some return types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 15:10:50 +00:00
Axel Dörfler 1d60efac72 Added a prototype for vm_cache_resize().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 15:07:57 +00:00
Axel Dörfler 301a2f29ba B_EXACT_KERNEL_ADDRESS doesn't make any sense.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 13:30:04 +00:00
Axel Dörfler 6978315d3a B_EXACT_KERNEL_ADDRESS doesn't really make a lot of sense.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-08 01:16:54 +00:00
Axel Dörfler da504d877d Removed team::_aspace_id since it already has a direct pointer to it.
Changed the way a vm_address_space is deleted: instead of having to explicitly
call vm_delete_aspace(), the last vm_put_aspace() will remove it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 17:17:04 +00:00
Axel Dörfler 1a705b91b7 Removed team::_aspace_id since it already has a direct pointer to it.
Changed the way a vm_address_space is deleted: instead of having to explicitly
call vm_delete_aspace(), the last vm_put_aspace() will remove it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 17:11:54 +00:00
Axel Dörfler 894e120a01 Moved everything from vm.c belonging to vm_address_space into a separate file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 16:15:49 +00:00
Jérôme Duval 90c2fee933 Fixed events filtering
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 16:03:36 +00:00
Axel Dörfler d82bfbadd6 Small test app for the execl() function.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:39:37 +00:00
Axel Dörfler acfca1a3f5 We now have a working exec_team() function (the backend of the exec() function family)!
Should be tested and verified more intensively, though.
Moved the creation, initialization, and deletion of the team_arg structure out of
team_create_team(); it's now also used by exec_team().
Renamed kfree_strings_array() to free_strings_array().
Renamed the fields of the team_arg structure to be more in sync with the names used
at other places.
Fixed the routine that copied the environment/arguments into the userland space.
Improved and fixed the user_copy_strings_array() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:34:17 +00:00
Jérôme Duval 2895720c82 init the button state
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:16:02 +00:00
Axel Dörfler 5ad2b8edae Added exec() support function vm_delete_areas(); factored that code out
of vm_delete_aspace() (which now calls it).
Fixed some return types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:15:08 +00:00
Jérôme Duval 2ba29ed514 R5 needs a 3 buttons map only
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:14:29 +00:00
Axel Dörfler b1018b0dca Added exec() support function vm_delete_areas().
Fixed some return types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:08:00 +00:00
Jérôme Duval 10996598fa moved cbuf_adapter.h from ps2mouse directory
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:03:59 +00:00
Jérôme Duval 18a632f492 added a R5 driver build
moved cbuf_adapter.h to private input headers


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-07 15:02:54 +00:00