Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
3a3d53f
From 07e447d39839d0401d5f44243e8e20de0e5ce9ce Mon Sep 17 00:00:00 200…
chunjiez Jun 18, 2025
fb45b63
SUNRPC: Replace the queue timer with a delayed work function
chunjiez Jun 19, 2025
6603d86
nbd: fix possible sysfs duplicate warning
lxbsz Sep 19, 2019
32c72f4
SUNRPC: fix race to sk_err after xs_error_report
bcodding-rh Oct 2, 2019
7a1c92b
nbd: protect cmd->status with cmd->lock
josefbacik Oct 21, 2019
c4c9921
nbd: handle racing with error'ed out commands
josefbacik Oct 21, 2019
09593eb
SUNRPC: Fix backchannel RPC soft lockups
chucklever Apr 17, 2020
3649800
nbd: fix a block_device refcount leak in nbd_release
Nov 9, 2020
6ba6e5e
nbd: Aovid double completion of a request
YongjiXie Aug 13, 2021
f050c06
nbd: don't handle response without a corresponding request message
YuKuai-huawei Sep 16, 2021
8951bf2
nbd: make sure request completion won't concurrent
YuKuai-huawei Sep 16, 2021
70e8f90
cdc_ether: export usbnet_cdc_zte_rx_fixup
Leo-PL Apr 13, 2022
500f56b
rndis_host: enable the bogus MAC fixup for ZTE devices from cdc_ether
Leo-PL Apr 13, 2022
28af190
rndis_host: limit scope of bogus MAC address detection to ZTE devices
Leo-PL Apr 13, 2022
794159b
SUNRPC: Move reset of TCP state variables into the reconnect code
Aug 13, 2018
8ec3652
nvme-fabrics: reject I/O to offline device
VictorGl2309 Nov 24, 2020
cf61462
Add shadow variables support from kpatch
SergeyDyasli Dec 8, 2020
22fc12b
xen/xenbus: Allow watches discard events before queueing
Dec 8, 2020
78d371c
xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
Dec 8, 2020
1413408
xen/xenbus/xen_bus_type: Support will_handle watch callback
Dec 9, 2020
01c64c6
xen/xenbus: Count pending messages for each watch
Dec 9, 2020
a00537b
xenbus/xenbus_backend: Disallow pending watch messages
Dec 9, 2020
9839cc1
xen/xenbus: Fix granting of vmalloc'd memory
sleiner Aug 25, 2020
37025ae
xen-blkfront: switch kcalloc to kvcalloc for large array allocation
royger May 3, 2019
6043264
xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk
nathanchance Dec 9, 2019
f07d9ce
xen/blkfront: fix memory allocation flags in blkfront_setup_indirect()
jgross1 Apr 3, 2020
e3160bd
xen-blkfront: allow discard-* nodes to be optional
royger Jan 19, 2021
3521f28
xen: sync include/xen/interface/io/ring.h with Xen's newest version
jgross1 Nov 29, 2021
51df54d
xen/blkfront: read response from backend only once
jgross1 Nov 29, 2021
c0ef961
xen/blkfront: don't take local copy of a request from the ring page
jgross1 Nov 29, 2021
b84f7e3
xen/blkfront: don't trust the backend response data blindly
jgross1 Nov 29, 2021
201cb9a
xen/blkfront: harden blkfront against event channel storms
jgross1 Dec 16, 2021
e3b35f8
xen-netfront: do not assume sk_buff_head list is empty in error handling
Sep 16, 2019
9033451
xen-netfront: do not use ~0U as error return value for xennet_fill_fr…
Oct 1, 2019
0607c79
xen-netfront: fix potential deadlock in xennet_remove()
Jul 24, 2020
355d34b
xen/netfront: stop tx queues during live migration
Oct 22, 2021
31cf821
xen/netfront: read response from backend only once
jgross1 Nov 29, 2021
5b3ab5e
xen/netfront: don't read data from request on the ring page
jgross1 Nov 29, 2021
beba20d
xen/netfront: disentangle tx_skb_freelist
jgross1 Nov 29, 2021
364a64d
xen/netfront: don't trust the backend response data blindly
jgross1 Nov 29, 2021
ed7e9ef
xen/netfront: harden netfront against event channel storms
jgross1 Dec 16, 2021
336bc14
xen/netfront: destroy queues before real_num_tx_queues is zeroed
marmarek Feb 23, 2022
859871b
pvcalls-front: read all data before closing the connection
sstabellini Dec 21, 2018
051adfb
pvcalls-front: don't try to free unallocated rings
sstabellini Dec 21, 2018
c022419
pvcalls-front: properly allocate sk
sstabellini Dec 21, 2018
b4dce05
pvcalls-front: Avoid get_free_pages(GFP_KERNEL) under spinlock
taskset Dec 5, 2018
be13a6e
pvcalls-front: fix potential null dereference
taskset Jan 15, 2019
fe1784b
xen/pvcalls: Remove set but not used variable
May 25, 2019
c1ee328
pvcalls-front: don't return error when the ring is full
sstabellini Dec 21, 2018
0186ce7
xen/xenbus: don't let xenbus_grant_ring() remove grants in error case
jgross1 Feb 25, 2022
2a6cb96
xen/grant-table: add gnttab_try_end_foreign_access()
jgross1 Feb 25, 2022
07a723e
xen/blkfront: don't use gnttab_query_foreign_access() for mapped status
jgross1 Feb 25, 2022
0e7b6b6
xen/netfront: don't use gnttab_query_foreign_access() for mapped status
jgross1 Feb 25, 2022
b78ed2e
xen/scsifront: don't use gnttab_query_foreign_access() for mapped status
jgross1 Feb 25, 2022
6121c35
xen/gntalloc: don't use gnttab_query_foreign_access()
jgross1 Feb 25, 2022
bf5bbd7
xen: remove gnttab_query_foreign_access()
jgross1 Feb 25, 2022
b76b9d7
xen/9p: use alloc/free_pages_exact()
jgross1 Feb 25, 2022
3312bec
xen/pvcalls: use alloc/free_pages_exact()
jgross1 Feb 25, 2022
8d88291
xen/gnttab: fix gnttab_end_foreign_access() without page specified
jgross1 Feb 25, 2022
d3814f4
xen/netfront: react properly to failing gnttab_end_foreign_access_ref()
jgross1 Feb 25, 2022
4ef1d52
xen/blkfront: fix leaking data in shared pages
royger Mar 30, 2022
33e5b73
xen/netfront: fix leaking data in shared pages
royger Apr 6, 2022
e82cc29
xen/netfront: force data bouncing when backend is untrusted
royger Apr 7, 2022
52939bb
xen/blkfront: force data bouncing when backend is untrusted
royger Apr 7, 2022
7add0fd
xen/netback: Ensure protocol headers don't fall in the non-linear area
rosslagerwall Nov 22, 2022
76b2542
xen/netback: don't call kfree_skb() with interrupts disabled
jgross1 Dec 6, 2022
f879b60
xen-netback: remove unused variables pending_idx and index
Feb 26, 2023
ad9a41f
xen/netback: don't do grant copy across page boundary
jgross1 Mar 27, 2023
5342cb7
xen/netback: remove not needed test in xenvif_tx_build_gops()
jgross1 Mar 27, 2023
9dc845c
xen/netback: use same error messages for same errors
jgross1 Mar 29, 2023
1227fb0
xen/netback: Fix buffer overrun triggered by unusual packet
rosslagerwall Sep 19, 2015
6f4f9a7
xen/events: replace evtchn_rwlock with RCU
jgross1 Aug 28, 2023
72185e6
xen-netback: don't produce zero-size SKB frags
jbeulich Sep 19, 2015
f84f27a
kbuild: AFTER_LINK
Oct 7, 2008
8914867
expose-xsversion.patch
Sep 19, 2015
22bca8d
blktap2.patch
Sep 19, 2015
513a70b
Write each kthread's pid into xenstore so that it can be ioniced by the
Sep 19, 2015
2ccd656
Several order 4 & 5 allocations are required when setting up the
Sep 19, 2015
362c1e7
disable-EFI-Properties-table-for-Xen.patch
Sep 19, 2015
f18adcd
net: Do not scrub ignore_df within the same name space
anoobs Jul 27, 2017
13f7f66
enable-fragmention-gre-packets.patch
Sep 19, 2015
4441503
CA-285778-emulex-nic-ip-hdr-len.patch
Sep 19, 2015
822ff40
cifs: Change the default value SecFlags to 0x83
anoobs Oct 11, 2018
0f3be81
call-kexec-before-offlining-noncrashing-cpus.patch
Sep 19, 2015
917c4e8
The CFQ IO scheduler has the concept of an idle IO scheduling class
Sep 19, 2015
b8a9e08
pvsproxy uses an XFS filesystem on top of a blktap device backed by
Sep 19, 2015
742da0d
scsi: libfc: drop extra rport reference in fc_rport_create()
Dec 10, 2019
fd445db
Don't select PINCTRL
Sep 19, 2015
72f7fb9
Add 50G/100G/200G ethtool link modes
Sep 19, 2015
fcb3a35
dma: add dma_get_required_mask_from_max_pfn()
May 9, 2014
0fb06dd
x86,xen: correct dma_get_required_mask() for Xen PV guests
May 9, 2014
f31fc8e
map-1MiB-1-1.patch
Sep 19, 2015
0b8ebec
If the host has more CPUs than the kernel is compiled for, warnings
Sep 19, 2015
c7e712d
dom0 detects the presence of the ACPI PM timer but cannot access it
Sep 19, 2015
907f90c
With many VMs, it is possible to hit the IRQ descriptor limit
Sep 19, 2015
83e1841
xen-balloon-hotplug-select-HOLES_IN_ZONE.patch
Sep 19, 2015
9c6b07b
pci: export pci_probe_reset_function()
Jul 10, 2014
deab619
xen-pciback: provide a "reset" sysfs file to try harder at an SBR
Jul 10, 2014
4595f87
Guests can potentially disable/cause the PCI device to stop respondin…
Sep 19, 2015
0f1f977
pciback-mask-root-port-comp-timeout.patch
Sep 19, 2015
3d26a92
Some devices advertise FLReset+ but do not support it. Add a quirk for
Sep 19, 2015
0ce29a1
Revert "PCI: Probe for device reset support during enumeration"
Sep 19, 2015
b9c0bf1
CA-135938-nfs-disconnect-on-rpc-retry.patch
Sep 19, 2015
14051f2
sunrpc-force-disconnect-on-connection-timeout.patch
Sep 19, 2015
dfd7bd9
nfs_access_get_cached may call __nfs_revalidate_inode() which makes n…
Sep 19, 2015
18659a9
bonding-balance-slb.patch
Sep 19, 2015
2df5bac
bridge-lock-fdb-after-garp.patch
Sep 19, 2015
97781de
CP-13181-net-openvswitch-add-dropping-of-fip-and-lldp.patch
Sep 19, 2015
06cc238
xen-ioemu-inject-msi.patch
Sep 19, 2015
9a6e2be
pv-iommu-support.patch
Sep 19, 2015
d57ede5
Reserve the crashkernel region in the E820. This prevents oustanding DMA
Sep 19, 2015
6a6abd6
xen/swiotlb: rework early repeat code
SergeyDyasli Jan 30, 2019
da7df67
arch/x86/xen: add infrastruction in xen to support gvt
pei6 Mar 7, 2017
8f81b7f
drm/i915/gvt: write guest ppgtt entry for xengt support
pei6 Mar 31, 2017
cd8ce22
drm/i915/xengt: xengt moudule initial files
pei6 Apr 10, 2017
7719f51
drm/i915/xengt: check on_destroy on pfn_to_mfn
pei6 Apr 14, 2017
604ce06
arch/x86/xen: Import x4.9 interface for ioreq
xiongzha Apr 18, 2017
5c3a0d7
i915/gvt/xengt.c: Use new dm_op instead of hvm_op
xiongzha Apr 18, 2017
f386aaa
i915/gvt/xengt.c: New interface to write protect PPGTT
xiongzha Apr 19, 2017
55674de
i915/gvt/xengt.c: Select vgpu type according to low_gm_sz in hvm.cfg
xiongzha May 8, 2017
27cfb69
drm/i915/gvt: Don't output error message when DomU max gfn don't alig…
xiongzha May 16, 2017
eded07a
drm/i915/gvt/xengt: Correctly get low mem max gfn
xiongzha May 25, 2017
fd9cf3c
drm/i915/gvt: Fix dom0 call trace at shutdown or reboot sometimes
xiongzha Jun 1, 2017
e81c6dd
hvm/dm_op.h: Sync dm_op interface to xen 4.9 release
xiongzha Aug 22, 2017
7163efe
drm/i915/gvt: Apply g2h adjust for GTT mmio access
yulei-zhang May 27, 2017
8989f25
drm/i915/gvt: Apply g2h adjustment during fence mmio access
yulei-zhang May 27, 2017
4043a91
drm/i915/gvt: Patch the gma in gpu commands during command parser
yulei-zhang May 27, 2017
a3cd3b2
drm/i915/gvt: Retrieve the guest gm base address from PVINFO
yulei-zhang Jan 4, 2018
ee1ab70
drm/i915/gvt: Align the guest gm aperture start offset for live migra…
yulei-zhang Jan 4, 2018
aafe964
drm/i915/gvt: Add support to new VFIO subregion VFIO_REGION_SUBTYPE_D…
yulei-zhang May 27, 2017
8e05c5b
drm/i915/gvt: Implement vGPU status save and restore through new VFIO…
yulei-zhang Jan 4, 2018
7913492
vfio: Implement new Ioctl VFIO_IOMMU_GET_DIRTY_BITMAP
yulei-zhang May 27, 2017
41f5b78
drm/i915/gvt: Add dev node for vGPU state save/restore in XENGT
yulei-zhang Aug 30, 2017
f056869
drm/i915/gvt: Add interface to control the vGPU running state in XENGT
yulei-zhang Aug 30, 2017
9f54fd5
drm/i915/gvt: Modify the vGPU save/restore logic for XENGT
yulei-zhang Aug 30, 2017
2b92cf8
drm/i915/gvt: Add log dirty support for XENGT migration
yulei-zhang Aug 31, 2017
7521ee9
drm/i915/gvt/xengt: Add iosrv_enabled to track iosrv status
xiongzha Oct 12, 2017
ad6edd9
drm/i915/gvt: Add xengt ppgtt write handler
xiongzha Dec 28, 2017
c9f3bbe
drm/i915/gvt/xengt: Impliment mpt->dma_map/unmap_guest_page
xiongzha Mar 6, 2018
4da0120
drm/i915/gvt: introduce a new VFIO region for vfio device migration
yulei-zhang May 11, 2018
6b1f9be
drm/i915/gvt: change the return value of opregion access function
yulei-zhang May 11, 2018
bfe9964
drm/i915/gvt: Rebase the code to gvt-staging for live migration
yulei-zhang May 11, 2018
f9d68d8
drm/i915/gvt: Apply g2h adjustment to buffer start gma for dmabuf
yulei-zhang May 11, 2018
c56129e
drm/i915/gvt: Fix xengt opregion handling in migration
yulei-zhang May 11, 2018
0c1fe25
drm/i915/gvt: XenGT migration optimize
yulei-zhang May 11, 2018
7537d8f
drm/i915/gvt: Add vgpu execlist info into migration device status
yulei-zhang May 11, 2018
207170e
drm/i915/gvt: Emulate ring mode register restore for migration
yulei-zhang May 14, 2018
bdd9b40
drm/i915/gvt: Use copy_to_user to return opregion
TinaZhangZW Jan 19, 2018
422d5bc
drm/i915/gvt: Expose opregion in vgpu open
TinaZhangZW Jan 31, 2018
5e5e402
drm/i915/gvt/xengt: Don't shutdown vm at ioreq failure
xiongzha Apr 9, 2018
5df2880
drm/i915/gvt: Emulate hw status page address register restore for mig…
yanzhao56 Jul 17, 2018
f352631
drm/i915/gvt: migration: copy vregs on vreg load
yanzhao56 Jul 23, 2018
13ba799
drm/i915/gvt: Fix a command corruption caused by live migration patch
xiongzha Sep 14, 2018
00d59e7
drm/i915/gvt: update force-to-nonpriv register whitelist
yanzhao56 Sep 10, 2018
48ae3a6
drm/i915/gvt/xengt: Fix xengt instance destroy error
xiongzha Jan 16, 2018
2c82016
drm/i915/gvt: invalidate old ggtt page when update ggtt entry
Sep 19, 2018
8a5e461
drm/i915/gvt: support inconsecutive partial gtt entry write
Sep 19, 2018
1dd7b9a
set-XENMEM_get_mfn_from_pfn-hypercall-number.patch
Sep 19, 2015
a8540ac
gvt-enforce-primary-class-id.patch
Sep 19, 2015
b98c410
gvt-use-xs-vgpu-type.patch
Sep 19, 2015
0e2ee9a
xengt-pviommu-basic.patch
Sep 19, 2015
690a28e
xengt-pviommu-unmap.patch
Sep 19, 2015
642872a
get_domctl_interface_version.patch
Sep 19, 2015
2f6733f
xengt-fix-shutdown-failures.patch
Sep 19, 2015
4e13dd5
xengt-i915-gem-vgtbuffer.patch
Sep 19, 2015
cd0e0b3
xengt-gtt-2m-alignment.patch
Sep 19, 2015
0499536
THIS PATCH IS NOT INTENDED TO BE UPSTREAMED, IT HAS ONLY INFORMING PU…
Sep 19, 2015
7e5f846
The current implementation of idle_cpu only considers tasks that migh…
Sep 19, 2015
4422f68
default-xen-swiotlb-size-128MiB.patch
Sep 19, 2015
53de36a
On a 16 node virtual cluster with e1000 NICs joining the 12th node pr…
edwintorok Sep 19, 2015
ebde537
Add some randomisation to the GFS2 resource group allocator
Sep 19, 2015
b2dcc25
When under heavy I/O load from two or more hosts the resource group
MarkSymsCtx Sep 19, 2015
43a2206
Look for inconsistencies in sweep_bh_for_rgrps()
Sep 19, 2015
b5e12fe
Fixing a GFS2 deadlock requires changing struct iomap (page_done pointer
Sep 19, 2015
f04d5b8
Add auxiliary bus support
dmertman Dec 3, 2020
9d1516d
driver core: auxiliary bus: move slab.h from include file
gregkh Dec 4, 2020
8373e55
driver core: auxiliary bus: make remove function return void
gregkh Dec 4, 2020
19c0ba5
driver core: auxiliary bus: minor coding style tweaks
gregkh Dec 4, 2020
357cbea
driver core: auxiliary bus: Fix auxiliary bus shutdown null auxdrv ptr
davejiang Dec 4, 2020
644fe9f
driver core: auxiliary bus: Fix calling stage for auxiliary bus init
davejiang Feb 10, 2021
7f975ab
driver core: auxiliary bus: Remove unneeded module bits
davejiang Feb 11, 2021
3aa69a9
driver core: auxiliary bus: Fix memory leak when driver_register() fail
ujfalusi Jul 13, 2021
2e01b99
Documentation/auxiliary_bus: Clarify auxiliary_device creation
weiny2 Dec 2, 2021
6450987
Documentation/auxiliary_bus: Clarify __auxiliary_driver_register
weiny2 Dec 2, 2021
9378acd
Documentation/auxiliary_bus: Clarify the release of devices from find…
weiny2 Dec 2, 2021
834d6c9
Documentation/auxiliary_bus: Move the text into the code
weiny2 Dec 2, 2021
04f708e
CP-41018: Make CONFIG_AUXILIARY_BUS=y work
Aug 3, 2023
062f792
SDEV_EVT_LUN_CHANGE_REPORTED events should only be reported when we're
Sep 19, 2015
b8952d0
XSI-2150: Avoid deadlocks on NFS spinlocks
Mar 13, 2026
7cb265a
abi-version.patch
Sep 19, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions Documentation/driver-api/auxiliary_bus.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
.. SPDX-License-Identifier: GPL-2.0-only

=============
Auxiliary Bus
=============

.. kernel-doc:: drivers/base/auxiliary.c
:doc: PURPOSE

When Should the Auxiliary Bus Be Used
=====================================

.. kernel-doc:: drivers/base/auxiliary.c
:doc: USAGE


Auxiliary Device Creation
=========================

.. kernel-doc:: include/linux/auxiliary_bus.h
:identifiers: auxiliary_device

.. kernel-doc:: drivers/base/auxiliary.c
:identifiers: auxiliary_device_init __auxiliary_device_add
auxiliary_find_device

Auxiliary Device Memory Model and Lifespan
------------------------------------------

.. kernel-doc:: include/linux/auxiliary_bus.h
:doc: DEVICE_LIFESPAN


Auxiliary Drivers
=================

.. kernel-doc:: include/linux/auxiliary_bus.h
:identifiers: auxiliary_driver module_auxiliary_driver

.. kernel-doc:: drivers/base/auxiliary.c
:identifiers: __auxiliary_driver_register auxiliary_driver_unregister

Example Usage
=============

.. kernel-doc:: drivers/base/auxiliary.c
:doc: EXAMPLE

1 change: 1 addition & 0 deletions Documentation/driver-api/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ available subsections can be seen below.
slimbus
soundwire/index
fpga/index
auxiliary_bus

.. only:: subproject and html

Expand Down
5 changes: 3 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
PATCHLEVEL = 19
SUBLEVEL = 19
EXTRAVERSION =
SUBLEVEL = 0
EXTRAVERSION = +1
STABLE_SUBLEVEL = 19
NAME = "People's Front"

# *DOCUMENTATION*
Expand Down
3 changes: 2 additions & 1 deletion arch/arm64/kernel/vdso/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ $(obj-vdso): %.o: %.S FORCE

# Actual build commands
quiet_cmd_vdsold = VDSOL $@
cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $^ -o $@
cmd_vdsold = $(CC) $(c_flags) -Wl,-n -Wl,-T $^ -o $@ \
$(if $(AFTER_LINK),;$(AFTER_LINK))
quiet_cmd_vdsoas = VDSOA $@
cmd_vdsoas = $(CC) $(a_flags) -c -o $@ $<

Expand Down
2 changes: 1 addition & 1 deletion arch/ia64/include/asm/machvec.h
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ extern const struct dma_map_ops *dma_get_ops(struct device *);
# define platform_dma_get_ops dma_get_ops
#endif
#ifndef platform_dma_get_required_mask
# define platform_dma_get_required_mask ia64_dma_get_required_mask
# define platform_dma_get_required_mask dma_get_required_mask_from_max_pfn
#endif
#ifndef platform_irq_to_vector
# define platform_irq_to_vector __ia64_irq_to_vector
Expand Down
1 change: 0 additions & 1 deletion arch/ia64/include/asm/machvec_init.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

extern ia64_mv_send_ipi_t ia64_send_ipi;
extern ia64_mv_global_tlb_purge_t ia64_global_tlb_purge;
extern ia64_mv_dma_get_required_mask ia64_dma_get_required_mask;
extern ia64_mv_irq_to_vector __ia64_irq_to_vector;
extern ia64_mv_local_vector_to_irq __ia64_local_vector_to_irq;
extern ia64_mv_pci_get_legacy_mem_t ia64_pci_get_legacy_mem;
Expand Down
20 changes: 0 additions & 20 deletions arch/ia64/pci/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -568,26 +568,6 @@ static void __init set_pci_dfl_cacheline_size(void)
pci_dfl_cache_line_size = (1 << cci.pcci_line_size) / 4;
}

