[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Mach branch, master, updated. v1.8-297-gd4311dd
From: |
Samuel Thibault |
Subject: |
[SCM] GNU Mach branch, master, updated. v1.8-297-gd4311dd |
Date: |
Fri, 27 Aug 2021 16:49:05 -0400 (EDT) |
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, master has been updated
via d4311dd342bce90b8e362426e25b71076b9f371a (commit)
via 2125e974fe7d9773f3d598a064646dc757da3622 (commit)
from 4dbaa718038fadc51d9b95d2383868a229d91457 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d4311dd342bce90b8e362426e25b71076b9f371a
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Fri Aug 27 22:47:29 2021 +0200
linux block: Fix checking block sector.
* linux/dev/glue/block.c (check_rw_block): Return 0 on no error.
commit 2125e974fe7d9773f3d598a064646dc757da3622
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Fri Aug 27 22:40:50 2021 +0200
vm_page_grab: allow allocating in high memory
vm_page_grab was systematically using the VM_PAGE_SEL_DIRECTMAP selector
to play safe with existing code.
This adds a flags parameter to let callers of vm_page_grab specify their
constraints.
Linux drivers need 32bit dmas, Xen drivers use kvtophys to clear some
data. Callers of kmem_pagealloc_physmem and vm_page_grab_phys_addr also use
kvtophys. Otherwise allocations can go to highmem.
This fixes the allocation jam in the directmap segment.
* vm/vm_page.h (VM_PAGE_DMA, VM_PAGE_DMA32, VM_PAGE_DIRECTMAP,
VM_PAGE_HIGHMEM): New macros.
(vm_page_grab): Add flags parameter.
* vm/vm_resident.c (vm_page_grab): Choose allocation selector according
to flags parameter.
(vm_page_convert, vm_page_alloc): Pass VM_PAGE_HIGHMEM to vm_page_grab.
(vm_page_grab_phys_addr): Pass VM_PAGE_DIRECTMAP to vm_page_grab.
* vm/vm_fault.c (vm_fault_page): Pass VM_PAGE_HIGHMEM to vm_page_grab.
* vm/vm_map.c (vm_map_copy_steal_pages): Pass VM_PAGE_HIGHMEM to
vm_page_grab.
* kern/slab.c (kmem_pagealloc_physmem): Pass VM_PAGE_DIRECTMAP to
vm_page_grab.
* i386/intel/pmap.c (pmap_page_table_page_alloc): Pass VM_PAGE_DIRECTMAP to
vm_page_grab.
* xen/block.c (device_read): Pass VM_PAGE_DIRECTMAP to vm_page_grab.
* linux/dev/glue/block.c (alloc_buffer): Pass VM_PAGE_DMA32 to vm_page_grab.
-----------------------------------------------------------------------
Summary of changes:
i386/intel/pmap.c | 2 +-
kern/slab.c | 2 +-
linux/dev/glue/block.c | 6 ++++--
vm/vm_fault.c | 4 ++--
vm/vm_map.c | 2 +-
vm/vm_page.h | 7 ++++++-
vm/vm_resident.c | 23 ++++++++++++++++++-----
xen/block.c | 2 +-
8 files changed, 34 insertions(+), 14 deletions(-)
hooks/post-receive
--
GNU Mach
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Mach branch, master, updated. v1.8-297-gd4311dd,
Samuel Thibault <=