XT Xen 4.3.4 Patch Queue

Notes

This is a list of the current (09/25/2015) Xen 4.3.4 patch queue. This should work well as a starting point for upgrading Xen to 4.6.x.

Backports

bp-ept-update-aa9114edd97b292cd89b3616e3f2089471fd220.patch

Adds passing of vpu and domain for various MTRR type setting in hvm_msr_write_intercept(). Also added EXIT_REASON_EPT_MISCONFIG exit handler.

HVM Support

hvmloader_print_e820.patch

Support for e820 printing.

 

hvmloader-vga-command-io.patch

Enable IO since VGA needs it.

 

hvm-pm-hibernate-s-state.patch

Changed PM1a_CNT.SLP_TYP and PM1b_CNT.SLP_TYP from 0x0 to 0x6 definition block to mach piix emulation.

 

hvm-pm-s-states.patch

Adds xc_set_hvm_pio() and corresponding do_hvm_op() case. Added SCI_MASK which masks off bits in PM1a_STS that can generate an SCI. Added int pm_pio_set().

 

hvm-rtc.patch

Updates guest domains real-time clock

 

hvm-rtc-refresh-time.patch

Refreshes current time via gmtime()

General/Graphic Pass-Through

gpt-igd-hp-resume-workaround.patch

workaround host S3 resume issue on HP laptops. Turns out saving iGfx bars during iommu suspend and restoring them in iommu resume will fix the hang/reset during host resume on HP laptops. Following does that as a fallback on systems that doesn't have the firmware fix to save/restore iGfx bars.

 

gpt-iommu-mapping.patch

Add hypercalls for iommu mapping (iommu_map_batch, iommu_x_mapping).

 

gpt-nvidia.patch

For NVIDIA VGA cards load std vga BIOS image

 
gpt-quiet-log.patch

comments out print statement

 

gpt-s3-resume-reason.patch

Set power button status (necessary for proper win32 resume). Additionally,set rsm/wak_sts bit. set rsm/wak_sts bit.

 

gpt-superblanker.patch
16M for superblanker FB. e820 address = 0xfd000000, type = E820_RESERVED.

ACPI emulation/ pass-through

acpi-no-hotplug.patch

Remove pci hotplug from ACPI DSDT tables (_EJ0).

 

prune-acpi-devices.patch

Comments out name decoding for FD and SPKR.

 

prune-vga-acpi-dev.patch

(Presumably) removed support for VGA S3 suspend/resume work in Windows XP/2003.

 

qemu-acpi-tables.patch

Makefile lists qemu_utils.c as source file. "Fixes" up ACPI headers. Added population of Qemu tables.

Hypercalls

xc-xt-allow-pat-cacheattrs-for-all-domains.patch

Allows PAT cache attributes for all domains.

 

xc-xt-aperture-map.patch

Add an hypercall to map guest pages within an aperture in its own address space (modifying the p2m).

 

xc-xt-cpuid.patch

Make cpuid ours: Hide core/HT topology, make vcpu appear as multicores, leave FEATURE_MWAIT, put our signature.

 

xc-xt-ept-respect-cacheattr-pin.patch

Ignore PAT memory type for cache-pinned pages.

 

xc-xt-foreign-batch-cacheattr.patch

Implement translation of a list of gpfn to a list of mfn in new hypercalls: XENMEM_translate_gpfn_list & XENMEM_release_mfn_list. Typically used to get framebuffer's mfns of the gpfns we receive from the graphic emulation (ioemu/xengfx).

 

xc-xt-hvm-get-time.patch

Add HVMOP_get_time handler to xenctrl library. add_hvmop_get_time_to_xc_tools.

 

xc-xt-hvm-info.patch

Primitive tool for our toolstack to report VTd/VTx handling.

 

xc-xt-hvmloader-legacy-seabios-optionroms.patch

Removed seabios-dir from Makefile subdirectory list. Added seabios_load_roms()

 

xc-xt-hvmloader-move-reservation-area.patch

Moved reserved memory area end from 0xFE000000 to 0xFD000000.

 

xc-xt-interrupt-debug-info.patch

Dumps LAPICs and IOAPICs status of HVM domains in key-handle 'i' ("dump interrupt bindings"). fix-irq-debug-key, dump-lapic.

 

xc-xt-isa-irq-guest-binding.patch

Add ISA IRQ binding capability for guests. isa-irq-guest-binding.

 

