Source-Changes archive

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

CVS commit: src/sys



Module Name:    src
Committed By:   riastradh
Date:           Sat Aug 20 23:48:51 UTC 2022

Modified Files:
        src/sys/arch/amd64/amd64: gdt.c genassym.cf machdep.c
        src/sys/arch/amd64/include: pmap.h vmparam.h
        src/sys/arch/i386/i386: dumpsys.c gdt.c genassym.cf machdep.c trap.c
        src/sys/arch/i386/include: pmap.h vmparam.h
        src/sys/arch/x86/acpi: acpi_machdep.c
        src/sys/arch/x86/include: pmap.h
        src/sys/arch/x86/x86: bus_dma.c cpu.c db_memrw.c idt.c lapic.c patch.c
            pmap.c svs.c x86_machdep.c x86_tlb.c
        src/sys/arch/xen/x86: cpu.c hypervisor_machdep.c x86_xpmap.c
            xen_bus_dma.c xen_pmap.c xenfunc.c
        src/sys/arch/xen/xen: xen_machdep.c
        src/sys/dev/nvmm/x86: nvmm_x86_svm.c nvmm_x86_vmx.c
Added Files:
        src/sys/arch/amd64/include: pmap_private.h
        src/sys/arch/i386/include: pmap_private.h
        src/sys/arch/x86/include: pmap_private.h

Log Message:
x86: Split most of pmap.h into pmap_private.h or vmparam.h.

This way pmap.h only contains the MD definition of the MI pmap(9)
API, which loads of things in the kernel rely on, so changing x86
pmap internals no longer requires recompiling the entire kernel every
time.

Callers needing these internals must now use machine/pmap_private.h.
Note: This is not x86/pmap_private.h because it contains three parts:

1. CPU-specific (different for i386/amd64) definitions used by...

2. common definitions, including Xenisms like xpmap_ptetomach,
   further used by...

3. more CPU-specific inlines for pmap_pte_* operations

So {amd64,i386}/pmap_private.h defines 1, includes x86/pmap_private.h
for 2, and then defines 3.  Maybe we should split that out into a new
pmap_pte.h to reduce this trouble.

No functional change intended, other than that some .c files must
include machine/pmap_private.h when previously uvm/uvm_pmap.h
polluted the namespace with pmap internals.

Note: This migrates part of i386/pmap.h into i386/vmparam.h --
specifically the parts that are needed for several constants defined
in vmparam.h:

VM_MAXUSER_ADDRESS
VM_MAX_ADDRESS
VM_MAX_KERNEL_ADDRESS
VM_MIN_KERNEL_ADDRESS

Since i386 needs PDP_SIZE in vmparam.h, I added it there on amd64
too, just to keep things parallel.


To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/amd64/amd64/gdt.c
cvs rdiff -u -r1.87 -r1.88 src/sys/arch/amd64/amd64/genassym.cf
cvs rdiff -u -r1.362 -r1.363 src/sys/arch/amd64/amd64/machdep.c
cvs rdiff -u -r1.67 -r1.68 src/sys/arch/amd64/include/pmap.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/amd64/include/pmap_private.h
cvs rdiff -u -r1.54 -r1.55 src/sys/arch/amd64/include/vmparam.h
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/i386/i386/dumpsys.c
cvs rdiff -u -r1.72 -r1.73 src/sys/arch/i386/i386/gdt.c
cvs rdiff -u -r1.124 -r1.125 src/sys/arch/i386/i386/genassym.cf
cvs rdiff -u -r1.836 -r1.837 src/sys/arch/i386/i386/machdep.c
cvs rdiff -u -r1.307 -r1.308 src/sys/arch/i386/i386/trap.c
cvs rdiff -u -r1.127 -r1.128 src/sys/arch/i386/include/pmap.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/i386/include/pmap_private.h
cvs rdiff -u -r1.86 -r1.87 src/sys/arch/i386/include/vmparam.h
cvs rdiff -u -r1.32 -r1.33 src/sys/arch/x86/acpi/acpi_machdep.c
cvs rdiff -u -r1.132 -r1.133 src/sys/arch/x86/include/pmap.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/x86/include/pmap_private.h
cvs rdiff -u -r1.88 -r1.89 src/sys/arch/x86/x86/bus_dma.c
cvs rdiff -u -r1.204 -r1.205 src/sys/arch/x86/x86/cpu.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/x86/x86/db_memrw.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/x86/x86/idt.c
cvs rdiff -u -r1.87 -r1.88 src/sys/arch/x86/x86/lapic.c
cvs rdiff -u -r1.52 -r1.53 src/sys/arch/x86/x86/patch.c
cvs rdiff -u -r1.418 -r1.419 src/sys/arch/x86/x86/pmap.c
cvs rdiff -u -r1.40 -r1.41 src/sys/arch/x86/x86/svs.c
cvs rdiff -u -r1.151 -r1.152 src/sys/arch/x86/x86/x86_machdep.c
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/x86/x86/x86_tlb.c
cvs rdiff -u -r1.141 -r1.142 src/sys/arch/xen/x86/cpu.c
cvs rdiff -u -r1.43 -r1.44 src/sys/arch/xen/x86/hypervisor_machdep.c
cvs rdiff -u -r1.91 -r1.92 src/sys/arch/xen/x86/x86_xpmap.c
cvs rdiff -u -r1.32 -r1.33 src/sys/arch/xen/x86/xen_bus_dma.c
cvs rdiff -u -r1.39 -r1.40 src/sys/arch/xen/x86/xen_pmap.c
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/xen/x86/xenfunc.c
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/xen/xen/xen_machdep.c
cvs rdiff -u -r1.83 -r1.84 src/sys/dev/nvmm/x86/nvmm_x86_svm.c \
    src/sys/dev/nvmm/x86/nvmm_x86_vmx.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index