u64 ia64_dma_get_required_mask(struct device *dev)
{
u32 low_totalram = ((max_pfn - 1) << PAGE_SHIFT);
u32 high_totalram = ((max_pfn - 1) >> (32 - PAGE_SHIFT));
u64 mask;

if (!high_totalram) {
/* convert to mask just covering totalram */
low_totalram = (1 << (fls(low_totalram) - 1));
low_totalram += low_totalram - 1;
mask = low_totalram;
} else {
high_totalram = (1 << (fls(high_totalram) - 1));
high_totalram += high_totalram - 1;
mask = (((u64)high_totalram) << 32) + 0xffffffff;
}
return mask;
}
EXPORT_SYMBOL_GPL(ia64_dma_get_required_mask);

u64 dma_get_required_mask(struct device *dev)
{
return platform_dma_get_required_mask(dev);
Expand Down
3 changes: 2 additions & 1 deletion arch/powerpc/kernel/vdso32/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ $(obj-vdso32): %.o: %.S FORCE

# actual build commands
quiet_cmd_vdso32ld = VDSO32L $@
cmd_vdso32ld = $(VDSOCC) $(c_flags) $(CC32FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^)
cmd_vdso32ld = $(VDSOCC) $(c_flags) $(CC32FLAGS) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) \
$(if $(AFTER_LINK),; $(AFTER_LINK))
quiet_cmd_vdso32as = VDSO32A $@
cmd_vdso32as = $(VDSOCC) $(a_flags) $(CC32FLAGS) -c -o $@ $<