xc-xt-local-pxe-rom.patch

Makefile change to accomodate for local PXE ROM.

 

xc-xt-opt-disable-vmcs-shadowing.patch

Optionally disable VMCS shadowing.

 

xc-xt-parse-video-from-mbi.patch

Read the VBE from Multiboot information table given by the bootloader.

parse-video-from-mbi.

 

xc-xt-set-servicevm.patch

Add set_xcisrv hypercall for dom0 to declare a VM as service VM (restricted privileges).

 

xc-xt-shadow-op-blow-tables.patch

Add an hypercall to blow shadow tables of a domain (unpining them before if necessary).

 

xc-xt-tboot-shutdown-disable-irqs.patch

tboot_shutdown is disabling interrupts a bit early. tboot-shutdown-disable-irqs.

 

xc-xt-tools-v3-mapspace-workaround.patch

Defines XENMAPSPACE_gmfn_range to 100 (prev 3). Apparently to accomodate for bug in old XT tools. Thus, XENMAPSPACE_gmfn_range has to be moved to another ID.

 

xc-xt-txt-shutdown-acpi-access-width.patch

Fixes incorrect ACPI tables on some Dell platforms (980) that corrupt power operations with TXT enabled.

 

xc-xt-unmap-shared-info.patch

Add a way for XENMAPSPACE_shared_info hypercall to unmap the shared info page (used before going S4).

 

xc-xt-v4v.patch

V4V, domain to domain communication protocol, through __HYPERVISOR_v4v_op hypercall (V4V, V4V_Hypervisor_API).

 

xc-xt-v4v-viptables.patch

V4V implementation of viptables to filter traffic.

 

xc-xt-vcpu-get-time.patch

Add VCPUOP_get_time to make NOW() macro available in PV guests.

 

xc-xt-xenconsoled-syslog.patch

An ugly way to make xenconsoled log into syslog.

 

xc-xt-xenstore-use-pthread-always.patch

Force libpthread as libxenstore does not work without it.

 

xc-xt-xen-translate.patch

Implement translation of a list of gpfn to a list of mfn in new hypercalls: XENMEM_translate_gpfn_list & XENMEM_release_mfn_list. Typically used to get framebuffer's mfns of the gpfns we receive from the graphic emulation (ioemu/xengfx).

Xen Security Modules

flask-bool-utility-fix.patch

Check to see if hypercall to bounce memory for flask op hypercall succeeded.

 

flask-persist-booleans.patch

Added XSM_BOOLEAN_CONFIG_PATH. Used to write to persistent boolean file.

 

xsm-add-corespersocket.patch

Added handling for adding cores on a socket basis (and its check for privileges).

Block Tap Patches

blktap2-multi-coalesce.patch

Huge patch. Added functionality to read from VHDs. This thing is huge.

 

blktap2-vci.patch

This is huge as well. Lots of handling special cases for Windows.

 

blktap-instrumentation.patch

Tapdisk control instrumentation such as read(), write(), select().

 

blktap-quieten-udevd.patch

xen-backend.rules changed to use a SYMLINK="xen/%k", MODE now deprecated.

 

blktap-resume-fix.patch

Re-create the tapdisk driver stack as the path may have changed upon resume.

 

blktap-retry-fix.patch

Changed vreq->blocked = treq.blocked; to vreq->blocked |= treq.blocked;

 

blktap-timeout.patch

Added TAPCTL_SERVER_TIMEOUT to tap_ctl_connect_send_and_receive() [Currently 120].

BIOS Patches

bios-signature.patch

Fetch BIOS signature data passed by QEMU if any. Write required BIOS signature to BIOS text segment. Add any required BIOS signature. Add MP tables.

bios-uuid.patch

Added hypercall to set/get UUID for domains.

Misc Patches

10ms_timeslice.patch

changes the timeslice to 10ms from previously 30ms.

 

add-command-line-option-to-disable-arat.patch

Added command line option to force ARAT (Always Running APIC TIMER) to off.

 

add-percentages-to-xenpm.patch

Added eprcent-wise printing in print_cx_stat().

 

add_system_time_timestamps.patch

console_us_timestamps: include a microsecond (us) timestamp prefix on every Xen console line.

 

cpufreq_gov_stop_avoid_panic.patch

Checking for if this domain info enables CPUFREQ_GOV_STOP. If so, the timer exits.

 

crash_flag_hypercall.patch

Adds crash flag to hypercalls.

 

