The heap is now located at 384 MB, and creates a reserved range that spans over the
following 1152 MB - that area only guarantees that the heap can grow this much before the application need the memory for something else. And even then, the heap range is reused from top-to-bottom, allowing for maximum heap usage. Of course, if the memory after the heap range is not claimed yet, it can still be claimed by the heap, too. Added new syscall to create the reserved range. Fixed a bug in vm_delete_areas(): when it removed reserved areas, the area list could get messed up. Fixed a bug in resize_area(): resized areas could never be deleted (missing vm_put_area())! resize_area() now supports reserved regions (but not perfectly yet, see ToDo items). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12692 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -86,6 +86,7 @@ status_t _user_transfer_area(area_id area, void **_address, uint32 addressSpec,
|
||||
status_t _user_set_area_protection(area_id area, uint32 newProtection);
|
||||
area_id _user_clone_area(const char *name, void **_address, uint32 addressSpec,
|
||||
uint32 protection, area_id sourceArea);
|
||||
status_t _user_init_heap_address_range(addr_t base, addr_t size);
|
||||
|
||||
// to protect code regions with interrupts turned on
|
||||
void permit_page_faults(void);
|
||||
|
||||
Reference in New Issue
Block a user