Expand Down
3 changes: 2 additions & 1 deletion arch/powerpc/kernel/vdso64/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE

# actual build commands
quiet_cmd_vdso64ld = VDSO64L $@
cmd_vdso64ld = $(CC) $(c_flags) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^)
cmd_vdso64ld = $(CC) $(c_flags) -o $@ -Wl,-T$(filter %.lds,$^) $(filter %.o,$^) \
$(if $(AFTER_LINK),; $(AFTER_LINK))

# install commands for the unstripped file
quiet_cmd_vdso_install = INSTALL $@
Expand Down
3 changes: 2 additions & 1 deletion arch/s390/kernel/vdso32/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ $(obj-vdso32): %.o: %.S FORCE

# actual build commands
quiet_cmd_vdso32ld = VDSO32L $@
cmd_vdso32ld = $(CC) $(c_flags) -Wl,-T $(filter %.lds %.o,$^) -o $@
cmd_vdso32ld = $(CC) $(c_flags) -Wl,-T $(filter %.lds %.o,$^) -o $@ \
$(if $(AFTER_LINK),; $(AFTER_LINK))
quiet_cmd_vdso32as = VDSO32A $@
cmd_vdso32as = $(CC) $(a_flags) -c -o $@ $<

Expand Down
3 changes: 2 additions & 1 deletion arch/s390/kernel/vdso64/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ $(obj-vdso64): %.o: %.S FORCE

