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:   cherry
Date:           Tue Dec 25 06:50:12 UTC 2018

Modified Files:
        src/sys/arch/amd64/amd64: genassym.cf lock_stubs.S spl.S vector.S
        src/sys/arch/i386/i386: genassym.cf spl.S vector.S
        src/sys/arch/x86/include: cpu.h
        src/sys/arch/x86/isa: isa_machdep.c
        src/sys/arch/x86/x86: i8259.c intr.c
        src/sys/arch/xen/conf: files.xen
        src/sys/arch/xen/include: intr.h
        src/sys/arch/xen/x86: hypervisor_machdep.c xen_intr.c
        src/sys/arch/xen/xen: clock.c evtchn.c xenevt.c

Log Message:
Excise XEN specific code out of x86/x86/intr.c into xen/x86/xen_intr.c

While at it, separate the source function tracking so that the interrupt
paths are truly independant.

Use weak symbol exporting to provision for future PVHVM co-existence
of both files, but with independant paths. Introduce assembler code
such that in a unified scenario, native interrupts get first priority
in spllower(), followed by XEN event callbacks. IPL management and
semantics are unchanged - native handlers and xen callbacks are
expected to maintain their ipl related semantics.

In summary, after this commit, native and XEN now have completely
unrelated interrupt handling mechanisms, including
intr_establish_xname() and assembler stubs and intr handler
management.

Happy Christmas!


To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 src/sys/arch/amd64/amd64/genassym.cf
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/amd64/amd64/lock_stubs.S
cvs rdiff -u -r1.36 -r1.37 src/sys/arch/amd64/amd64/spl.S
cvs rdiff -u -r1.64 -r1.65 src/sys/arch/amd64/amd64/vector.S
cvs rdiff -u -r1.107 -r1.108 src/sys/arch/i386/i386/genassym.cf
cvs rdiff -u -r1.43 -r1.44 src/sys/arch/i386/i386/spl.S
cvs rdiff -u -r1.78 -r1.79 src/sys/arch/i386/i386/vector.S
cvs rdiff -u -r1.100 -r1.101 src/sys/arch/x86/include/cpu.h
cvs rdiff -u -r1.42 -r1.43 src/sys/arch/x86/isa/isa_machdep.c
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/x86/x86/i8259.c
cvs rdiff -u -r1.140 -r1.141 src/sys/arch/x86/x86/intr.c
cvs rdiff -u -r1.173 -r1.174 src/sys/arch/xen/conf/files.xen
cvs rdiff -u -r1.50 -r1.51 src/sys/arch/xen/include/intr.h
cvs rdiff -u -r1.33 -r1.34 src/sys/arch/xen/x86/hypervisor_machdep.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/xen/x86/xen_intr.c
cvs rdiff -u -r1.75 -r1.76 src/sys/arch/xen/xen/clock.c
cvs rdiff -u -r1.82 -r1.83 src/sys/arch/xen/xen/evtchn.c
cvs rdiff -u -r1.52 -r1.53 src/sys/arch/xen/xen/xenevt.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