commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Mach branch, rbraun/vm_page, created. v1.6-24-ge835160


From: Richard Braun
Subject: [SCM] GNU Mach branch, rbraun/vm_page, created. v1.6-24-ge835160
Date: Sat, 23 Jan 2016 20:28:06 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mach".

The branch, rbraun/vm_page has been created
        at  e835160b6b95f3b904fbc429392a63be1e4ed6b8 (commit)

- Log -----------------------------------------------------------------
commit e835160b6b95f3b904fbc429392a63be1e4ed6b8
Author: Richard Braun <address@hidden>
Date:   Sat Jan 23 19:52:24 2016 +0100

    Use vm_page as the physical memory allocator
    
    This change replaces the historical page allocator with a buddy allocator
    implemented in vm/vm_page.c. This allocator allows easy contiguous 
allocations
    and also manages memory inside segments. In a future change, these segments
    will be used to service requests with special constraints, such as "usable
    for 16-bits DMA" or "must be part of the direct physical mapping".
    
    * Makefrag.am (libkernel_a_SOURCES): Add vm/vm_page.c.
    * i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386at/biosmem.{c,h}.
    * i386/i386/vm_param.h: Include kern/macros.h.
    (VM_PAGE_DMA_LIMIT, VM_PAGE_MAX_SEGS, VM_PAGE_DMA32_LIMIT,
    VM_PAGE_DIRECTMAP_LIMIT, VM_PAGE_HIGHMEM_LIMIT, VM_PAGE_SEG_DMA,
    VM_PAGE_SEG_DMA32, VM_PAGE_SEG_DIRECTMAP, VM_PAGE_SEG_HIGHMEM): New macros.
    * i386/i386at/model_dep.c: Include i386at/biosmem.h.
    (avail_next, avail_remaining): Remove variables.
    (mem_size_init): Remove function.
    (i386at_init): Initialize and use the biosmem module for early physical
    memory management.
    (pmap_free_pages): Return phys_last_addr instead of avail_remaining.
    (init_alloc_aligned): Turn into a wrapper for biosmem_bootalloc.
    (pmap_grab_page): Directly call init_alloc_aligned instead of 
pmap_next_page.
    * i386/include/mach/i386/vm_types.h (phys_addr_t): New type.
    * kern/bootstrap.c (free_bootstrap_pages): New function.
    (bootstrap_create): Call free_bootstrap_pages instead of vm_page_create.
    * kern/cpu_number.h (CPU_L1_SIZE): New macro.
    * kern/slab.h: Include kern/cpu_number.h.
    (CPU_L1_SIZE): Remove macro, moved to kern/cpu_number.h.
    * kern/startup.c (setup_main): Change the value of machine_info.memory_size.
    * linux/dev/glue/glue.h (alloc_contig_mem, free_contig_mem): Update 
prototypes.
    * linux/dev/glue/kmem.c (linux_kmem_init): Don't use defunct page queue.
    * linux/dev/init/main.c (linux_init): Don't free unused memory.
    (alloc_contig_mem, free_contig_mem): Turn into wrappers for the vm_page
    allocator.
    * linux/pcmcia-cs/glue/ds.c (PAGE_SHIFT): Don't undefine.
    * vm/pmap.h (pmap_startup, pmap_next_page): Remove prototypes.
    * vm/vm_fault.c (vm_fault_page): Update calls to vm_page_convert.
    * vm/vm_init.c (vm_mem_init): Call vm_page_info_all.
    * vm/vm_object.c (vm_object_page_map): Update call to vm_page_init.
    * vm/vm_page.h (vm_page_queue_free): Remove variable declaration.
    (vm_page_create, vm_page_release_fictitious, vm_page_release): Remove
    declarations.
    (vm_page_convert, vm_page_init): Update prototypes.
    (vm_page_grab_contig, vm_page_free_contig): New prototypes.
    * vm/vm_resident.c (vm_page_template, vm_page_queue_free,
    vm_page_big_pagenum): Remove variables.
    (vm_page_bootstrap): Update and call vm_page_setup.
    (pmap_steal_memory): Update and call vm_page_bootalloc.
    (pmap_startup, vm_page_create, vm_page_grab_contiguous_pages): Remove 
functions.
    (vm_page_init_template, vm_page_grab_contig,
    vm_page_free_contig): New functions.
    (vm_page_init): Update and call vm_page_init_template.
    (vm_page_release_fictitious): Make static.
    (vm_page_more_fictitious): Update call to vm_page_init.
    (vm_page_convert): Rewrite to comply with vm_page.
    (vm_page_grab): Update and call vm_page_alloc_pa.
    (vm_page_release): Update and call vm_page_free_pa.

commit 451b007174d87aae30872b1269fc922331665b9c
Author: Richard Braun <address@hidden>
Date:   Sat Jan 23 19:48:42 2016 +0100

    Import the vm_page module from X15 and relicense to GPLv2+
    
    * vm/vm_page.c: New File.
    * vm/vm_page.h: Merge vm_page.h from X15.
    (struct vm_page): New members: node, type, seg_index, order,
    vm_page_header. Turn phys_addr into a phys_addr_t.

commit d5628219e4ec8febf9a223c8190a4267d9bef342
Author: Richard Braun <address@hidden>
Date:   Sat Jan 23 19:47:32 2016 +0100

    Import the biosmem module from X15 and relicense to GPLv2+
    
    * i386/i386at/biosmem.c: New file.
    * i386/i386at/biosmem.h: Likewise.

commit 7dd0a77616ea1c1fda3fd60733b7c4c8990feb6a
Author: Richard Braun <address@hidden>
Date:   Sat Jan 23 20:06:21 2016 +0100

    Import the multiboot module from X15 and relicense to GPLv2+
    
    * i386/include/mach/i386/multiboot.h: Merge multiboot.h from X15.

commit 375ef3da5441901886a274a5c7324341532f3ce7
Author: Richard Braun <address@hidden>
Date:   Sat Jan 23 19:42:48 2016 +0100

    Import the elf module from X15 and relicense to GPLv2+
    
    * i386/i386at/elf.h: New file.

commit a36c6426dacf7e0d3e69fb3089a2423420ac9990
Author: Richard Braun <address@hidden>
Date:   Sat Jan 23 19:42:01 2016 +0100

    Import the log2 module from X15 and relicense to GPLv2+
    
    * kern/log2.h: New file.

-----------------------------------------------------------------------


hooks/post-receive
-- 
GNU Mach



reply via email to

[Prev in Thread] Current Thread [Next in Thread]