dom0_auto_mem.patch

Added maximum increase amount of pages for dom0.

 

evtchn-do-not-set-pending-if-s3.patch

If domain is in S3 it will miss the notification, so check here.

 

fix-32bit-xsm-interface.patch

Added XEN_GUEST_HANDLE and its 64-bit equivalent.

 

fix-memcpy-in-x86-emulate.patch

Routine to make __hvm_copy appropriate to use for copying the results of instruction emulation back to guest memory - these typically require 64-bit, 32-bit and 16-bit writes to be atomic whereas memcpy is only atomic for 64-bit writes. This is still not 100% correct since copies larger than 64-bits will  not be atomic for the last 2-6 bytes but should be good enough for instruction emulation.

 

fix-pci-serial-hang.patch

Fix for ns16550 chipset. IO seems to be wonky for that particular set of hardware.

 

fix-race-between-udev-and-tapctl.patch

Fixes race condition between udev and tapctl.

 

fix-write-clash.patch

Added undef's for READ and WRITE to shut the compiler up.

 

fix-xenctrl-enum-defn.

Moved definition of enum xc_error_code from xenctrl.h.

 

include-seabios.patch

Includes Seabios support for HVM loader.

 

incremental-dmesg-processing.patch

Processing dmsg in increments.

 

iobitmap-on-all-vcpus.patch

Per VCPU bitmap setting.

 

large-remap.patch

Map into the current process the range of guest pages given by [pfn:pfn+num-1]. Mapping does not fail if some pages cannot be mapped. Instead we indicate any pages that cannot be mapped by setting the corresponding bit in err_bits. 

 

libvhd-disable-static-batmaps.patch

Commented out all static use of VCI batmaps.

 

local-ipxe.patch

Patched Makefile to use local ipxe file.

 

microcode-info.patch

pr_debug macro defined to actually do something (i.e. printing)

 

publish_xentrace_formats.patch

Xentrace Makefile expanded to make its own directory and place files.

 

reboot-quirk-pci.patch

Added handling for rebooting over PCI. Specifically, added handling of CF9 "PCI reset register".

 

rmrr-validate-range.patch

Added sanity check to see if the end address is smaller than the base address. If so, print message

and return -EINVAL.

 

rombios-faster.patch

Changed number of BX_MAX_ATA_INTERFACES from 4 to two and BX_MAX_ATA_DEVICES to 3.

 

sb_reboot_turbo_workaround.patch

Added definition for MSR_SB_TURBO_CURRENT_LIMIT to be 0x000001ac.

 

smbios.patch

Added "Type 7 -- Cache Information" and its associated tracing functions.

 

stack_on_triple_fault.patch

Added vcpu_show_execution_state(v) upon triple fault.

 

stubdomain-msi-irq-access.patch

Added allow/disallow functionality for stubdomains IRQ access.

 

tapdisk_debug.patch

Added debug logging if !BLKIF_RSP_OKAY.

 

tapdisk-increase-vhd-req-pool.patch

Size of vreq_free and vreq_list increased from VHD_REQS_DATA to VHD_REQS_TOTAL.

 

tapdisk_shutdown_recursion.patch

Added checking for shutdown in progess and signaling to try again.

 

vbe-lfb-addr-matches-hvmloader.patch

Moved physical address from VBE from 0xE0000000 to 0xF0000000

 

vhd-util-allow-resize.patch

Added VCI_CHECK_CREATOR check before VHD manipulation.

 

vhd-validate-size.patch

Added calculation of current VHD size, maximum is 2040GB.

 

workaround-nehalem-igd-vtd.patch

Workaround fixing VT-d breakage on Clarkdale integrated graphics!

 

xen-allow-hvm.patch

Allow HVM operation at all times, otherwise hvm_enable will be off if we boot without TBOOT and TXT is enabled in the BIOS.

 

xen-cpuidle-hang.patch

Added get-max-cstate regarding the current C-state limitation. Added check to verify that dom0 is NOT using RTC interrupts.

 

xen-libhvm.patch

Patches helepr library for reading ACPI and SMBIOS firmware values from the host system for use with the HVM guest firmware pass-through feature in Xen.

 

xenstored-instrumentation.patch

Ignore noisy messages unless verbose specified.

 

xentrace-format-handle-zero-tsc.patch

Use last TSC of none provided. Also, during initialization, take reltsc into account rather than just dividing by 1M.