# actual build commands
quiet_cmd_vdso64ld = VDSO64L $@
cmd_vdso64ld = $(CC) $(c_flags) -Wl,-T $(filter %.lds %.o,$^) -o $@
cmd_vdso64ld = $(CC) $(c_flags) -Wl,-T $(filter %.lds %.o,$^) -o $@ \
$(if $(AFTER_LINK),; $(AFTER_LINK))
quiet_cmd_vdso64as = VDSO64A $@
cmd_vdso64as = $(CC) $(a_flags) -c -o $@ $<

Expand Down
1 change: 0 additions & 1 deletion arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -619,7 +619,6 @@ config X86_AMD_PLATFORM_DEVICE
bool "AMD ACPI2Platform devices support"
depends on ACPI
select COMMON_CLK
select PINCTRL
---help---
Select to interpret AMD specific ACPI device to platform device
such as I2C, UART, GPIO found on AMD Carrizo and later chipsets.
Expand Down
5 changes: 3 additions & 2 deletions arch/x86/entry/vdso/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,9 @@ $(obj)/vdso32.so.dbg: FORCE \
quiet_cmd_vdso = VDSO $@
cmd_vdso = $(LD) -nostdlib -o $@ \
$(VDSO_LDFLAGS) $(VDSO_LDFLAGS_$(filter %.lds,$(^F))) \
-T $(filter %.lds,$^) $(filter %.o,$^) && \
sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
-T $(filter %.lds,$^) $(filter %.o,$^) \
$(if $(AFTER_LINK),; $(AFTER_LINK)) && \
sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'

