summaryrefslogtreecommitdiff
path: root/mach-defpager/default_pager.c
AgeCommit message (Collapse)Author
2012-04-08Prevent repeated freeing of pager's mapMaksym Planeta
* mach-defpager/default_pager.c (pager_truncate): Do not set old_size to PAGEMAP_ENTRIES, to avoid freeing again just below.
2012-04-08Add appropriate checks to take into account that pager's memory map could be ↵Maksym Planeta
sparse. * mach-defpager/default_pager.c (pager_truncate, pager_read_offset, pager_release_offset, pager_dealloc, pager_realloc): Add checks for map field being NULL. (pager_dealloc): Set map pointer to zero.
2012-04-08Set size of object, when it is created.Maksym Planeta
* mach-defpager/default_pager.c (S_default_pager_object_create): Set pager limit to the given size.
2012-04-08Add support for objects that are not bounded to page size.Maksym Planeta
* mach-defpager/default_pager.c (struct dpager): Add new field. (seqnos_memory_object_data_write): If pager is not bounded to page size, than round it up. (seqnos_memory_object_lock_completed): Function is not in use anymore. (S_default_pager_object_set_size): Proceed object with any size correctly.
2012-04-08Add support for empty memory objects.Maksym Planeta
* mach-defpager/default_pager.c (pager_extend): When old_size is 0, use 1 to compute power of two above it. (pager_truncate): Do not avoid new_size being 0.
2012-04-08Add support for new pageout interface for defpager.Maksym Planeta
* mach-defpager/default_pager.c: (seqnos_memory_object_init, seqnos_memory_object_data_request): Use new interface. (seqnos_memory_object_data_return): Proceed request correctly.
2012-04-08Update debugging macros definitions and remove debugging macros when it becomesMaksym Planeta
hard to read the code. * mach-defpager/default_pager.c (dprintf, ddprintf): Change macros to make them more easy to use. (pager_port_lock, pager_port_unlock, seqnos_memory_object_data_write, pager_write_offset): Remove debugging messages (that are not shown at the moment) when it becomes hard to read the code.
2012-04-02Update comments.Maksym Planeta
* mach-defpager/default_pager.c (seqnos_memory_object_data_return): Add comment.
2012-03-26Correct function calling.Maksym Planeta
* mach-defpager/default_pager.c (S_default_pager_object_set_size, seqnos_memory_object_lock_completed): Correct calling of function pager_port_unlock.
2012-03-26Add lock in pager_truncate.Maksym Planeta
* mach-defpager/default_pager.c (pager_truncate): Add mutex lock.
2012-03-26Remove warnings during compilation.Maksym Planeta
* mach-defpager/kalloc.c: Added missing prototypes, headers, types. * mach-defpager/wiring.c: Likewise. * mach-defpager/default_pager.c: Likewise. * mach-defpager/main.c: Likewise. * mach-defpager/setup.c: Likewise. (S_default_pager_paging_storage): Fix wrong calling of kfree. * mach-defpager/kalloc.h: New file with prototypes from kalloc.c. * mach-defpager/default_pager.h: New file with prototypes from default_pager.c. * mach-defpager/Makefile (LCLHDRS): Add new header files.
2011-11-20Just destroy port rights in default_pagerSergio Lopez
* mach-defpager/default_pager.c (seqnos_memory_object_terminate): Simply call `mach_port_destroy' instead of managing rights through `mach_port_mod_refs'.
2011-11-20Fix defpager into using the correct control portMaksym Planeta
The reply_port is only the correct control port when RPCs are from the kernel, not from e.g. tmpfs, such as default_pager_object_set_size calls. * mach-defpager/default_pager.c (seqnos_memory_object_terminate, S_default_pager_object_set_size): Make default pager use its own memory object control ports for external objects, remove reply_to parameter. * trans/proxy-defpager.c (S_default_pager_object_set_size): Remove reply_to parameter. * hurd/default_pager.defs (default_pager_object_set_size): Remove unused parameter.
2011-08-20fix common misspellingsJonathan Neuschäfer
* Fix spelling with codespell[1] and manually review it. [1] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
2011-04-03Remove `serverboot'; fix "make dist" in `mach-defpager'.Ludovic Courtès
* serverboot/default_pager.c, serverboot/kalloc.c, serverboot/queue.h, serverboot/wiring.c, serverboot/wiring.h: Move to `mach-defpager/'. * serverboot/Makefile, serverboot/assert.h, serverboot/bootstrap.c, serverboot/bunzip2.c, serverboot/def_pager_setup.c, serverboot/defs.h, serverboot/dir.h, serverboot/disk_inode.h, serverboot/disk_inode_ffs.h, serverboot/elf-load.c, serverboot/exec.c, serverboot/ext2_file_io.c, serverboot/ffs_compat.c, serverboot/ffs_compat.h, serverboot/ffs_file_io.c, serverboot/file_io.c, serverboot/file_io.h, serverboot/fs.h, serverboot/gets.c, serverboot/gunzip.c, serverboot/load.c, serverboot/mach-exec.h, serverboot/minix_ffs_compat.c, serverboot/minix_ffs_compat.h, serverboot/minix_file_io.c, serverboot/minix_fs.h, serverboot/minix_super.h, serverboot/panic.c, serverboot/strfcns.c: Remove. * mach-defpager/Makefile (LCLHDRS): New variable. (vpath): Remove. (CPPFLAGS): Remove `-I$(srcdir)/../serverboot'. * mach-defpager/setup.c (page_aligned): Make public.