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:   yamaguchi
Date:           Tue Jul 14 00:45:53 UTC 2020

Modified Files:
        src/sys/arch/amd64/amd64: db_interface.c machdep.c
        src/sys/arch/amd64/conf: ALL
        src/sys/arch/amd64/include: segments.h
        src/sys/arch/i386/conf: ALL
        src/sys/arch/i386/i386: db_interface.c machdep.c trap.c
        src/sys/arch/i386/include: segments.h
        src/sys/arch/x86/conf: files.x86
        src/sys/arch/x86/include: cpu.h cpuvar.h pmap.h
        src/sys/arch/x86/x86: cpu.c hyperv.c idt.c intr.c lapic.c pmap.c svs.c
        src/sys/arch/xen/x86: cpu.c
        src/sys/arch/xen/xen: hypervisor.c
        src/sys/dev/hyperv: vmbusvar.h
        src/sys/dev/nvmm/x86: nvmm_x86_vmx.c

Log Message:
Introduce per-cpu IDTs

This is realized by following modifications:
- Add IDT pages and its allocation maps for each cpu in "struct cpu_info"
- Load per-cpu IDTs at cpu_init_idt(struct cpu_info*)
- Copy the IDT entries for cpu0 to other CPUs at attach
   - These are, for example, exceptions, db, system calls, etc.

And, added a kernel option named PCPU_IDT to enable the feature.


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/amd64/amd64/db_interface.c
cvs rdiff -u -r1.355 -r1.356 src/sys/arch/amd64/amd64/machdep.c
cvs rdiff -u -r1.155 -r1.156 src/sys/arch/amd64/conf/ALL
cvs rdiff -u -r1.36 -r1.37 src/sys/arch/amd64/include/segments.h
cvs rdiff -u -r1.493 -r1.494 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r1.84 -r1.85 src/sys/arch/i386/i386/db_interface.c
cvs rdiff -u -r1.830 -r1.831 src/sys/arch/i386/i386/machdep.c
cvs rdiff -u -r1.303 -r1.304 src/sys/arch/i386/i386/trap.c
cvs rdiff -u -r1.68 -r1.69 src/sys/arch/i386/include/segments.h
cvs rdiff -u -r1.116 -r1.117 src/sys/arch/x86/conf/files.x86
cvs rdiff -u -r1.126 -r1.127 src/sys/arch/x86/include/cpu.h
cvs rdiff -u -r1.52 -r1.53 src/sys/arch/x86/include/cpuvar.h
cvs rdiff -u -r1.123 -r1.124 src/sys/arch/x86/include/pmap.h
cvs rdiff -u -r1.194 -r1.195 src/sys/arch/x86/x86/cpu.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/x86/x86/hyperv.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/x86/x86/idt.c
cvs rdiff -u -r1.151 -r1.152 src/sys/arch/x86/x86/intr.c
cvs rdiff -u -r1.83 -r1.84 src/sys/arch/x86/x86/lapic.c
cvs rdiff -u -r1.399 -r1.400 src/sys/arch/x86/x86/pmap.c
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/x86/x86/svs.c
cvs rdiff -u -r1.138 -r1.139 src/sys/arch/xen/x86/cpu.c
cvs rdiff -u -r1.86 -r1.87 src/sys/arch/xen/xen/hypervisor.c
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/hyperv/vmbusvar.h
cvs rdiff -u -r1.61 -r1.62 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