VDSO_LDFLAGS = -shared $(call ld-option, --hash-style=both) \
$(call ld-option, --build-id) $(call ld-option, --eh-frame-hdr) \
Expand Down
2 changes: 2 additions & 0 deletions arch/x86/include/asm/device.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ void del_dma_domain(struct dma_domain *domain);
struct pdev_archdata {
};

#define ARCH_HAS_DMA_GET_REQUIRED_MASK

#endif /* _ASM_X86_DEVICE_H */
2 changes: 1 addition & 1 deletion arch/x86/include/asm/irq_vectors.h
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@

#define NR_IRQS_LEGACY 16

#define CPU_VECTOR_LIMIT (64 * NR_CPUS)
#define CPU_VECTOR_LIMIT (512 * NR_CPUS)
#define IO_APIC_VECTOR_LIMIT (32 * MAX_IO_APICS)

#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_PCI_MSI)
Expand Down
23 changes: 23 additions & 0 deletions arch/x86/include/asm/xen/hypercall.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,10 @@
#include <xen/interface/xen.h>
#include <xen/interface/sched.h>
#include <xen/interface/physdev.h>
#include <xen/interface/pv-iommu.h>
#include <xen/interface/platform.h>
#include <xen/interface/xen-mca.h>
#include <xen/interface/domctl.h>

