linux/drivers
Pankaj Gupta 748a437c5c UPSTREAM: virtio-pmem: Add virtio pmem driver
This patch adds virtio-pmem driver for KVM guest.

Guest reads the persistent memory range information from
Qemu over VIRTIO and registers it on nvdimm_bus. It also
creates a nd_region object with the persistent memory
range information so that existing 'nvdimm/pmem' driver
can reserve this into system memory map. This way
'virtio-pmem' driver uses existing functionality of pmem
driver to register persistent memory compatible for DAX
capable filesystems.

This also provides function to perform guest flush over
VIRTIO from 'pmem' driver when userspace performs flush
on DAX memory range.

Signed-off-by: Pankaj Gupta <pagupta@redhat.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jakub Staron <jstaron@google.com>
Tested-by: Jakub Staron <jstaron@google.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
(cherry picked from commit 6e84200c0a)
Bug: 146400078
Bug: 148297388
Change-Id: Ie3457fe184f29984d181bc0afa9267e2567a2caf
Signed-off-by: Alistair Delva <adelva@google.com>
2020-01-26 19:04:57 +00:00
..
accessibility
acpi UPSTREAM: libnvdimm: nd_region flush callback support 2020-01-26 19:04:49 +00:00
amba
android UPSTREAM: binder: fix incorrect calculation for num_valid 2019-12-18 19:49:13 +00:00
ata libata: Fix retrieving of active qcs 2020-01-09 10:19:01 +01:00
atm atm: zatm: Fix empty body Clang warnings 2019-12-01 09:16:41 +01:00
auxdisplay
base UPSTREAM: mm, proc: add KReclaimable to /proc/meminfo 2019-12-13 14:04:45 -08:00
bcma
block This is the 4.19.98 stable release 2020-01-23 08:36:16 +01:00
bluetooth Bluetooth: btusb: fix PM leak in error case of setup 2020-01-09 10:19:04 +01:00
bus bus: ti-sysc: Fix getting optional clocks in clock_roles 2019-12-13 08:51:23 +01:00
cdrom cdrom: respect device capabilities during opening action 2020-01-04 19:13:12 +01:00
char This is the 4.19.92 stable release 2019-12-31 17:11:54 +01:00
clk This is the 4.19.98 stable release 2020-01-23 08:36:16 +01:00
clocksource clocksource/drivers/timer-of: Use unique device name instead of timer 2020-01-04 19:12:45 +01:00
connector
cpufreq This is the 4.19.95 stable release 2020-01-12 12:29:19 +01:00
cpuidle This is the 4.19.90 stable release 2019-12-18 09:03:30 +01:00
crypto crypto: virtio - implement missing support for output IVs 2020-01-17 19:47:04 +01:00
dax
dca
devfreq PM / devfreq: Check NULL governor in available_governors_show 2020-01-09 10:19:03 +01:00
dio
dma ioat: ioat_alloc_ring() failure handling. 2020-01-17 19:47:16 +01:00
dma-buf This is the 4.19.91 stable release 2019-12-21 11:20:11 +01:00
edac EDAC/ghes: Fix grain calculation 2019-12-31 16:35:58 +01:00
eisa
energy_model
extcon extcon: sm5502: Reset registers during initialization 2019-12-31 16:35:11 +01:00
firewire net: add annotations on hh->hh_len lockless accesses 2020-01-09 10:19:09 +01:00
firmware This is the 4.19.95 stable release 2020-01-12 12:29:19 +01:00
fmc
fpga
fsi fsi: core: Fix small accesses and unaligned offsets via sysfs 2019-12-31 16:35:55 +01:00
gnss ANDROID: gnss: Add command line test driver 2019-12-19 22:51:54 +00:00
gpio This is the 4.19.97 stable release 2020-01-17 23:40:29 +01:00
gpu This is the 4.19.98 stable release 2020-01-23 08:36:16 +01:00
hid HID: hidraw, uhid: Always report EPOLLOUT 2020-01-17 19:46:55 +01:00
hsi
hv vmbus: keep pointer to ring buffer page 2019-11-20 18:47:31 +01:00
hwmon hwmon: (pmbus/ibm-cffps) Switch LEDs to blocking brightness call 2020-01-23 08:21:39 +01:00
hwspinlock
hwtracing This is the 4.19.92 stable release 2019-12-31 17:11:54 +01:00
i2c This is the 4.19.96 stable release 2020-01-15 08:57:09 +01:00
ide
idle
iio This is the 4.19.98 stable release 2020-01-23 08:36:16 +01:00
infiniband This is the 4.19.97 stable release 2020-01-17 23:40:29 +01:00
input Input: input_event - fix struct padding on sparc64 2020-01-14 20:07:01 +01:00
iommu This is the 4.19.97 stable release 2020-01-17 23:40:29 +01:00
ipack
irqchip This is the 4.19.98 stable release 2020-01-23 08:36:16 +01:00
isdn staging: gigaset: add endpoint-type sanity check 2019-12-17 20:34:33 +01:00
leds leds: lm3692x: Handle failure to probe the regulator 2020-01-04 19:12:43 +01:00
lightnvm lightnvm: pblk: consider max hw sectors supported for max_write_pgs 2019-11-24 08:20:52 +01:00
macintosh macintosh/windfarm_smu_sat: Fix debug output 2019-12-01 09:16:37 +01:00
mailbox mailbox: imx: Fix Tx doorbell shutdown path 2020-01-04 19:13:17 +01:00
mcb
md ANDROID: dm: add dm-default-key target for metadata encryption 2020-01-24 10:49:09 -08:00
media This is the 4.19.97 stable release 2020-01-17 23:40:29 +01:00
memory memory: omap-gpmc: Get the header of the enum 2019-12-05 09:20:29 +01:00
memstick memstick: jmb38x_ms: Fix an error handling path in 'jmb38x_ms_probe()' 2019-10-29 09:20:07 +01:00
message scsi: mptfusion: Fix double fetch bug in ioctl 2020-01-23 08:21:28 +01:00
mfd mfd: max8997: Enale irq-wakeup unconditionally 2019-12-01 09:16:57 +01:00
misc This is the 4.19.97 stable release 2020-01-17 23:40:29 +01:00
mmc This is the 4.19.92 stable release 2019-12-31 17:11:54 +01:00
mtd mtd: devices: fix mchp23k256 read and write 2020-01-23 08:21:37 +01:00
mux
net This is the 4.19.98 stable release 2020-01-23 08:36:16 +01:00
nfc NFC: pn533: fix bulk-message timeout 2020-01-23 08:21:34 +01:00
ntb ntb: intel: fix return value for ndev_vec_mask() 2019-12-01 09:17:13 +01:00
nubus
nvdimm UPSTREAM: virtio-pmem: Add virtio pmem driver 2020-01-26 19:04:57 +00:00
nvme nvme-fc: fix double-free scenarios on hw queues 2020-01-09 10:18:54 +01:00
nvmem nvmem: imx-ocotp: reset error status on probe 2019-12-31 16:35:37 +01:00
of This is the 4.19.90 stable release 2019-12-18 09:03:30 +01:00
opp This is the 4.19.86 stable release 2019-11-25 10:00:06 +01:00
oprofile
parisc
parport parport: load lowlevel driver if ports not found 2019-12-31 16:36:01 +01:00
pci PCI/PTM: Remove spurious "d" from granularity message 2020-01-17 19:47:08 +01:00
pcmcia
perf
phy phy: cpcap-usb: Fix flakey host idling and enumerating of devices 2020-01-14 20:07:08 +01:00
pinctrl pinctrl: lewisburg: Update pin list according to v1.1v6 2020-01-17 19:47:06 +01:00
platform platform/x86: GPD pocket fan: Use default values when wrong modparams are given 2020-01-17 19:47:04 +01:00
pnp
power This is the 4.19.90 stable release 2019-12-18 09:03:30 +01:00
powercap
pps
ps3
ptp ptp: free ptp device pin descriptors properly 2020-01-23 08:21:35 +01:00
pwm pwm: Clear chip_data in pwm_put() 2019-12-05 09:21:29 +01:00
rapidio
ras
regulator regulator: rn5t618: fix module aliases 2020-01-12 12:17:18 +01:00
remoteproc remoteproc: qcom: q6v5: Fix a race condition on fatal crash 2019-11-24 08:20:29 +01:00
reset reset: Fix memory leak in reset_control_array_put() 2019-12-05 09:19:36 +01:00
rpmsg rpmsg: glink: Free pending deferred work on remove 2019-12-21 10:57:30 +01:00
rtc rtc: brcmstb-waketimer: add missed clk_disable_unprepare 2020-01-17 19:47:13 +01:00
s390 s390/qeth: Fix vnicc_is_in_use if rx_bcast not set 2020-01-17 19:47:01 +01:00
sbus
scsi FROMLIST: scsi: ufs: add program_key() variant op 2020-01-24 10:49:09 -08:00
sfi
sh
siox
slimbus slimbus: ngd: Fix build error on x86 2019-12-13 08:51:54 +01:00
sn
soc This is the 4.19.89 stable release 2019-12-13 10:01:10 +01:00
soundwire soundwire: intel: fix PDI/stream mapping for Bulk 2019-12-31 16:35:55 +01:00
spi This is the 4.19.97 stable release 2020-01-17 23:40:29 +01:00
spmi
ssb
staging ANDROID: staging: android: ion: enable modularizing the ion driver 2020-01-23 15:37:13 -08:00
target scsi: target: core: Fix a pr_debug() argument 2020-01-23 08:21:38 +01:00
tc
tee This is the 4.19.86 stable release 2019-11-25 10:00:06 +01:00
thermal This is the 4.19.89 stable release 2019-12-13 10:01:10 +01:00
thunderbolt thunderbolt: Power cycle the router if NVM authentication fails 2019-12-05 09:21:27 +01:00
tty This is the 4.19.97 stable release 2020-01-17 23:40:29 +01:00
uio vmbus: keep pointer to ring buffer page 2019-11-20 18:47:31 +01:00
usb This is the 4.19.98 stable release 2020-01-23 08:36:16 +01:00
uwb
vfio This is the 4.19.91 stable release 2019-12-21 11:20:11 +01:00
vhost UPSTREAM: vhost, kcov: collect coverage from vhost_worker 2020-01-15 14:51:56 +00:00
video video/hdmi: Fix AVI bar unpack 2019-12-17 20:35:17 +01:00
virt virt: vbox: fix memory leak in hgcm_call_preprocess_linaddr 2019-11-06 13:06:04 +01:00
virtio UPSTREAM: virtio-pmem: Add virtio pmem driver 2020-01-26 19:04:57 +00:00
visorbus
vlynq
vme
w1 w1: IAD Register is yet readable trough iad sys file. Fix snprintf (%u for unsigned, count for max size). 2019-12-01 09:16:22 +01:00
watchdog watchdog: Fix the race between the release of watchdog_core_data and cdev 2020-01-04 19:13:01 +01:00
xen xen/balloon: fix ballooned page accounting without hotplug enabled 2020-01-09 10:18:58 +01:00
zorro
Kconfig
Makefile