Source-Changes archive

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

CVS commit: src/sys/arch

Module Name:    src
Committed By:   maxv
Date:           Sun Jan  7 12:42:47 UTC 2018

Modified Files:
        src/sys/arch/amd64/amd64: amd64_trap.S copy.S
        src/sys/arch/amd64/conf: kern.ldscript kern.ldscript.Xen
        src/sys/arch/amd64/include: frameasm.h
        src/sys/arch/i386/conf: kern.ldscript kern.ldscript.4MB
        src/sys/arch/i386/include: frameasm.h
        src/sys/arch/x86/x86: patch.c

Log Message:
Implement a real hotpatch feature.

Define a HOTPATCH() macro, that puts a label and additional information
in the new .rodata.hotpatch kernel section. In patch.c, scan the section
and patch what needs to be. Now it is possible to hotpatch the content of
a macro.

SMAP is switched to use this new system; this saves a call+ret in each
kernel entry/exit point.

Many other operating systems do the same.

To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/amd64/amd64/amd64_trap.S
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/amd64/amd64/copy.S
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/amd64/conf/kern.ldscript
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/amd64/conf/kern.ldscript.Xen
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/amd64/conf/kern.ldscript.kaslr
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/amd64/include/frameasm.h
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/i386/conf/kern.ldscript
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/i386/conf/kern.ldscript.4MB
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/i386/conf/kern.ldscript.Xen
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/i386/include/frameasm.h
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/x86/x86/patch.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