struct xen_dm_op_buf;

Expand Down Expand Up @@ -324,6 +326,12 @@ HYPERVISOR_multicall(void *call_list, uint32_t nr_calls)
return _hypercall2(int, multicall, call_list, nr_calls);
}

static inline int
HYPERVISOR_iommu_op(void *uop, unsigned int count)
{
return _hypercall2(int, iommu_op, uop, count);
}

static inline int
HYPERVISOR_update_va_mapping(unsigned long va, pte_t new_val,
unsigned long flags)
Expand Down Expand Up @@ -415,6 +423,21 @@ HYPERVISOR_hvm_op(int op, void *arg)
return _hypercall2(unsigned long, hvm_op, op, arg);
}

static inline int __must_check
HYPERVISOR_kexec_op(
unsigned long op, void *args)
{
return _hypercall2(int, kexec_op, op, args);
}

static inline int
HYPERVISOR_domctl(
struct xen_domctl *arg)
{
return _hypercall1(int, domctl, arg);
}


static inline int
HYPERVISOR_tmem_op(
struct tmem_op *op)
Expand Down
4 changes: 4 additions & 0 deletions arch/x86/include/asm/xen/hypervisor.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,11 @@ extern bool xen_hvm_need_lapic(void);

static inline bool xen_x2apic_para_available(void)
{
#ifdef CONFIG_XEN_PVHVM
return xen_hvm_need_lapic();
#else
return false;
#endif
}
#else
static inline bool xen_x2apic_para_available(void)
Expand Down
1 change: 1 addition & 0 deletions arch/x86/include/asm/xen/interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ typedef long xen_long_t;
/* Guest handles for primitive C types. */
__DEFINE_GUEST_HANDLE(uchar, unsigned char);
__DEFINE_GUEST_HANDLE(uint, unsigned int);
__DEFINE_GUEST_HANDLE(ulong, unsigned long);
DEFINE_GUEST_HANDLE(char);
DEFINE_GUEST_HANDLE(int);
DEFINE_GUEST_HANDLE(void);
Expand Down
3 changes: 3 additions & 0 deletions arch/x86/kernel/acpi/boot.c
Original file line number Diff line number Diff line change
Expand Up @@ -988,6 +988,9 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table)
}

