summaryrefslogtreecommitdiff
path: root/mach-defpager
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-11-05mach-defpager: Declare `__malloc_initialize_hook' as volatile.Ludovic Courtès
* mach-defpager/kalloc.c (__MALLOC_HOOK_VOLATILE): New macro.
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.
2010-08-01Fix swap on large devicesJeremie Koenig
DEV_GET_SIZE values overflow with large devices, rather use DEV_GET_RECORDS. * mach-defpager/setup.c (S_default_pager_paging_storage): Use DEV_GET_RECORDS instead of DEV_GET_SIZE.
2009-07-11Switch to the new ChangeLog style.Thomas Schwinge
* ChangeLog: Wipe out content, and add instructions about how to get it back. * auth/ChangeLog: Remove file. * benchmarks/ChangeLog: Likewise. * boot/ChangeLog: Likewise. * bsdfsck/ChangeLog: Likewise. * config/ChangeLog: Likewise. * console-client/ChangeLog: Likewise. * console/ChangeLog: Likewise. * daemons/ChangeLog: Likewise. * defpager/ChangeLog: Likewise. * doc/ChangeLog: Likewise. * exec/ChangeLog: Likewise. * ext2fs/ChangeLog: Likewise. * fatfs/ChangeLog: Likewise. * fstests/ChangeLog: Likewise. * ftpfs/ChangeLog: Likewise. * hostmux/ChangeLog: Likewise. * hurd/ChangeLog: Likewise. * include/ChangeLog: Likewise. * init/ChangeLog: Likewise. * isofs/ChangeLog: Likewise. * libcons/ChangeLog: Likewise. * libdirmgt/ChangeLog: Likewise. * libdiskfs/ChangeLog: Likewise. * libfshelp/ChangeLog: Likewise. * libftpconn/ChangeLog: Likewise. * libhurdbugaddr/ChangeLog: Likewise. * libihash/ChangeLog: Likewise. * libiohelp/ChangeLog: Likewise. * libnetfs/ChangeLog: Likewise. * libpager/ChangeLog: Likewise. * libpipe/ChangeLog: Likewise. * libports/ChangeLog: Likewise. * libps/ChangeLog: Likewise. * libshouldbeinlibc/ChangeLog: Likewise. * libstore/ChangeLog: Likewise. * libthreads/ChangeLog: Likewise. * libtrivfs/ChangeLog: Likewise. * login/ChangeLog: Likewise. * mach-defpager/ChangeLog: Likewise. * nfs/ChangeLog: Likewise. * nfsd/ChangeLog: Likewise. * pfinet/ChangeLog: Likewise. * pflocal/ChangeLog: Likewise. * proc/ChangeLog: Likewise. * release/ChangeLog: Likewise. * serverboot/ChangeLog: Likewise. * storeio/ChangeLog: Likewise. * sutils/ChangeLog: Likewise. * term/ChangeLog: Likewise. * tmpfs/ChangeLog: Likewise. * trans/ChangeLog: Likewise. * ufs-fsck/ChangeLog: Likewise. * ufs-utils/ChangeLog: Likewise. * ufs/ChangeLog: Likewise. * usermux/ChangeLog: Likewise. * utils/ChangeLog: Likewise.
2007-06-062007-06-06 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* Makefile: Remove a comment. * setup.c (default_pager_paging_storage): Rename to `S_default_pager_paging_storage'.
2002-06-16.Roland McGrath
2002-06-162002-06-15 Roland McGrath <roland@frob.com>Roland McGrath
* setup.c (page_write_file_direct): Use proper type for result param of device_write.
2002-03-24.Roland McGrath
2002-03-242002-03-23 Roland McGrath <roland@frob.com>Roland McGrath
* setup.c (default_pager_paging_storage): Fail if receiver port is not default_pager_default_port.
2002-03-242002-03-23 Roland McGrath <roland@frob.com>Roland McGrath
* Makefile (OBJS): Add default_pager_replyUser.o here. * main.c (default_pager_bootstrap_port): Declaration removed. (main): Don't use it. * Makefile (OBJS): Remove bootstrapServer.o from here.
2002-03-23.Roland McGrath
2002-03-232002-03-23 Roland McGrath <roland@frob.com>Roland McGrath
* main.c (default_pager_bootstrap_port): Declaration removed. (main): Don't use it.
2001-06-05* setup.c (page_read_file_direct): Fix logic to find the run thatMark Kettenis
contains the data to be read. Use size in bytes instead of blocks when calling device_read. (page_write_file_direct): Fix logic to find the run that contains the data to be written. Pass SIZE_WRITTEN to device_write call instead of &WROTE when writing a whole page. Correctly calculate SEGSIZE.
2001-02-28.Roland McGrath
2001-02-282001-02-28 Roland McGrath <roland@frob.com>Roland McGrath
* main.c (main): Instead of calling daemon, do the work ourselves but synchronize with the child so that vm_set_default_memory_manager has definitely been called before exit. (nohandler): New function.
2001-02-28.Roland McGrath
2001-02-282000-12-28 Roland McGrath <roland@frob.com>Roland McGrath
Override the shared code from serverboot for device access with a new, simpler implementation with no filesystem format support. The new code implements the new default_pager_paging_storage RPC to set up paging areas that can be subsets of whole Mach devices, with no Linux signature checking. The compatibility setup entry point works as before on whole devices. * setup.c, file_io.h: New files. * Makefile (SRCS): Remove def_pager_setup.c, file_io.c, strfcns.c, ext2_file_io.c, ffs_file_io.c, ffs_compat.c, minix_file_io.c, minix_ffs_compat.c; add setup.c to replace them all.
2000-02-06.Roland McGrath
2000-02-062000-02-06 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* Makefile: Move include ../Makeconf earlier, since it sets srcdir.
1999-11-181999-11-18 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* Makefile, main.c: New files for new this directory `mach-defpager'. This is a standalone Hurd program version of the Mach default pager, with the bulk of the source code coming from ../serverboot. This program /hurd/mach-defpager is started like a normal daemon, i.e. from rc or whatever, rather than being the first task. * ChangeLog: New file, mentioning itself in this sentence.