This is simple to do, the "host" BNDCFGS is either 0 or the guest value.
However, both controls have to be present. We cannot provide MPX if
we only have one of the "load BNDCFGS" or "clear BNDCFGS" controls.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
XSAVE support for KVM is already using host_xcr0 & KVM_SUPPORTED_XCR0 as
a "dynamic" version of KVM_SUPPORTED_XCR0.
However, this is not enough because the MPX bits should not be presented
to the guest unless kvm_x86_ops confirms the support. So, replace all
instances of host_xcr0 & KVM_SUPPORTED_XCR0 with a new function
kvm_supported_xcr0() that also has this check.
Note that here:
if (xstate_bv & ~KVM_SUPPORTED_XCR0)
return -EINVAL;
if (xstate_bv & ~host_cr0)
return -EINVAL;
the code is equivalent to
if ((xstate_bv & ~KVM_SUPPORTED_XCR0) ||
(xstate_bv & ~host_cr0)
return -EINVAL;
i.e. "xstate_bv & (~KVM_SUPPORTED_XCR0 | ~host_cr0)" which is in turn
equal to "xstate_bv & ~(KVM_SUPPORTED_XCR0 & host_cr0)". So we should
also use the new function there.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Merge "mvebu dt changes for v3.15 (incremental #5)" from Jason Cooper:
- mvebu
- 38x
- add 2GHz fixed clock, core divider clock, and nand controller
- 385
- add nand controller and partitions to 385-DB board
* tag 'mvebu-dt-3.15-5' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: Enable NAND controller in Armada 385-DB
ARM: mvebu: Add support for NAND controller in Armada 38x SoC
ARM: mvebu: Add the Core Divider clock to Armada 38x SoCs
ARM: mvebu: Add a 2 GHz fixed-clock on Armada 38x SoCs
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge "mvebu dt changes for v3.15 (incremental #4)" from Jason Cooper:
- dove
- add system controller node
- drop pinctrl PMU reg property _before_ it hits mainline and becomes ABI
- mvebu
- XP/370
- change default PCIe apertures
- switch GP and DB boards internal registers to 0xf1000000
- correct RAM size on Matrix board
- 385
- correct phy connection type for DB board
- add RD board
* tag 'mvebu-dt-3.15-4' of git://git.infradead.org/linux-mvebu:
ARM: dove: drop pinctrl PMU reg property
ARM: mvebu: add Device Tree for the Armada 385 RD board
ARM: mvebu: use the correct phy connection mode on Armada 385 DB
ARM: mvebu: the Armada XP Matrix board has 4 GB
ARM: mvebu: switch the Armada XP GP to use internal registers at 0xf1000000
ARM: mvebu: switch the Armada XP DB to use internal registers at 0xf1000000
ARM: mvebu: change the default PCIe apertures for Armada 370/XP
ARM: dove: add system controller node
Conflicts:
arch/arm/boot/dts/Makefile
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add emulation for 0x66 prefixed instruction of 0f 28 opcode
that has been added earlier.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
The dts Makefile has a bunch of nasty conflicts, attempt to resolve
these now to avoid trouble later.
Conflicts:
arch/arm/boot/dts/Makefile
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge "mvebu defconfig changes for v3.15 (incremental pull #2)" from Jason Cooper
- add multi_v5_defconfig
- add mvebu_v5_defconfig
- kirkwood: add HP T5325 devices
* tag 'mvebu-defconfig-3.15-2' of git://git.infradead.org/linux-mvebu:
ARM: kirkwood: Add HP T5325 devices to {multi|mvebu}_v5_defconfig
ARM: config: Add mvebu_v5_defconfig
ARM: config: Add a multi_v5_defconfig
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Since we cannot make sure the 'max_conn_count' will always be none
zero from the users, and then if max_conn_count equals to zero, the
kcalloc() will return ZERO_SIZE_PTR, which equals to ((void *)16).
So this patch fix this with just doing the 'max_conn_count' zero check
in the front of drm_fb_helper_init().
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
CC: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Use drm_fb_helper_restore_fbdev_mode() in drm_fb_helper_set_par() to
make sure extra planes get disabled whenever fbcon takes over.
Otherwise the code in drm_fb_helper_set_par() was already doing the
exact same thing as drm_fb_helper_restore_fbdev_mode(), so this doesn't
change the behaviour in any other way.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Merge "mvebu drivers for v3.15" from Jason Cooper:
pull request #1:
- mvebu mbus
- use of_find_matching_node_and_match
- rtc
- use PTR_ERR_OR_ZERO in isl12057
- work around issue in mv where date returned is 2038
- kirkwood -> mach-mvebu
- various Kconfig oneliners to allow building kirkwood in -mvebu/
pull request #2:
- reset
- re-use qnap-poweroff driver for Synology NASs
* tag 'mvebu-drivers-3.15-2' of git://git.infradead.org/linux-mvebu:
Power: Reset: Generalize qnap-poweroff to work on Synology devices.
drivers: Enable building of Kirkwood drivers for mach-mvebu
rtc: mv: reset date if after year 2038
rtc: isl12057: use PTR_ERR_OR_ZERO to fix coccinelle warnings
bus: mvebu-mbus: make use of of_find_matching_node_and_match
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
With current match design every invocation of the connlimit_match
function means we have to perform (number_of_conntracks % 256) lookups
in the conntrack table [ to perform GC/delete stale entries ].
This is also the reason why ____nf_conntrack_find() in perf top has
> 20% cpu time per core.
This patch changes the storage to rbtree which cuts down the number of
ct objects that need testing.
When looking up a new tuple, we only test the connections of the host
objects we visit while searching for the wanted host/network (or
the leaf we need to insert at).
The slot count is reduced to 32. Increasing slot count doesn't
speed up things much because of rbtree nature.
before patch (50kpps rx, 10kpps tx):
+ 20.95% ksoftirqd/0 [nf_conntrack] [k] ____nf_conntrack_find
+ 20.50% ksoftirqd/1 [nf_conntrack] [k] ____nf_conntrack_find
+ 20.27% ksoftirqd/2 [nf_conntrack] [k] ____nf_conntrack_find
+ 5.76% ksoftirqd/1 [nf_conntrack] [k] hash_conntrack_raw
+ 5.39% ksoftirqd/2 [nf_conntrack] [k] hash_conntrack_raw
+ 5.35% ksoftirqd/0 [nf_conntrack] [k] hash_conntrack_raw
after (90kpps, 51kpps tx):
+ 17.24% swapper [nf_conntrack] [k] ____nf_conntrack_find
+ 6.60% ksoftirqd/2 [nf_conntrack] [k] ____nf_conntrack_find
+ 2.73% swapper [nf_conntrack] [k] hash_conntrack_raw
+ 2.36% swapper [xt_connlimit] [k] count_tree
Obvious disadvantages to previous version are the increase in code
complexity and the increased memory cost.
Partially based on Eric Dumazets fq scheduler.
Reviewed-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
currently returns 1 if they're the same. Make it work like mem/strcmp
so it can be used as rbtree search function.
Reviewed-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Since commit 7c470539c9
(s390/kvm: avoid automatic sie reentry) we will run through the C code
of KVM on host interrupts instead of just reentering the guest. This
will result in additional ucontrol exits (at least HZ per second). Let
handle a 0 intercept in the kernel and dont return to userspace,
even if in ucontrol mode.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
CC: stable@vger.kernel.org
The BUG_ON in kvm-s390.c is unreachable, as we get the vcpu per common code,
which itself does this from the private_data field of the file descriptor,
and there is no KVM_UNCREATE_VCPU.
The __{set,unset}_cpu_idle BUG_ONs are not triggerable because the vcpu
creation code already checks against KVM_MAX_VCPUS.
Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Merge "mvebu dt changes for v3.15 (incremental pull #3)" from Jason Cooper:
- mvebu
- merge armada 375, 380, 385 boards (mvebu/dt-3xx)
- kirkwood
- Add many Synology NAS boards
- add board HP T5325
- add L2 cache node
- add system-controller node
- add audio node
- dove
- add pinctrl and global-config register
Depends:
- tags/mvebu-dt-fixes-3.14 (mvebu/dt-fixes)
- removed dove PMU interrupt controller
Conflicts:
- mvebu/soc (arch/arm/boot/dts/Makefile)
- add/add conflict.
- move CONFIG_ARCH_LPC32XX to alphabetical order (after KIRKWOOD)
* tag 'mvebu-dt-3.15-3' of git://git.infradead.org/linux-mvebu:
ARM: kirkwood: Add dts file describing HP T5325 thin client
ARM: kirkwood: Add i2c alias so setting bus number
ARM: kirkwood: Add audio node to kirkwood.dtsi
ARM: mvebu: select dtbs from MACH_ARMADA_*
ARM: dove: add global-config register node
ARM: dove: add additional pinctrl registers
ARM: mvebu: Instantiate system controller in kirkwood.dtsi
ARM: kirkwood: Instantiate L2 cache from DT.
ARM: mvebu: use macros for interrupt flags on Armada 375/38x
ARM: mvebu: use GIC_{SPI,PPI} in Armada 375/38x DTs
ARM: mvebu: use C preprocessor include for Armada 375/38x DTs
ARM: Kirkwood: Add support for many Synology NAS devices
DT: i2c: Trivial: Add sii,s35390a
DT: Vendor prefixes: Add ricoh, qnap, sii and synology
ARM: dove: dt: revert PMU interrupt controller node
ARM: mvebu: add Device Tree for the Armada 385 DB board
ARM: mvebu: add Device Tree description of the Armada 380/385 SoCs
ARM: mvebu: add Device Tree for the Armada 375 DB board
ARM: mvebu: add Device Tree description of the Armada 375 SoC
ARM: mvebu: dt: add missing alias 'eth3' on Armada XP mv78260
Conflicts:
Documentation/devicetree/bindings/vendor-prefixes.txt
arch/arm/boot/dts/Makefile
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge "mvebu soc changes for v3.15 (incremental #3)" from Jason Cooper:
- dove
- move devicetree code from mach-dove/ to mach-mvebu/ :-)
* tag 'mvebu-soc-3.15-3' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: move DT Dove to MVEBU
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge "mvebu soc changes for v3.15 (incremental pull #2)" from Jason Cooper:
- mvebu
- Add Armada 375, 380 and 385 SoCs
- kirkwood
- move kirkwood DT support to mach-mvebu
- add mostly DT support for HP T5325 thin client
* tag 'mvebu-soc-3.15-2' of git://git.infradead.org/linux-mvebu:
ARM: kirkwood: Add HP T5325 thin client
ARM: kirkwood: select dtbs based on SoC
ARM: kirkwood: Remove redundant kexec code
ARM: mvebu: Armada 375/38x depend on MULTI_V7
ARM: mvebu: Simplify headers and make local
ARM: mvebu: Enable mvebu-soc-id on Kirkwood
ARM: mvebu: Let kirkwood use the system controller for restart
ARM: mvebu: Move kirkwood DT boards into mach-mvebu
ARM: MM Enable building Feroceon L2 cache controller with ARCH_MVEBU
ARM: Fix default CPU selection for ARCH_MULTI_V5
ARM: MM: Add DT binding for Feroceon L2 cache
ARM: orion: Move cache-feroceon-l2.h out of plat-orion
ARM: mvebu: Add ARCH_MULTI_V7 to SoCs
ARM: kirkwood: ioremap memory control register
ARM: kirkwood: ioremap the cpu_config register before using it.
ARM: kirkwood: Separate board-dt from common and pcie code.
ARM: kirkwood: Drop printing the SoC type and revision
ARM: kirkwood: Convert mv88f6281gtw_ge switch setup to DT
ARM: kirkwood: Give pm.c its own header file.
ARM: mvebu: Rename the ARCH_MVEBU menu option
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge "SOCFPGA updates for 3.15 version 2" from Dinh Nguyen:
*Update SOCFPGA DTS to include ethernet, sd/mmc, and clock fixes
*Add stmmac ethernet glue layer
*Update socfpga_defconfig to include sd/mmc, and micrel_phy
* tag 'socfpga_updates_for_3.15_v2' of git://git.rocketboards.org/linux-socfpga-next:
dts: socfpga: Add sysmgr node so the gmac can use to reference
dts: socfpga: Add support for SD/MMC on the SOCFPGA platform
dts: socfpga: Update clock entry to support multiple parents
ARM: socfpga: Update socfpga_defconfig
dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac.
net: stmmac: Add SOCFPGA glue driver
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Merge "Two more dt related efm32 fixes" from Uwe Kleine-König:
* tag 'efm32-next' of git://git.pengutronix.de/git/ukl/linux:
ARM: efm32: properly namespace i2c location property
ARM: efm32: fix unit address part in USART2 device nodes' names
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
If CONFIG_REGULATOR is not set, devm_regulator_get() returns NULL,
so use IS_ERR_OR_NULL() macro for checks.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
My objective is to be able to totally discriminate CAN ports on multi-port
cards via udev so as to rename them to semantically interesting/unique names
for my system (e.g., "ecuCAN" and "auxCAN" instead of "can0" and "can1").
The following patch assigns the dev_id field to match the channel number on all
multi-channel devices. I can only test my two-port Peak PCI card, but it works
as expected: ATTRS{dev_id} now expresses the port number and my udev rules now
unambiguously pick out and rename my individual CAN ports.
Signed-off-by: Christopher R. Baker <cbaker@rec.ri.cmu.edu>
Tested-by: Oliver Hartkopp <socketcan@hartkopp.net> [PEAK PCAN-USB pro and EMS PCMCIA]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
CAN interfaces only support MTU values of 16 (CAN 2.0) and 72 (CAN FD).
Setting the MTU to other values is pointless but it does not really hurt.
With the introduction of the CAN FD support in drivers/net/can a new
function to switch the MTU for CAN FD has been introduced.
This patch makes use of this can_change_mtu() function to check for correct
MTU settings also in legacy CAN (2.0) devices.
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Merge "Fourth Round of Renesas ARM Based SoC Clock Updates for v3.15" from
Simon Horman:
r8a7791 (R-Car M2) SoC
* Correct SCIFA3-5 clocks
* tag 'renesas-clock4-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: r8a7791: Fix SCIFA3-5 clocks
Signed-off-by: Olof Johansson <olof@lixom.net>
Merge "Third Round of Renesas ARM Based SoC Updates for v3.15" from Simon
Horman:
Fix warnings due to improper printk formats in shared APMU code.
* tag 'renesas-soc3-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: APMU: Fix warnings due to improper printk formats
Signed-off-by: Olof Johansson <olof@lixom.net>
Merge "Third Round of Renesas ARM Based SoC Clock Updates for v3.15" from Simon
Horman:
r7s72100 (RZ/A1H) SoC
* Correct bus clock calculation
* tag 'renesas-clock3-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: r7s72100: fix bus clock calculation
Signed-off-by: Olof Johansson <olof@lixom.net>
Merge "Second Round of Renesas ARM Based SoC Clock Updates for v3.15" from
Simon Horman:
r8a7790 (R-Car H2) SoC
- Add sound SCU clock support
r8a7791 (R-Car M2) SoC
- Remove legacy clock aliases for DT devices
* tag 'renesas-clock2-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: r8a7790: add sound SCU clock support
ARM: shmobile: r8a7791: Remove legacy clock aliases for DT devices
Signed-off-by: Olof Johansson <olof@lixom.net>
Merge "Third Round of Renesas ARM Based SoC Defconfig Updates for v3.15" from
Simon Horman:
* r7s72100 (RZ/A1H) based Genmai board
- update defconfig for I2C usage
* r8a7791 (R-Car M2) based Koelsch board
- Enable SDHI, GPIO and regulators in defconfig
* r8a7790 (R-Car H2) based Lager board
- Enable RSPI and MTD_M25P80
* emev2 (Emma Mobile) based KZM9D board
- Remove legacy KZM9D defconfig
* Multiplatform
- Add defconfig for shmobile multiplatform
* tag 'renesas-defconfig3-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: r7s72100: update defconfig for I2C usage
ARM: shmobile: koelsch: Enable SDHI, GPIO and regulators in defconfig
ARM: shmobile: Get rid of legacy KZM9D defconfig
ARM: shmobile: Add defconfig for shmobile multiplatform
ARM: shmobile: lager defconfig: Enable RSPI and MTD_M25P80
Signed-off-by: Olof Johansson <olof@lixom.net>
Merge "Renesas intc Updates for v3.15" from Simon Horman:
* Enable driver compilation with COMPILE_TEST
* tag 'renesas-intc-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
sh: intc: Enable driver compilation with COMPILE_TEST
Signed-off-by: Olof Johansson <olof@lixom.net>
This patch fixes these error messages found by checkpatch.pl:
ERROR: "foo* bar" should be "foo *bar"
Signed-off-by: Aybuke Ozdemir <aybuke.147@gmail.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Fix checkpatch.pl issues with space prohibited between function name and
open parenthesis in libsbew.h
Signed-off-by: Gulsah Kose <gulsah.1004@gmail.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>