#ifdef CONFIG_X86_PM_TIMER
if (xen_initial_domain())
return 0;

/* detect the location of the ACPI PM Timer */
if (acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID) {
/* FADT rev. 2 */
Expand Down
7 changes: 4 additions & 3 deletions arch/x86/kernel/apic/apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -2341,9 +2341,10 @@ int generic_processor_info(int apicid, int version)
if (num_processors >= nr_cpu_ids) {
int thiscpu = max + disabled_cpus;

pr_warning("APIC: NR_CPUS/possible_cpus limit of %i "
"reached. Processor %d/0x%x ignored.\n",
max, thiscpu, apicid);
if (!xen_initial_domain())
pr_warning("APIC: NR_CPUS/possible_cpus limit of %i "
"reached. Processor %d/0x%x ignored.\n",
max, thiscpu, apicid);

disabled_cpus++;
return -EINVAL;
Expand Down
8 changes: 8 additions & 0 deletions arch/x86/kernel/pci-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,14 @@ bool arch_dma_alloc_attrs(struct device **dev)
}
EXPORT_SYMBOL(arch_dma_alloc_attrs);

u64 dma_get_required_mask(struct device *dev)
{
if (dma_ops->get_required_mask)
return dma_ops->get_required_mask(dev);
return dma_get_required_mask_from_max_pfn(dev);
}
EXPORT_SYMBOL_GPL(dma_get_required_mask);

/*
* See <Documentation/x86/x86_64/boot-options.txt> for the iommu kernel
* parameter documentation.
Expand Down
5 changes: 3 additions & 2 deletions arch/x86/kernel/smpboot.c
Original file line number Diff line number Diff line change
Expand Up @@ -1429,8 +1429,9 @@ __init void prefill_possible_map(void)

/* nr_cpu_ids could be reduced via nr_cpus= */
if (possible > nr_cpu_ids) {
pr_warn("%d Processors exceeds NR_CPUS limit of %u\n",
possible, nr_cpu_ids);
if (!xen_initial_domain())
pr_warn("%d Processors exceeds NR_CPUS limit of %u\n",
possible, nr_cpu_ids);
possible = nr_cpu_ids;
}

Expand Down
Loading