Now
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/conf/GENERIC@1.564.2.2
/
diff
/
nxr@1.564.2.2
src/sys/arch/amd64/conf/GENERIC_XENHVM deleted
src/sys/arch/amd64/conf/XEN3_PVHVM deleted
src/sys/arch/i386/conf/GENERIC@1.1227.2.2 / diff / nxr@1.1227.2.2
src/sys/arch/i386/conf/GENERIC_XENHVM deleted
src/sys/arch/i386/conf/XEN3PAE_PVHVM deleted
src/sys/arch/amd64/conf/GENERIC_XENHVM deleted
src/sys/arch/amd64/conf/XEN3_PVHVM deleted
src/sys/arch/i386/conf/GENERIC@1.1227.2.2 / diff / nxr@1.1227.2.2
src/sys/arch/i386/conf/GENERIC_XENHVM deleted
src/sys/arch/i386/conf/XEN3PAE_PVHVM deleted
Merge GENERIC_XENHVM in GENERIC.
Remove XEN3_PVHVM/XEN3PAE_PVHVM files which have been obsolete for some time
on the branch
Remove XEN3_PVHVM/XEN3PAE_PVHVM files which have been obsolete for some time
on the branch
bouyer-xenpvh commitmail json YAML
restore part accidentaly deleted
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/include/xen/hypercalls.h@1.1.2.2
/
diff
/
nxr@1.1.2.2
src/sys/arch/i386/include/xen/hypercalls.h@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/i386/include/xen/hypercalls.h@1.1.2.2 / diff / nxr@1.1.2.2
Include changes in sys/arch/xen/include/ between bouyer-xenpvh-base1 and
bouyer-xenpvh-base2.
bouyer-xenpvh-base2.
bouyer-xenpvh commitmail json YAML
src/sys/arch/x86/conf/files.x86@1.107.10.3
/
diff
/
nxr@1.107.10.3
src/sys/arch/x86/x86/cpu.c@1.181.4.5 / diff / nxr@1.181.4.5
src/sys/arch/x86/x86/i8259.c@1.23.10.3 / diff / nxr@1.23.10.3
src/sys/arch/xen/conf/files.xen@1.180.2.8 / diff / nxr@1.180.2.8
src/sys/arch/xen/x86/hypervisor_machdep.c@1.36.8.7 / diff / nxr@1.36.8.7
src/sys/arch/xen/x86/xen_intr.c@1.21.2.10 / diff / nxr@1.21.2.10
src/sys/arch/xen/x86/xen_ipi.c@1.35.6.7 / diff / nxr@1.35.6.7
src/sys/arch/xen/xen/xbdback_xenbus.c@1.77.2.4 / diff / nxr@1.77.2.4
src/sys/arch/x86/x86/cpu.c@1.181.4.5 / diff / nxr@1.181.4.5
src/sys/arch/x86/x86/i8259.c@1.23.10.3 / diff / nxr@1.23.10.3
src/sys/arch/xen/conf/files.xen@1.180.2.8 / diff / nxr@1.180.2.8
src/sys/arch/xen/x86/hypervisor_machdep.c@1.36.8.7 / diff / nxr@1.36.8.7
src/sys/arch/xen/x86/xen_intr.c@1.21.2.10 / diff / nxr@1.21.2.10
src/sys/arch/xen/x86/xen_ipi.c@1.35.6.7 / diff / nxr@1.35.6.7
src/sys/arch/xen/xen/xbdback_xenbus.c@1.77.2.4 / diff / nxr@1.77.2.4
sync with bouyer-xenpvh-base2 (HEAD)
bouyer-xenpvh commitmail json YAML
Add xen as include dir for x86
bouyer-xenpvh commitmail json YAML
src/sys/arch/aarch64/aarch64/netbsd32_machdep.c@1.10.4.1
/
diff
/
nxr@1.10.4.1
src/sys/arch/aarch64/aarch64/sig_machdep.c@1.3.10.1 / diff / nxr@1.3.10.1
src/sys/arch/aarch64/include/profile.h@1.1.40.1 / diff / nxr@1.1.40.1
src/sys/arch/amd64/amd64/machdep.c@1.346.4.4 / diff / nxr@1.346.4.4
src/sys/arch/amd64/amd64/netbsd32_machdep.c@1.133.6.1 / diff / nxr@1.133.6.1
src/sys/arch/amd64/include/gdt.h@1.10.24.1 / diff / nxr@1.10.24.1
src/sys/arch/amd64/include/pte.h@1.12.10.1 / diff / nxr@1.12.10.1
src/sys/arch/arm/arm32/pmap.c@1.402.2.2 / diff / nxr@1.402.2.2
src/sys/arch/arm/include/asm.h@1.30.10.2 / diff / nxr@1.30.10.2
src/sys/arch/hp300/hp300/machdep.c@1.232.6.1 / diff / nxr@1.232.6.1
src/sys/arch/hppa/hppa/trap.c@1.114.6.1 / diff / nxr@1.114.6.1
src/sys/arch/i386/conf/files.i386@1.401.6.2 / diff / nxr@1.401.6.2
src/sys/arch/i386/i386/genassym.cf@1.119.4.4 / diff / nxr@1.119.4.4
src/sys/arch/i386/i386/machdep.c@1.825.4.4 / diff / nxr@1.825.4.4
src/sys/arch/i386/include/gdt.h@1.16.16.1 / diff / nxr@1.16.16.1
src/sys/arch/i386/include/kcore.h@1.5.70.1 / diff / nxr@1.5.70.1
src/sys/arch/i386/include/pte.h@1.31.10.1 / diff / nxr@1.31.10.1
src/sys/arch/macppc/conf/GENERIC@1.366.2.1 / diff / nxr@1.366.2.1
src/sys/arch/macppc/dev/lmu.c@1.2.6.1 / diff / nxr@1.2.6.1
src/sys/arch/macppc/stand/Makefile.inc@1.4.22.1 / diff / nxr@1.4.22.1
:
(more 149 files)
src/sys/arch/aarch64/aarch64/sig_machdep.c@1.3.10.1 / diff / nxr@1.3.10.1
src/sys/arch/aarch64/include/profile.h@1.1.40.1 / diff / nxr@1.1.40.1
src/sys/arch/amd64/amd64/machdep.c@1.346.4.4 / diff / nxr@1.346.4.4
src/sys/arch/amd64/amd64/netbsd32_machdep.c@1.133.6.1 / diff / nxr@1.133.6.1
src/sys/arch/amd64/include/gdt.h@1.10.24.1 / diff / nxr@1.10.24.1
src/sys/arch/amd64/include/pte.h@1.12.10.1 / diff / nxr@1.12.10.1
src/sys/arch/arm/arm32/pmap.c@1.402.2.2 / diff / nxr@1.402.2.2
src/sys/arch/arm/include/asm.h@1.30.10.2 / diff / nxr@1.30.10.2
src/sys/arch/hp300/hp300/machdep.c@1.232.6.1 / diff / nxr@1.232.6.1
src/sys/arch/hppa/hppa/trap.c@1.114.6.1 / diff / nxr@1.114.6.1
src/sys/arch/i386/conf/files.i386@1.401.6.2 / diff / nxr@1.401.6.2
src/sys/arch/i386/i386/genassym.cf@1.119.4.4 / diff / nxr@1.119.4.4
src/sys/arch/i386/i386/machdep.c@1.825.4.4 / diff / nxr@1.825.4.4
src/sys/arch/i386/include/gdt.h@1.16.16.1 / diff / nxr@1.16.16.1
src/sys/arch/i386/include/kcore.h@1.5.70.1 / diff / nxr@1.5.70.1
src/sys/arch/i386/include/pte.h@1.31.10.1 / diff / nxr@1.31.10.1
src/sys/arch/macppc/conf/GENERIC@1.366.2.1 / diff / nxr@1.366.2.1
src/sys/arch/macppc/dev/lmu.c@1.2.6.1 / diff / nxr@1.2.6.1
src/sys/arch/macppc/stand/Makefile.inc@1.4.22.1 / diff / nxr@1.4.22.1
:
(more 149 files)
Sync with bouyer-xenpvh-base2 (HEAD)
bouyer-xenpvh commitmail json YAML
src/common/lib/libc/arch/m68k/gen/divsi3.S deleted
src/common/lib/libc/arch/m68k/gen/modsi3.S deleted
src/common/lib/libc/arch/m68k/gen/udivsi3.S deleted
src/common/lib/libc/arch/m68k/gen/umodsi3.S deleted
src/common/lib/libc/arch/m68k/gen/modsi3.S deleted
src/common/lib/libc/arch/m68k/gen/udivsi3.S deleted
src/common/lib/libc/arch/m68k/gen/umodsi3.S deleted
Sync with HEAD
bouyer-xenpvh commitmail json YAML
src/sys/arch/xen/conf/files.compat@1.32.10.1
/
diff
/
nxr@1.32.10.1
src/sys/arch/xen/conf/files.xen@1.180.2.7 / diff / nxr@1.180.2.7
src/sys/arch/xen/conf/files.xen.pv@1.1.2.5 / diff / nxr@1.1.2.5
src/sys/arch/xen/conf/files.xen@1.180.2.7 / diff / nxr@1.180.2.7
src/sys/arch/xen/conf/files.xen.pv@1.1.2.5 / diff / nxr@1.1.2.5
Include again xen/conf/files.compat for PV kernels, and make it build.
My build.sh -u used stale opt_*.h files ...
My build.sh -u used stale opt_*.h files ...
bouyer-xenpvh commitmail json YAML
Also install xen/intrdefs.h
bouyer-xenpvh commitmail json YAML
Don't try to attach vcpu on !XENPV
remove debug printf and other misc cosmetic changes
remove debug printf and other misc cosmetic changes
bouyer-xenpvh commitmail json YAML
Remove HZ=20, it was to testing only.
bouyer-xenpvh commitmail json YAML
It is possible to use grant_v2 with HVM guest; but the status table has
to be mapped using XENMEM_add_to_physmap.
to be mapped using XENMEM_add_to_physmap.
bouyer-xenpvh commitmail json YAML
src/sys/arch/x86/x86/intr.c@1.150.6.6
/
diff
/
nxr@1.150.6.6
src/sys/arch/xen/x86/xen_intr.c@1.21.2.9 / diff / nxr@1.21.2.9
src/sys/arch/xen/x86/xen_intr.c@1.21.2.9 / diff / nxr@1.21.2.9
channel %d -> chan %d, for the benefit of 'systat vm'
bouyer-xenpvh commitmail json YAML
src/sys/arch/xen/include/evtchn.h@1.28.2.3
/
diff
/
nxr@1.28.2.3
src/sys/arch/xen/x86/xen_ipi.c@1.35.6.6 / diff / nxr@1.35.6.6
src/sys/arch/xen/xen/evtchn.c@1.88.2.11 / diff / nxr@1.88.2.11
src/sys/arch/xen/x86/xen_ipi.c@1.35.6.6 / diff / nxr@1.35.6.6
src/sys/arch/xen/xen/evtchn.c@1.88.2.11 / diff / nxr@1.88.2.11
Misc fixes after merge
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/conf/GENERIC_XENHVM@1.1.2.5
/
diff
/
nxr@1.1.2.5
src/sys/arch/i386/conf/GENERIC_XENHVM@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/i386/conf/GENERIC_XENHVM@1.1.2.2 / diff / nxr@1.1.2.2
Thanks do jdolecek@, MAXPHYS is not restricted to 32k now.
Nothing prevents merging GENERIC_XENHVM in GENERIC now
Nothing prevents merging GENERIC_XENHVM in GENERIC now
bouyer-xenpvh commitmail json YAML
Use std.xenversion
bouyer-xenpvh commitmail json YAML
Bad news:
* grant table v2 is not supported for HVM guests on 4.11 at last.
* see xen/arch/x86/hvm/hypercall.c in Xen sources (missing
* GNTTABOP_get_status_frames)
So restore grant table v1 for !XENPV
* grant table v2 is not supported for HVM guests on 4.11 at last.
* see xen/arch/x86/hvm/hypercall.c in Xen sources (missing
* GNTTABOP_get_status_frames)
So restore grant table v1 for !XENPV
bouyer-xenpvh commitmail json YAML
Fix build with DIAGNOSTIC
bouyer-xenpvh commitmail json YAML
src/sys/arch/xen/conf/files.xen@1.180.2.6
/
diff
/
nxr@1.180.2.6
src/sys/arch/xen/conf/files.xen.pv@1.1.2.4 / diff / nxr@1.1.2.4
src/sys/arch/xen/x86/xen_bus_dma.c@1.28.10.2 / diff / nxr@1.28.10.2
src/sys/arch/xen/conf/files.xen.pv@1.1.2.4 / diff / nxr@1.1.2.4
src/sys/arch/xen/x86/xen_bus_dma.c@1.28.10.2 / diff / nxr@1.28.10.2
We need xenbus_bus_dma_tag for PVHVM too, but without phys->machine translation
bouyer-xenpvh commitmail json YAML
src/sys/arch/i386/conf/std.i386@1.35.26.2
/
diff
/
nxr@1.35.26.2
src/sys/arch/i386/conf/std.xen@1.1.4.3 / diff / nxr@1.1.4.3
src/sys/arch/i386/conf/std.xen@1.1.4.3 / diff / nxr@1.1.4.3
Fix build after merge
bouyer-xenpvh commitmail json YAML
build with -g on the branch
bouyer-xenpvh commitmail json YAML
Bring in 1.82 and 1.83 from HEAD
bouyer-xenpvh commitmail json YAML
src/sys/arch/aarch64/aarch64/aarch64_machdep.c@1.40.4.1
/
diff
/
nxr@1.40.4.1
src/sys/arch/aarch64/aarch64/cpufunc.c@1.16.2.1 / diff / nxr@1.16.2.1
src/sys/arch/aarch64/aarch64/cpuswitch.S@1.15.4.1 / diff / nxr@1.15.4.1
src/sys/arch/aarch64/aarch64/db_machdep.c@1.20.4.1 / diff / nxr@1.20.4.1
src/sys/arch/aarch64/aarch64/db_trace.c@1.8.10.1 / diff / nxr@1.8.10.1
src/sys/arch/aarch64/aarch64/genassym.cf@1.22.4.1 / diff / nxr@1.22.4.1
src/sys/arch/aarch64/aarch64/locore.S@1.58.4.1 / diff / nxr@1.58.4.1
src/sys/arch/aarch64/aarch64/pmap.c@1.69.2.1 / diff / nxr@1.69.2.1
src/sys/arch/aarch64/aarch64/pmapboot.c@1.6.4.1 / diff / nxr@1.6.4.1
src/sys/arch/aarch64/aarch64/trap.c@1.26.4.1 / diff / nxr@1.26.4.1
src/sys/arch/aarch64/aarch64/vectors.S@1.11.4.1 / diff / nxr@1.11.4.1
src/sys/arch/aarch64/aarch64/vm_machdep.c@1.5.10.1 / diff / nxr@1.5.10.1
src/sys/arch/aarch64/conf/Makefile.aarch64@1.17.2.1 / diff / nxr@1.17.2.1
src/sys/arch/aarch64/conf/files.aarch64@1.20.4.1 / diff / nxr@1.20.4.1
src/sys/arch/aarch64/include/armreg.h@1.39.2.1 / diff / nxr@1.39.2.1
src/sys/arch/aarch64/include/asm.h@1.6.4.1 / diff / nxr@1.6.4.1
src/sys/arch/aarch64/include/cpufunc.h@1.11.4.1 / diff / nxr@1.11.4.1
src/sys/arch/aarch64/include/proc.h@1.5.6.1 / diff / nxr@1.5.6.1
src/sys/arch/acorn32/acorn32/rpc_machdep.c@1.96.6.1 / diff / nxr@1.96.6.1
src/sys/arch/acorn32/conf/EB7500ATX@1.69.4.1 / diff / nxr@1.69.4.1
:
(more 424 files)
src/sys/arch/aarch64/aarch64/cpufunc.c@1.16.2.1 / diff / nxr@1.16.2.1
src/sys/arch/aarch64/aarch64/cpuswitch.S@1.15.4.1 / diff / nxr@1.15.4.1
src/sys/arch/aarch64/aarch64/db_machdep.c@1.20.4.1 / diff / nxr@1.20.4.1
src/sys/arch/aarch64/aarch64/db_trace.c@1.8.10.1 / diff / nxr@1.8.10.1
src/sys/arch/aarch64/aarch64/genassym.cf@1.22.4.1 / diff / nxr@1.22.4.1
src/sys/arch/aarch64/aarch64/locore.S@1.58.4.1 / diff / nxr@1.58.4.1
src/sys/arch/aarch64/aarch64/pmap.c@1.69.2.1 / diff / nxr@1.69.2.1
src/sys/arch/aarch64/aarch64/pmapboot.c@1.6.4.1 / diff / nxr@1.6.4.1
src/sys/arch/aarch64/aarch64/trap.c@1.26.4.1 / diff / nxr@1.26.4.1
src/sys/arch/aarch64/aarch64/vectors.S@1.11.4.1 / diff / nxr@1.11.4.1
src/sys/arch/aarch64/aarch64/vm_machdep.c@1.5.10.1 / diff / nxr@1.5.10.1
src/sys/arch/aarch64/conf/Makefile.aarch64@1.17.2.1 / diff / nxr@1.17.2.1
src/sys/arch/aarch64/conf/files.aarch64@1.20.4.1 / diff / nxr@1.20.4.1
src/sys/arch/aarch64/include/armreg.h@1.39.2.1 / diff / nxr@1.39.2.1
src/sys/arch/aarch64/include/asm.h@1.6.4.1 / diff / nxr@1.6.4.1
src/sys/arch/aarch64/include/cpufunc.h@1.11.4.1 / diff / nxr@1.11.4.1
src/sys/arch/aarch64/include/proc.h@1.5.6.1 / diff / nxr@1.5.6.1
src/sys/arch/acorn32/acorn32/rpc_machdep.c@1.96.6.1 / diff / nxr@1.96.6.1
src/sys/arch/acorn32/conf/EB7500ATX@1.69.4.1 / diff / nxr@1.69.4.1
:
(more 424 files)
Sync with HEAD
bouyer-xenpvh commitmail json YAML
src/sys/arch/xen/conf/files.xen@1.180.2.5
/
diff
/
nxr@1.180.2.5
src/sys/arch/xen/conf/files.xen.pv@1.1.2.3 / diff / nxr@1.1.2.3
src/sys/arch/xen/x86/hypervisor_machdep.c@1.36.8.5 / diff / nxr@1.36.8.5
src/sys/arch/xen/xen/evtchn.c@1.88.2.9 / diff / nxr@1.88.2.9
src/sys/arch/xen/conf/files.xen.pv@1.1.2.3 / diff / nxr@1.1.2.3
src/sys/arch/xen/x86/hypervisor_machdep.c@1.36.8.5 / diff / nxr@1.36.8.5
src/sys/arch/xen/xen/evtchn.c@1.88.2.9 / diff / nxr@1.88.2.9
Move xen_ipi.c to XENPV only.
Make sure we don't need to send events to remote CPUs (outside of IPIs)
Make sure we don't need to send events to remote CPUs (outside of IPIs)
bouyer-xenpvh commitmail json YAML
src/sys/arch/x86/include/intr.h@1.61.6.5
/
diff
/
nxr@1.61.6.5
src/sys/arch/x86/include/pic.h@1.9.14.1 / diff / nxr@1.9.14.1
src/sys/arch/x86/pci/msipic.c@1.20.6.1 / diff / nxr@1.20.6.1
src/sys/arch/x86/x86/i8259.c@1.23.10.2 / diff / nxr@1.23.10.2
src/sys/arch/x86/x86/intr.c@1.150.6.5 / diff / nxr@1.150.6.5
src/sys/arch/x86/x86/ioapic.c@1.63.8.1 / diff / nxr@1.63.8.1
src/sys/arch/x86/x86/lapic.c@1.76.6.4 / diff / nxr@1.76.6.4
src/sys/arch/xen/include/intr.h@1.53.6.3 / diff / nxr@1.53.6.3
src/sys/arch/xen/x86/xen_intr.c@1.21.2.7 / diff / nxr@1.21.2.7
src/sys/arch/xen/xen/evtchn.c@1.88.2.8 / diff / nxr@1.88.2.8
src/sys/arch/xen/xen/xen_clock.c@1.1.2.4 / diff / nxr@1.1.2.4
src/sys/arch/x86/include/pic.h@1.9.14.1 / diff / nxr@1.9.14.1
src/sys/arch/x86/pci/msipic.c@1.20.6.1 / diff / nxr@1.20.6.1
src/sys/arch/x86/x86/i8259.c@1.23.10.2 / diff / nxr@1.23.10.2
src/sys/arch/x86/x86/intr.c@1.150.6.5 / diff / nxr@1.150.6.5
src/sys/arch/x86/x86/ioapic.c@1.63.8.1 / diff / nxr@1.63.8.1
src/sys/arch/x86/x86/lapic.c@1.76.6.4 / diff / nxr@1.76.6.4
src/sys/arch/xen/include/intr.h@1.53.6.3 / diff / nxr@1.53.6.3
src/sys/arch/xen/x86/xen_intr.c@1.21.2.7 / diff / nxr@1.21.2.7
src/sys/arch/xen/xen/evtchn.c@1.88.2.8 / diff / nxr@1.88.2.8
src/sys/arch/xen/xen/xen_clock.c@1.1.2.4 / diff / nxr@1.1.2.4
Add per-PIC callbacks for interrupt_get_devname(), interrupt_get_assigned()
and interrupt_get_count(). Implement Xen-specific callbacks for
PIC_XEN and use the x86 one for others.
In event_set_handler(), call intr_allocate_io_intrsource() so that
events appears in interrupt list (intrctl list).
and interrupt_get_count(). Implement Xen-specific callbacks for
PIC_XEN and use the x86 one for others.
In event_set_handler(), call intr_allocate_io_intrsource() so that
events appears in interrupt list (intrctl list).
bouyer-xenpvh commitmail json YAML
src/sys/arch/x86/include/intr.h@1.61.6.4
/
diff
/
nxr@1.61.6.4
src/sys/arch/x86/x86/intr.c@1.150.6.4 / diff / nxr@1.150.6.4
src/sys/arch/x86/x86/x86_softintr.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/xen/include/evtchn.h@1.28.2.1 / diff / nxr@1.28.2.1
src/sys/arch/xen/x86/xen_intr.c@1.21.2.6 / diff / nxr@1.21.2.6
src/sys/arch/xen/xen/evtchn.c@1.88.2.7 / diff / nxr@1.88.2.7
src/sys/arch/x86/x86/intr.c@1.150.6.4 / diff / nxr@1.150.6.4
src/sys/arch/x86/x86/x86_softintr.c@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/xen/include/evtchn.h@1.28.2.1 / diff / nxr@1.28.2.1
src/sys/arch/xen/x86/xen_intr.c@1.21.2.6 / diff / nxr@1.21.2.6
src/sys/arch/xen/xen/evtchn.c@1.88.2.7 / diff / nxr@1.88.2.7
Add a struct pic * member to struct intrhand.
This will be used for interrupt_get_count()
For Xen remplace pic_type with a pointer to the pic, and add a pointer
to intrhand, in struct pintrhand
Make event_set_handler return the pointer to struct intrhand.
Don't allocate a fake intrhand in xen_intr_establish_xname(), use the
one returned by event_set_handler().
This will be used for interrupt_get_count()
For Xen remplace pic_type with a pointer to the pic, and add a pointer
to intrhand, in struct pintrhand
Make event_set_handler return the pointer to struct intrhand.
Don't allocate a fake intrhand in xen_intr_establish_xname(), use the
one returned by event_set_handler().
bouyer-xenpvh commitmail json YAML
If we get an event for another CPU just ignore it. The hypervisor will
callback on the other CPU anyway.
callback on the other CPU anyway.
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/vector.S@1.73.6.6
/
diff
/
nxr@1.73.6.6
src/sys/arch/i386/i386/vector.S@1.85.6.7 / diff / nxr@1.85.6.7
src/sys/arch/xen/xen/hypervisor.c@1.73.2.7 / diff / nxr@1.73.2.7
src/sys/arch/i386/i386/vector.S@1.85.6.7 / diff / nxr@1.85.6.7
src/sys/arch/xen/xen/hypervisor.c@1.73.2.7 / diff / nxr@1.73.2.7
If possible, register a per-cpu callback via HVMOP_set_evtchn_upcall_vector.
From FreeBSD. This requires acking the interrupt in hypervisor_pvhvm_callback.
Don't try to use x86_cpu_idle_xen() for PVHVM, it cause the domU to hang.
FreeBSD doesn't seem to use it either.
From FreeBSD. This requires acking the interrupt in hypervisor_pvhvm_callback.
Don't try to use x86_cpu_idle_xen() for PVHVM, it cause the domU to hang.
FreeBSD doesn't seem to use it either.
bouyer-xenpvh commitmail json YAML
src/sys/arch/x86/include/cpu.h@1.117.4.6
/
diff
/
nxr@1.117.4.6
src/sys/arch/x86/include/cpuvar.h@1.51.10.1 / diff / nxr@1.51.10.1
src/sys/arch/x86/x86/cpu.c@1.181.4.3 / diff / nxr@1.181.4.3
src/sys/arch/x86/x86/mainbus.c@1.3.12.3 / diff / nxr@1.3.12.3
src/sys/arch/xen/include/hypervisor.h@1.49.10.3 / diff / nxr@1.49.10.3
src/sys/arch/xen/include/xen.h@1.44.8.1 / diff / nxr@1.44.8.1
src/sys/arch/xen/x86/cpu.c@1.133.4.1 / diff / nxr@1.133.4.1
src/sys/arch/xen/x86/hypervisor_machdep.c@1.36.8.4 / diff / nxr@1.36.8.4
src/sys/arch/xen/x86/xen_ipi.c@1.35.6.4 / diff / nxr@1.35.6.4
src/sys/arch/xen/x86/xen_mainbus.c@1.6.12.3 / diff / nxr@1.6.12.3
src/sys/arch/xen/xen/evtchn.c@1.88.2.5 / diff / nxr@1.88.2.5
src/sys/arch/xen/xen/hypervisor.c@1.73.2.6 / diff / nxr@1.73.2.6
src/sys/arch/xen/xen/xen_clock.c@1.1.2.3 / diff / nxr@1.1.2.3
src/sys/arch/x86/include/cpuvar.h@1.51.10.1 / diff / nxr@1.51.10.1
src/sys/arch/x86/x86/cpu.c@1.181.4.3 / diff / nxr@1.181.4.3
src/sys/arch/x86/x86/mainbus.c@1.3.12.3 / diff / nxr@1.3.12.3
src/sys/arch/xen/include/hypervisor.h@1.49.10.3 / diff / nxr@1.49.10.3
src/sys/arch/xen/include/xen.h@1.44.8.1 / diff / nxr@1.44.8.1
src/sys/arch/xen/x86/cpu.c@1.133.4.1 / diff / nxr@1.133.4.1
src/sys/arch/xen/x86/hypervisor_machdep.c@1.36.8.4 / diff / nxr@1.36.8.4
src/sys/arch/xen/x86/xen_ipi.c@1.35.6.4 / diff / nxr@1.35.6.4
src/sys/arch/xen/x86/xen_mainbus.c@1.6.12.3 / diff / nxr@1.6.12.3
src/sys/arch/xen/xen/evtchn.c@1.88.2.5 / diff / nxr@1.88.2.5
src/sys/arch/xen/xen/hypervisor.c@1.73.2.6 / diff / nxr@1.73.2.6
src/sys/arch/xen/xen/xen_clock.c@1.1.2.3 / diff / nxr@1.1.2.3
Add PVHVM multiprocessor support:
We need the hypervisor to be set up before cpus attaches.
Move hypervisor setup to a new function xen_hvm_init(), called at the
beggining of mainbus_attach(). This function searches the cfdata[] array
to see if the hypervisor device is enabled (so you can disable PV
support with
disable hypervisor
from userconf).
For HVM, ci_cpuid doens't match the virtual CPU index needed by Xen.
Introduce ci_vcpuid to cpu_info. Introduce xen_hvm_init_cpu(), to be
called for each CPU in in its context, which initialize ci_vcpuid and
ci_vcpu, and setup the event callback.
Change Xen code to use ci_vcpuid.
Do not call lapic_calibrate_timer() for VM_GUEST_XENPVHVM, we will use
Xen timers.
Don't call lapic_initclocks() from cpu_hatch(); instead set
x86_cpu_initclock_func to lapic_initclocks() in lapic_calibrate_timer(),
and call *(x86_cpu_initclock_func)() from cpu_hatch().
Also call x86_cpu_initclock_func from cpu_attach() for the boot CPU.
As x86_cpu_initclock_func is called for all CPUs, x86_initclock_func can
be a NOP for lapic timer.
Reorganize Xen code for x86_initclock_func/x86_cpu_initclock_func.
Move x86_cpu_idle_xen() to hypervisor_machdep.c
We need the hypervisor to be set up before cpus attaches.
Move hypervisor setup to a new function xen_hvm_init(), called at the
beggining of mainbus_attach(). This function searches the cfdata[] array
to see if the hypervisor device is enabled (so you can disable PV
support with
disable hypervisor
from userconf).
For HVM, ci_cpuid doens't match the virtual CPU index needed by Xen.
Introduce ci_vcpuid to cpu_info. Introduce xen_hvm_init_cpu(), to be
called for each CPU in in its context, which initialize ci_vcpuid and
ci_vcpu, and setup the event callback.
Change Xen code to use ci_vcpuid.
Do not call lapic_calibrate_timer() for VM_GUEST_XENPVHVM, we will use
Xen timers.
Don't call lapic_initclocks() from cpu_hatch(); instead set
x86_cpu_initclock_func to lapic_initclocks() in lapic_calibrate_timer(),
and call *(x86_cpu_initclock_func)() from cpu_hatch().
Also call x86_cpu_initclock_func from cpu_attach() for the boot CPU.
As x86_cpu_initclock_func is called for all CPUs, x86_initclock_func can
be a NOP for lapic timer.
Reorganize Xen code for x86_initclock_func/x86_cpu_initclock_func.
Move x86_cpu_idle_xen() to hypervisor_machdep.c
bouyer-xenpvh commitmail json YAML
src/sys/arch/i386/i386/i386_trap.S@1.20.6.2
/
diff
/
nxr@1.20.6.2
src/sys/arch/i386/i386/locore.S@1.179.2.3 / diff / nxr@1.179.2.3
src/sys/arch/i386/i386/locore.S@1.179.2.3 / diff / nxr@1.179.2.3
Call stipending() only on XenPV. Fix spurious fpudna from kernel mode
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/machdep.c@1.346.4.3
/
diff
/
nxr@1.346.4.3
src/sys/arch/i386/i386/machdep.c@1.825.4.3 / diff / nxr@1.825.4.3
src/sys/arch/x86/include/machdep.h@1.9.26.1 / diff / nxr@1.9.26.1
src/sys/arch/x86/isa/clock.c@1.36.6.1 / diff / nxr@1.36.6.1
src/sys/arch/x86/x86/lapic.c@1.76.6.3 / diff / nxr@1.76.6.3
src/sys/arch/x86/x86/x86_machdep.c@1.137.2.5 / diff / nxr@1.137.2.5
src/sys/arch/i386/i386/machdep.c@1.825.4.3 / diff / nxr@1.825.4.3
src/sys/arch/x86/include/machdep.h@1.9.26.1 / diff / nxr@1.9.26.1
src/sys/arch/x86/isa/clock.c@1.36.6.1 / diff / nxr@1.36.6.1
src/sys/arch/x86/x86/lapic.c@1.76.6.3 / diff / nxr@1.76.6.3
src/sys/arch/x86/x86/x86_machdep.c@1.137.2.5 / diff / nxr@1.137.2.5
Centralize initialisations of delay_func and initclock_func
in x86_machdep.c and export from <x86/machdep.h>
Introduce a x86_dummy_initclock() and a x86_cpu_initclock_func pointer,
to be used later for Xen HVM native clock support.
rename rtclock_tval to x86_rtclock_tval and export from <x86/machdep.h>,
for the benefit of lapic.c
in x86_machdep.c and export from <x86/machdep.h>
Introduce a x86_dummy_initclock() and a x86_cpu_initclock_func pointer,
to be used later for Xen HVM native clock support.
rename rtclock_tval to x86_rtclock_tval and export from <x86/machdep.h>,
for the benefit of lapic.c
bouyer-xenpvh commitmail json YAML
MOve the #ifdef XENPV block to the end, so that XEN3_DOM0 builds again.
bouyer-xenpvh commitmail json YAML
switch vm_guest to VM_GUEST_XENPVHVM only after all tests succeeded.
bouyer-xenpvh commitmail json YAML
src/sys/arch/xen/conf/files.xen@1.180.2.4
/
diff
/
nxr@1.180.2.4
src/sys/arch/xen/conf/files.xen.pv@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/xen/xen/clock.c deleted
src/sys/arch/xen/xen/hypervisor.c@1.73.2.4 / diff / nxr@1.73.2.4
src/sys/arch/xen/xen/xen_clock.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/xen/conf/files.xen.pv@1.1.2.2 / diff / nxr@1.1.2.2
src/sys/arch/xen/xen/clock.c deleted
src/sys/arch/xen/xen/hypervisor.c@1.73.2.4 / diff / nxr@1.73.2.4
src/sys/arch/xen/xen/xen_clock.c@1.1.2.1 / diff / nxr@1.1.2.1
Rename xen/xen/clock.c to xen_clock.c, so that it can be compiled
with x86/isa/clock.c
call events_default_setup() from hypervisor_match to that event
arrays are properly initialised.
Use xen_delay() and xen's timecounter for PVHVM.
with x86/isa/clock.c
call events_default_setup() from hypervisor_match to that event
arrays are properly initialised.
Use xen_delay() and xen's timecounter for PVHVM.
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/vector.S@1.73.6.5
/
diff
/
nxr@1.73.6.5
src/sys/arch/amd64/conf/GENERIC_XENHVM@1.1.2.4 / diff / nxr@1.1.2.4
src/sys/arch/i386/i386/vector.S@1.85.6.6 / diff / nxr@1.85.6.6
src/sys/arch/xen/x86/hypervisor_machdep.c@1.36.8.3 / diff / nxr@1.36.8.3
src/sys/arch/amd64/conf/GENERIC_XENHVM@1.1.2.4 / diff / nxr@1.1.2.4
src/sys/arch/i386/i386/vector.S@1.85.6.6 / diff / nxr@1.85.6.6
src/sys/arch/xen/x86/hypervisor_machdep.c@1.36.8.3 / diff / nxr@1.36.8.3
amd64: Xhypervisor_pvhvm_callback has to be in text.user for SVS.
Thanks to maxv@ for helping me with this.
Enable SVS again.
While there, increase ci_idepth before calling do_hypervisor_callback,
and don't touch ci_idepth while looping over pending events.
Thanks to maxv@ for helping me with this.
Enable SVS again.
While there, increase ci_idepth before calling do_hypervisor_callback,
and don't touch ci_idepth while looping over pending events.
bouyer-xenpvh commitmail json YAML
fail silently if hypervisor is not found.
bouyer-xenpvh commitmail json YAML
Don't try to attach hypervisor on non Xen; no more error messages about
hypervisor when booting on bare metal.
hypervisor when booting on bare metal.
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/include/intrdefs.h@1.2.64.1
/
diff
/
nxr@1.2.64.1
src/sys/arch/i386/include/intrdefs.h@1.4.64.1 / diff / nxr@1.4.64.1
src/sys/arch/x86/include/cpu.h@1.117.4.5 / diff / nxr@1.117.4.5
src/sys/arch/i386/include/intrdefs.h@1.4.64.1 / diff / nxr@1.4.64.1
src/sys/arch/x86/include/cpu.h@1.117.4.5 / diff / nxr@1.117.4.5
Avoid overflow of ci_ipi_events[] in the PVHVM case (it's size is
XEN_NIPIS but we use x86 IPIs): size XEN_NIPIS only for PV, and
CTASSERT that XEN_NIPIS <= X86_NIPI if we ever use Xen IPIs for
PVHVM.
XEN_NIPIS but we use x86 IPIs): size XEN_NIPIS only for PV, and
CTASSERT that XEN_NIPIS <= X86_NIPI if we ever use Xen IPIs for
PVHVM.
bouyer-xenpvh commitmail json YAML
Well, no, SVS does't quite work yet.
bouyer-xenpvh commitmail json YAML
SVS is working with PVHVM now
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/locore.S@1.200.4.2
/
diff
/
nxr@1.200.4.2
src/sys/arch/amd64/amd64/machdep.c@1.346.4.2 / diff / nxr@1.346.4.2
src/sys/arch/x86/include/pci_machdep_common.h@1.23.28.1 / diff / nxr@1.23.28.1
src/sys/arch/x86/x86/consinit.c@1.31.8.1 / diff / nxr@1.31.8.1
src/sys/arch/x86/x86/cpu.c@1.181.4.2 / diff / nxr@1.181.4.2
src/sys/arch/x86/x86/cpu_ucode_amd.c@1.10.6.2 / diff / nxr@1.10.6.2
src/sys/arch/x86/x86/identcpu.c@1.102.2.2 / diff / nxr@1.102.2.2
src/sys/arch/x86/x86/intr.c@1.150.6.3 / diff / nxr@1.150.6.3
src/sys/arch/x86/x86/pmap.c@1.381.2.1 / diff / nxr@1.381.2.1
src/sys/arch/x86/x86/x86_autoconf.c@1.79.6.1 / diff / nxr@1.79.6.1
src/sys/arch/x86/x86/x86_machdep.c@1.137.2.4 / diff / nxr@1.137.2.4
src/sys/arch/amd64/amd64/machdep.c@1.346.4.2 / diff / nxr@1.346.4.2
src/sys/arch/x86/include/pci_machdep_common.h@1.23.28.1 / diff / nxr@1.23.28.1
src/sys/arch/x86/x86/consinit.c@1.31.8.1 / diff / nxr@1.31.8.1
src/sys/arch/x86/x86/cpu.c@1.181.4.2 / diff / nxr@1.181.4.2
src/sys/arch/x86/x86/cpu_ucode_amd.c@1.10.6.2 / diff / nxr@1.10.6.2
src/sys/arch/x86/x86/identcpu.c@1.102.2.2 / diff / nxr@1.102.2.2
src/sys/arch/x86/x86/intr.c@1.150.6.3 / diff / nxr@1.150.6.3
src/sys/arch/x86/x86/pmap.c@1.381.2.1 / diff / nxr@1.381.2.1
src/sys/arch/x86/x86/x86_autoconf.c@1.79.6.1 / diff / nxr@1.79.6.1
src/sys/arch/x86/x86/x86_machdep.c@1.137.2.4 / diff / nxr@1.137.2.4
More #ifndef XEN -> #ifndef XENPV
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/vector.S@1.73.6.4
/
diff
/
nxr@1.73.6.4
src/sys/arch/amd64/conf/GENERIC_XENHVM@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/amd64/conf/Makefile.amd64@1.82.2.1 / diff / nxr@1.82.2.1
src/sys/arch/amd64/conf/XEN3_DOM0@1.175.4.2 / diff / nxr@1.175.4.2
src/sys/arch/amd64/conf/files.amd64@1.115.4.1 / diff / nxr@1.115.4.1
src/sys/arch/amd64/conf/std.amd64@1.11.26.1 / diff / nxr@1.11.26.1
src/sys/arch/amd64/conf/std.xen@1.11.10.1 / diff / nxr@1.11.10.1
src/sys/arch/amd64/include/xen/hypercalls.h@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/i386/conf/GENERIC_XENHVM@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/i386/conf/Makefile.i386@1.194.10.1 / diff / nxr@1.194.10.1
src/sys/arch/i386/conf/XEN3PAE_DOM0@1.21.2.2 / diff / nxr@1.21.2.2
src/sys/arch/i386/conf/files.i386@1.401.6.1 / diff / nxr@1.401.6.1
src/sys/arch/i386/conf/std.i386@1.35.26.1 / diff / nxr@1.35.26.1
src/sys/arch/i386/i386/machdep.c@1.825.4.2 / diff / nxr@1.825.4.2
src/sys/arch/i386/i386/vector.S@1.85.6.5 / diff / nxr@1.85.6.5
src/sys/arch/i386/include/xen/hypercalls.h@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/x86/conf/files.x86@1.107.10.2 / diff / nxr@1.107.10.2
src/sys/arch/x86/include/intr.h@1.61.6.3 / diff / nxr@1.61.6.3
src/sys/arch/x86/x86/cpu_ucode.c@1.12.10.1 / diff / nxr@1.12.10.1
src/sys/arch/x86/x86/cpu_ucode_amd.c@1.10.6.1 / diff / nxr@1.10.6.1
:
(more 23 files)
src/sys/arch/amd64/conf/GENERIC_XENHVM@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/amd64/conf/Makefile.amd64@1.82.2.1 / diff / nxr@1.82.2.1
src/sys/arch/amd64/conf/XEN3_DOM0@1.175.4.2 / diff / nxr@1.175.4.2
src/sys/arch/amd64/conf/files.amd64@1.115.4.1 / diff / nxr@1.115.4.1
src/sys/arch/amd64/conf/std.amd64@1.11.26.1 / diff / nxr@1.11.26.1
src/sys/arch/amd64/conf/std.xen@1.11.10.1 / diff / nxr@1.11.10.1
src/sys/arch/amd64/include/xen/hypercalls.h@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/i386/conf/GENERIC_XENHVM@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/i386/conf/Makefile.i386@1.194.10.1 / diff / nxr@1.194.10.1
src/sys/arch/i386/conf/XEN3PAE_DOM0@1.21.2.2 / diff / nxr@1.21.2.2
src/sys/arch/i386/conf/files.i386@1.401.6.1 / diff / nxr@1.401.6.1
src/sys/arch/i386/conf/std.i386@1.35.26.1 / diff / nxr@1.35.26.1
src/sys/arch/i386/i386/machdep.c@1.825.4.2 / diff / nxr@1.825.4.2
src/sys/arch/i386/i386/vector.S@1.85.6.5 / diff / nxr@1.85.6.5
src/sys/arch/i386/include/xen/hypercalls.h@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/x86/conf/files.x86@1.107.10.2 / diff / nxr@1.107.10.2
src/sys/arch/x86/include/intr.h@1.61.6.3 / diff / nxr@1.61.6.3
src/sys/arch/x86/x86/cpu_ucode.c@1.12.10.1 / diff / nxr@1.12.10.1
src/sys/arch/x86/x86/cpu_ucode_amd.c@1.10.6.1 / diff / nxr@1.10.6.1
:
(more 23 files)
Reorganise sources to make it possible to include Xen PVHVM support in
native kernels. Among others:
- move xen/include/amd64/hypercall.h to amd64/include/xen and
xen/include/i386/hypercall.h to i386/include/xen
- exclude some native files from the build for xenpv
- add xen to "machine" config statement for amd64 and i386
- split arch/xen/conf/files.xen to arch/xen/conf/files.xen (for pv drivers)
and arch/xen/conf/files.xen.pv (for full pv support)
- add GENERIC_XENHVM kernel config which includes GENERIC and add Xen PV
drivers.
native kernels. Among others:
- move xen/include/amd64/hypercall.h to amd64/include/xen and
xen/include/i386/hypercall.h to i386/include/xen
- exclude some native files from the build for xenpv
- add xen to "machine" config statement for amd64 and i386
- split arch/xen/conf/files.xen to arch/xen/conf/files.xen (for pv drivers)
and arch/xen/conf/files.xen.pv (for full pv support)
- add GENERIC_XENHVM kernel config which includes GENERIC and add Xen PV
drivers.
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/spl.S@1.43.4.7
/
diff
/
nxr@1.43.4.7
src/sys/arch/amd64/conf/XEN3_DOMU@1.90.6.2 / diff / nxr@1.90.6.2
src/sys/arch/i386/i386/lock_stubs.S@1.32.6.1 / diff / nxr@1.32.6.1
src/sys/arch/i386/i386/spl.S@1.50.4.6 / diff / nxr@1.50.4.6
src/sys/arch/x86/include/cpufunc.h@1.37.6.1 / diff / nxr@1.37.6.1
src/sys/arch/x86/x86/patch.c@1.37.6.3 / diff / nxr@1.37.6.3
src/sys/arch/amd64/conf/XEN3_DOMU@1.90.6.2 / diff / nxr@1.90.6.2
src/sys/arch/i386/i386/lock_stubs.S@1.32.6.1 / diff / nxr@1.32.6.1
src/sys/arch/i386/i386/spl.S@1.50.4.6 / diff / nxr@1.50.4.6
src/sys/arch/x86/include/cpufunc.h@1.37.6.1 / diff / nxr@1.37.6.1
src/sys/arch/x86/x86/patch.c@1.37.6.3 / diff / nxr@1.37.6.3
On amd64, always use the cmpxchg8b version of spllower. All x86_64 host should
have it and we already rely on it in lock stubs.
On i386, always use i686_mutex_spin_exit and cx8_spllower for Xen;
Xen doesn't run on CPUs on CPUs lacking the required instructions anyway.
Skip x86_patch only for XENPV, and adjust for changes in assembly functions.
Tested on Xen PV and PVHVM, and on bare metal core i5.
have it and we already rely on it in lock stubs.
On i386, always use i686_mutex_spin_exit and cx8_spllower for Xen;
Xen doesn't run on CPUs on CPUs lacking the required instructions anyway.
Skip x86_patch only for XENPV, and adjust for changes in assembly functions.
Tested on Xen PV and PVHVM, and on bare metal core i5.
bouyer-xenpvh commitmail json YAML
src/sys/arch/x86/x86/patch.c@1.37.6.2
/
diff
/
nxr@1.37.6.2
src/sys/arch/xen/conf/files.xen@1.180.2.2 / diff / nxr@1.180.2.2
src/sys/arch/xen/conf/files.xen@1.180.2.2 / diff / nxr@1.180.2.2
Always patch spllower with cx8_spllower; it works fine for Xen now
Include x86/x86/patch.c is !xenpv
While there, defopt XENPV
Include x86/x86/patch.c is !xenpv
While there, defopt XENPV
bouyer-xenpvh commitmail json YAML
Remove spllower alias, xen_spllower is gone
bouyer-xenpvh commitmail json YAML
Force _atomic_cas_cx8 only for XENPV; x86_patch works fine for (PV)HVM
bouyer-xenpvh commitmail json YAML
no MULTIPROCESSOR so NO_PREEMTION
bouyer-xenpvh commitmail json YAML
remove stray 'else'
bouyer-xenpvh commitmail json YAML
We need to call x86_init_preempt() for all CPUs now.
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/genassym.cf@1.82.4.3
/
diff
/
nxr@1.82.4.3
src/sys/arch/amd64/amd64/lock_stubs.S@1.35.6.2 / diff / nxr@1.35.6.2
src/sys/arch/amd64/amd64/spl.S@1.43.4.6 / diff / nxr@1.43.4.6
src/sys/arch/amd64/amd64/vector.S@1.73.6.3 / diff / nxr@1.73.6.3
src/sys/arch/i386/i386/genassym.cf@1.119.4.3 / diff / nxr@1.119.4.3
src/sys/arch/i386/i386/i386_trap.S@1.20.6.1 / diff / nxr@1.20.6.1
src/sys/arch/i386/i386/locore.S@1.179.2.2 / diff / nxr@1.179.2.2
src/sys/arch/i386/i386/spl.S@1.50.4.5 / diff / nxr@1.50.4.5
src/sys/arch/i386/i386/vector.S@1.85.6.4 / diff / nxr@1.85.6.4
src/sys/arch/x86/include/cpu.h@1.117.4.4 / diff / nxr@1.117.4.4
src/sys/arch/x86/include/intrdefs.h@1.23.6.1 / diff / nxr@1.23.6.1
src/sys/arch/x86/isa/isa_machdep.c@1.44.10.1 / diff / nxr@1.44.10.1
src/sys/arch/x86/x86/i8259.c@1.23.10.1 / diff / nxr@1.23.10.1
src/sys/arch/x86/x86/intr.c@1.150.6.2 / diff / nxr@1.150.6.2
src/sys/arch/xen/include/hypervisor.h@1.49.10.1 / diff / nxr@1.49.10.1
src/sys/arch/xen/include/intr.h@1.53.6.1 / diff / nxr@1.53.6.1
src/sys/arch/xen/x86/hypervisor_machdep.c@1.36.8.1 / diff / nxr@1.36.8.1
src/sys/arch/xen/x86/xen_intr.c@1.21.2.2 / diff / nxr@1.21.2.2
src/sys/arch/xen/xen/clock.c@1.80.6.2 / diff / nxr@1.80.6.2
src/sys/arch/xen/xen/evtchn.c@1.88.2.3 / diff / nxr@1.88.2.3
src/sys/arch/xen/xen/xenevt.c@1.56.2.1 / diff / nxr@1.56.2.1
src/sys/arch/amd64/amd64/lock_stubs.S@1.35.6.2 / diff / nxr@1.35.6.2
src/sys/arch/amd64/amd64/spl.S@1.43.4.6 / diff / nxr@1.43.4.6
src/sys/arch/amd64/amd64/vector.S@1.73.6.3 / diff / nxr@1.73.6.3
src/sys/arch/i386/i386/genassym.cf@1.119.4.3 / diff / nxr@1.119.4.3
src/sys/arch/i386/i386/i386_trap.S@1.20.6.1 / diff / nxr@1.20.6.1
src/sys/arch/i386/i386/locore.S@1.179.2.2 / diff / nxr@1.179.2.2
src/sys/arch/i386/i386/spl.S@1.50.4.5 / diff / nxr@1.50.4.5
src/sys/arch/i386/i386/vector.S@1.85.6.4 / diff / nxr@1.85.6.4
src/sys/arch/x86/include/cpu.h@1.117.4.4 / diff / nxr@1.117.4.4
src/sys/arch/x86/include/intrdefs.h@1.23.6.1 / diff / nxr@1.23.6.1
src/sys/arch/x86/isa/isa_machdep.c@1.44.10.1 / diff / nxr@1.44.10.1
src/sys/arch/x86/x86/i8259.c@1.23.10.1 / diff / nxr@1.23.10.1
src/sys/arch/x86/x86/intr.c@1.150.6.2 / diff / nxr@1.150.6.2
src/sys/arch/xen/include/hypervisor.h@1.49.10.1 / diff / nxr@1.49.10.1
src/sys/arch/xen/include/intr.h@1.53.6.1 / diff / nxr@1.53.6.1
src/sys/arch/xen/x86/hypervisor_machdep.c@1.36.8.1 / diff / nxr@1.36.8.1
src/sys/arch/xen/x86/xen_intr.c@1.21.2.2 / diff / nxr@1.21.2.2
src/sys/arch/xen/xen/clock.c@1.80.6.2 / diff / nxr@1.80.6.2
src/sys/arch/xen/xen/evtchn.c@1.88.2.3 / diff / nxr@1.88.2.3
src/sys/arch/xen/xen/xenevt.c@1.56.2.1 / diff / nxr@1.56.2.1
Get rid of xen-specific ci_x* interrupt handling:
- use the general SIR mechanism, reserving 3 more slots for IPL_VM, IPL_SCHED
and IPL_HIGH
- remove specific handling from C sources, or change to ipending
- convert IPL number to SIR number in various places
- Remove XUNMASK/XPENDING in assembly or change to IUNMASK/IPENDING
- remove Xen-specific ci_xsources, ci_xmask, ci_xunmask, ci_xpending from
struct cpu_info
- for now remove a KASSERT that there are no pending interrupts in
idle_block(). We can get there with some software interrupts pending
in autoconf XXX needs to be looked at.
- use the general SIR mechanism, reserving 3 more slots for IPL_VM, IPL_SCHED
and IPL_HIGH
- remove specific handling from C sources, or change to ipending
- convert IPL number to SIR number in various places
- Remove XUNMASK/XPENDING in assembly or change to IUNMASK/IPENDING
- remove Xen-specific ci_xsources, ci_xmask, ci_xunmask, ci_xpending from
struct cpu_info
- for now remove a KASSERT that there are no pending interrupts in
idle_block(). We can get there with some software interrupts pending
in autoconf XXX needs to be looked at.
bouyer-xenpvh commitmail json YAML
Add XEN_IPI_KPREEMPT to list of valid IPIs
bouyer-xenpvh commitmail json YAML
kpreempt_disable() only for x86_64 (which calls pmap_changeprot_local)).
On i386 curcpu() is not valid yet and we don't need preemption disabled.
On i386 curcpu() is not valid yet and we don't need preemption disabled.
bouyer-xenpvh commitmail json YAML
The critical section handling is gone, remove comment about it
bouyer-xenpvh commitmail json YAML
Now that we return from hypervisor_callback via Xdoreti, no need to emulate it
in evtchn_do_event() any more.
in evtchn_do_event() any more.
bouyer-xenpvh commitmail json YAML
Attach hypervisor earlier, so that ISA/PCI emulated device are disabled
before we probe them.
before we probe them.
bouyer-xenpvh commitmail json YAML
Use some PIO magic to disable qemu emulated disks and network device
when PVHVM is configured. From FreeBSD.
when PVHVM is configured. From FreeBSD.
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/lock_stubs.S@1.35.6.1
/
diff
/
nxr@1.35.6.1
src/sys/arch/amd64/amd64/spl.S@1.43.4.5 / diff / nxr@1.43.4.5
src/sys/arch/i386/i386/spl.S@1.50.4.4 / diff / nxr@1.50.4.4
src/sys/arch/x86/conf/files.x86@1.107.10.1 / diff / nxr@1.107.10.1
src/sys/arch/x86/include/intr.h@1.61.6.2 / diff / nxr@1.61.6.2
src/sys/arch/x86/x86/intr.c@1.150.6.1 / diff / nxr@1.150.6.1
src/sys/arch/x86/x86/x86_machdep.c@1.137.2.3 / diff / nxr@1.137.2.3
src/sys/arch/x86/x86/x86_softintr.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/xen/conf/files.xen@1.180.2.1 / diff / nxr@1.180.2.1
src/sys/arch/xen/include/intrdefs.h@1.15.2.1 / diff / nxr@1.15.2.1
src/sys/arch/xen/x86/xen_ipi.c@1.35.6.1 / diff / nxr@1.35.6.1
src/sys/arch/xen/x86/xenfunc.c@1.26.8.1 / diff / nxr@1.26.8.1
src/sys/arch/xen/xen/clock.c@1.80.6.1 / diff / nxr@1.80.6.1
src/sys/arch/amd64/amd64/spl.S@1.43.4.5 / diff / nxr@1.43.4.5
src/sys/arch/i386/i386/spl.S@1.50.4.4 / diff / nxr@1.50.4.4
src/sys/arch/x86/conf/files.x86@1.107.10.1 / diff / nxr@1.107.10.1
src/sys/arch/x86/include/intr.h@1.61.6.2 / diff / nxr@1.61.6.2
src/sys/arch/x86/x86/intr.c@1.150.6.1 / diff / nxr@1.150.6.1
src/sys/arch/x86/x86/x86_machdep.c@1.137.2.3 / diff / nxr@1.137.2.3
src/sys/arch/x86/x86/x86_softintr.c@1.1.2.1 / diff / nxr@1.1.2.1
src/sys/arch/xen/conf/files.xen@1.180.2.1 / diff / nxr@1.180.2.1
src/sys/arch/xen/include/intrdefs.h@1.15.2.1 / diff / nxr@1.15.2.1
src/sys/arch/xen/x86/xen_ipi.c@1.35.6.1 / diff / nxr@1.35.6.1
src/sys/arch/xen/x86/xenfunc.c@1.26.8.1 / diff / nxr@1.26.8.1
src/sys/arch/xen/xen/clock.c@1.80.6.1 / diff / nxr@1.80.6.1
Move softint and preemtion-related functions out of x86/x86/intr.c to
its own file, x86/x86/x86_softintr.c
Add x86/x86/x86_softintr.c for native and XenPV
Make sure XenPV also check ci_ioending, which is used for softints.
Switch XenPV to fast softints and allow kernel preemption.
kpreempt_disable() before calling pmap_changeprot_local()
run xen_wallclock_time() and xen_global_systime_ns() at splshed() to
avoid being interrupted.
XXX amd64 lock stubs are racy for XPENDING
its own file, x86/x86/x86_softintr.c
Add x86/x86/x86_softintr.c for native and XenPV
Make sure XenPV also check ci_ioending, which is used for softints.
Switch XenPV to fast softints and allow kernel preemption.
kpreempt_disable() before calling pmap_changeprot_local()
run xen_wallclock_time() and xen_global_systime_ns() at splshed() to
avoid being interrupted.
XXX amd64 lock stubs are racy for XPENDING
bouyer-xenpvh commitmail json YAML
src/sys/arch/i386/i386/spl.S@1.50.4.3
/
diff
/
nxr@1.50.4.3
src/sys/arch/i386/i386/vector.S@1.85.6.2 / diff / nxr@1.85.6.2
src/sys/arch/i386/i386/vector.S@1.85.6.2 / diff / nxr@1.85.6.2
calling stipending() is only needed in the PV case; in PVHVM
hypervisor_callback() will be called again as soon as we enable interrupts.
Use the PVHVM XENINTRSTUB for PV too; asjust Xdoreti as needed.
merge hypervisor_callback with hypervisor_pvhvm_callback. The reetrancy should
not be an issue, as we're already re-enabling events in
do_hupervisor_callback (that it, outside of the critical section).
We now can call Xdoreti in both cases.
hypervisor_callback() will be called again as soon as we enable interrupts.
Use the PVHVM XENINTRSTUB for PV too; asjust Xdoreti as needed.
merge hypervisor_callback with hypervisor_pvhvm_callback. The reetrancy should
not be an issue, as we're already re-enabling events in
do_hupervisor_callback (that it, outside of the critical section).
We now can call Xdoreti in both cases.
bouyer-xenpvh commitmail json YAML
Merge back hypervisor_callback and hypervisor_pvhvm_callback, there's no
issues calling Xdoreti in the PV case.
issues calling Xdoreti in the PV case.
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/genassym.cf@1.82.4.2
/
diff
/
nxr@1.82.4.2
src/sys/arch/amd64/amd64/spl.S@1.43.4.4 / diff / nxr@1.43.4.4
src/sys/arch/amd64/include/frameasm.h@1.47.6.1 / diff / nxr@1.47.6.1
src/sys/arch/i386/i386/genassym.cf@1.119.4.2 / diff / nxr@1.119.4.2
src/sys/arch/i386/i386/spl.S@1.50.4.2 / diff / nxr@1.50.4.2
src/sys/arch/i386/include/frameasm.h@1.29.6.1 / diff / nxr@1.29.6.1
src/sys/arch/x86/include/cpu.h@1.117.4.3 / diff / nxr@1.117.4.3
src/sys/arch/xen/x86/xen_intr.c@1.21.2.1 / diff / nxr@1.21.2.1
src/sys/arch/amd64/amd64/spl.S@1.43.4.4 / diff / nxr@1.43.4.4
src/sys/arch/amd64/include/frameasm.h@1.47.6.1 / diff / nxr@1.47.6.1
src/sys/arch/i386/i386/genassym.cf@1.119.4.2 / diff / nxr@1.119.4.2
src/sys/arch/i386/i386/spl.S@1.50.4.2 / diff / nxr@1.50.4.2
src/sys/arch/i386/include/frameasm.h@1.29.6.1 / diff / nxr@1.29.6.1
src/sys/arch/x86/include/cpu.h@1.117.4.3 / diff / nxr@1.117.4.3
src/sys/arch/xen/x86/xen_intr.c@1.21.2.1 / diff / nxr@1.21.2.1
Include ci_isources[] for XenPV too.
Adjust spllower() to XenPV needs, and switch XenPV to the native spllower().
Remove xen_spllower().
Adjust spllower() to XenPV needs, and switch XenPV to the native spllower().
Remove xen_spllower().
bouyer-xenpvh commitmail json YAML
Remove spaces in machdep.hypervisor, suggested by mlelstv@
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/spl.S@1.43.4.3
/
diff
/
nxr@1.43.4.3
src/sys/arch/amd64/amd64/vector.S@1.73.6.1 / diff / nxr@1.73.6.1
src/sys/arch/amd64/conf/XEN3_PVHVM@1.3.2.2 / diff / nxr@1.3.2.2
src/sys/arch/i386/conf/XEN3PAE_PVHVM@1.3.2.2 / diff / nxr@1.3.2.2
src/sys/arch/i386/i386/spl.S@1.50.4.1 / diff / nxr@1.50.4.1
src/sys/arch/i386/i386/vector.S@1.85.6.1 / diff / nxr@1.85.6.1
src/sys/arch/x86/include/intr.h@1.61.6.1 / diff / nxr@1.61.6.1
src/sys/arch/amd64/amd64/vector.S@1.73.6.1 / diff / nxr@1.73.6.1
src/sys/arch/amd64/conf/XEN3_PVHVM@1.3.2.2 / diff / nxr@1.3.2.2
src/sys/arch/i386/conf/XEN3PAE_PVHVM@1.3.2.2 / diff / nxr@1.3.2.2
src/sys/arch/i386/i386/spl.S@1.50.4.1 / diff / nxr@1.50.4.1
src/sys/arch/i386/i386/vector.S@1.85.6.1 / diff / nxr@1.85.6.1
src/sys/arch/x86/include/intr.h@1.61.6.1 / diff / nxr@1.61.6.1
spllower(): Also check Xen pending events
hypervisor_pvhvm_callback(): exit via Xdoreti, so that pending interrupts
are checked.
disable __HAVE_FAST_SOFTINTS only for XENPV, it now works for PVHVM.
We still have to disable PREEMPTION, until we support MULTIPROCESSOR
hypervisor_pvhvm_callback(): exit via Xdoreti, so that pending interrupts
are checked.
disable __HAVE_FAST_SOFTINTS only for XENPV, it now works for PVHVM.
We still have to disable PREEMPTION, until we support MULTIPROCESSOR
bouyer-xenpvh commitmail json YAML
Remove extra assignement
bouyer-xenpvh commitmail json YAML
src/sys/arch/x86/include/cpu.h@1.117.4.2
/
diff
/
nxr@1.117.4.2
src/sys/arch/x86/x86/cpu.c@1.181.4.1 / diff / nxr@1.181.4.1
src/sys/arch/x86/x86/patch.c@1.37.6.1 / diff / nxr@1.37.6.1
src/sys/arch/x86/x86/cpu.c@1.181.4.1 / diff / nxr@1.181.4.1
src/sys/arch/x86/x86/patch.c@1.37.6.1 / diff / nxr@1.37.6.1
Skip cx8_spllower patch if we're running on any form of Xen PV,
we can't handle PV interrupts with a single atomic op here.
Enable x86_patch() for Xen too.
we can't handle PV interrupts with a single atomic op here.
Enable x86_patch() for Xen too.
bouyer-xenpvh commitmail json YAML
Fix a second place where %eax is used with the wrong value.
bouyer-xenpvh commitmail json YAML
restore %eax before using it. This bug caused event handlers to be called
spuriously at high spl or in a reentrant manner.
Now a amd64 PVHVM domU can checkout pkgsrc and build packages without panic.
spuriously at high spl or in a reentrant manner.
Now a amd64 PVHVM domU can checkout pkgsrc and build packages without panic.
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/machdep.c@1.346.4.1
/
diff
/
nxr@1.346.4.1
src/sys/arch/i386/i386/machdep.c@1.825.4.1 / diff / nxr@1.825.4.1
src/sys/arch/i386/i386/machdep.c@1.825.4.1 / diff / nxr@1.825.4.1
For RB_POWERDONW, call HYPERVISOR_shutdown() in all cases where the
hypercall page is available. A PVHHVM domU now properly exits on
halt -p
hypercall page is available. A PVHHVM domU now properly exits on
halt -p
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/amd64/genassym.cf@1.82.4.1
/
diff
/
nxr@1.82.4.1
src/sys/arch/amd64/amd64/locore.S@1.200.4.1 / diff / nxr@1.200.4.1
src/sys/arch/i386/i386/genassym.cf@1.119.4.1 / diff / nxr@1.119.4.1
src/sys/arch/i386/i386/locore.S@1.179.2.1 / diff / nxr@1.179.2.1
src/sys/arch/x86/include/cpu.h@1.117.4.1 / diff / nxr@1.117.4.1
src/sys/arch/x86/x86/identcpu.c@1.102.2.1 / diff / nxr@1.102.2.1
src/sys/arch/x86/x86/lapic.c@1.76.6.1 / diff / nxr@1.76.6.1
src/sys/arch/x86/x86/x86_machdep.c@1.137.2.1 / diff / nxr@1.137.2.1
src/sys/arch/xen/x86/autoconf.c@1.23.8.1 / diff / nxr@1.23.8.1
src/sys/arch/xen/xen/hypervisor.c@1.73.2.1 / diff / nxr@1.73.2.1
src/sys/arch/amd64/amd64/locore.S@1.200.4.1 / diff / nxr@1.200.4.1
src/sys/arch/i386/i386/genassym.cf@1.119.4.1 / diff / nxr@1.119.4.1
src/sys/arch/i386/i386/locore.S@1.179.2.1 / diff / nxr@1.179.2.1
src/sys/arch/x86/include/cpu.h@1.117.4.1 / diff / nxr@1.117.4.1
src/sys/arch/x86/x86/identcpu.c@1.102.2.1 / diff / nxr@1.102.2.1
src/sys/arch/x86/x86/lapic.c@1.76.6.1 / diff / nxr@1.76.6.1
src/sys/arch/x86/x86/x86_machdep.c@1.137.2.1 / diff / nxr@1.137.2.1
src/sys/arch/xen/x86/autoconf.c@1.23.8.1 / diff / nxr@1.23.8.1
src/sys/arch/xen/xen/hypervisor.c@1.73.2.1 / diff / nxr@1.73.2.1
Remove VM_GUEST_XEN and define only Xen subtypes:
VM_GUEST_XENPV
VM_GUEST_XENPVH
VM_GUEST_XENHVM
VM_GUEST_XENPVHVM
Set vm_guest in the start routine, if it is hypervisor-specific (e.g Xen PV).
If vm_guest was not set early and we detect Xen in identify_hypervisor(),
assume it is VM_GUEST_XENHVM. Refine to VM_GUEST_PVXENHVM in
hypervisor_match().
VM_GUEST_XENPV
VM_GUEST_XENPVH
VM_GUEST_XENHVM
VM_GUEST_XENPVHVM
Set vm_guest in the start routine, if it is hypervisor-specific (e.g Xen PV).
If vm_guest was not set early and we detect Xen in identify_hypervisor(),
assume it is VM_GUEST_XENHVM. Refine to VM_GUEST_PVXENHVM in
hypervisor_match().
bouyer-xenpvh commitmail json YAML
src/sys/arch/amd64/conf/XEN3_DOMU@1.90.6.1
/
diff
/
nxr@1.90.6.1
src/sys/arch/amd64/conf/XEN3_PVHVM@1.3.2.1 / diff / nxr@1.3.2.1
src/sys/arch/i386/conf/XEN3PAE_DOM0@1.21.2.1 / diff / nxr@1.21.2.1
src/sys/arch/i386/conf/XEN3PAE_DOMU@1.8.2.1 / diff / nxr@1.8.2.1
src/sys/arch/i386/conf/XEN3PAE_PVHVM@1.3.2.1 / diff / nxr@1.3.2.1
src/sys/arch/amd64/conf/XEN3_PVHVM@1.3.2.1 / diff / nxr@1.3.2.1
src/sys/arch/i386/conf/XEN3PAE_DOM0@1.21.2.1 / diff / nxr@1.21.2.1
src/sys/arch/i386/conf/XEN3PAE_DOMU@1.8.2.1 / diff / nxr@1.8.2.1
src/sys/arch/i386/conf/XEN3PAE_PVHVM@1.3.2.1 / diff / nxr@1.3.2.1
Turn on -g by default on the branch