Merge tag 'v4.6-rc6' into x86/cpu, to refresh the tree
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
5
.mailmap
5
.mailmap
@@ -33,6 +33,7 @@ Björn Steinbrink <B.Steinbrink@gmx.de>
|
|||||||
Brian Avery <b.avery@hp.com>
|
Brian Avery <b.avery@hp.com>
|
||||||
Brian King <brking@us.ibm.com>
|
Brian King <brking@us.ibm.com>
|
||||||
Christoph Hellwig <hch@lst.de>
|
Christoph Hellwig <hch@lst.de>
|
||||||
|
Christophe Ricard <christophe.ricard@gmail.com>
|
||||||
Corey Minyard <minyard@acm.org>
|
Corey Minyard <minyard@acm.org>
|
||||||
Damian Hobson-Garcia <dhobsong@igel.co.jp>
|
Damian Hobson-Garcia <dhobsong@igel.co.jp>
|
||||||
David Brownell <david-b@pacbell.net>
|
David Brownell <david-b@pacbell.net>
|
||||||
@@ -47,6 +48,9 @@ Felix Kuhling <fxkuehl@gmx.de>
|
|||||||
Felix Moeller <felix@derklecks.de>
|
Felix Moeller <felix@derklecks.de>
|
||||||
Filipe Lautert <filipe@icewall.org>
|
Filipe Lautert <filipe@icewall.org>
|
||||||
Franck Bui-Huu <vagabon.xyz@gmail.com>
|
Franck Bui-Huu <vagabon.xyz@gmail.com>
|
||||||
|
Frank Rowand <frowand.list@gmail.com> <frowand@mvista.com>
|
||||||
|
Frank Rowand <frowand.list@gmail.com> <frank.rowand@am.sony.com>
|
||||||
|
Frank Rowand <frowand.list@gmail.com> <frank.rowand@sonymobile.com>
|
||||||
Frank Zago <fzago@systemfabricworks.com>
|
Frank Zago <fzago@systemfabricworks.com>
|
||||||
Greg Kroah-Hartman <greg@echidna.(none)>
|
Greg Kroah-Hartman <greg@echidna.(none)>
|
||||||
Greg Kroah-Hartman <gregkh@suse.de>
|
Greg Kroah-Hartman <gregkh@suse.de>
|
||||||
@@ -78,6 +82,7 @@ Kay Sievers <kay.sievers@vrfy.org>
|
|||||||
Kenneth W Chen <kenneth.w.chen@intel.com>
|
Kenneth W Chen <kenneth.w.chen@intel.com>
|
||||||
Konstantin Khlebnikov <koct9i@gmail.com> <k.khlebnikov@samsung.com>
|
Konstantin Khlebnikov <koct9i@gmail.com> <k.khlebnikov@samsung.com>
|
||||||
Koushik <raghavendra.koushik@neterion.com>
|
Koushik <raghavendra.koushik@neterion.com>
|
||||||
|
Krzysztof Kozlowski <krzk@kernel.org> <k.kozlowski.k@gmail.com>
|
||||||
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
|
||||||
Leonid I Ananiev <leonid.i.ananiev@intel.com>
|
Leonid I Ananiev <leonid.i.ananiev@intel.com>
|
||||||
Linas Vepstas <linas@austin.ibm.com>
|
Linas Vepstas <linas@austin.ibm.com>
|
||||||
|
@@ -1,23 +1,18 @@
|
|||||||
What: /sys/devices/platform/<i2c-demux-name>/cur_master
|
What: /sys/devices/platform/<i2c-demux-name>/available_masters
|
||||||
Date: January 2016
|
Date: January 2016
|
||||||
KernelVersion: 4.6
|
KernelVersion: 4.6
|
||||||
Contact: Wolfram Sang <wsa@the-dreams.de>
|
Contact: Wolfram Sang <wsa@the-dreams.de>
|
||||||
Description:
|
Description:
|
||||||
|
Reading the file will give you a list of masters which can be
|
||||||
|
selected for a demultiplexed bus. The format is
|
||||||
|
"<index>:<name>". Example from a Renesas Lager board:
|
||||||
|
|
||||||
This file selects the active I2C master for a demultiplexed bus.
|
0:/i2c@e6500000 1:/i2c@e6508000
|
||||||
|
|
||||||
Write 0 there for the first master, 1 for the second etc. Reading the file will
|
What: /sys/devices/platform/<i2c-demux-name>/current_master
|
||||||
give you a list with the active master marked. Example from a Renesas Lager
|
Date: January 2016
|
||||||
board:
|
KernelVersion: 4.6
|
||||||
|
Contact: Wolfram Sang <wsa@the-dreams.de>
|
||||||
root@Lager:~# cat /sys/devices/platform/i2c@8/cur_master
|
Description:
|
||||||
* 0 - /i2c@9
|
This file selects/shows the active I2C master for a demultiplexed
|
||||||
1 - /i2c@e6520000
|
bus. It uses the <index> value from the file 'available_masters'.
|
||||||
2 - /i2c@e6530000
|
|
||||||
|
|
||||||
root@Lager:~# echo 2 > /sys/devices/platform/i2c@8/cur_master
|
|
||||||
|
|
||||||
root@Lager:~# cat /sys/devices/platform/i2c@8/cur_master
|
|
||||||
0 - /i2c@9
|
|
||||||
1 - /i2c@e6520000
|
|
||||||
* 2 - /i2c@e6530000
|
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
The ARC HS can be configured with a pipeline performance monitor for counting
|
The ARC HS can be configured with a pipeline performance monitor for counting
|
||||||
CPU and cache events like cache misses and hits. Like conventional PCT there
|
CPU and cache events like cache misses and hits. Like conventional PCT there
|
||||||
are 100+ hardware conditions dynamically mapped to upto 32 counters.
|
are 100+ hardware conditions dynamically mapped to up to 32 counters.
|
||||||
It also supports overflow interrupts.
|
It also supports overflow interrupts.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
The ARC700 can be configured with a pipeline performance monitor for counting
|
The ARC700 can be configured with a pipeline performance monitor for counting
|
||||||
CPU and cache events like cache misses and hits. Like conventional PCT there
|
CPU and cache events like cache misses and hits. Like conventional PCT there
|
||||||
are 100+ hardware conditions dynamically mapped to upto 32 counters
|
are 100+ hardware conditions dynamically mapped to up to 32 counters
|
||||||
|
|
||||||
Note that:
|
Note that:
|
||||||
* The ARC 700 PCT does not support interrupts; although HW events may be
|
* The ARC 700 PCT does not support interrupts; although HW events may be
|
||||||
|
@@ -192,7 +192,6 @@ nodes to be present and contain the properties described below.
|
|||||||
can be one of:
|
can be one of:
|
||||||
"allwinner,sun6i-a31"
|
"allwinner,sun6i-a31"
|
||||||
"allwinner,sun8i-a23"
|
"allwinner,sun8i-a23"
|
||||||
"arm,psci"
|
|
||||||
"arm,realview-smp"
|
"arm,realview-smp"
|
||||||
"brcm,bcm-nsp-smp"
|
"brcm,bcm-nsp-smp"
|
||||||
"brcm,brahma-b15"
|
"brcm,brahma-b15"
|
||||||
|
@@ -3,7 +3,7 @@ Binding for Qualcomm Atheros AR7xxx/AR9XXX PLL controller
|
|||||||
The PPL controller provides the 3 main clocks of the SoC: CPU, DDR and AHB.
|
The PPL controller provides the 3 main clocks of the SoC: CPU, DDR and AHB.
|
||||||
|
|
||||||
Required Properties:
|
Required Properties:
|
||||||
- compatible: has to be "qca,<soctype>-cpu-intc" and one of the following
|
- compatible: has to be "qca,<soctype>-pll" and one of the following
|
||||||
fallbacks:
|
fallbacks:
|
||||||
- "qca,ar7100-pll"
|
- "qca,ar7100-pll"
|
||||||
- "qca,ar7240-pll"
|
- "qca,ar7240-pll"
|
||||||
@@ -21,8 +21,8 @@ Optional properties:
|
|||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
memory-controller@18050000 {
|
pll-controller@18050000 {
|
||||||
compatible = "qca,ar9132-ppl", "qca,ar9130-pll";
|
compatible = "qca,ar9132-pll", "qca,ar9130-pll";
|
||||||
reg = <0x18050000 0x20>;
|
reg = <0x18050000 0x20>;
|
||||||
|
|
||||||
clock-names = "ref";
|
clock-names = "ref";
|
||||||
|
@@ -6,8 +6,8 @@ RK3xxx SoCs.
|
|||||||
Required properties :
|
Required properties :
|
||||||
|
|
||||||
- reg : Offset and length of the register set for the device
|
- reg : Offset and length of the register set for the device
|
||||||
- compatible : should be "rockchip,rk3066-i2c", "rockchip,rk3188-i2c" or
|
- compatible : should be "rockchip,rk3066-i2c", "rockchip,rk3188-i2c",
|
||||||
"rockchip,rk3288-i2c".
|
"rockchip,rk3228-i2c" or "rockchip,rk3288-i2c".
|
||||||
- interrupts : interrupt number
|
- interrupts : interrupt number
|
||||||
- clocks : parent clock
|
- clocks : parent clock
|
||||||
|
|
||||||
|
@@ -9,7 +9,8 @@ have dual GMAC each represented by a child node..
|
|||||||
Required properties:
|
Required properties:
|
||||||
- compatible: Should be "mediatek,mt7623-eth"
|
- compatible: Should be "mediatek,mt7623-eth"
|
||||||
- reg: Address and length of the register set for the device
|
- reg: Address and length of the register set for the device
|
||||||
- interrupts: Should contain the frame engines interrupt
|
- interrupts: Should contain the three frame engines interrupts in numeric
|
||||||
|
order. These are fe_int0, fe_int1 and fe_int2.
|
||||||
- clocks: the clock used by the core
|
- clocks: the clock used by the core
|
||||||
- clock-names: the names of the clock listed in the clocks property. These are
|
- clock-names: the names of the clock listed in the clocks property. These are
|
||||||
"ethif", "esw", "gp2", "gp1"
|
"ethif", "esw", "gp2", "gp1"
|
||||||
@@ -42,7 +43,9 @@ eth: ethernet@1b100000 {
|
|||||||
<ðsys CLK_ETHSYS_GP2>,
|
<ðsys CLK_ETHSYS_GP2>,
|
||||||
<ðsys CLK_ETHSYS_GP1>;
|
<ðsys CLK_ETHSYS_GP1>;
|
||||||
clock-names = "ethif", "esw", "gp2", "gp1";
|
clock-names = "ethif", "esw", "gp2", "gp1";
|
||||||
interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW>;
|
interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW
|
||||||
|
GIC_SPI 199 IRQ_TYPE_LEVEL_LOW
|
||||||
|
GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>;
|
||||||
power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
|
power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
|
||||||
resets = <ðsys MT2701_ETHSYS_ETH_RST>;
|
resets = <ðsys MT2701_ETHSYS_ETH_RST>;
|
||||||
reset-names = "eth";
|
reset-names = "eth";
|
||||||
|
@@ -8,15 +8,19 @@ Required properties:
|
|||||||
of memory mapped region.
|
of memory mapped region.
|
||||||
- clock-names: from common clock binding:
|
- clock-names: from common clock binding:
|
||||||
Required elements: "24m"
|
Required elements: "24m"
|
||||||
- rockchip,grf: phandle to the syscon managing the "general register files"
|
|
||||||
- #phy-cells : from the generic PHY bindings, must be 0;
|
- #phy-cells : from the generic PHY bindings, must be 0;
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
edp_phy: edp-phy {
|
grf: syscon@ff770000 {
|
||||||
compatible = "rockchip,rk3288-dp-phy";
|
compatible = "rockchip,rk3288-grf", "syscon", "simple-mfd";
|
||||||
rockchip,grf = <&grf>;
|
|
||||||
clocks = <&cru SCLK_EDP_24M>;
|
...
|
||||||
clock-names = "24m";
|
|
||||||
#phy-cells = <0>;
|
edp_phy: edp-phy {
|
||||||
|
compatible = "rockchip,rk3288-dp-phy";
|
||||||
|
clocks = <&cru SCLK_EDP_24M>;
|
||||||
|
clock-names = "24m";
|
||||||
|
#phy-cells = <0>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@@ -3,17 +3,23 @@ Rockchip EMMC PHY
|
|||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible: rockchip,rk3399-emmc-phy
|
- compatible: rockchip,rk3399-emmc-phy
|
||||||
- rockchip,grf : phandle to the syscon managing the "general
|
|
||||||
register files"
|
|
||||||
- #phy-cells: must be 0
|
- #phy-cells: must be 0
|
||||||
- reg: PHY configure reg address offset in "general
|
- reg: PHY register address offset and length in "general
|
||||||
register files"
|
register files"
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
emmcphy: phy {
|
|
||||||
compatible = "rockchip,rk3399-emmc-phy";
|
grf: syscon@ff770000 {
|
||||||
rockchip,grf = <&grf>;
|
compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
|
||||||
reg = <0xf780>;
|
#address-cells = <1>;
|
||||||
#phy-cells = <0>;
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
emmcphy: phy@f780 {
|
||||||
|
compatible = "rockchip,rk3399-emmc-phy";
|
||||||
|
reg = <0xf780 0x20>;
|
||||||
|
#phy-cells = <0>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@@ -134,12 +134,12 @@ mfio80 ddr_debug, mips_trace_data, mips_debug
|
|||||||
mfio81 dreq0, mips_trace_data, eth_debug
|
mfio81 dreq0, mips_trace_data, eth_debug
|
||||||
mfio82 dreq1, mips_trace_data, eth_debug
|
mfio82 dreq1, mips_trace_data, eth_debug
|
||||||
mfio83 mips_pll_lock, mips_trace_data, usb_debug
|
mfio83 mips_pll_lock, mips_trace_data, usb_debug
|
||||||
mfio84 sys_pll_lock, mips_trace_data, usb_debug
|
mfio84 audio_pll_lock, mips_trace_data, usb_debug
|
||||||
mfio85 wifi_pll_lock, mips_trace_data, sdhost_debug
|
mfio85 rpu_v_pll_lock, mips_trace_data, sdhost_debug
|
||||||
mfio86 bt_pll_lock, mips_trace_data, sdhost_debug
|
mfio86 rpu_l_pll_lock, mips_trace_data, sdhost_debug
|
||||||
mfio87 rpu_v_pll_lock, dreq2, socif_debug
|
mfio87 sys_pll_lock, dreq2, socif_debug
|
||||||
mfio88 rpu_l_pll_lock, dreq3, socif_debug
|
mfio88 wifi_pll_lock, dreq3, socif_debug
|
||||||
mfio89 audio_pll_lock, dreq4, dreq5
|
mfio89 bt_pll_lock, dreq4, dreq5
|
||||||
tck
|
tck
|
||||||
trstn
|
trstn
|
||||||
tdi
|
tdi
|
||||||
|
@@ -1,13 +1,16 @@
|
|||||||
== Amlogic Meson pinmux controller ==
|
== Amlogic Meson pinmux controller ==
|
||||||
|
|
||||||
Required properties for the root node:
|
Required properties for the root node:
|
||||||
- compatible: "amlogic,meson8-pinctrl" or "amlogic,meson8b-pinctrl"
|
- compatible: one of "amlogic,meson8-cbus-pinctrl"
|
||||||
|
"amlogic,meson8b-cbus-pinctrl"
|
||||||
|
"amlogic,meson8-aobus-pinctrl"
|
||||||
|
"amlogic,meson8b-aobus-pinctrl"
|
||||||
- reg: address and size of registers controlling irq functionality
|
- reg: address and size of registers controlling irq functionality
|
||||||
|
|
||||||
=== GPIO sub-nodes ===
|
=== GPIO sub-nodes ===
|
||||||
|
|
||||||
The 2 power domains of the controller (regular and always-on) are
|
The GPIO bank for the controller is represented as a sub-node and it acts as a
|
||||||
represented as sub-nodes and each of them acts as a GPIO controller.
|
GPIO controller.
|
||||||
|
|
||||||
Required properties for sub-nodes are:
|
Required properties for sub-nodes are:
|
||||||
- reg: should contain address and size for mux, pull-enable, pull and
|
- reg: should contain address and size for mux, pull-enable, pull and
|
||||||
@@ -18,10 +21,6 @@ Required properties for sub-nodes are:
|
|||||||
- gpio-controller: identifies the node as a gpio controller
|
- gpio-controller: identifies the node as a gpio controller
|
||||||
- #gpio-cells: must be 2
|
- #gpio-cells: must be 2
|
||||||
|
|
||||||
Valid sub-node names are:
|
|
||||||
- "banks" for the regular domain
|
|
||||||
- "ao-bank" for the always-on domain
|
|
||||||
|
|
||||||
=== Other sub-nodes ===
|
=== Other sub-nodes ===
|
||||||
|
|
||||||
Child nodes without the "gpio-controller" represent some desired
|
Child nodes without the "gpio-controller" represent some desired
|
||||||
@@ -45,7 +44,7 @@ pinctrl-bindings.txt
|
|||||||
=== Example ===
|
=== Example ===
|
||||||
|
|
||||||
pinctrl: pinctrl@c1109880 {
|
pinctrl: pinctrl@c1109880 {
|
||||||
compatible = "amlogic,meson8-pinctrl";
|
compatible = "amlogic,meson8-cbus-pinctrl";
|
||||||
reg = <0xc1109880 0x10>;
|
reg = <0xc1109880 0x10>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
@@ -61,15 +60,6 @@ pinctrl-bindings.txt
|
|||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gpio_ao: ao-bank@c1108030 {
|
|
||||||
reg = <0xc8100014 0x4>,
|
|
||||||
<0xc810002c 0x4>,
|
|
||||||
<0xc8100024 0x8>;
|
|
||||||
reg-names = "mux", "pull", "gpio";
|
|
||||||
gpio-controller;
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
};
|
|
||||||
|
|
||||||
nand {
|
nand {
|
||||||
mux {
|
mux {
|
||||||
groups = "nand_io", "nand_io_ce0", "nand_io_ce1",
|
groups = "nand_io", "nand_io_ce0", "nand_io_ce1",
|
||||||
@@ -79,18 +69,4 @@ pinctrl-bindings.txt
|
|||||||
function = "nand";
|
function = "nand";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
uart_ao_a {
|
|
||||||
mux {
|
|
||||||
groups = "uart_tx_ao_a", "uart_rx_ao_a",
|
|
||||||
"uart_cts_ao_a", "uart_rts_ao_a";
|
|
||||||
function = "uart_ao";
|
|
||||||
};
|
|
||||||
|
|
||||||
conf {
|
|
||||||
pins = "GPIOAO_0", "GPIOAO_1",
|
|
||||||
"GPIOAO_2", "GPIOAO_3";
|
|
||||||
bias-disable;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
@@ -15,9 +15,10 @@ Required properties:
|
|||||||
is the rtc tick interrupt. The number of cells representing a interrupt
|
is the rtc tick interrupt. The number of cells representing a interrupt
|
||||||
depends on the parent interrupt controller.
|
depends on the parent interrupt controller.
|
||||||
- clocks: Must contain a list of phandle and clock specifier for the rtc
|
- clocks: Must contain a list of phandle and clock specifier for the rtc
|
||||||
and source clocks.
|
clock and in the case of a s3c6410 compatible controller, also
|
||||||
- clock-names: Must contain "rtc" and "rtc_src" entries sorted in the
|
a source clock.
|
||||||
same order as the clocks property.
|
- clock-names: Must contain "rtc" and for a s3c6410 compatible controller,
|
||||||
|
a "rtc_src" sorted in the same order as the clocks property.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
@@ -38,7 +38,7 @@ the update lasts only as long as the inode is cached in memory, after
|
|||||||
which the timestamp reverts to 1970, i.e. moves backwards in time.
|
which the timestamp reverts to 1970, i.e. moves backwards in time.
|
||||||
|
|
||||||
Currently, cramfs must be written and read with architectures of the
|
Currently, cramfs must be written and read with architectures of the
|
||||||
same endianness, and can be read only by kernels with PAGE_CACHE_SIZE
|
same endianness, and can be read only by kernels with PAGE_SIZE
|
||||||
== 4096. At least the latter of these is a bug, but it hasn't been
|
== 4096. At least the latter of these is a bug, but it hasn't been
|
||||||
decided what the best fix is. For the moment if you have larger pages
|
decided what the best fix is. For the moment if you have larger pages
|
||||||
you can just change the #define in mkcramfs.c, so long as you don't
|
you can just change the #define in mkcramfs.c, so long as you don't
|
||||||
|
@@ -60,7 +60,7 @@ size: The limit of allocated bytes for this tmpfs instance. The
|
|||||||
default is half of your physical RAM without swap. If you
|
default is half of your physical RAM without swap. If you
|
||||||
oversize your tmpfs instances the machine will deadlock
|
oversize your tmpfs instances the machine will deadlock
|
||||||
since the OOM handler will not be able to free that memory.
|
since the OOM handler will not be able to free that memory.
|
||||||
nr_blocks: The same as size, but in blocks of PAGE_CACHE_SIZE.
|
nr_blocks: The same as size, but in blocks of PAGE_SIZE.
|
||||||
nr_inodes: The maximum number of inodes for this instance. The default
|
nr_inodes: The maximum number of inodes for this instance. The default
|
||||||
is half of the number of your physical RAM pages, or (on a
|
is half of the number of your physical RAM pages, or (on a
|
||||||
machine with highmem) the number of lowmem RAM pages,
|
machine with highmem) the number of lowmem RAM pages,
|
||||||
|
@@ -708,9 +708,9 @@ struct address_space_operations {
|
|||||||
from the address space. This generally corresponds to either a
|
from the address space. This generally corresponds to either a
|
||||||
truncation, punch hole or a complete invalidation of the address
|
truncation, punch hole or a complete invalidation of the address
|
||||||
space (in the latter case 'offset' will always be 0 and 'length'
|
space (in the latter case 'offset' will always be 0 and 'length'
|
||||||
will be PAGE_CACHE_SIZE). Any private data associated with the page
|
will be PAGE_SIZE). Any private data associated with the page
|
||||||
should be updated to reflect this truncation. If offset is 0 and
|
should be updated to reflect this truncation. If offset is 0 and
|
||||||
length is PAGE_CACHE_SIZE, then the private data should be released,
|
length is PAGE_SIZE, then the private data should be released,
|
||||||
because the page must be able to be completely discarded. This may
|
because the page must be able to be completely discarded. This may
|
||||||
be done by calling the ->releasepage function, but in this case the
|
be done by calling the ->releasepage function, but in this case the
|
||||||
release MUST succeed.
|
release MUST succeed.
|
||||||
|
@@ -173,6 +173,10 @@ A few EV_ABS codes have special meanings:
|
|||||||
proximity of the device and while the value of the BTN_TOUCH code is 0. If
|
proximity of the device and while the value of the BTN_TOUCH code is 0. If
|
||||||
the input device may be used freely in three dimensions, consider ABS_Z
|
the input device may be used freely in three dimensions, consider ABS_Z
|
||||||
instead.
|
instead.
|
||||||
|
- BTN_TOOL_<name> should be set to 1 when the tool comes into detectable
|
||||||
|
proximity and set to 0 when the tool leaves detectable proximity.
|
||||||
|
BTN_TOOL_<name> signals the type of tool that is currently detected by the
|
||||||
|
hardware and is otherwise independent of ABS_DISTANCE and/or BTN_TOUCH.
|
||||||
|
|
||||||
* ABS_MT_<name>:
|
* ABS_MT_<name>:
|
||||||
- Used to describe multitouch input events. Please see
|
- Used to describe multitouch input events. Please see
|
||||||
|
@@ -4077,6 +4077,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
|||||||
sector if the number is odd);
|
sector if the number is odd);
|
||||||
i = IGNORE_DEVICE (don't bind to this
|
i = IGNORE_DEVICE (don't bind to this
|
||||||
device);
|
device);
|
||||||
|
j = NO_REPORT_LUNS (don't use report luns
|
||||||
|
command, uas only);
|
||||||
l = NOT_LOCKABLE (don't try to lock and
|
l = NOT_LOCKABLE (don't try to lock and
|
||||||
unlock ejectable media);
|
unlock ejectable media);
|
||||||
m = MAX_SECTORS_64 (don't transfer more
|
m = MAX_SECTORS_64 (don't transfer more
|
||||||
|
@@ -386,7 +386,7 @@ used. First phase is to "prepare" anything needed, including various checks,
|
|||||||
memory allocation, etc. The goal is to handle the stuff that is not unlikely
|
memory allocation, etc. The goal is to handle the stuff that is not unlikely
|
||||||
to fail here. The second phase is to "commit" the actual changes.
|
to fail here. The second phase is to "commit" the actual changes.
|
||||||
|
|
||||||
Switchdev provides an inftrastructure for sharing items (for example memory
|
Switchdev provides an infrastructure for sharing items (for example memory
|
||||||
allocations) between the two phases.
|
allocations) between the two phases.
|
||||||
|
|
||||||
The object created by a driver in "prepare" phase and it is queued up by:
|
The object created by a driver in "prepare" phase and it is queued up by:
|
||||||
|
@@ -586,6 +586,10 @@ drivers to make their ->remove() callbacks avoid races with runtime PM directly,
|
|||||||
but also it allows of more flexibility in the handling of devices during the
|
but also it allows of more flexibility in the handling of devices during the
|
||||||
removal of their drivers.
|
removal of their drivers.
|
||||||
|
|
||||||
|
Drivers in ->remove() callback should undo the runtime PM changes done
|
||||||
|
in ->probe(). Usually this means calling pm_runtime_disable(),
|
||||||
|
pm_runtime_dont_use_autosuspend() etc.
|
||||||
|
|
||||||
The user space can effectively disallow the driver of the device to power manage
|
The user space can effectively disallow the driver of the device to power manage
|
||||||
it at run time by changing the value of its /sys/devices/.../power/control
|
it at run time by changing the value of its /sys/devices/.../power/control
|
||||||
attribute to "on", which causes pm_runtime_forbid() to be called. In principle,
|
attribute to "on", which causes pm_runtime_forbid() to be called. In principle,
|
||||||
|
@@ -581,15 +581,16 @@ Specify "[Nn]ode" for node order
|
|||||||
"Zone Order" orders the zonelists by zone type, then by node within each
|
"Zone Order" orders the zonelists by zone type, then by node within each
|
||||||
zone. Specify "[Zz]one" for zone order.
|
zone. Specify "[Zz]one" for zone order.
|
||||||
|
|
||||||
Specify "[Dd]efault" to request automatic configuration. Autoconfiguration
|
Specify "[Dd]efault" to request automatic configuration.
|
||||||
will select "node" order in following case.
|
|
||||||
(1) if the DMA zone does not exist or
|
|
||||||
(2) if the DMA zone comprises greater than 50% of the available memory or
|
|
||||||
(3) if any node's DMA zone comprises greater than 70% of its local memory and
|
|
||||||
the amount of local memory is big enough.
|
|
||||||
|
|
||||||
Otherwise, "zone" order will be selected. Default order is recommended unless
|
On 32-bit, the Normal zone needs to be preserved for allocations accessible
|
||||||
this is causing problems for your system/application.
|
by the kernel, so "zone" order will be selected.
|
||||||
|
|
||||||
|
On 64-bit, devices that require DMA32/DMA are relatively rare, so "node"
|
||||||
|
order will be selected.
|
||||||
|
|
||||||
|
Default order is recommended unless this is causing problems for your
|
||||||
|
system/application.
|
||||||
|
|
||||||
==============================================================
|
==============================================================
|
||||||
|
|
||||||
|
@@ -43,7 +43,7 @@ For the gadget two work under Windows two conditions have to be met:
|
|||||||
First of all, Windows need to detect the gadget as an USB composite
|
First of all, Windows need to detect the gadget as an USB composite
|
||||||
gadget which on its own have some conditions[4]. If they are met,
|
gadget which on its own have some conditions[4]. If they are met,
|
||||||
Windows lets USB Generic Parent Driver[5] handle the device which then
|
Windows lets USB Generic Parent Driver[5] handle the device which then
|
||||||
tries to much drivers for each individual interface (sort of, don't
|
tries to match drivers for each individual interface (sort of, don't
|
||||||
get into too many details).
|
get into too many details).
|
||||||
|
|
||||||
The good news is: you do not have to worry about most of the
|
The good news is: you do not have to worry about most of the
|
||||||
|
27
Documentation/x86/protection-keys.txt
Normal file
27
Documentation/x86/protection-keys.txt
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
Memory Protection Keys for Userspace (PKU aka PKEYs) is a CPU feature
|
||||||
|
which will be found on future Intel CPUs.
|
||||||
|
|
||||||
|
Memory Protection Keys provides a mechanism for enforcing page-based
|
||||||
|
protections, but without requiring modification of the page tables
|
||||||
|
when an application changes protection domains. It works by
|
||||||
|
dedicating 4 previously ignored bits in each page table entry to a
|
||||||
|
"protection key", giving 16 possible keys.
|
||||||
|
|
||||||
|
There is also a new user-accessible register (PKRU) with two separate
|
||||||
|
bits (Access Disable and Write Disable) for each key. Being a CPU
|
||||||
|
register, PKRU is inherently thread-local, potentially giving each
|
||||||
|
thread a different set of protections from every other thread.
|
||||||
|
|
||||||
|
There are two new instructions (RDPKRU/WRPKRU) for reading and writing
|
||||||
|
to the new register. The feature is only available in 64-bit mode,
|
||||||
|
even though there is theoretically space in the PAE PTEs. These
|
||||||
|
permissions are enforced on data access only and have no effect on
|
||||||
|
instruction fetches.
|
||||||
|
|
||||||
|
=========================== Config Option ===========================
|
||||||
|
|
||||||
|
This config option adds approximately 1.5kb of text. and 50 bytes of
|
||||||
|
data to the executable. A workload which does large O_DIRECT reads
|
||||||
|
of holes in XFS files was run to exercise get_user_pages_fast(). No
|
||||||
|
performance delta was observed with the config option
|
||||||
|
enabled or disabled.
|
208
Documentation/x86/topology.txt
Normal file
208
Documentation/x86/topology.txt
Normal file
@@ -0,0 +1,208 @@
|
|||||||
|
x86 Topology
|
||||||
|
============
|
||||||
|
|
||||||
|
This documents and clarifies the main aspects of x86 topology modelling and
|
||||||
|
representation in the kernel. Update/change when doing changes to the
|
||||||
|
respective code.
|
||||||
|
|
||||||
|
The architecture-agnostic topology definitions are in
|
||||||
|
Documentation/cputopology.txt. This file holds x86-specific
|
||||||
|
differences/specialities which must not necessarily apply to the generic
|
||||||
|
definitions. Thus, the way to read up on Linux topology on x86 is to start
|
||||||
|
with the generic one and look at this one in parallel for the x86 specifics.
|
||||||
|
|
||||||
|
Needless to say, code should use the generic functions - this file is *only*
|
||||||
|
here to *document* the inner workings of x86 topology.
|
||||||
|
|
||||||
|
Started by Thomas Gleixner <tglx@linutronix.de> and Borislav Petkov <bp@alien8.de>.
|
||||||
|
|
||||||
|
The main aim of the topology facilities is to present adequate interfaces to
|
||||||
|
code which needs to know/query/use the structure of the running system wrt
|
||||||
|
threads, cores, packages, etc.
|
||||||
|
|
||||||
|
The kernel does not care about the concept of physical sockets because a
|
||||||
|
socket has no relevance to software. It's an electromechanical component. In
|
||||||
|
the past a socket always contained a single package (see below), but with the
|
||||||
|
advent of Multi Chip Modules (MCM) a socket can hold more than one package. So
|
||||||
|
there might be still references to sockets in the code, but they are of
|
||||||
|
historical nature and should be cleaned up.
|
||||||
|
|
||||||
|
The topology of a system is described in the units of:
|
||||||
|
|
||||||
|
- packages
|
||||||
|
- cores
|
||||||
|
- threads
|
||||||
|
|
||||||
|
* Package:
|
||||||
|
|
||||||
|
Packages contain a number of cores plus shared resources, e.g. DRAM
|
||||||
|
controller, shared caches etc.
|
||||||
|
|
||||||
|
AMD nomenclature for package is 'Node'.
|
||||||
|
|
||||||
|
Package-related topology information in the kernel:
|
||||||
|
|
||||||
|
- cpuinfo_x86.x86_max_cores:
|
||||||
|
|
||||||
|
The number of cores in a package. This information is retrieved via CPUID.
|
||||||
|
|
||||||
|
- cpuinfo_x86.phys_proc_id:
|
||||||
|
|
||||||
|
The physical ID of the package. This information is retrieved via CPUID
|
||||||
|
and deduced from the APIC IDs of the cores in the package.
|
||||||
|
|
||||||
|
- cpuinfo_x86.logical_id:
|
||||||
|
|
||||||
|
The logical ID of the package. As we do not trust BIOSes to enumerate the
|
||||||
|
packages in a consistent way, we introduced the concept of logical package
|
||||||
|
ID so we can sanely calculate the number of maximum possible packages in
|
||||||
|
the system and have the packages enumerated linearly.
|
||||||
|
|
||||||
|
- topology_max_packages():
|
||||||
|
|
||||||
|
The maximum possible number of packages in the system. Helpful for per
|
||||||
|
package facilities to preallocate per package information.
|
||||||
|
|
||||||
|
|
||||||
|
* Cores:
|
||||||
|
|
||||||
|
A core consists of 1 or more threads. It does not matter whether the threads
|
||||||
|
are SMT- or CMT-type threads.
|
||||||
|
|
||||||
|
AMDs nomenclature for a CMT core is "Compute Unit". The kernel always uses
|
||||||
|
"core".
|
||||||
|
|
||||||
|
Core-related topology information in the kernel:
|
||||||
|
|
||||||
|
- smp_num_siblings:
|
||||||
|
|
||||||
|
The number of threads in a core. The number of threads in a package can be
|
||||||
|
calculated by:
|
||||||
|
|
||||||
|
threads_per_package = cpuinfo_x86.x86_max_cores * smp_num_siblings
|
||||||
|
|
||||||
|
|
||||||
|
* Threads:
|
||||||
|
|
||||||
|
A thread is a single scheduling unit. It's the equivalent to a logical Linux
|
||||||
|
CPU.
|
||||||
|
|
||||||
|
AMDs nomenclature for CMT threads is "Compute Unit Core". The kernel always
|
||||||
|
uses "thread".
|
||||||
|
|
||||||
|
Thread-related topology information in the kernel:
|
||||||
|
|
||||||
|
- topology_core_cpumask():
|
||||||
|
|
||||||
|
The cpumask contains all online threads in the package to which a thread
|
||||||
|
belongs.
|
||||||
|
|
||||||
|
The number of online threads is also printed in /proc/cpuinfo "siblings."
|
||||||
|
|
||||||
|
- topology_sibling_mask():
|
||||||
|
|
||||||
|
The cpumask contains all online threads in the core to which a thread
|
||||||
|
belongs.
|
||||||
|
|
||||||
|
- topology_logical_package_id():
|
||||||
|
|
||||||
|
The logical package ID to which a thread belongs.
|
||||||
|
|
||||||
|
- topology_physical_package_id():
|
||||||
|
|
||||||
|
The physical package ID to which a thread belongs.
|
||||||
|
|
||||||
|
- topology_core_id();
|
||||||
|
|
||||||
|
The ID of the core to which a thread belongs. It is also printed in /proc/cpuinfo
|
||||||
|
"core_id."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
System topology examples
|
||||||
|
|
||||||
|
Note:
|
||||||
|
|
||||||
|
The alternative Linux CPU enumeration depends on how the BIOS enumerates the
|
||||||
|
threads. Many BIOSes enumerate all threads 0 first and then all threads 1.
|
||||||
|
That has the "advantage" that the logical Linux CPU numbers of threads 0 stay
|
||||||
|
the same whether threads are enabled or not. That's merely an implementation
|
||||||
|
detail and has no practical impact.
|
||||||
|
|
||||||
|
1) Single Package, Single Core
|
||||||
|
|
||||||
|
[package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
|
||||||
|
|
||||||
|
2) Single Package, Dual Core
|
||||||
|
|
||||||
|
a) One thread per core
|
||||||
|
|
||||||
|
[package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
|
||||||
|
-> [core 1] -> [thread 0] -> Linux CPU 1
|
||||||
|
|
||||||
|
b) Two threads per core
|
||||||
|
|
||||||
|
[package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
|
||||||
|
-> [thread 1] -> Linux CPU 1
|
||||||
|
-> [core 1] -> [thread 0] -> Linux CPU 2
|
||||||
|
-> [thread 1] -> Linux CPU 3
|
||||||
|
|
||||||
|
Alternative enumeration:
|
||||||
|
|
||||||
|
[package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
|
||||||
|
-> [thread 1] -> Linux CPU 2
|
||||||
|
-> [core 1] -> [thread 0] -> Linux CPU 1
|
||||||
|
-> [thread 1] -> Linux CPU 3
|
||||||
|
|
||||||
|
AMD nomenclature for CMT systems:
|
||||||
|
|
||||||
|
[node 0] -> [Compute Unit 0] -> [Compute Unit Core 0] -> Linux CPU 0
|
||||||
|
-> [Compute Unit Core 1] -> Linux CPU 1
|
||||||
|
-> [Compute Unit 1] -> [Compute Unit Core 0] -> Linux CPU 2
|
||||||
|
-> [Compute Unit Core 1] -> Linux CPU 3
|
||||||
|
|
||||||
|
4) Dual Package, Dual Core
|
||||||
|
|
||||||
|
a) One thread per core
|
||||||
|
|
||||||
|
[package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
|
||||||
|
-> [core 1] -> [thread 0] -> Linux CPU 1
|
||||||
|
|
||||||
|
[package 1] -> [core 0] -> [thread 0] -> Linux CPU 2
|
||||||
|
-> [core 1] -> [thread 0] -> Linux CPU 3
|
||||||
|
|
||||||
|
b) Two threads per core
|
||||||
|
|
||||||
|
[package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
|
||||||
|
-> [thread 1] -> Linux CPU 1
|
||||||
|
-> [core 1] -> [thread 0] -> Linux CPU 2
|
||||||
|
-> [thread 1] -> Linux CPU 3
|
||||||
|
|
||||||
|
[package 1] -> [core 0] -> [thread 0] -> Linux CPU 4
|
||||||
|
-> [thread 1] -> Linux CPU 5
|
||||||
|
-> [core 1] -> [thread 0] -> Linux CPU 6
|
||||||
|
-> [thread 1] -> Linux CPU 7
|
||||||
|
|
||||||
|
Alternative enumeration:
|
||||||
|
|
||||||
|
[package 0] -> [core 0] -> [thread 0] -> Linux CPU 0
|
||||||
|
-> [thread 1] -> Linux CPU 4
|
||||||
|
-> [core 1] -> [thread 0] -> Linux CPU 1
|
||||||
|
-> [thread 1] -> Linux CPU 5
|
||||||
|
|
||||||
|
[package 1] -> [core 0] -> [thread 0] -> Linux CPU 2
|
||||||
|
-> [thread 1] -> Linux CPU 6
|
||||||
|
-> [core 1] -> [thread 0] -> Linux CPU 3
|
||||||
|
-> [thread 1] -> Linux CPU 7
|
||||||
|
|
||||||
|
AMD nomenclature for CMT systems:
|
||||||
|
|
||||||
|
[node 0] -> [Compute Unit 0] -> [Compute Unit Core 0] -> Linux CPU 0
|
||||||
|
-> [Compute Unit Core 1] -> Linux CPU 1
|
||||||
|
-> [Compute Unit 1] -> [Compute Unit Core 0] -> Linux CPU 2
|
||||||
|
-> [Compute Unit Core 1] -> Linux CPU 3
|
||||||
|
|
||||||
|
[node 1] -> [Compute Unit 0] -> [Compute Unit Core 0] -> Linux CPU 4
|
||||||
|
-> [Compute Unit Core 1] -> Linux CPU 5
|
||||||
|
-> [Compute Unit 1] -> [Compute Unit Core 0] -> Linux CPU 6
|
||||||
|
-> [Compute Unit Core 1] -> Linux CPU 7
|
@@ -19,7 +19,7 @@ ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks
|
|||||||
ffffffef00000000 - ffffffff00000000 (=64 GB) EFI region mapping space
|
ffffffef00000000 - ffffffff00000000 (=64 GB) EFI region mapping space
|
||||||
... unused hole ...
|
... unused hole ...
|
||||||
ffffffff80000000 - ffffffffa0000000 (=512 MB) kernel text mapping, from phys 0
|
ffffffff80000000 - ffffffffa0000000 (=512 MB) kernel text mapping, from phys 0
|
||||||
ffffffffa0000000 - ffffffffff5fffff (=1525 MB) module mapping space
|
ffffffffa0000000 - ffffffffff5fffff (=1526 MB) module mapping space
|
||||||
ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls
|
ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls
|
||||||
ffffffffffe00000 - ffffffffffffffff (=2 MB) unused hole
|
ffffffffffe00000 - ffffffffffffffff (=2 MB) unused hole
|
||||||
|
|
||||||
@@ -31,8 +31,8 @@ vmalloc space is lazily synchronized into the different PML4 pages of
|
|||||||
the processes using the page fault handler, with init_level4_pgt as
|
the processes using the page fault handler, with init_level4_pgt as
|
||||||
reference.
|
reference.
|
||||||
|
|
||||||
Current X86-64 implementations only support 40 bits of address space,
|
Current X86-64 implementations support up to 46 bits of address space (64 TB),
|
||||||
but we support up to 46 bits. This expands into MBZ space in the page tables.
|
which is our current limit. This expands into MBZ space in the page tables.
|
||||||
|
|
||||||
We map EFI runtime services in the 'efi_pgd' PGD in a 64Gb large virtual
|
We map EFI runtime services in the 'efi_pgd' PGD in a 64Gb large virtual
|
||||||
memory window (this size is arbitrary, it can be raised later if needed).
|
memory window (this size is arbitrary, it can be raised later if needed).
|
||||||
|
57
MAINTAINERS
57
MAINTAINERS
@@ -4302,7 +4302,7 @@ F: drivers/net/ethernet/agere/
|
|||||||
|
|
||||||
ETHERNET BRIDGE
|
ETHERNET BRIDGE
|
||||||
M: Stephen Hemminger <stephen@networkplumber.org>
|
M: Stephen Hemminger <stephen@networkplumber.org>
|
||||||
L: bridge@lists.linux-foundation.org
|
L: bridge@lists.linux-foundation.org (moderated for non-subscribers)
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
W: http://www.linuxfoundation.org/en/Net:Bridge
|
W: http://www.linuxfoundation.org/en/Net:Bridge
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@@ -5042,6 +5042,7 @@ F: include/linux/hw_random.h
|
|||||||
HARDWARE SPINLOCK CORE
|
HARDWARE SPINLOCK CORE
|
||||||
M: Ohad Ben-Cohen <ohad@wizery.com>
|
M: Ohad Ben-Cohen <ohad@wizery.com>
|
||||||
M: Bjorn Andersson <bjorn.andersson@linaro.org>
|
M: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||||
|
L: linux-remoteproc@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock.git
|
||||||
F: Documentation/hwspinlock.txt
|
F: Documentation/hwspinlock.txt
|
||||||
@@ -5750,7 +5751,7 @@ R: Don Skidmore <donald.c.skidmore@intel.com>
|
|||||||
R: Bruce Allan <bruce.w.allan@intel.com>
|
R: Bruce Allan <bruce.w.allan@intel.com>
|
||||||
R: John Ronciak <john.ronciak@intel.com>
|
R: John Ronciak <john.ronciak@intel.com>
|
||||||
R: Mitch Williams <mitch.a.williams@intel.com>
|
R: Mitch Williams <mitch.a.williams@intel.com>
|
||||||
L: intel-wired-lan@lists.osuosl.org
|
L: intel-wired-lan@lists.osuosl.org (moderated for non-subscribers)
|
||||||
W: http://www.intel.com/support/feedback.htm
|
W: http://www.intel.com/support/feedback.htm
|
||||||
W: http://e1000.sourceforge.net/
|
W: http://e1000.sourceforge.net/
|
||||||
Q: http://patchwork.ozlabs.org/project/intel-wired-lan/list/
|
Q: http://patchwork.ozlabs.org/project/intel-wired-lan/list/
|
||||||
@@ -6026,7 +6027,7 @@ F: include/scsi/*iscsi*
|
|||||||
|
|
||||||
ISCSI EXTENSIONS FOR RDMA (ISER) INITIATOR
|
ISCSI EXTENSIONS FOR RDMA (ISER) INITIATOR
|
||||||
M: Or Gerlitz <ogerlitz@mellanox.com>
|
M: Or Gerlitz <ogerlitz@mellanox.com>
|
||||||
M: Sagi Grimberg <sagig@mellanox.com>
|
M: Sagi Grimberg <sagi@grimberg.me>
|
||||||
M: Roi Dayan <roid@mellanox.com>
|
M: Roi Dayan <roid@mellanox.com>
|
||||||
L: linux-rdma@vger.kernel.org
|
L: linux-rdma@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -6036,7 +6037,7 @@ Q: http://patchwork.kernel.org/project/linux-rdma/list/
|
|||||||
F: drivers/infiniband/ulp/iser/
|
F: drivers/infiniband/ulp/iser/
|
||||||
|
|
||||||
ISCSI EXTENSIONS FOR RDMA (ISER) TARGET
|
ISCSI EXTENSIONS FOR RDMA (ISER) TARGET
|
||||||
M: Sagi Grimberg <sagig@mellanox.com>
|
M: Sagi Grimberg <sagi@grimberg.me>
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git master
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git master
|
||||||
L: linux-rdma@vger.kernel.org
|
L: linux-rdma@vger.kernel.org
|
||||||
L: target-devel@vger.kernel.org
|
L: target-devel@vger.kernel.org
|
||||||
@@ -6251,8 +6252,8 @@ S: Maintained
|
|||||||
F: tools/testing/selftests
|
F: tools/testing/selftests
|
||||||
|
|
||||||
KERNEL VIRTUAL MACHINE (KVM)
|
KERNEL VIRTUAL MACHINE (KVM)
|
||||||
M: Gleb Natapov <gleb@kernel.org>
|
|
||||||
M: Paolo Bonzini <pbonzini@redhat.com>
|
M: Paolo Bonzini <pbonzini@redhat.com>
|
||||||
|
M: Radim Krčmář <rkrcmar@redhat.com>
|
||||||
L: kvm@vger.kernel.org
|
L: kvm@vger.kernel.org
|
||||||
W: http://www.linux-kvm.org
|
W: http://www.linux-kvm.org
|
||||||
T: git git://git.kernel.org/pub/scm/virt/kvm/kvm.git
|
T: git git://git.kernel.org/pub/scm/virt/kvm/kvm.git
|
||||||
@@ -6399,10 +6400,10 @@ F: mm/kmemleak.c
|
|||||||
F: mm/kmemleak-test.c
|
F: mm/kmemleak-test.c
|
||||||
|
|
||||||
KPROBES
|
KPROBES
|
||||||
M: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
|
M: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
|
||||||
M: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
|
M: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
|
||||||
M: "David S. Miller" <davem@davemloft.net>
|
M: "David S. Miller" <davem@davemloft.net>
|
||||||
M: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
|
M: Masami Hiramatsu <mhiramat@kernel.org>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/kprobes.txt
|
F: Documentation/kprobes.txt
|
||||||
F: include/linux/kprobes.h
|
F: include/linux/kprobes.h
|
||||||
@@ -7575,7 +7576,7 @@ F: drivers/infiniband/hw/nes/
|
|||||||
|
|
||||||
NETEM NETWORK EMULATOR
|
NETEM NETWORK EMULATOR
|
||||||
M: Stephen Hemminger <stephen@networkplumber.org>
|
M: Stephen Hemminger <stephen@networkplumber.org>
|
||||||
L: netem@lists.linux-foundation.org
|
L: netem@lists.linux-foundation.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: net/sched/sch_netem.c
|
F: net/sched/sch_netem.c
|
||||||
|
|
||||||
@@ -8253,7 +8254,7 @@ F: Documentation/filesystems/overlayfs.txt
|
|||||||
|
|
||||||
ORANGEFS FILESYSTEM
|
ORANGEFS FILESYSTEM
|
||||||
M: Mike Marshall <hubcap@omnibond.com>
|
M: Mike Marshall <hubcap@omnibond.com>
|
||||||
L: pvfs2-developers@beowulf-underground.org
|
L: pvfs2-developers@beowulf-underground.org (subscribers-only)
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux.git
|
||||||
S: Supported
|
S: Supported
|
||||||
F: fs/orangefs/
|
F: fs/orangefs/
|
||||||
@@ -8711,6 +8712,8 @@ F: drivers/pinctrl/sh-pfc/
|
|||||||
|
|
||||||
PIN CONTROLLER - SAMSUNG
|
PIN CONTROLLER - SAMSUNG
|
||||||
M: Tomasz Figa <tomasz.figa@gmail.com>
|
M: Tomasz Figa <tomasz.figa@gmail.com>
|
||||||
|
M: Krzysztof Kozlowski <k.kozlowski@samsung.com>
|
||||||
|
M: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||||
L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
|
L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@@ -9139,6 +9142,13 @@ T: git git://github.com/KrasnikovEugene/wcn36xx.git
|
|||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/net/wireless/ath/wcn36xx/
|
F: drivers/net/wireless/ath/wcn36xx/
|
||||||
|
|
||||||
|
QEMU MACHINE EMULATOR AND VIRTUALIZER SUPPORT
|
||||||
|
M: Gabriel Somlo <somlo@cmu.edu>
|
||||||
|
M: "Michael S. Tsirkin" <mst@redhat.com>
|
||||||
|
L: qemu-devel@nongnu.org
|
||||||
|
S: Maintained
|
||||||
|
F: drivers/firmware/qemu_fw_cfg.c
|
||||||
|
|
||||||
RADOS BLOCK DEVICE (RBD)
|
RADOS BLOCK DEVICE (RBD)
|
||||||
M: Ilya Dryomov <idryomov@gmail.com>
|
M: Ilya Dryomov <idryomov@gmail.com>
|
||||||
M: Sage Weil <sage@redhat.com>
|
M: Sage Weil <sage@redhat.com>
|
||||||
@@ -9314,6 +9324,7 @@ F: include/linux/regmap.h
|
|||||||
REMOTE PROCESSOR (REMOTEPROC) SUBSYSTEM
|
REMOTE PROCESSOR (REMOTEPROC) SUBSYSTEM
|
||||||
M: Ohad Ben-Cohen <ohad@wizery.com>
|
M: Ohad Ben-Cohen <ohad@wizery.com>
|
||||||
M: Bjorn Andersson <bjorn.andersson@linaro.org>
|
M: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||||
|
L: linux-remoteproc@vger.kernel.org
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/remoteproc/
|
F: drivers/remoteproc/
|
||||||
@@ -9323,6 +9334,7 @@ F: include/linux/remoteproc.h
|
|||||||
REMOTE PROCESSOR MESSAGING (RPMSG) SUBSYSTEM
|
REMOTE PROCESSOR MESSAGING (RPMSG) SUBSYSTEM
|
||||||
M: Ohad Ben-Cohen <ohad@wizery.com>
|
M: Ohad Ben-Cohen <ohad@wizery.com>
|
||||||
M: Bjorn Andersson <bjorn.andersson@linaro.org>
|
M: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||||
|
L: linux-remoteproc@vger.kernel.org
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg.git
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/rpmsg/
|
F: drivers/rpmsg/
|
||||||
@@ -10583,6 +10595,14 @@ L: linux-tegra@vger.kernel.org
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/staging/nvec/
|
F: drivers/staging/nvec/
|
||||||
|
|
||||||
|
STAGING - OLPC SECONDARY DISPLAY CONTROLLER (DCON)
|
||||||
|
M: Jens Frederich <jfrederich@gmail.com>
|
||||||
|
M: Daniel Drake <dsd@laptop.org>
|
||||||
|
M: Jon Nettleton <jon.nettleton@gmail.com>
|
||||||
|
W: http://wiki.laptop.org/go/DCON
|
||||||
|
S: Maintained
|
||||||
|
F: drivers/staging/olpc_dcon/
|
||||||
|
|
||||||
STAGING - REALTEK RTL8712U DRIVERS
|
STAGING - REALTEK RTL8712U DRIVERS
|
||||||
M: Larry Finger <Larry.Finger@lwfinger.net>
|
M: Larry Finger <Larry.Finger@lwfinger.net>
|
||||||
M: Florian Schilhabel <florian.c.schilhabel@googlemail.com>.
|
M: Florian Schilhabel <florian.c.schilhabel@googlemail.com>.
|
||||||
@@ -11051,6 +11071,15 @@ S: Maintained
|
|||||||
F: drivers/clk/ti/
|
F: drivers/clk/ti/
|
||||||
F: include/linux/clk/ti.h
|
F: include/linux/clk/ti.h
|
||||||
|
|
||||||
|
TI ETHERNET SWITCH DRIVER (CPSW)
|
||||||
|
M: Mugunthan V N <mugunthanvnm@ti.com>
|
||||||
|
R: Grygorii Strashko <grygorii.strashko@ti.com>
|
||||||
|
L: linux-omap@vger.kernel.org
|
||||||
|
L: netdev@vger.kernel.org
|
||||||
|
S: Maintained
|
||||||
|
F: drivers/net/ethernet/ti/cpsw*
|
||||||
|
F: drivers/net/ethernet/ti/davinci*
|
||||||
|
|
||||||
TI FLASH MEDIA INTERFACE DRIVER
|
TI FLASH MEDIA INTERFACE DRIVER
|
||||||
M: Alex Dubov <oakad@yahoo.com>
|
M: Alex Dubov <oakad@yahoo.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@@ -12202,9 +12231,9 @@ S: Maintained
|
|||||||
F: drivers/media/tuners/tuner-xc2028.*
|
F: drivers/media/tuners/tuner-xc2028.*
|
||||||
|
|
||||||
XEN HYPERVISOR INTERFACE
|
XEN HYPERVISOR INTERFACE
|
||||||
M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
|
||||||
M: Boris Ostrovsky <boris.ostrovsky@oracle.com>
|
M: Boris Ostrovsky <boris.ostrovsky@oracle.com>
|
||||||
M: David Vrabel <david.vrabel@citrix.com>
|
M: David Vrabel <david.vrabel@citrix.com>
|
||||||
|
M: Juergen Gross <jgross@suse.com>
|
||||||
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git
|
||||||
S: Supported
|
S: Supported
|
||||||
@@ -12216,16 +12245,16 @@ F: include/xen/
|
|||||||
F: include/uapi/xen/
|
F: include/uapi/xen/
|
||||||
|
|
||||||
XEN HYPERVISOR ARM
|
XEN HYPERVISOR ARM
|
||||||
M: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
M: Stefano Stabellini <sstabellini@kernel.org>
|
||||||
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
||||||
S: Supported
|
S: Maintained
|
||||||
F: arch/arm/xen/
|
F: arch/arm/xen/
|
||||||
F: arch/arm/include/asm/xen/
|
F: arch/arm/include/asm/xen/
|
||||||
|
|
||||||
XEN HYPERVISOR ARM64
|
XEN HYPERVISOR ARM64
|
||||||
M: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
|
M: Stefano Stabellini <sstabellini@kernel.org>
|
||||||
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
|
||||||
S: Supported
|
S: Maintained
|
||||||
F: arch/arm64/xen/
|
F: arch/arm64/xen/
|
||||||
F: arch/arm64/include/asm/xen/
|
F: arch/arm64/include/asm/xen/
|
||||||
|
|
||||||
|
7
Makefile
7
Makefile
@@ -1,8 +1,8 @@
|
|||||||
VERSION = 4
|
VERSION = 4
|
||||||
PATCHLEVEL = 6
|
PATCHLEVEL = 6
|
||||||
SUBLEVEL = 0
|
SUBLEVEL = 0
|
||||||
EXTRAVERSION = -rc1
|
EXTRAVERSION = -rc6
|
||||||
NAME = Blurry Fish Butt
|
NAME = Charred Weasel
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
# To see a list of typical targets execute "make help"
|
# To see a list of typical targets execute "make help"
|
||||||
@@ -1008,7 +1008,8 @@ prepare0: archprepare FORCE
|
|||||||
prepare: prepare0 prepare-objtool
|
prepare: prepare0 prepare-objtool
|
||||||
|
|
||||||
ifdef CONFIG_STACK_VALIDATION
|
ifdef CONFIG_STACK_VALIDATION
|
||||||
has_libelf := $(shell echo "int main() {}" | $(HOSTCC) -xc -o /dev/null -lelf - &> /dev/null && echo 1 || echo 0)
|
has_libelf := $(call try-run,\
|
||||||
|
echo "int main() {}" | $(HOSTCC) -xc -o /dev/null -lelf -,1,0)
|
||||||
ifeq ($(has_libelf),1)
|
ifeq ($(has_libelf),1)
|
||||||
objtool_target := tools/objtool FORCE
|
objtool_target := tools/objtool FORCE
|
||||||
else
|
else
|
||||||
|
@@ -35,8 +35,10 @@ config ARC
|
|||||||
select NO_BOOTMEM
|
select NO_BOOTMEM
|
||||||
select OF
|
select OF
|
||||||
select OF_EARLY_FLATTREE
|
select OF_EARLY_FLATTREE
|
||||||
|
select OF_RESERVED_MEM
|
||||||
select PERF_USE_VMALLOC
|
select PERF_USE_VMALLOC
|
||||||
select HAVE_DEBUG_STACKOVERFLOW
|
select HAVE_DEBUG_STACKOVERFLOW
|
||||||
|
select HAVE_GENERIC_DMA_COHERENT
|
||||||
|
|
||||||
config MIGHT_HAVE_PCI
|
config MIGHT_HAVE_PCI
|
||||||
bool
|
bool
|
||||||
@@ -593,7 +595,6 @@ config PCI_SYSCALL
|
|||||||
def_bool PCI
|
def_bool PCI
|
||||||
|
|
||||||
source "drivers/pci/Kconfig"
|
source "drivers/pci/Kconfig"
|
||||||
source "drivers/pci/pcie/Kconfig"
|
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
@@ -47,14 +47,6 @@
|
|||||||
clocks = <&apbclk>;
|
clocks = <&apbclk>;
|
||||||
clock-names = "stmmaceth";
|
clock-names = "stmmaceth";
|
||||||
max-speed = <100>;
|
max-speed = <100>;
|
||||||
mdio0 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
compatible = "snps,dwmac-mdio";
|
|
||||||
phy1: ethernet-phy@1 {
|
|
||||||
reg = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
ehci@0x40000 {
|
ehci@0x40000 {
|
||||||
|
@@ -42,6 +42,7 @@ CONFIG_DEVTMPFS=y
|
|||||||
# CONFIG_STANDALONE is not set
|
# CONFIG_STANDALONE is not set
|
||||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||||
# CONFIG_FIRMWARE_IN_KERNEL is not set
|
# CONFIG_FIRMWARE_IN_KERNEL is not set
|
||||||
|
CONFIG_BLK_DEV_LOOP=y
|
||||||
CONFIG_SCSI=y
|
CONFIG_SCSI=y
|
||||||
CONFIG_BLK_DEV_SD=y
|
CONFIG_BLK_DEV_SD=y
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
|
@@ -43,6 +43,7 @@ CONFIG_DEVTMPFS=y
|
|||||||
# CONFIG_STANDALONE is not set
|
# CONFIG_STANDALONE is not set
|
||||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||||
# CONFIG_FIRMWARE_IN_KERNEL is not set
|
# CONFIG_FIRMWARE_IN_KERNEL is not set
|
||||||
|
CONFIG_BLK_DEV_LOOP=y
|
||||||
CONFIG_SCSI=y
|
CONFIG_SCSI=y
|
||||||
CONFIG_BLK_DEV_SD=y
|
CONFIG_BLK_DEV_SD=y
|
||||||
CONFIG_NETDEVICES=y
|
CONFIG_NETDEVICES=y
|
||||||
|
19
arch/arc/include/asm/fb.h
Normal file
19
arch/arc/include/asm/fb.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#ifndef _ASM_FB_H_
|
||||||
|
#define _ASM_FB_H_
|
||||||
|
|
||||||
|
#include <linux/fb.h>
|
||||||
|
#include <linux/fs.h>
|
||||||
|
#include <asm/page.h>
|
||||||
|
|
||||||
|
static inline void fb_pgprotect(struct file *file, struct vm_area_struct *vma,
|
||||||
|
unsigned long off)
|
||||||
|
{
|
||||||
|
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int fb_is_primary_device(struct fb_info *info)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _ASM_FB_H_ */
|
@@ -18,6 +18,12 @@
|
|||||||
#define STATUS_AD_MASK (1<<STATUS_AD_BIT)
|
#define STATUS_AD_MASK (1<<STATUS_AD_BIT)
|
||||||
#define STATUS_IE_MASK (1<<STATUS_IE_BIT)
|
#define STATUS_IE_MASK (1<<STATUS_IE_BIT)
|
||||||
|
|
||||||
|
/* status32 Bits as encoded/expected by CLRI/SETI */
|
||||||
|
#define CLRI_STATUS_IE_BIT 4
|
||||||
|
|
||||||
|
#define CLRI_STATUS_E_MASK 0xF
|
||||||
|
#define CLRI_STATUS_IE_MASK (1 << CLRI_STATUS_IE_BIT)
|
||||||
|
|
||||||
#define AUX_USER_SP 0x00D
|
#define AUX_USER_SP 0x00D
|
||||||
#define AUX_IRQ_CTRL 0x00E
|
#define AUX_IRQ_CTRL 0x00E
|
||||||
#define AUX_IRQ_ACT 0x043 /* Active Intr across all levels */
|
#define AUX_IRQ_ACT 0x043 /* Active Intr across all levels */
|
||||||
@@ -100,6 +106,13 @@ static inline long arch_local_save_flags(void)
|
|||||||
:
|
:
|
||||||
: "memory");
|
: "memory");
|
||||||
|
|
||||||
|
/* To be compatible with irq_save()/irq_restore()
|
||||||
|
* encode the irq bits as expected by CLRI/SETI
|
||||||
|
* (this was needed to make CONFIG_TRACE_IRQFLAGS work)
|
||||||
|
*/
|
||||||
|
temp = (1 << 5) |
|
||||||
|
((!!(temp & STATUS_IE_MASK)) << CLRI_STATUS_IE_BIT) |
|
||||||
|
(temp & CLRI_STATUS_E_MASK);
|
||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,7 +121,7 @@ static inline long arch_local_save_flags(void)
|
|||||||
*/
|
*/
|
||||||
static inline int arch_irqs_disabled_flags(unsigned long flags)
|
static inline int arch_irqs_disabled_flags(unsigned long flags)
|
||||||
{
|
{
|
||||||
return !(flags & (STATUS_IE_MASK));
|
return !(flags & CLRI_STATUS_IE_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int arch_irqs_disabled(void)
|
static inline int arch_irqs_disabled(void)
|
||||||
@@ -128,11 +141,32 @@ static inline void arc_softirq_clear(int irq)
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
#ifdef CONFIG_TRACE_IRQFLAGS
|
||||||
|
|
||||||
|
.macro TRACE_ASM_IRQ_DISABLE
|
||||||
|
bl trace_hardirqs_off
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro TRACE_ASM_IRQ_ENABLE
|
||||||
|
bl trace_hardirqs_on
|
||||||
|
.endm
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
.macro TRACE_ASM_IRQ_DISABLE
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro TRACE_ASM_IRQ_ENABLE
|
||||||
|
.endm
|
||||||
|
|
||||||
|
#endif
|
||||||
.macro IRQ_DISABLE scratch
|
.macro IRQ_DISABLE scratch
|
||||||
clri
|
clri
|
||||||
|
TRACE_ASM_IRQ_DISABLE
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro IRQ_ENABLE scratch
|
.macro IRQ_ENABLE scratch
|
||||||
|
TRACE_ASM_IRQ_ENABLE
|
||||||
seti
|
seti
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
@@ -69,8 +69,11 @@ ENTRY(handle_interrupt)
|
|||||||
|
|
||||||
clri ; To make status32.IE agree with CPU internal state
|
clri ; To make status32.IE agree with CPU internal state
|
||||||
|
|
||||||
lr r0, [ICAUSE]
|
#ifdef CONFIG_TRACE_IRQFLAGS
|
||||||
|
TRACE_ASM_IRQ_DISABLE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
lr r0, [ICAUSE]
|
||||||
mov blink, ret_from_exception
|
mov blink, ret_from_exception
|
||||||
|
|
||||||
b.d arch_do_IRQ
|
b.d arch_do_IRQ
|
||||||
@@ -169,6 +172,11 @@ END(EV_TLBProtV)
|
|||||||
|
|
||||||
.Lrestore_regs:
|
.Lrestore_regs:
|
||||||
|
|
||||||
|
# Interrpts are actually disabled from this point on, but will get
|
||||||
|
# reenabled after we return from interrupt/exception.
|
||||||
|
# But irq tracer needs to be told now...
|
||||||
|
TRACE_ASM_IRQ_ENABLE
|
||||||
|
|
||||||
ld r0, [sp, PT_status32] ; U/K mode at time of entry
|
ld r0, [sp, PT_status32] ; U/K mode at time of entry
|
||||||
lr r10, [AUX_IRQ_ACT]
|
lr r10, [AUX_IRQ_ACT]
|
||||||
|
|
||||||
|
@@ -341,6 +341,9 @@ END(call_do_page_fault)
|
|||||||
|
|
||||||
.Lrestore_regs:
|
.Lrestore_regs:
|
||||||
|
|
||||||
|
# Interrpts are actually disabled from this point on, but will get
|
||||||
|
# reenabled after we return from interrupt/exception.
|
||||||
|
# But irq tracer needs to be told now...
|
||||||
TRACE_ASM_IRQ_ENABLE
|
TRACE_ASM_IRQ_ENABLE
|
||||||
|
|
||||||
lr r10, [status32]
|
lr r10, [status32]
|
||||||
|
@@ -628,7 +628,7 @@ void flush_dcache_page(struct page *page)
|
|||||||
|
|
||||||
/* kernel reading from page with U-mapping */
|
/* kernel reading from page with U-mapping */
|
||||||
phys_addr_t paddr = (unsigned long)page_address(page);
|
phys_addr_t paddr = (unsigned long)page_address(page);
|
||||||
unsigned long vaddr = page->index << PAGE_CACHE_SHIFT;
|
unsigned long vaddr = page->index << PAGE_SHIFT;
|
||||||
|
|
||||||
if (addr_not_cache_congruent(paddr, vaddr))
|
if (addr_not_cache_congruent(paddr, vaddr))
|
||||||
__flush_dcache_page(paddr, vaddr);
|
__flush_dcache_page(paddr, vaddr);
|
||||||
|
@@ -13,6 +13,7 @@
|
|||||||
#ifdef CONFIG_BLK_DEV_INITRD
|
#ifdef CONFIG_BLK_DEV_INITRD
|
||||||
#include <linux/initrd.h>
|
#include <linux/initrd.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <linux/of_fdt.h>
|
||||||
#include <linux/swap.h>
|
#include <linux/swap.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/highmem.h>
|
#include <linux/highmem.h>
|
||||||
@@ -136,6 +137,9 @@ void __init setup_arch_memory(void)
|
|||||||
memblock_reserve(__pa(initrd_start), initrd_end - initrd_start);
|
memblock_reserve(__pa(initrd_start), initrd_end - initrd_start);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
early_init_fdt_reserve_self();
|
||||||
|
early_init_fdt_scan_reserved_mem();
|
||||||
|
|
||||||
memblock_dump_all();
|
memblock_dump_all();
|
||||||
|
|
||||||
/*----------------- node/zones setup --------------------------*/
|
/*----------------- node/zones setup --------------------------*/
|
||||||
|
@@ -470,9 +470,12 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
&cpsw_emac0 {
|
&cpsw_emac0 {
|
||||||
phy_id = <&davinci_mdio>, <0>;
|
|
||||||
phy-mode = "rmii";
|
phy-mode = "rmii";
|
||||||
dual_emac_res_vlan = <1>;
|
dual_emac_res_vlan = <1>;
|
||||||
|
fixed-link {
|
||||||
|
speed = <100>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&cpsw_emac1 {
|
&cpsw_emac1 {
|
||||||
|
@@ -860,7 +860,7 @@
|
|||||||
ti,no-idle-on-init;
|
ti,no-idle-on-init;
|
||||||
reg = <0x50000000 0x2000>;
|
reg = <0x50000000 0x2000>;
|
||||||
interrupts = <100>;
|
interrupts = <100>;
|
||||||
dmas = <&edma 52>;
|
dmas = <&edma 52 0>;
|
||||||
dma-names = "rxtx";
|
dma-names = "rxtx";
|
||||||
gpmc,num-cs = <7>;
|
gpmc,num-cs = <7>;
|
||||||
gpmc,num-waitpins = <2>;
|
gpmc,num-waitpins = <2>;
|
||||||
|
@@ -207,7 +207,7 @@
|
|||||||
ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
|
ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
|
||||||
<&edma_tptc2 0>;
|
<&edma_tptc2 0>;
|
||||||
|
|
||||||
ti,edma-memcpy-channels = <32 33>;
|
ti,edma-memcpy-channels = <58 59>;
|
||||||
};
|
};
|
||||||
|
|
||||||
edma_tptc0: tptc@49800000 {
|
edma_tptc0: tptc@49800000 {
|
||||||
@@ -884,7 +884,7 @@
|
|||||||
gpmc: gpmc@50000000 {
|
gpmc: gpmc@50000000 {
|
||||||
compatible = "ti,am3352-gpmc";
|
compatible = "ti,am3352-gpmc";
|
||||||
ti,hwmods = "gpmc";
|
ti,hwmods = "gpmc";
|
||||||
dmas = <&edma 52>;
|
dmas = <&edma 52 0>;
|
||||||
dma-names = "rxtx";
|
dma-names = "rxtx";
|
||||||
clocks = <&l3s_gclk>;
|
clocks = <&l3s_gclk>;
|
||||||
clock-names = "fck";
|
clock-names = "fck";
|
||||||
|
@@ -794,3 +794,8 @@
|
|||||||
tx-num-evt = <32>;
|
tx-num-evt = <32>;
|
||||||
rx-num-evt = <32>;
|
rx-num-evt = <32>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&synctimer_32kclk {
|
||||||
|
assigned-clocks = <&mux_synctimer32k_ck>;
|
||||||
|
assigned-clock-parents = <&clkdiv32k_ick>;
|
||||||
|
};
|
||||||
|
@@ -99,13 +99,6 @@
|
|||||||
#cooling-cells = <2>;
|
#cooling-cells = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
extcon_usb1: extcon_usb1 {
|
|
||||||
compatible = "linux,extcon-usb-gpio";
|
|
||||||
id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&extcon_usb1_pins>;
|
|
||||||
};
|
|
||||||
|
|
||||||
hdmi0: connector {
|
hdmi0: connector {
|
||||||
compatible = "hdmi-connector";
|
compatible = "hdmi-connector";
|
||||||
label = "hdmi";
|
label = "hdmi";
|
||||||
@@ -349,12 +342,6 @@
|
|||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
|
|
||||||
extcon_usb1_pins: extcon_usb1_pins {
|
|
||||||
pinctrl-single,pins = <
|
|
||||||
DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_rtsn.gpio7_25 */
|
|
||||||
>;
|
|
||||||
};
|
|
||||||
|
|
||||||
tpd12s015_pins: pinmux_tpd12s015_pins {
|
tpd12s015_pins: pinmux_tpd12s015_pins {
|
||||||
pinctrl-single,pins = <
|
pinctrl-single,pins = <
|
||||||
DRA7XX_CORE_IOPAD(0x37b0, PIN_OUTPUT | MUX_MODE14) /* gpio7_10 CT_CP_HPD */
|
DRA7XX_CORE_IOPAD(0x37b0, PIN_OUTPUT | MUX_MODE14) /* gpio7_10 CT_CP_HPD */
|
||||||
@@ -706,10 +693,6 @@
|
|||||||
pinctrl-0 = <&usb1_pins>;
|
pinctrl-0 = <&usb1_pins>;
|
||||||
};
|
};
|
||||||
|
|
||||||
&omap_dwc3_1 {
|
|
||||||
extcon = <&extcon_usb1>;
|
|
||||||
};
|
|
||||||
|
|
||||||
&omap_dwc3_2 {
|
&omap_dwc3_2 {
|
||||||
extcon = <&extcon_usb2>;
|
extcon = <&extcon_usb2>;
|
||||||
};
|
};
|
||||||
|
@@ -117,7 +117,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* USB part of the eSATA/USB 2.0 port */
|
/* USB part of the eSATA/USB 2.0 port */
|
||||||
usb@50000 {
|
usb@58000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -4,6 +4,157 @@
|
|||||||
* published by the Free Software Foundation.
|
* published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
&pllss {
|
||||||
|
/*
|
||||||
|
* See TRM "2.6.10 Connected outputso DPLLS" and
|
||||||
|
* "2.6.11 Connected Outputs of DPLLJ". Only clkout is
|
||||||
|
* connected except for hdmi and usb.
|
||||||
|
*/
|
||||||
|
adpll_mpu_ck: adpll@40 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-s-clock";
|
||||||
|
reg = <0x40 0x40>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow", "clkinphif";
|
||||||
|
clock-output-names = "481c5040.adpll.dcoclkldo",
|
||||||
|
"481c5040.adpll.clkout",
|
||||||
|
"481c5040.adpll.clkoutx2",
|
||||||
|
"481c5040.adpll.clkouthif";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_dsp_ck: adpll@80 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0x80 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c5080.adpll.dcoclkldo",
|
||||||
|
"481c5080.adpll.clkout",
|
||||||
|
"481c5080.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_sgx_ck: adpll@b0 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0xb0 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c50b0.adpll.dcoclkldo",
|
||||||
|
"481c50b0.adpll.clkout",
|
||||||
|
"481c50b0.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_hdvic_ck: adpll@e0 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0xe0 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c50e0.adpll.dcoclkldo",
|
||||||
|
"481c50e0.adpll.clkout",
|
||||||
|
"481c50e0.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_l3_ck: adpll@110 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0x110 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c5110.adpll.dcoclkldo",
|
||||||
|
"481c5110.adpll.clkout",
|
||||||
|
"481c5110.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_isp_ck: adpll@140 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0x140 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c5140.adpll.dcoclkldo",
|
||||||
|
"481c5140.adpll.clkout",
|
||||||
|
"481c5140.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_dss_ck: adpll@170 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0x170 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c5170.adpll.dcoclkldo",
|
||||||
|
"481c5170.adpll.clkout",
|
||||||
|
"481c5170.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_video0_ck: adpll@1a0 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0x1a0 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c51a0.adpll.dcoclkldo",
|
||||||
|
"481c51a0.adpll.clkout",
|
||||||
|
"481c51a0.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_video1_ck: adpll@1d0 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0x1d0 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c51d0.adpll.dcoclkldo",
|
||||||
|
"481c51d0.adpll.clkout",
|
||||||
|
"481c51d0.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_hdmi_ck: adpll@200 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0x200 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c5200.adpll.dcoclkldo",
|
||||||
|
"481c5200.adpll.clkout",
|
||||||
|
"481c5200.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_audio_ck: adpll@230 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0x230 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c5230.adpll.dcoclkldo",
|
||||||
|
"481c5230.adpll.clkout",
|
||||||
|
"481c5230.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_usb_ck: adpll@260 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0x260 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c5260.adpll.dcoclkldo",
|
||||||
|
"481c5260.adpll.clkout",
|
||||||
|
"481c5260.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
|
||||||
|
adpll_ddr_ck: adpll@290 {
|
||||||
|
#clock-cells = <1>;
|
||||||
|
compatible = "ti,dm814-adpll-lj-clock";
|
||||||
|
reg = <0x290 0x30>;
|
||||||
|
clocks = <&devosc_ck &devosc_ck>;
|
||||||
|
clock-names = "clkinp", "clkinpulow";
|
||||||
|
clock-output-names = "481c5290.adpll.dcoclkldo",
|
||||||
|
"481c5290.adpll.clkout",
|
||||||
|
"481c5290.adpll.clkoutldo";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&pllss_clocks {
|
&pllss_clocks {
|
||||||
timer1_fck: timer1_fck {
|
timer1_fck: timer1_fck {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
@@ -23,6 +174,24 @@
|
|||||||
reg = <0x2e0>;
|
reg = <0x2e0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* CPTS_RFT_CLK in RMII_REFCLK_SRC, usually sourced from auiod */
|
||||||
|
cpsw_cpts_rft_clk: cpsw_cpts_rft_clk {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "ti,mux-clock";
|
||||||
|
clocks = <&adpll_video0_ck 1
|
||||||
|
&adpll_video1_ck 1
|
||||||
|
&adpll_audio_ck 1>;
|
||||||
|
ti,bit-shift = <1>;
|
||||||
|
reg = <0x2e8>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* REVISIT: Set up with a proper mux using RMII_REFCLK_SRC */
|
||||||
|
cpsw_125mhz_gclk: cpsw_125mhz_gclk {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
clock-frequency = <125000000>;
|
||||||
|
};
|
||||||
|
|
||||||
sysclk18_ck: sysclk18_ck {
|
sysclk18_ck: sysclk18_ck {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "ti,mux-clock";
|
compatible = "ti,mux-clock";
|
||||||
@@ -79,37 +248,6 @@
|
|||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
clock-frequency = <1000000000>;
|
clock-frequency = <1000000000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sysclk4_ck: sysclk4_ck {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <222000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
sysclk6_ck: sysclk6_ck {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <100000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
sysclk10_ck: sysclk10_ck {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <48000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
cpsw_125mhz_gclk: cpsw_125mhz_gclk {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <125000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
cpsw_cpts_rft_clk: cpsw_cpts_rft_clk {
|
|
||||||
#clock-cells = <0>;
|
|
||||||
compatible = "fixed-clock";
|
|
||||||
clock-frequency = <250000000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&prcm_clocks {
|
&prcm_clocks {
|
||||||
@@ -138,6 +276,49 @@
|
|||||||
clock-div = <78125>;
|
clock-div = <78125>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* L4_HS 220 MHz*/
|
||||||
|
sysclk4_ck: sysclk4_ck {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "ti,fixed-factor-clock";
|
||||||
|
clocks = <&adpll_l3_ck 1>;
|
||||||
|
ti,clock-mult = <1>;
|
||||||
|
ti,clock-div = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* L4_FWCFG */
|
||||||
|
sysclk5_ck: sysclk5_ck {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "ti,fixed-factor-clock";
|
||||||
|
clocks = <&adpll_l3_ck 1>;
|
||||||
|
ti,clock-mult = <1>;
|
||||||
|
ti,clock-div = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* L4_LS 110 MHz */
|
||||||
|
sysclk6_ck: sysclk6_ck {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "ti,fixed-factor-clock";
|
||||||
|
clocks = <&adpll_l3_ck 1>;
|
||||||
|
ti,clock-mult = <1>;
|
||||||
|
ti,clock-div = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sysclk8_ck: sysclk8_ck {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "ti,fixed-factor-clock";
|
||||||
|
clocks = <&adpll_usb_ck 1>;
|
||||||
|
ti,clock-mult = <1>;
|
||||||
|
ti,clock-div = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
sysclk10_ck: sysclk10_ck {
|
||||||
|
compatible = "ti,divider-clock";
|
||||||
|
reg = <0x324>;
|
||||||
|
ti,max-div = <7>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clocks = <&adpll_usb_ck 1>;
|
||||||
|
};
|
||||||
|
|
||||||
aud_clkin0_ck: aud_clkin0_ck {
|
aud_clkin0_ck: aud_clkin0_ck {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
|
@@ -6,6 +6,32 @@
|
|||||||
|
|
||||||
#include "dm814x-clocks.dtsi"
|
#include "dm814x-clocks.dtsi"
|
||||||
|
|
||||||
|
/* Compared to dm814x, dra62x does not have hdic, l3 or dss PLLs */
|
||||||
|
&adpll_hdvic_ck {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&adpll_l3_ck {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&adpll_dss_ck {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Compared to dm814x, dra62x has interconnect clocks on isp PLL */
|
||||||
|
&sysclk4_ck {
|
||||||
|
clocks = <&adpll_isp_ck 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&sysclk5_ck {
|
||||||
|
clocks = <&adpll_isp_ck 1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&sysclk6_ck {
|
||||||
|
clocks = <&adpll_isp_ck 1>;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compared to dm814x, dra62x has different shifts and more mux options.
|
* Compared to dm814x, dra62x has different shifts and more mux options.
|
||||||
* Please add the extra options for ysclk_14 and 16 if really needed.
|
* Please add the extra options for ysclk_14 and 16 if really needed.
|
||||||
|
@@ -98,12 +98,20 @@
|
|||||||
clock-frequency = <32768>;
|
clock-frequency = <32768>;
|
||||||
};
|
};
|
||||||
|
|
||||||
sys_32k_ck: sys_32k_ck {
|
sys_clk32_crystal_ck: sys_clk32_crystal_ck {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
clock-frequency = <32768>;
|
clock-frequency = <32768>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sys_clk32_pseudo_ck: sys_clk32_pseudo_ck {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "fixed-factor-clock";
|
||||||
|
clocks = <&sys_clkin1>;
|
||||||
|
clock-mult = <1>;
|
||||||
|
clock-div = <610>;
|
||||||
|
};
|
||||||
|
|
||||||
virt_12000000_ck: virt_12000000_ck {
|
virt_12000000_ck: virt_12000000_ck {
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
@@ -2170,4 +2178,12 @@
|
|||||||
ti,bit-shift = <22>;
|
ti,bit-shift = <22>;
|
||||||
reg = <0x0558>;
|
reg = <0x0558>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sys_32k_ck: sys_32k_ck {
|
||||||
|
#clock-cells = <0>;
|
||||||
|
compatible = "ti,mux-clock";
|
||||||
|
clocks = <&sys_clk32_crystal_ck>, <&sys_clk32_pseudo_ck>, <&sys_clk32_pseudo_ck>, <&sys_clk32_pseudo_ck>;
|
||||||
|
ti,bit-shift = <8>;
|
||||||
|
reg = <0x6c4>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@@ -91,8 +91,8 @@
|
|||||||
clock-frequency = <141666666>;
|
clock-frequency = <141666666>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pinctrl: pinctrl@c1109880 {
|
pinctrl_cbus: pinctrl@c1109880 {
|
||||||
compatible = "amlogic,meson8-pinctrl";
|
compatible = "amlogic,meson8-cbus-pinctrl";
|
||||||
reg = <0xc1109880 0x10>;
|
reg = <0xc1109880 0x10>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
@@ -108,29 +108,6 @@
|
|||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gpio_ao: ao-bank@c1108030 {
|
|
||||||
reg = <0xc8100014 0x4>,
|
|
||||||
<0xc810002c 0x4>,
|
|
||||||
<0xc8100024 0x8>;
|
|
||||||
reg-names = "mux", "pull", "gpio";
|
|
||||||
gpio-controller;
|
|
||||||
#gpio-cells = <2>;
|
|
||||||
};
|
|
||||||
|
|
||||||
uart_ao_a_pins: uart_ao_a {
|
|
||||||
mux {
|
|
||||||
groups = "uart_tx_ao_a", "uart_rx_ao_a";
|
|
||||||
function = "uart_ao";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
i2c_ao_pins: i2c_mst_ao {
|
|
||||||
mux {
|
|
||||||
groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
|
|
||||||
function = "i2c_mst_ao";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
spi_nor_pins: nor {
|
spi_nor_pins: nor {
|
||||||
mux {
|
mux {
|
||||||
groups = "nor_d", "nor_q", "nor_c", "nor_cs";
|
groups = "nor_d", "nor_q", "nor_c", "nor_cs";
|
||||||
@@ -157,4 +134,34 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pinctrl_aobus: pinctrl@c8100084 {
|
||||||
|
compatible = "amlogic,meson8-aobus-pinctrl";
|
||||||
|
reg = <0xc8100084 0xc>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges;
|
||||||
|
|
||||||
|
gpio_ao: ao-bank@c1108030 {
|
||||||
|
reg = <0xc8100014 0x4>,
|
||||||
|
<0xc810002c 0x4>,
|
||||||
|
<0xc8100024 0x8>;
|
||||||
|
reg-names = "mux", "pull", "gpio";
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
uart_ao_a_pins: uart_ao_a {
|
||||||
|
mux {
|
||||||
|
groups = "uart_tx_ao_a", "uart_rx_ao_a";
|
||||||
|
function = "uart_ao";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c_ao_pins: i2c_mst_ao {
|
||||||
|
mux {
|
||||||
|
groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
|
||||||
|
function = "i2c_mst_ao";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}; /* end of / */
|
}; /* end of / */
|
||||||
|
@@ -155,8 +155,8 @@
|
|||||||
reg = <0xc1108000 0x4>, <0xc1104000 0x460>;
|
reg = <0xc1108000 0x4>, <0xc1104000 0x460>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pinctrl: pinctrl@c1109880 {
|
pinctrl_cbus: pinctrl@c1109880 {
|
||||||
compatible = "amlogic,meson8b-pinctrl";
|
compatible = "amlogic,meson8b-cbus-pinctrl";
|
||||||
reg = <0xc1109880 0x10>;
|
reg = <0xc1109880 0x10>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
@@ -171,6 +171,14 @@
|
|||||||
gpio-controller;
|
gpio-controller;
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pinctrl_aobus: pinctrl@c8100084 {
|
||||||
|
compatible = "amlogic,meson8b-aobus-pinctrl";
|
||||||
|
reg = <0xc8100084 0xc>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges;
|
||||||
|
|
||||||
gpio_ao: ao-bank@c1108030 {
|
gpio_ao: ao-bank@c1108030 {
|
||||||
reg = <0xc8100014 0x4>,
|
reg = <0xc8100014 0x4>,
|
||||||
|
@@ -70,7 +70,7 @@
|
|||||||
compatible = "arm,cortex-a9-twd-timer";
|
compatible = "arm,cortex-a9-twd-timer";
|
||||||
clocks = <&mpu_periphclk>;
|
clocks = <&mpu_periphclk>;
|
||||||
reg = <0x48240600 0x20>;
|
reg = <0x48240600 0x20>;
|
||||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
|
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_EDGE_RISING)>;
|
||||||
interrupt-parent = <&gic>;
|
interrupt-parent = <&gic>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/dts-v1/;
|
/dts-v1/;
|
||||||
|
|
||||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
#include <dt-bindings/clock/qcom,gcc-msm8974.h>
|
#include <dt-bindings/clock/qcom,gcc-msm8974.h>
|
||||||
#include "skeleton.dtsi"
|
#include "skeleton.dtsi"
|
||||||
|
|
||||||
@@ -460,8 +460,6 @@
|
|||||||
clock-names = "core", "iface";
|
clock-names = "core", "iface";
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
|
|
||||||
dma-names = "tx", "rx";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
spmi_bus: spmi@fc4cf000 {
|
spmi_bus: spmi@fc4cf000 {
|
||||||
@@ -479,16 +477,6 @@
|
|||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
#interrupt-cells = <4>;
|
#interrupt-cells = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
blsp2_dma: dma-controller@f9944000 {
|
|
||||||
compatible = "qcom,bam-v1.4.0";
|
|
||||||
reg = <0xf9944000 0x19000>;
|
|
||||||
interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
clocks = <&gcc GCC_BLSP2_AHB_CLK>;
|
|
||||||
clock-names = "bam_clk";
|
|
||||||
#dma-cells = <1>;
|
|
||||||
qcom,ee = <0>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
smd {
|
smd {
|
||||||
|
@@ -661,6 +661,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
&pcie_bus_clk {
|
&pcie_bus_clk {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -143,19 +143,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
&pfc {
|
&pfc {
|
||||||
pinctrl-0 = <&scif_clk_pins>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
|
|
||||||
scif0_pins: serial0 {
|
scif0_pins: serial0 {
|
||||||
renesas,groups = "scif0_data_d";
|
renesas,groups = "scif0_data_d";
|
||||||
renesas,function = "scif0";
|
renesas,function = "scif0";
|
||||||
};
|
};
|
||||||
|
|
||||||
scif_clk_pins: scif_clk {
|
|
||||||
renesas,groups = "scif_clk";
|
|
||||||
renesas,function = "scif_clk";
|
|
||||||
};
|
|
||||||
|
|
||||||
ether_pins: ether {
|
ether_pins: ether {
|
||||||
renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
|
renesas,groups = "eth_link", "eth_mdio", "eth_rmii";
|
||||||
renesas,function = "eth";
|
renesas,function = "eth";
|
||||||
@@ -229,11 +221,6 @@
|
|||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&scif_clk {
|
|
||||||
clock-frequency = <14745600>;
|
|
||||||
status = "okay";
|
|
||||||
};
|
|
||||||
|
|
||||||
ðer {
|
ðer {
|
||||||
pinctrl-0 = <ðer_pins &phy1_pins>;
|
pinctrl-0 = <ðer_pins &phy1_pins>;
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
@@ -414,6 +401,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
&pcie_bus_clk {
|
&pcie_bus_clk {
|
||||||
|
clock-frequency = <100000000>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1083,9 +1083,8 @@
|
|||||||
pcie_bus_clk: pcie_bus_clk {
|
pcie_bus_clk: pcie_bus_clk {
|
||||||
compatible = "fixed-clock";
|
compatible = "fixed-clock";
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
clock-frequency = <100000000>;
|
clock-frequency = <0>;
|
||||||
clock-output-names = "pcie_bus";
|
clock-output-names = "pcie_bus";
|
||||||
status = "disabled";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* External SCIF clock */
|
/* External SCIF clock */
|
||||||
@@ -1094,7 +1093,6 @@
|
|||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
/* This value must be overridden by the board. */
|
/* This value must be overridden by the board. */
|
||||||
clock-frequency = <0>;
|
clock-frequency = <0>;
|
||||||
status = "disabled";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* External USB clock - can be overridden by the board */
|
/* External USB clock - can be overridden by the board */
|
||||||
@@ -1112,7 +1110,6 @@
|
|||||||
/* This value must be overridden by the board. */
|
/* This value must be overridden by the board. */
|
||||||
clock-frequency = <0>;
|
clock-frequency = <0>;
|
||||||
clock-output-names = "can_clk";
|
clock-output-names = "can_clk";
|
||||||
status = "disabled";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Special CPG clocks */
|
/* Special CPG clocks */
|
||||||
|
@@ -63,6 +63,9 @@ CONFIG_INPUT_TOUCHSCREEN=y
|
|||||||
CONFIG_TOUCHSCREEN_BU21013=y
|
CONFIG_TOUCHSCREEN_BU21013=y
|
||||||
CONFIG_INPUT_MISC=y
|
CONFIG_INPUT_MISC=y
|
||||||
CONFIG_INPUT_AB8500_PONKEY=y
|
CONFIG_INPUT_AB8500_PONKEY=y
|
||||||
|
CONFIG_RMI4_CORE=y
|
||||||
|
CONFIG_RMI4_I2C=y
|
||||||
|
CONFIG_RMI4_F11=y
|
||||||
# CONFIG_SERIO is not set
|
# CONFIG_SERIO is not set
|
||||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||||
# CONFIG_LEGACY_PTYS is not set
|
# CONFIG_LEGACY_PTYS is not set
|
||||||
|
@@ -276,7 +276,7 @@ static inline int __attribute_const__ cpuid_feature_extract_field(u32 features,
|
|||||||
int feature = (features >> field) & 15;
|
int feature = (features >> field) & 15;
|
||||||
|
|
||||||
/* feature registers are signed values */
|
/* feature registers are signed values */
|
||||||
if (feature > 8)
|
if (feature > 7)
|
||||||
feature -= 16;
|
feature -= 16;
|
||||||
|
|
||||||
return feature;
|
return feature;
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
* This may need to be greater than __NR_last_syscall+1 in order to
|
* This may need to be greater than __NR_last_syscall+1 in order to
|
||||||
* account for the padding in the syscall table
|
* account for the padding in the syscall table
|
||||||
*/
|
*/
|
||||||
#define __NR_syscalls (392)
|
#define __NR_syscalls (396)
|
||||||
|
|
||||||
#define __ARCH_WANT_STAT64
|
#define __ARCH_WANT_STAT64
|
||||||
#define __ARCH_WANT_SYS_GETHOSTNAME
|
#define __ARCH_WANT_SYS_GETHOSTNAME
|
||||||
|
@@ -418,6 +418,8 @@
|
|||||||
#define __NR_membarrier (__NR_SYSCALL_BASE+389)
|
#define __NR_membarrier (__NR_SYSCALL_BASE+389)
|
||||||
#define __NR_mlock2 (__NR_SYSCALL_BASE+390)
|
#define __NR_mlock2 (__NR_SYSCALL_BASE+390)
|
||||||
#define __NR_copy_file_range (__NR_SYSCALL_BASE+391)
|
#define __NR_copy_file_range (__NR_SYSCALL_BASE+391)
|
||||||
|
#define __NR_preadv2 (__NR_SYSCALL_BASE+392)
|
||||||
|
#define __NR_pwritev2 (__NR_SYSCALL_BASE+393)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following SWIs are ARM private.
|
* The following SWIs are ARM private.
|
||||||
|
@@ -399,8 +399,10 @@
|
|||||||
CALL(sys_execveat)
|
CALL(sys_execveat)
|
||||||
CALL(sys_userfaultfd)
|
CALL(sys_userfaultfd)
|
||||||
CALL(sys_membarrier)
|
CALL(sys_membarrier)
|
||||||
CALL(sys_mlock2)
|
/* 390 */ CALL(sys_mlock2)
|
||||||
CALL(sys_copy_file_range)
|
CALL(sys_copy_file_range)
|
||||||
|
CALL(sys_preadv2)
|
||||||
|
CALL(sys_pwritev2)
|
||||||
#ifndef syscalls_counted
|
#ifndef syscalls_counted
|
||||||
.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
|
.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
|
||||||
#define syscalls_counted
|
#define syscalls_counted
|
||||||
|
@@ -430,11 +430,13 @@ static void __init patch_aeabi_idiv(void)
|
|||||||
pr_info("CPU: div instructions available: patching division code\n");
|
pr_info("CPU: div instructions available: patching division code\n");
|
||||||
|
|
||||||
fn_addr = ((uintptr_t)&__aeabi_uidiv) & ~1;
|
fn_addr = ((uintptr_t)&__aeabi_uidiv) & ~1;
|
||||||
|
asm ("" : "+g" (fn_addr));
|
||||||
((u32 *)fn_addr)[0] = udiv_instruction();
|
((u32 *)fn_addr)[0] = udiv_instruction();
|
||||||
((u32 *)fn_addr)[1] = bx_lr_instruction();
|
((u32 *)fn_addr)[1] = bx_lr_instruction();
|
||||||
flush_icache_range(fn_addr, fn_addr + 8);
|
flush_icache_range(fn_addr, fn_addr + 8);
|
||||||
|
|
||||||
fn_addr = ((uintptr_t)&__aeabi_idiv) & ~1;
|
fn_addr = ((uintptr_t)&__aeabi_idiv) & ~1;
|
||||||
|
asm ("" : "+g" (fn_addr));
|
||||||
((u32 *)fn_addr)[0] = sdiv_instruction();
|
((u32 *)fn_addr)[0] = sdiv_instruction();
|
||||||
((u32 *)fn_addr)[1] = bx_lr_instruction();
|
((u32 *)fn_addr)[1] = bx_lr_instruction();
|
||||||
flush_icache_range(fn_addr, fn_addr + 8);
|
flush_icache_range(fn_addr, fn_addr + 8);
|
||||||
@@ -510,7 +512,7 @@ static void __init elf_hwcap_fixup(void)
|
|||||||
*/
|
*/
|
||||||
if (cpuid_feature_extract(CPUID_EXT_ISAR3, 12) > 1 ||
|
if (cpuid_feature_extract(CPUID_EXT_ISAR3, 12) > 1 ||
|
||||||
(cpuid_feature_extract(CPUID_EXT_ISAR3, 12) == 1 &&
|
(cpuid_feature_extract(CPUID_EXT_ISAR3, 12) == 1 &&
|
||||||
cpuid_feature_extract(CPUID_EXT_ISAR3, 20) >= 3))
|
cpuid_feature_extract(CPUID_EXT_ISAR4, 20) >= 3))
|
||||||
elf_hwcap &= ~HWCAP_SWP;
|
elf_hwcap &= ~HWCAP_SWP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1061,15 +1061,27 @@ static void cpu_init_hyp_mode(void *dummy)
|
|||||||
kvm_arm_init_debug();
|
kvm_arm_init_debug();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void cpu_hyp_reinit(void)
|
||||||
|
{
|
||||||
|
if (is_kernel_in_hyp_mode()) {
|
||||||
|
/*
|
||||||
|
* cpu_init_stage2() is safe to call even if the PM
|
||||||
|
* event was cancelled before the CPU was reset.
|
||||||
|
*/
|
||||||
|
cpu_init_stage2(NULL);
|
||||||
|
} else {
|
||||||
|
if (__hyp_get_vectors() == hyp_default_vectors)
|
||||||
|
cpu_init_hyp_mode(NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int hyp_init_cpu_notify(struct notifier_block *self,
|
static int hyp_init_cpu_notify(struct notifier_block *self,
|
||||||
unsigned long action, void *cpu)
|
unsigned long action, void *cpu)
|
||||||
{
|
{
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case CPU_STARTING:
|
case CPU_STARTING:
|
||||||
case CPU_STARTING_FROZEN:
|
case CPU_STARTING_FROZEN:
|
||||||
if (__hyp_get_vectors() == hyp_default_vectors)
|
cpu_hyp_reinit();
|
||||||
cpu_init_hyp_mode(NULL);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return NOTIFY_OK;
|
return NOTIFY_OK;
|
||||||
@@ -1084,9 +1096,8 @@ static int hyp_init_cpu_pm_notifier(struct notifier_block *self,
|
|||||||
unsigned long cmd,
|
unsigned long cmd,
|
||||||
void *v)
|
void *v)
|
||||||
{
|
{
|
||||||
if (cmd == CPU_PM_EXIT &&
|
if (cmd == CPU_PM_EXIT) {
|
||||||
__hyp_get_vectors() == hyp_default_vectors) {
|
cpu_hyp_reinit();
|
||||||
cpu_init_hyp_mode(NULL);
|
|
||||||
return NOTIFY_OK;
|
return NOTIFY_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1101,10 +1112,17 @@ static void __init hyp_cpu_pm_init(void)
|
|||||||
{
|
{
|
||||||
cpu_pm_register_notifier(&hyp_init_cpu_pm_nb);
|
cpu_pm_register_notifier(&hyp_init_cpu_pm_nb);
|
||||||
}
|
}
|
||||||
|
static void __init hyp_cpu_pm_exit(void)
|
||||||
|
{
|
||||||
|
cpu_pm_unregister_notifier(&hyp_init_cpu_pm_nb);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
static inline void hyp_cpu_pm_init(void)
|
static inline void hyp_cpu_pm_init(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
static inline void hyp_cpu_pm_exit(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void teardown_common_resources(void)
|
static void teardown_common_resources(void)
|
||||||
@@ -1127,6 +1145,20 @@ static int init_subsystems(void)
|
|||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Register CPU Hotplug notifier
|
||||||
|
*/
|
||||||
|
err = register_cpu_notifier(&hyp_init_cpu_nb);
|
||||||
|
if (err) {
|
||||||
|
kvm_err("Cannot register KVM init CPU notifier (%d)\n", err);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Register CPU lower-power notifier
|
||||||
|
*/
|
||||||
|
hyp_cpu_pm_init();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Init HYP view of VGIC
|
* Init HYP view of VGIC
|
||||||
*/
|
*/
|
||||||
@@ -1166,6 +1198,8 @@ static void teardown_hyp_mode(void)
|
|||||||
free_hyp_pgds();
|
free_hyp_pgds();
|
||||||
for_each_possible_cpu(cpu)
|
for_each_possible_cpu(cpu)
|
||||||
free_page(per_cpu(kvm_arm_hyp_stack_page, cpu));
|
free_page(per_cpu(kvm_arm_hyp_stack_page, cpu));
|
||||||
|
unregister_cpu_notifier(&hyp_init_cpu_nb);
|
||||||
|
hyp_cpu_pm_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
static int init_vhe_mode(void)
|
static int init_vhe_mode(void)
|
||||||
@@ -1270,19 +1304,6 @@ static int init_hyp_mode(void)
|
|||||||
free_boot_hyp_pgd();
|
free_boot_hyp_pgd();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
cpu_notifier_register_begin();
|
|
||||||
|
|
||||||
err = __register_cpu_notifier(&hyp_init_cpu_nb);
|
|
||||||
|
|
||||||
cpu_notifier_register_done();
|
|
||||||
|
|
||||||
if (err) {
|
|
||||||
kvm_err("Cannot register HYP init CPU notifier (%d)\n", err);
|
|
||||||
goto out_err;
|
|
||||||
}
|
|
||||||
|
|
||||||
hyp_cpu_pm_init();
|
|
||||||
|
|
||||||
/* set size of VMID supported by CPU */
|
/* set size of VMID supported by CPU */
|
||||||
kvm_vmid_bits = kvm_get_vmid_bits();
|
kvm_vmid_bits = kvm_get_vmid_bits();
|
||||||
kvm_info("%d-bit VMID\n", kvm_vmid_bits);
|
kvm_info("%d-bit VMID\n", kvm_vmid_bits);
|
||||||
|
@@ -71,6 +71,7 @@ struct platform_device *__init imx_add_sdhci_esdhc_imx(
|
|||||||
if (!pdata)
|
if (!pdata)
|
||||||
pdata = &default_esdhc_pdata;
|
pdata = &default_esdhc_pdata;
|
||||||
|
|
||||||
return imx_add_platform_device(data->devid, data->id, res,
|
return imx_add_platform_device_dmamask(data->devid, data->id, res,
|
||||||
ARRAY_SIZE(res), pdata, sizeof(*pdata));
|
ARRAY_SIZE(res), pdata, sizeof(*pdata),
|
||||||
|
DMA_BIT_MASK(32));
|
||||||
}
|
}
|
||||||
|
@@ -461,7 +461,7 @@ static struct clockdomain ipu_7xx_clkdm = {
|
|||||||
.cm_inst = DRA7XX_CM_CORE_AON_IPU_INST,
|
.cm_inst = DRA7XX_CM_CORE_AON_IPU_INST,
|
||||||
.clkdm_offs = DRA7XX_CM_CORE_AON_IPU_IPU_CDOFFS,
|
.clkdm_offs = DRA7XX_CM_CORE_AON_IPU_IPU_CDOFFS,
|
||||||
.dep_bit = DRA7XX_IPU_STATDEP_SHIFT,
|
.dep_bit = DRA7XX_IPU_STATDEP_SHIFT,
|
||||||
.flags = CLKDM_CAN_HWSUP_SWSUP,
|
.flags = CLKDM_CAN_SWSUP,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct clockdomain mpu1_7xx_clkdm = {
|
static struct clockdomain mpu1_7xx_clkdm = {
|
||||||
|
@@ -669,9 +669,9 @@ void __init dra7xxx_check_revision(void)
|
|||||||
case 0:
|
case 0:
|
||||||
omap_revision = DRA722_REV_ES1_0;
|
omap_revision = DRA722_REV_ES1_0;
|
||||||
break;
|
break;
|
||||||
|
case 1:
|
||||||
default:
|
default:
|
||||||
/* If we have no new revisions */
|
omap_revision = DRA722_REV_ES2_0;
|
||||||
omap_revision = DRA722_REV_ES1_0;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@@ -368,6 +368,7 @@ void __init omap5_map_io(void)
|
|||||||
void __init dra7xx_map_io(void)
|
void __init dra7xx_map_io(void)
|
||||||
{
|
{
|
||||||
iotable_init(dra7xx_io_desc, ARRAY_SIZE(dra7xx_io_desc));
|
iotable_init(dra7xx_io_desc, ARRAY_SIZE(dra7xx_io_desc));
|
||||||
|
omap_barriers_init();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
@@ -736,7 +737,8 @@ void __init omap5_init_late(void)
|
|||||||
#ifdef CONFIG_SOC_DRA7XX
|
#ifdef CONFIG_SOC_DRA7XX
|
||||||
void __init dra7xx_init_early(void)
|
void __init dra7xx_init_early(void)
|
||||||
{
|
{
|
||||||
omap2_set_globals_tap(-1, OMAP2_L4_IO_ADDRESS(DRA7XX_TAP_BASE));
|
omap2_set_globals_tap(DRA7XX_CLASS,
|
||||||
|
OMAP2_L4_IO_ADDRESS(DRA7XX_TAP_BASE));
|
||||||
omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE));
|
omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE));
|
||||||
omap2_control_base_init();
|
omap2_control_base_init();
|
||||||
omap4_pm_init_early();
|
omap4_pm_init_early();
|
||||||
|
@@ -274,6 +274,10 @@ static inline void omap5_irq_save_context(void)
|
|||||||
*/
|
*/
|
||||||
static void irq_save_context(void)
|
static void irq_save_context(void)
|
||||||
{
|
{
|
||||||
|
/* DRA7 has no SAR to save */
|
||||||
|
if (soc_is_dra7xx())
|
||||||
|
return;
|
||||||
|
|
||||||
if (!sar_base)
|
if (!sar_base)
|
||||||
sar_base = omap4_get_sar_ram_base();
|
sar_base = omap4_get_sar_ram_base();
|
||||||
|
|
||||||
@@ -290,6 +294,9 @@ static void irq_sar_clear(void)
|
|||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
u32 offset = SAR_BACKUP_STATUS_OFFSET;
|
u32 offset = SAR_BACKUP_STATUS_OFFSET;
|
||||||
|
/* DRA7 has no SAR to save */
|
||||||
|
if (soc_is_dra7xx())
|
||||||
|
return;
|
||||||
|
|
||||||
if (soc_is_omap54xx())
|
if (soc_is_omap54xx())
|
||||||
offset = OMAP5_SAR_BACKUP_STATUS_OFFSET;
|
offset = OMAP5_SAR_BACKUP_STATUS_OFFSET;
|
||||||
|
@@ -1416,9 +1416,7 @@ static void _enable_sysc(struct omap_hwmod *oh)
|
|||||||
(sf & SYSC_HAS_CLOCKACTIVITY))
|
(sf & SYSC_HAS_CLOCKACTIVITY))
|
||||||
_set_clockactivity(oh, oh->class->sysc->clockact, &v);
|
_set_clockactivity(oh, oh->class->sysc->clockact, &v);
|
||||||
|
|
||||||
/* If the cached value is the same as the new value, skip the write */
|
_write_sysconfig(v, oh);
|
||||||
if (oh->_sysc_cache != v)
|
|
||||||
_write_sysconfig(v, oh);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set the autoidle bit only after setting the smartidle bit
|
* Set the autoidle bit only after setting the smartidle bit
|
||||||
@@ -1481,7 +1479,9 @@ static void _idle_sysc(struct omap_hwmod *oh)
|
|||||||
_set_master_standbymode(oh, idlemode, &v);
|
_set_master_standbymode(oh, idlemode, &v);
|
||||||
}
|
}
|
||||||
|
|
||||||
_write_sysconfig(v, oh);
|
/* If the cached value is the same as the new value, skip the write */
|
||||||
|
if (oh->_sysc_cache != v)
|
||||||
|
_write_sysconfig(v, oh);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -582,9 +582,11 @@ static struct omap_hwmod_ocp_if dm81xx_alwon_l3_slow__gpmc = {
|
|||||||
.user = OCP_USER_MPU,
|
.user = OCP_USER_MPU,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* USB needs udelay 1 after reset at least on hp t410, use 2 for margin */
|
||||||
static struct omap_hwmod_class_sysconfig dm81xx_usbhsotg_sysc = {
|
static struct omap_hwmod_class_sysconfig dm81xx_usbhsotg_sysc = {
|
||||||
.rev_offs = 0x0,
|
.rev_offs = 0x0,
|
||||||
.sysc_offs = 0x10,
|
.sysc_offs = 0x10,
|
||||||
|
.srst_udelay = 2,
|
||||||
.sysc_flags = SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
|
.sysc_flags = SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
|
||||||
SYSC_HAS_SOFTRESET,
|
SYSC_HAS_SOFTRESET,
|
||||||
.idlemodes = SIDLE_SMART | MSTANDBY_FORCE | MSTANDBY_SMART,
|
.idlemodes = SIDLE_SMART | MSTANDBY_FORCE | MSTANDBY_SMART,
|
||||||
|
@@ -198,7 +198,6 @@ void omap_sram_idle(void)
|
|||||||
int per_next_state = PWRDM_POWER_ON;
|
int per_next_state = PWRDM_POWER_ON;
|
||||||
int core_next_state = PWRDM_POWER_ON;
|
int core_next_state = PWRDM_POWER_ON;
|
||||||
int per_going_off;
|
int per_going_off;
|
||||||
int core_prev_state;
|
|
||||||
u32 sdrc_pwr = 0;
|
u32 sdrc_pwr = 0;
|
||||||
|
|
||||||
mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm);
|
mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm);
|
||||||
@@ -278,16 +277,20 @@ void omap_sram_idle(void)
|
|||||||
sdrc_write_reg(sdrc_pwr, SDRC_POWER);
|
sdrc_write_reg(sdrc_pwr, SDRC_POWER);
|
||||||
|
|
||||||
/* CORE */
|
/* CORE */
|
||||||
if (core_next_state < PWRDM_POWER_ON) {
|
if (core_next_state < PWRDM_POWER_ON &&
|
||||||
core_prev_state = pwrdm_read_prev_pwrst(core_pwrdm);
|
pwrdm_read_prev_pwrst(core_pwrdm) == PWRDM_POWER_OFF) {
|
||||||
if (core_prev_state == PWRDM_POWER_OFF) {
|
omap3_core_restore_context();
|
||||||
omap3_core_restore_context();
|
omap3_cm_restore_context();
|
||||||
omap3_cm_restore_context();
|
omap3_sram_restore_context();
|
||||||
omap3_sram_restore_context();
|
omap2_sms_restore_context();
|
||||||
omap2_sms_restore_context();
|
} else {
|
||||||
}
|
/*
|
||||||
|
* In off-mode resume path above, omap3_core_restore_context
|
||||||
|
* also handles the INTC autoidle restore done here so limit
|
||||||
|
* this to non-off mode resume paths so we don't do it twice.
|
||||||
|
*/
|
||||||
|
omap3_intc_resume_idle();
|
||||||
}
|
}
|
||||||
omap3_intc_resume_idle();
|
|
||||||
|
|
||||||
pwrdm_post_transition(NULL);
|
pwrdm_post_transition(NULL);
|
||||||
|
|
||||||
|
@@ -489,6 +489,7 @@ IS_OMAP_TYPE(3430, 0x3430)
|
|||||||
#define DRA752_REV_ES2_0 (DRA7XX_CLASS | (0x52 << 16) | (0x20 << 8))
|
#define DRA752_REV_ES2_0 (DRA7XX_CLASS | (0x52 << 16) | (0x20 << 8))
|
||||||
#define DRA722_REV_ES1_0 (DRA7XX_CLASS | (0x22 << 16) | (0x10 << 8))
|
#define DRA722_REV_ES1_0 (DRA7XX_CLASS | (0x22 << 16) | (0x10 << 8))
|
||||||
#define DRA722_REV_ES1_0 (DRA7XX_CLASS | (0x22 << 16) | (0x10 << 8))
|
#define DRA722_REV_ES1_0 (DRA7XX_CLASS | (0x22 << 16) | (0x10 << 8))
|
||||||
|
#define DRA722_REV_ES2_0 (DRA7XX_CLASS | (0x22 << 16) | (0x20 << 8))
|
||||||
|
|
||||||
void omap2xxx_check_revision(void);
|
void omap2xxx_check_revision(void);
|
||||||
void omap3xxx_check_revision(void);
|
void omap3xxx_check_revision(void);
|
||||||
|
@@ -1235,5 +1235,6 @@ static struct platform_device pxa2xx_pxa_dma = {
|
|||||||
void __init pxa2xx_set_dmac_info(int nb_channels, int nb_requestors)
|
void __init pxa2xx_set_dmac_info(int nb_channels, int nb_requestors)
|
||||||
{
|
{
|
||||||
pxa_dma_pdata.dma_channels = nb_channels;
|
pxa_dma_pdata.dma_channels = nb_channels;
|
||||||
|
pxa_dma_pdata.nb_requestors = nb_requestors;
|
||||||
pxa_register_device(&pxa2xx_pxa_dma, &pxa_dma_pdata);
|
pxa_register_device(&pxa2xx_pxa_dma, &pxa_dma_pdata);
|
||||||
}
|
}
|
||||||
|
@@ -61,10 +61,7 @@ config SA1100_H3100
|
|||||||
select MFD_IPAQ_MICRO
|
select MFD_IPAQ_MICRO
|
||||||
help
|
help
|
||||||
Say Y here if you intend to run this kernel on the Compaq iPAQ
|
Say Y here if you intend to run this kernel on the Compaq iPAQ
|
||||||
H3100 handheld computer. Information about this machine and the
|
H3100 handheld computer.
|
||||||
Linux port to this machine can be found at:
|
|
||||||
|
|
||||||
<http://www.handhelds.org/Compaq/index.html#iPAQ_H3100>
|
|
||||||
|
|
||||||
config SA1100_H3600
|
config SA1100_H3600
|
||||||
bool "Compaq iPAQ H3600/H3700"
|
bool "Compaq iPAQ H3600/H3700"
|
||||||
@@ -73,10 +70,7 @@ config SA1100_H3600
|
|||||||
select MFD_IPAQ_MICRO
|
select MFD_IPAQ_MICRO
|
||||||
help
|
help
|
||||||
Say Y here if you intend to run this kernel on the Compaq iPAQ
|
Say Y here if you intend to run this kernel on the Compaq iPAQ
|
||||||
H3600 handheld computer. Information about this machine and the
|
H3600 and H3700 handheld computers.
|
||||||
Linux port to this machine can be found at:
|
|
||||||
|
|
||||||
<http://www.handhelds.org/Compaq/index.html#iPAQ_H3600>
|
|
||||||
|
|
||||||
config SA1100_BADGE4
|
config SA1100_BADGE4
|
||||||
bool "HP Labs BadgePAD 4"
|
bool "HP Labs BadgePAD 4"
|
||||||
|
@@ -40,8 +40,7 @@ static void __init shmobile_setup_delay_hz(unsigned int max_cpu_core_hz,
|
|||||||
void __init shmobile_init_delay(void)
|
void __init shmobile_init_delay(void)
|
||||||
{
|
{
|
||||||
struct device_node *np, *cpus;
|
struct device_node *np, *cpus;
|
||||||
bool is_a7_a8_a9 = false;
|
unsigned int div = 0;
|
||||||
bool is_a15 = false;
|
|
||||||
bool has_arch_timer = false;
|
bool has_arch_timer = false;
|
||||||
u32 max_freq = 0;
|
u32 max_freq = 0;
|
||||||
|
|
||||||
@@ -55,27 +54,22 @@ void __init shmobile_init_delay(void)
|
|||||||
if (!of_property_read_u32(np, "clock-frequency", &freq))
|
if (!of_property_read_u32(np, "clock-frequency", &freq))
|
||||||
max_freq = max(max_freq, freq);
|
max_freq = max(max_freq, freq);
|
||||||
|
|
||||||
if (of_device_is_compatible(np, "arm,cortex-a8") ||
|
if (of_device_is_compatible(np, "arm,cortex-a8")) {
|
||||||
of_device_is_compatible(np, "arm,cortex-a9")) {
|
div = 2;
|
||||||
is_a7_a8_a9 = true;
|
} else if (of_device_is_compatible(np, "arm,cortex-a9")) {
|
||||||
} else if (of_device_is_compatible(np, "arm,cortex-a7")) {
|
div = 1;
|
||||||
is_a7_a8_a9 = true;
|
} else if (of_device_is_compatible(np, "arm,cortex-a7") ||
|
||||||
has_arch_timer = true;
|
of_device_is_compatible(np, "arm,cortex-a15")) {
|
||||||
} else if (of_device_is_compatible(np, "arm,cortex-a15")) {
|
div = 1;
|
||||||
is_a15 = true;
|
|
||||||
has_arch_timer = true;
|
has_arch_timer = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
of_node_put(cpus);
|
of_node_put(cpus);
|
||||||
|
|
||||||
if (!max_freq)
|
if (!max_freq || !div)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!has_arch_timer || !IS_ENABLED(CONFIG_ARM_ARCH_TIMER)) {
|
if (!has_arch_timer || !IS_ENABLED(CONFIG_ARM_ARCH_TIMER))
|
||||||
if (is_a7_a8_a9)
|
shmobile_setup_delay_hz(max_freq, 1, div);
|
||||||
shmobile_setup_delay_hz(max_freq, 1, 3);
|
|
||||||
else if (is_a15)
|
|
||||||
shmobile_setup_delay_hz(max_freq, 2, 4);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -120,7 +120,7 @@ static int __init uniphier_smp_prepare_trampoline(unsigned int max_cpus)
|
|||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
uniphier_smp_rom_boot_rsv2 = ioremap(rom_rsv2_phys, sizeof(SZ_4));
|
uniphier_smp_rom_boot_rsv2 = ioremap(rom_rsv2_phys, SZ_4);
|
||||||
if (!uniphier_smp_rom_boot_rsv2) {
|
if (!uniphier_smp_rom_boot_rsv2) {
|
||||||
pr_err("failed to map ROM_BOOT_RSV2 register\n");
|
pr_err("failed to map ROM_BOOT_RSV2 register\n");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
@@ -762,7 +762,8 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,
|
|||||||
if (!mask)
|
if (!mask)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
buf = kzalloc(sizeof(*buf), gfp);
|
buf = kzalloc(sizeof(*buf),
|
||||||
|
gfp & ~(__GFP_DMA | __GFP_DMA32 | __GFP_HIGHMEM));
|
||||||
if (!buf)
|
if (!buf)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@@ -235,7 +235,7 @@ void __flush_dcache_page(struct address_space *mapping, struct page *page)
|
|||||||
*/
|
*/
|
||||||
if (mapping && cache_is_vipt_aliasing())
|
if (mapping && cache_is_vipt_aliasing())
|
||||||
flush_pfn_alias(page_to_pfn(page),
|
flush_pfn_alias(page_to_pfn(page),
|
||||||
page->index << PAGE_CACHE_SHIFT);
|
page->index << PAGE_SHIFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __flush_dcache_aliases(struct address_space *mapping, struct page *page)
|
static void __flush_dcache_aliases(struct address_space *mapping, struct page *page)
|
||||||
@@ -250,7 +250,7 @@ static void __flush_dcache_aliases(struct address_space *mapping, struct page *p
|
|||||||
* data in the current VM view associated with this page.
|
* data in the current VM view associated with this page.
|
||||||
* - aliasing VIPT: we only need to find one mapping of this page.
|
* - aliasing VIPT: we only need to find one mapping of this page.
|
||||||
*/
|
*/
|
||||||
pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
|
pgoff = page->index;
|
||||||
|
|
||||||
flush_dcache_mmap_lock(mapping);
|
flush_dcache_mmap_lock(mapping);
|
||||||
vma_interval_tree_foreach(mpnt, &mapping->i_mmap, pgoff, pgoff) {
|
vma_interval_tree_foreach(mpnt, &mapping->i_mmap, pgoff, pgoff) {
|
||||||
|
@@ -281,12 +281,12 @@ __v7_ca17mp_setup:
|
|||||||
bl v7_invalidate_l1
|
bl v7_invalidate_l1
|
||||||
ldmia r12, {r1-r6, lr}
|
ldmia r12, {r1-r6, lr}
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
|
orr r10, r10, #(1 << 6) @ Enable SMP/nAMP mode
|
||||||
ALT_SMP(mrc p15, 0, r0, c1, c0, 1)
|
ALT_SMP(mrc p15, 0, r0, c1, c0, 1)
|
||||||
ALT_UP(mov r0, #(1 << 6)) @ fake it for UP
|
ALT_UP(mov r0, r10) @ fake it for UP
|
||||||
tst r0, #(1 << 6) @ SMP/nAMP mode enabled?
|
orr r10, r10, r0 @ Set required bits
|
||||||
orreq r0, r0, #(1 << 6) @ Enable SMP/nAMP mode
|
teq r10, r0 @ Were they already set?
|
||||||
orreq r0, r0, r10 @ Enable CPU-specific SMP bits
|
mcrne p15, 0, r10, c1, c0, 1 @ No, update register
|
||||||
mcreq p15, 0, r0, c1, c0, 1
|
|
||||||
#endif
|
#endif
|
||||||
b __v7_setup_cont
|
b __v7_setup_cont
|
||||||
|
|
||||||
|
@@ -108,12 +108,15 @@
|
|||||||
reg = <0x0 0x30000000 0x0 0x10000000>;
|
reg = <0x0 0x30000000 0x0 0x10000000>;
|
||||||
reg-names = "PCI ECAM";
|
reg-names = "PCI ECAM";
|
||||||
|
|
||||||
/* IO 0x4000_0000 - 0x4001_0000 */
|
/*
|
||||||
ranges = <0x01000000 0 0x40000000 0 0x40000000 0 0x00010000
|
* PCI ranges:
|
||||||
/* MEM 0x4800_0000 - 0x5000_0000 */
|
* IO no supported
|
||||||
0x02000000 0 0x48000000 0 0x48000000 0 0x08000000
|
* MEM 0x4000_0000 - 0x6000_0000
|
||||||
/* MEM64 pref 0x6_0000_0000 - 0x7_0000_0000 */
|
* MEM64 pref 0x40_0000_0000 - 0x60_0000_0000
|
||||||
0x43000000 6 0x00000000 6 0x00000000 1 0x00000000>;
|
*/
|
||||||
|
ranges =
|
||||||
|
<0x02000000 0 0x40000000 0 0x40000000 0 0x20000000
|
||||||
|
0x43000000 0x40 0x00000000 0x40 0x00000000 0x20 0x00000000>;
|
||||||
interrupt-map-mask = <0 0 0 7>;
|
interrupt-map-mask = <0 0 0 7>;
|
||||||
interrupt-map =
|
interrupt-map =
|
||||||
/* addr pin ic icaddr icintr */
|
/* addr pin ic icaddr icintr */
|
||||||
|
@@ -70,7 +70,6 @@
|
|||||||
i2c3 = &i2c3;
|
i2c3 = &i2c3;
|
||||||
i2c4 = &i2c4;
|
i2c4 = &i2c4;
|
||||||
i2c5 = &i2c5;
|
i2c5 = &i2c5;
|
||||||
i2c6 = &i2c6;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -201,15 +201,12 @@
|
|||||||
|
|
||||||
i2c2: i2c@58782000 {
|
i2c2: i2c@58782000 {
|
||||||
compatible = "socionext,uniphier-fi2c";
|
compatible = "socionext,uniphier-fi2c";
|
||||||
status = "disabled";
|
|
||||||
reg = <0x58782000 0x80>;
|
reg = <0x58782000 0x80>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <0 43 4>;
|
interrupts = <0 43 4>;
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&pinctrl_i2c2>;
|
|
||||||
clocks = <&i2c_clk>;
|
clocks = <&i2c_clk>;
|
||||||
clock-frequency = <100000>;
|
clock-frequency = <400000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
i2c3: i2c@58783000 {
|
i2c3: i2c@58783000 {
|
||||||
@@ -227,12 +224,15 @@
|
|||||||
|
|
||||||
i2c4: i2c@58784000 {
|
i2c4: i2c@58784000 {
|
||||||
compatible = "socionext,uniphier-fi2c";
|
compatible = "socionext,uniphier-fi2c";
|
||||||
|
status = "disabled";
|
||||||
reg = <0x58784000 0x80>;
|
reg = <0x58784000 0x80>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
interrupts = <0 45 4>;
|
interrupts = <0 45 4>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pinctrl_i2c4>;
|
||||||
clocks = <&i2c_clk>;
|
clocks = <&i2c_clk>;
|
||||||
clock-frequency = <400000>;
|
clock-frequency = <100000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
i2c5: i2c@58785000 {
|
i2c5: i2c@58785000 {
|
||||||
@@ -245,16 +245,6 @@
|
|||||||
clock-frequency = <400000>;
|
clock-frequency = <400000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
i2c6: i2c@58786000 {
|
|
||||||
compatible = "socionext,uniphier-fi2c";
|
|
||||||
reg = <0x58786000 0x80>;
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
interrupts = <0 26 4>;
|
|
||||||
clocks = <&i2c_clk>;
|
|
||||||
clock-frequency = <400000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
system_bus: system-bus@58c00000 {
|
system_bus: system-bus@58c00000 {
|
||||||
compatible = "socionext,uniphier-system-bus";
|
compatible = "socionext,uniphier-system-bus";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
@@ -68,11 +68,13 @@ CONFIG_KSM=y
|
|||||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||||
CONFIG_CMA=y
|
CONFIG_CMA=y
|
||||||
CONFIG_XEN=y
|
CONFIG_XEN=y
|
||||||
CONFIG_CMDLINE="console=ttyAMA0"
|
|
||||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||||
CONFIG_COMPAT=y
|
CONFIG_COMPAT=y
|
||||||
CONFIG_CPU_IDLE=y
|
CONFIG_CPU_IDLE=y
|
||||||
CONFIG_ARM_CPUIDLE=y
|
CONFIG_ARM_CPUIDLE=y
|
||||||
|
CONFIG_CPU_FREQ=y
|
||||||
|
CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
|
||||||
|
CONFIG_ARM_SCPI_CPUFREQ=y
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
CONFIG_PACKET=y
|
CONFIG_PACKET=y
|
||||||
CONFIG_UNIX=y
|
CONFIG_UNIX=y
|
||||||
@@ -80,7 +82,6 @@ CONFIG_INET=y
|
|||||||
CONFIG_IP_PNP=y
|
CONFIG_IP_PNP=y
|
||||||
CONFIG_IP_PNP_DHCP=y
|
CONFIG_IP_PNP_DHCP=y
|
||||||
CONFIG_IP_PNP_BOOTP=y
|
CONFIG_IP_PNP_BOOTP=y
|
||||||
# CONFIG_INET_LRO is not set
|
|
||||||
# CONFIG_IPV6 is not set
|
# CONFIG_IPV6 is not set
|
||||||
CONFIG_BPF_JIT=y
|
CONFIG_BPF_JIT=y
|
||||||
# CONFIG_WIRELESS is not set
|
# CONFIG_WIRELESS is not set
|
||||||
@@ -144,16 +145,18 @@ CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
|
|||||||
CONFIG_SERIAL_MVEBU_UART=y
|
CONFIG_SERIAL_MVEBU_UART=y
|
||||||
CONFIG_VIRTIO_CONSOLE=y
|
CONFIG_VIRTIO_CONSOLE=y
|
||||||
# CONFIG_HW_RANDOM is not set
|
# CONFIG_HW_RANDOM is not set
|
||||||
CONFIG_I2C=y
|
|
||||||
CONFIG_I2C_CHARDEV=y
|
CONFIG_I2C_CHARDEV=y
|
||||||
|
CONFIG_I2C_DESIGNWARE_PLATFORM=y
|
||||||
CONFIG_I2C_MV64XXX=y
|
CONFIG_I2C_MV64XXX=y
|
||||||
CONFIG_I2C_QUP=y
|
CONFIG_I2C_QUP=y
|
||||||
|
CONFIG_I2C_TEGRA=y
|
||||||
CONFIG_I2C_UNIPHIER_F=y
|
CONFIG_I2C_UNIPHIER_F=y
|
||||||
CONFIG_I2C_RCAR=y
|
CONFIG_I2C_RCAR=y
|
||||||
CONFIG_SPI=y
|
CONFIG_SPI=y
|
||||||
CONFIG_SPI_PL022=y
|
CONFIG_SPI_PL022=y
|
||||||
CONFIG_SPI_QUP=y
|
CONFIG_SPI_QUP=y
|
||||||
CONFIG_SPMI=y
|
CONFIG_SPMI=y
|
||||||
|
CONFIG_PINCTRL_SINGLE=y
|
||||||
CONFIG_PINCTRL_MSM8916=y
|
CONFIG_PINCTRL_MSM8916=y
|
||||||
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
|
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
|
||||||
CONFIG_GPIO_SYSFS=y
|
CONFIG_GPIO_SYSFS=y
|
||||||
@@ -196,6 +199,7 @@ CONFIG_USB_EHCI_HCD_PLATFORM=y
|
|||||||
CONFIG_USB_OHCI_HCD=y
|
CONFIG_USB_OHCI_HCD=y
|
||||||
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
||||||
CONFIG_USB_STORAGE=y
|
CONFIG_USB_STORAGE=y
|
||||||
|
CONFIG_USB_DWC2=y
|
||||||
CONFIG_USB_CHIPIDEA=y
|
CONFIG_USB_CHIPIDEA=y
|
||||||
CONFIG_USB_CHIPIDEA_UDC=y
|
CONFIG_USB_CHIPIDEA_UDC=y
|
||||||
CONFIG_USB_CHIPIDEA_HOST=y
|
CONFIG_USB_CHIPIDEA_HOST=y
|
||||||
@@ -205,19 +209,20 @@ CONFIG_USB_MSM_OTG=y
|
|||||||
CONFIG_USB_ULPI=y
|
CONFIG_USB_ULPI=y
|
||||||
CONFIG_USB_GADGET=y
|
CONFIG_USB_GADGET=y
|
||||||
CONFIG_MMC=y
|
CONFIG_MMC=y
|
||||||
CONFIG_MMC_BLOCK_MINORS=16
|
CONFIG_MMC_BLOCK_MINORS=32
|
||||||
CONFIG_MMC_ARMMMCI=y
|
CONFIG_MMC_ARMMMCI=y
|
||||||
CONFIG_MMC_SDHCI=y
|
CONFIG_MMC_SDHCI=y
|
||||||
CONFIG_MMC_SDHCI_PLTFM=y
|
CONFIG_MMC_SDHCI_PLTFM=y
|
||||||
CONFIG_MMC_SDHCI_TEGRA=y
|
CONFIG_MMC_SDHCI_TEGRA=y
|
||||||
CONFIG_MMC_SDHCI_MSM=y
|
CONFIG_MMC_SDHCI_MSM=y
|
||||||
CONFIG_MMC_SPI=y
|
CONFIG_MMC_SPI=y
|
||||||
CONFIG_MMC_SUNXI=y
|
|
||||||
CONFIG_MMC_DW=y
|
CONFIG_MMC_DW=y
|
||||||
CONFIG_MMC_DW_EXYNOS=y
|
CONFIG_MMC_DW_EXYNOS=y
|
||||||
CONFIG_MMC_BLOCK_MINORS=16
|
CONFIG_MMC_DW_K3=y
|
||||||
|
CONFIG_MMC_SUNXI=y
|
||||||
CONFIG_NEW_LEDS=y
|
CONFIG_NEW_LEDS=y
|
||||||
CONFIG_LEDS_CLASS=y
|
CONFIG_LEDS_CLASS=y
|
||||||
|
CONFIG_LEDS_GPIO=y
|
||||||
CONFIG_LEDS_SYSCON=y
|
CONFIG_LEDS_SYSCON=y
|
||||||
CONFIG_LEDS_TRIGGERS=y
|
CONFIG_LEDS_TRIGGERS=y
|
||||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||||
@@ -229,8 +234,8 @@ CONFIG_RTC_DRV_PL031=y
|
|||||||
CONFIG_RTC_DRV_SUN6I=y
|
CONFIG_RTC_DRV_SUN6I=y
|
||||||
CONFIG_RTC_DRV_XGENE=y
|
CONFIG_RTC_DRV_XGENE=y
|
||||||
CONFIG_DMADEVICES=y
|
CONFIG_DMADEVICES=y
|
||||||
CONFIG_QCOM_BAM_DMA=y
|
|
||||||
CONFIG_TEGRA20_APB_DMA=y
|
CONFIG_TEGRA20_APB_DMA=y
|
||||||
|
CONFIG_QCOM_BAM_DMA=y
|
||||||
CONFIG_RCAR_DMAC=y
|
CONFIG_RCAR_DMAC=y
|
||||||
CONFIG_VFIO=y
|
CONFIG_VFIO=y
|
||||||
CONFIG_VFIO_PCI=y
|
CONFIG_VFIO_PCI=y
|
||||||
@@ -239,20 +244,26 @@ CONFIG_VIRTIO_BALLOON=y
|
|||||||
CONFIG_VIRTIO_MMIO=y
|
CONFIG_VIRTIO_MMIO=y
|
||||||
CONFIG_XEN_GNTDEV=y
|
CONFIG_XEN_GNTDEV=y
|
||||||
CONFIG_XEN_GRANT_DEV_ALLOC=y
|
CONFIG_XEN_GRANT_DEV_ALLOC=y
|
||||||
|
CONFIG_COMMON_CLK_SCPI=y
|
||||||
CONFIG_COMMON_CLK_CS2000_CP=y
|
CONFIG_COMMON_CLK_CS2000_CP=y
|
||||||
CONFIG_COMMON_CLK_QCOM=y
|
CONFIG_COMMON_CLK_QCOM=y
|
||||||
CONFIG_MSM_GCC_8916=y
|
CONFIG_MSM_GCC_8916=y
|
||||||
CONFIG_HWSPINLOCK_QCOM=y
|
CONFIG_HWSPINLOCK_QCOM=y
|
||||||
|
CONFIG_MAILBOX=y
|
||||||
|
CONFIG_ARM_MHU=y
|
||||||
|
CONFIG_HI6220_MBOX=y
|
||||||
CONFIG_ARM_SMMU=y
|
CONFIG_ARM_SMMU=y
|
||||||
CONFIG_QCOM_SMEM=y
|
CONFIG_QCOM_SMEM=y
|
||||||
CONFIG_QCOM_SMD=y
|
CONFIG_QCOM_SMD=y
|
||||||
CONFIG_QCOM_SMD_RPM=y
|
CONFIG_QCOM_SMD_RPM=y
|
||||||
CONFIG_ARCH_TEGRA_132_SOC=y
|
CONFIG_ARCH_TEGRA_132_SOC=y
|
||||||
CONFIG_ARCH_TEGRA_210_SOC=y
|
CONFIG_ARCH_TEGRA_210_SOC=y
|
||||||
CONFIG_HISILICON_IRQ_MBIGEN=y
|
|
||||||
CONFIG_EXTCON_USB_GPIO=y
|
CONFIG_EXTCON_USB_GPIO=y
|
||||||
|
CONFIG_COMMON_RESET_HI6220=y
|
||||||
CONFIG_PHY_RCAR_GEN3_USB2=y
|
CONFIG_PHY_RCAR_GEN3_USB2=y
|
||||||
|
CONFIG_PHY_HI6220_USB=y
|
||||||
CONFIG_PHY_XGENE=y
|
CONFIG_PHY_XGENE=y
|
||||||
|
CONFIG_ARM_SCPI_PROTOCOL=y
|
||||||
CONFIG_EXT2_FS=y
|
CONFIG_EXT2_FS=y
|
||||||
CONFIG_EXT3_FS=y
|
CONFIG_EXT3_FS=y
|
||||||
CONFIG_FANOTIFY=y
|
CONFIG_FANOTIFY=y
|
||||||
@@ -264,6 +275,7 @@ CONFIG_CUSE=y
|
|||||||
CONFIG_VFAT_FS=y
|
CONFIG_VFAT_FS=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
CONFIG_HUGETLBFS=y
|
CONFIG_HUGETLBFS=y
|
||||||
|
CONFIG_CONFIGFS_FS=y
|
||||||
CONFIG_EFIVAR_FS=y
|
CONFIG_EFIVAR_FS=y
|
||||||
CONFIG_SQUASHFS=y
|
CONFIG_SQUASHFS=y
|
||||||
CONFIG_NFS_FS=y
|
CONFIG_NFS_FS=y
|
||||||
|
@@ -124,7 +124,9 @@
|
|||||||
#define VTCR_EL2_SL0_LVL1 (1 << 6)
|
#define VTCR_EL2_SL0_LVL1 (1 << 6)
|
||||||
#define VTCR_EL2_T0SZ_MASK 0x3f
|
#define VTCR_EL2_T0SZ_MASK 0x3f
|
||||||
#define VTCR_EL2_T0SZ_40B 24
|
#define VTCR_EL2_T0SZ_40B 24
|
||||||
#define VTCR_EL2_VS 19
|
#define VTCR_EL2_VS_SHIFT 19
|
||||||
|
#define VTCR_EL2_VS_8BIT (0 << VTCR_EL2_VS_SHIFT)
|
||||||
|
#define VTCR_EL2_VS_16BIT (1 << VTCR_EL2_VS_SHIFT)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We configure the Stage-2 page tables to always restrict the IPA space to be
|
* We configure the Stage-2 page tables to always restrict the IPA space to be
|
||||||
@@ -149,8 +151,7 @@
|
|||||||
*/
|
*/
|
||||||
#define VTCR_EL2_FLAGS (VTCR_EL2_TG0_64K | VTCR_EL2_SH0_INNER | \
|
#define VTCR_EL2_FLAGS (VTCR_EL2_TG0_64K | VTCR_EL2_SH0_INNER | \
|
||||||
VTCR_EL2_ORGN0_WBWA | VTCR_EL2_IRGN0_WBWA | \
|
VTCR_EL2_ORGN0_WBWA | VTCR_EL2_IRGN0_WBWA | \
|
||||||
VTCR_EL2_SL0_LVL1 | VTCR_EL2_T0SZ_40B | \
|
VTCR_EL2_SL0_LVL1 | VTCR_EL2_RES1)
|
||||||
VTCR_EL2_RES1)
|
|
||||||
#define VTTBR_X (38 - VTCR_EL2_T0SZ_40B)
|
#define VTTBR_X (38 - VTCR_EL2_T0SZ_40B)
|
||||||
#else
|
#else
|
||||||
/*
|
/*
|
||||||
@@ -161,8 +162,7 @@
|
|||||||
*/
|
*/
|
||||||
#define VTCR_EL2_FLAGS (VTCR_EL2_TG0_4K | VTCR_EL2_SH0_INNER | \
|
#define VTCR_EL2_FLAGS (VTCR_EL2_TG0_4K | VTCR_EL2_SH0_INNER | \
|
||||||
VTCR_EL2_ORGN0_WBWA | VTCR_EL2_IRGN0_WBWA | \
|
VTCR_EL2_ORGN0_WBWA | VTCR_EL2_IRGN0_WBWA | \
|
||||||
VTCR_EL2_SL0_LVL1 | VTCR_EL2_T0SZ_40B | \
|
VTCR_EL2_SL0_LVL1 | VTCR_EL2_RES1)
|
||||||
VTCR_EL2_RES1)
|
|
||||||
#define VTTBR_X (37 - VTCR_EL2_T0SZ_40B)
|
#define VTTBR_X (37 - VTCR_EL2_T0SZ_40B)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -54,7 +54,7 @@ extern void __vgic_v3_init_lrs(void);
|
|||||||
|
|
||||||
extern u32 __kvm_get_mdcr_el2(void);
|
extern u32 __kvm_get_mdcr_el2(void);
|
||||||
|
|
||||||
extern void __init_stage2_translation(void);
|
extern u32 __init_stage2_translation(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -27,7 +27,6 @@
|
|||||||
#include <asm/kvm.h>
|
#include <asm/kvm.h>
|
||||||
#include <asm/kvm_asm.h>
|
#include <asm/kvm_asm.h>
|
||||||
#include <asm/kvm_mmio.h>
|
#include <asm/kvm_mmio.h>
|
||||||
#include <asm/kvm_perf_event.h>
|
|
||||||
|
|
||||||
#define __KVM_HAVE_ARCH_INTC_INITIALIZED
|
#define __KVM_HAVE_ARCH_INTC_INITIALIZED
|
||||||
|
|
||||||
@@ -370,11 +369,12 @@ int kvm_arm_vcpu_arch_get_attr(struct kvm_vcpu *vcpu,
|
|||||||
int kvm_arm_vcpu_arch_has_attr(struct kvm_vcpu *vcpu,
|
int kvm_arm_vcpu_arch_has_attr(struct kvm_vcpu *vcpu,
|
||||||
struct kvm_device_attr *attr);
|
struct kvm_device_attr *attr);
|
||||||
|
|
||||||
/* #define kvm_call_hyp(f, ...) __kvm_call_hyp(kvm_ksym_ref(f), ##__VA_ARGS__) */
|
|
||||||
|
|
||||||
static inline void __cpu_init_stage2(void)
|
static inline void __cpu_init_stage2(void)
|
||||||
{
|
{
|
||||||
kvm_call_hyp(__init_stage2_translation);
|
u32 parange = kvm_call_hyp(__init_stage2_translation);
|
||||||
|
|
||||||
|
WARN_ONCE(parange < 40,
|
||||||
|
"PARange is %d bits, unsupported configuration!", parange);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* __ARM64_KVM_HOST_H__ */
|
#endif /* __ARM64_KVM_HOST_H__ */
|
||||||
|
@@ -21,7 +21,6 @@
|
|||||||
#include <linux/compiler.h>
|
#include <linux/compiler.h>
|
||||||
#include <linux/kvm_host.h>
|
#include <linux/kvm_host.h>
|
||||||
#include <asm/kvm_mmu.h>
|
#include <asm/kvm_mmu.h>
|
||||||
#include <asm/kvm_perf_event.h>
|
|
||||||
#include <asm/sysreg.h>
|
#include <asm/sysreg.h>
|
||||||
|
|
||||||
#define __hyp_text __section(.hyp.text) notrace
|
#define __hyp_text __section(.hyp.text) notrace
|
||||||
|
@@ -1,68 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2012 ARM Ltd.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __ASM_KVM_PERF_EVENT_H
|
|
||||||
#define __ASM_KVM_PERF_EVENT_H
|
|
||||||
|
|
||||||
#define ARMV8_PMU_MAX_COUNTERS 32
|
|
||||||
#define ARMV8_PMU_COUNTER_MASK (ARMV8_PMU_MAX_COUNTERS - 1)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Per-CPU PMCR: config reg
|
|
||||||
*/
|
|
||||||
#define ARMV8_PMU_PMCR_E (1 << 0) /* Enable all counters */
|
|
||||||
#define ARMV8_PMU_PMCR_P (1 << 1) /* Reset all counters */
|
|
||||||
#define ARMV8_PMU_PMCR_C (1 << 2) /* Cycle counter reset */
|
|
||||||
#define ARMV8_PMU_PMCR_D (1 << 3) /* CCNT counts every 64th cpu cycle */
|
|
||||||
#define ARMV8_PMU_PMCR_X (1 << 4) /* Export to ETM */
|
|
||||||
#define ARMV8_PMU_PMCR_DP (1 << 5) /* Disable CCNT if non-invasive debug*/
|
|
||||||
/* Determines which bit of PMCCNTR_EL0 generates an overflow */
|
|
||||||
#define ARMV8_PMU_PMCR_LC (1 << 6)
|
|
||||||
#define ARMV8_PMU_PMCR_N_SHIFT 11 /* Number of counters supported */
|
|
||||||
#define ARMV8_PMU_PMCR_N_MASK 0x1f
|
|
||||||
#define ARMV8_PMU_PMCR_MASK 0x7f /* Mask for writable bits */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PMOVSR: counters overflow flag status reg
|
|
||||||
*/
|
|
||||||
#define ARMV8_PMU_OVSR_MASK 0xffffffff /* Mask for writable bits */
|
|
||||||
#define ARMV8_PMU_OVERFLOWED_MASK ARMV8_PMU_OVSR_MASK
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PMXEVTYPER: Event selection reg
|
|
||||||
*/
|
|
||||||
#define ARMV8_PMU_EVTYPE_MASK 0xc80003ff /* Mask for writable bits */
|
|
||||||
#define ARMV8_PMU_EVTYPE_EVENT 0x3ff /* Mask for EVENT bits */
|
|
||||||
|
|
||||||
#define ARMV8_PMU_EVTYPE_EVENT_SW_INCR 0 /* Software increment event */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Event filters for PMUv3
|
|
||||||
*/
|
|
||||||
#define ARMV8_PMU_EXCLUDE_EL1 (1 << 31)
|
|
||||||
#define ARMV8_PMU_EXCLUDE_EL0 (1 << 30)
|
|
||||||
#define ARMV8_PMU_INCLUDE_EL2 (1 << 27)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PMUSERENR: user enable reg
|
|
||||||
*/
|
|
||||||
#define ARMV8_PMU_USERENR_MASK 0xf /* Mask for writable bits */
|
|
||||||
#define ARMV8_PMU_USERENR_EN (1 << 0) /* PMU regs can be accessed at EL0 */
|
|
||||||
#define ARMV8_PMU_USERENR_SW (1 << 1) /* PMSWINC can be written at EL0 */
|
|
||||||
#define ARMV8_PMU_USERENR_CR (1 << 2) /* Cycle counter can be read at EL0 */
|
|
||||||
#define ARMV8_PMU_USERENR_ER (1 << 3) /* Event counter can be read at EL0 */
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1 +1,5 @@
|
|||||||
|
#ifdef CONFIG_CPU_BIG_ENDIAN
|
||||||
|
#define CONFIG_CPU_ENDIAN_BE8 CONFIG_CPU_BIG_ENDIAN
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <../../arm/include/asm/opcodes.h>
|
#include <../../arm/include/asm/opcodes.h>
|
||||||
|
@@ -17,6 +17,53 @@
|
|||||||
#ifndef __ASM_PERF_EVENT_H
|
#ifndef __ASM_PERF_EVENT_H
|
||||||
#define __ASM_PERF_EVENT_H
|
#define __ASM_PERF_EVENT_H
|
||||||
|
|
||||||
|
#define ARMV8_PMU_MAX_COUNTERS 32
|
||||||
|
#define ARMV8_PMU_COUNTER_MASK (ARMV8_PMU_MAX_COUNTERS - 1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Per-CPU PMCR: config reg
|
||||||
|
*/
|
||||||
|
#define ARMV8_PMU_PMCR_E (1 << 0) /* Enable all counters */
|
||||||
|
#define ARMV8_PMU_PMCR_P (1 << 1) /* Reset all counters */
|
||||||
|
#define ARMV8_PMU_PMCR_C (1 << 2) /* Cycle counter reset */
|
||||||
|
#define ARMV8_PMU_PMCR_D (1 << 3) /* CCNT counts every 64th cpu cycle */
|
||||||
|
#define ARMV8_PMU_PMCR_X (1 << 4) /* Export to ETM */
|
||||||
|
#define ARMV8_PMU_PMCR_DP (1 << 5) /* Disable CCNT if non-invasive debug*/
|
||||||
|
#define ARMV8_PMU_PMCR_LC (1 << 6) /* Overflow on 64 bit cycle counter */
|
||||||
|
#define ARMV8_PMU_PMCR_N_SHIFT 11 /* Number of counters supported */
|
||||||
|
#define ARMV8_PMU_PMCR_N_MASK 0x1f
|
||||||
|
#define ARMV8_PMU_PMCR_MASK 0x7f /* Mask for writable bits */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PMOVSR: counters overflow flag status reg
|
||||||
|
*/
|
||||||
|
#define ARMV8_PMU_OVSR_MASK 0xffffffff /* Mask for writable bits */
|
||||||
|
#define ARMV8_PMU_OVERFLOWED_MASK ARMV8_PMU_OVSR_MASK
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PMXEVTYPER: Event selection reg
|
||||||
|
*/
|
||||||
|
#define ARMV8_PMU_EVTYPE_MASK 0xc800ffff /* Mask for writable bits */
|
||||||
|
#define ARMV8_PMU_EVTYPE_EVENT 0xffff /* Mask for EVENT bits */
|
||||||
|
|
||||||
|
#define ARMV8_PMU_EVTYPE_EVENT_SW_INCR 0 /* Software increment event */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Event filters for PMUv3
|
||||||
|
*/
|
||||||
|
#define ARMV8_PMU_EXCLUDE_EL1 (1 << 31)
|
||||||
|
#define ARMV8_PMU_EXCLUDE_EL0 (1 << 30)
|
||||||
|
#define ARMV8_PMU_INCLUDE_EL2 (1 << 27)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PMUSERENR: user enable reg
|
||||||
|
*/
|
||||||
|
#define ARMV8_PMU_USERENR_MASK 0xf /* Mask for writable bits */
|
||||||
|
#define ARMV8_PMU_USERENR_EN (1 << 0) /* PMU regs can be accessed at EL0 */
|
||||||
|
#define ARMV8_PMU_USERENR_SW (1 << 1) /* PMSWINC can be written at EL0 */
|
||||||
|
#define ARMV8_PMU_USERENR_CR (1 << 2) /* Cycle counter can be read at EL0 */
|
||||||
|
#define ARMV8_PMU_USERENR_ER (1 << 3) /* Event counter can be read at EL0 */
|
||||||
|
|
||||||
#ifdef CONFIG_PERF_EVENTS
|
#ifdef CONFIG_PERF_EVENTS
|
||||||
struct pt_regs;
|
struct pt_regs;
|
||||||
extern unsigned long perf_instruction_pointer(struct pt_regs *regs);
|
extern unsigned long perf_instruction_pointer(struct pt_regs *regs);
|
||||||
|
@@ -141,6 +141,9 @@
|
|||||||
#define ID_AA64MMFR1_VMIDBITS_SHIFT 4
|
#define ID_AA64MMFR1_VMIDBITS_SHIFT 4
|
||||||
#define ID_AA64MMFR1_HADBS_SHIFT 0
|
#define ID_AA64MMFR1_HADBS_SHIFT 0
|
||||||
|
|
||||||
|
#define ID_AA64MMFR1_VMIDBITS_8 0
|
||||||
|
#define ID_AA64MMFR1_VMIDBITS_16 2
|
||||||
|
|
||||||
/* id_aa64mmfr2 */
|
/* id_aa64mmfr2 */
|
||||||
#define ID_AA64MMFR2_UAO_SHIFT 4
|
#define ID_AA64MMFR2_UAO_SHIFT 4
|
||||||
|
|
||||||
|
@@ -588,6 +588,15 @@ set_hcr:
|
|||||||
msr vpidr_el2, x0
|
msr vpidr_el2, x0
|
||||||
msr vmpidr_el2, x1
|
msr vmpidr_el2, x1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When VHE is not in use, early init of EL2 and EL1 needs to be
|
||||||
|
* done here.
|
||||||
|
* When VHE _is_ in use, EL1 will not be used in the host and
|
||||||
|
* requires no configuration, and all non-hyp-specific EL2 setup
|
||||||
|
* will be done via the _EL1 system register aliases in __cpu_setup.
|
||||||
|
*/
|
||||||
|
cbnz x2, 1f
|
||||||
|
|
||||||
/* sctlr_el1 */
|
/* sctlr_el1 */
|
||||||
mov x0, #0x0800 // Set/clear RES{1,0} bits
|
mov x0, #0x0800 // Set/clear RES{1,0} bits
|
||||||
CPU_BE( movk x0, #0x33d0, lsl #16 ) // Set EE and E0E on BE systems
|
CPU_BE( movk x0, #0x33d0, lsl #16 ) // Set EE and E0E on BE systems
|
||||||
@@ -597,6 +606,7 @@ CPU_LE( movk x0, #0x30d0, lsl #16 ) // Clear EE and E0E on LE systems
|
|||||||
/* Coprocessor traps. */
|
/* Coprocessor traps. */
|
||||||
mov x0, #0x33ff
|
mov x0, #0x33ff
|
||||||
msr cptr_el2, x0 // Disable copro. traps to EL2
|
msr cptr_el2, x0 // Disable copro. traps to EL2
|
||||||
|
1:
|
||||||
|
|
||||||
#ifdef CONFIG_COMPAT
|
#ifdef CONFIG_COMPAT
|
||||||
msr hstr_el2, xzr // Disable CP15 traps to EL2
|
msr hstr_el2, xzr // Disable CP15 traps to EL2
|
||||||
@@ -734,7 +744,8 @@ ENDPROC(__secondary_switched)
|
|||||||
|
|
||||||
.macro update_early_cpu_boot_status status, tmp1, tmp2
|
.macro update_early_cpu_boot_status status, tmp1, tmp2
|
||||||
mov \tmp2, #\status
|
mov \tmp2, #\status
|
||||||
str_l \tmp2, __early_cpu_boot_status, \tmp1
|
adr_l \tmp1, __early_cpu_boot_status
|
||||||
|
str \tmp2, [\tmp1]
|
||||||
dmb sy
|
dmb sy
|
||||||
dc ivac, \tmp1 // Invalidate potentially stale cache line
|
dc ivac, \tmp1 // Invalidate potentially stale cache line
|
||||||
.endm
|
.endm
|
||||||
|
@@ -20,6 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/irq_regs.h>
|
#include <asm/irq_regs.h>
|
||||||
|
#include <asm/perf_event.h>
|
||||||
#include <asm/virt.h>
|
#include <asm/virt.h>
|
||||||
|
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
@@ -384,9 +385,6 @@ static const struct attribute_group *armv8_pmuv3_attr_groups[] = {
|
|||||||
#define ARMV8_IDX_COUNTER_LAST(cpu_pmu) \
|
#define ARMV8_IDX_COUNTER_LAST(cpu_pmu) \
|
||||||
(ARMV8_IDX_CYCLE_COUNTER + cpu_pmu->num_events - 1)
|
(ARMV8_IDX_CYCLE_COUNTER + cpu_pmu->num_events - 1)
|
||||||
|
|
||||||
#define ARMV8_MAX_COUNTERS 32
|
|
||||||
#define ARMV8_COUNTER_MASK (ARMV8_MAX_COUNTERS - 1)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ARMv8 low level PMU access
|
* ARMv8 low level PMU access
|
||||||
*/
|
*/
|
||||||
@@ -395,40 +393,7 @@ static const struct attribute_group *armv8_pmuv3_attr_groups[] = {
|
|||||||
* Perf Event to low level counters mapping
|
* Perf Event to low level counters mapping
|
||||||
*/
|
*/
|
||||||
#define ARMV8_IDX_TO_COUNTER(x) \
|
#define ARMV8_IDX_TO_COUNTER(x) \
|
||||||
(((x) - ARMV8_IDX_COUNTER0) & ARMV8_COUNTER_MASK)
|
(((x) - ARMV8_IDX_COUNTER0) & ARMV8_PMU_COUNTER_MASK)
|
||||||
|
|
||||||
/*
|
|
||||||
* Per-CPU PMCR: config reg
|
|
||||||
*/
|
|
||||||
#define ARMV8_PMCR_E (1 << 0) /* Enable all counters */
|
|
||||||
#define ARMV8_PMCR_P (1 << 1) /* Reset all counters */
|
|
||||||
#define ARMV8_PMCR_C (1 << 2) /* Cycle counter reset */
|
|
||||||
#define ARMV8_PMCR_D (1 << 3) /* CCNT counts every 64th cpu cycle */
|
|
||||||
#define ARMV8_PMCR_X (1 << 4) /* Export to ETM */
|
|
||||||
#define ARMV8_PMCR_DP (1 << 5) /* Disable CCNT if non-invasive debug*/
|
|
||||||
#define ARMV8_PMCR_LC (1 << 6) /* Overflow on 64 bit cycle counter */
|
|
||||||
#define ARMV8_PMCR_N_SHIFT 11 /* Number of counters supported */
|
|
||||||
#define ARMV8_PMCR_N_MASK 0x1f
|
|
||||||
#define ARMV8_PMCR_MASK 0x7f /* Mask for writable bits */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PMOVSR: counters overflow flag status reg
|
|
||||||
*/
|
|
||||||
#define ARMV8_OVSR_MASK 0xffffffff /* Mask for writable bits */
|
|
||||||
#define ARMV8_OVERFLOWED_MASK ARMV8_OVSR_MASK
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PMXEVTYPER: Event selection reg
|
|
||||||
*/
|
|
||||||
#define ARMV8_EVTYPE_MASK 0xc800ffff /* Mask for writable bits */
|
|
||||||
#define ARMV8_EVTYPE_EVENT 0xffff /* Mask for EVENT bits */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Event filters for PMUv3
|
|
||||||
*/
|
|
||||||
#define ARMV8_EXCLUDE_EL1 (1 << 31)
|
|
||||||
#define ARMV8_EXCLUDE_EL0 (1 << 30)
|
|
||||||
#define ARMV8_INCLUDE_EL2 (1 << 27)
|
|
||||||
|
|
||||||
static inline u32 armv8pmu_pmcr_read(void)
|
static inline u32 armv8pmu_pmcr_read(void)
|
||||||
{
|
{
|
||||||
@@ -439,14 +404,14 @@ static inline u32 armv8pmu_pmcr_read(void)
|
|||||||
|
|
||||||
static inline void armv8pmu_pmcr_write(u32 val)
|
static inline void armv8pmu_pmcr_write(u32 val)
|
||||||
{
|
{
|
||||||
val &= ARMV8_PMCR_MASK;
|
val &= ARMV8_PMU_PMCR_MASK;
|
||||||
isb();
|
isb();
|
||||||
asm volatile("msr pmcr_el0, %0" :: "r" (val));
|
asm volatile("msr pmcr_el0, %0" :: "r" (val));
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int armv8pmu_has_overflowed(u32 pmovsr)
|
static inline int armv8pmu_has_overflowed(u32 pmovsr)
|
||||||
{
|
{
|
||||||
return pmovsr & ARMV8_OVERFLOWED_MASK;
|
return pmovsr & ARMV8_PMU_OVERFLOWED_MASK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int armv8pmu_counter_valid(struct arm_pmu *cpu_pmu, int idx)
|
static inline int armv8pmu_counter_valid(struct arm_pmu *cpu_pmu, int idx)
|
||||||
@@ -512,7 +477,7 @@ static inline void armv8pmu_write_counter(struct perf_event *event, u32 value)
|
|||||||
static inline void armv8pmu_write_evtype(int idx, u32 val)
|
static inline void armv8pmu_write_evtype(int idx, u32 val)
|
||||||
{
|
{
|
||||||
if (armv8pmu_select_counter(idx) == idx) {
|
if (armv8pmu_select_counter(idx) == idx) {
|
||||||
val &= ARMV8_EVTYPE_MASK;
|
val &= ARMV8_PMU_EVTYPE_MASK;
|
||||||
asm volatile("msr pmxevtyper_el0, %0" :: "r" (val));
|
asm volatile("msr pmxevtyper_el0, %0" :: "r" (val));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -558,7 +523,7 @@ static inline u32 armv8pmu_getreset_flags(void)
|
|||||||
asm volatile("mrs %0, pmovsclr_el0" : "=r" (value));
|
asm volatile("mrs %0, pmovsclr_el0" : "=r" (value));
|
||||||
|
|
||||||
/* Write to clear flags */
|
/* Write to clear flags */
|
||||||
value &= ARMV8_OVSR_MASK;
|
value &= ARMV8_PMU_OVSR_MASK;
|
||||||
asm volatile("msr pmovsclr_el0, %0" :: "r" (value));
|
asm volatile("msr pmovsclr_el0, %0" :: "r" (value));
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
@@ -696,7 +661,7 @@ static void armv8pmu_start(struct arm_pmu *cpu_pmu)
|
|||||||
|
|
||||||
raw_spin_lock_irqsave(&events->pmu_lock, flags);
|
raw_spin_lock_irqsave(&events->pmu_lock, flags);
|
||||||
/* Enable all counters */
|
/* Enable all counters */
|
||||||
armv8pmu_pmcr_write(armv8pmu_pmcr_read() | ARMV8_PMCR_E);
|
armv8pmu_pmcr_write(armv8pmu_pmcr_read() | ARMV8_PMU_PMCR_E);
|
||||||
raw_spin_unlock_irqrestore(&events->pmu_lock, flags);
|
raw_spin_unlock_irqrestore(&events->pmu_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -707,7 +672,7 @@ static void armv8pmu_stop(struct arm_pmu *cpu_pmu)
|
|||||||
|
|
||||||
raw_spin_lock_irqsave(&events->pmu_lock, flags);
|
raw_spin_lock_irqsave(&events->pmu_lock, flags);
|
||||||
/* Disable all counters */
|
/* Disable all counters */
|
||||||
armv8pmu_pmcr_write(armv8pmu_pmcr_read() & ~ARMV8_PMCR_E);
|
armv8pmu_pmcr_write(armv8pmu_pmcr_read() & ~ARMV8_PMU_PMCR_E);
|
||||||
raw_spin_unlock_irqrestore(&events->pmu_lock, flags);
|
raw_spin_unlock_irqrestore(&events->pmu_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -717,7 +682,7 @@ static int armv8pmu_get_event_idx(struct pmu_hw_events *cpuc,
|
|||||||
int idx;
|
int idx;
|
||||||
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
|
struct arm_pmu *cpu_pmu = to_arm_pmu(event->pmu);
|
||||||
struct hw_perf_event *hwc = &event->hw;
|
struct hw_perf_event *hwc = &event->hw;
|
||||||
unsigned long evtype = hwc->config_base & ARMV8_EVTYPE_EVENT;
|
unsigned long evtype = hwc->config_base & ARMV8_PMU_EVTYPE_EVENT;
|
||||||
|
|
||||||
/* Always place a cycle counter into the cycle counter. */
|
/* Always place a cycle counter into the cycle counter. */
|
||||||
if (evtype == ARMV8_PMUV3_PERFCTR_CLOCK_CYCLES) {
|
if (evtype == ARMV8_PMUV3_PERFCTR_CLOCK_CYCLES) {
|
||||||
@@ -754,11 +719,11 @@ static int armv8pmu_set_event_filter(struct hw_perf_event *event,
|
|||||||
attr->exclude_kernel != attr->exclude_hv)
|
attr->exclude_kernel != attr->exclude_hv)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
if (attr->exclude_user)
|
if (attr->exclude_user)
|
||||||
config_base |= ARMV8_EXCLUDE_EL0;
|
config_base |= ARMV8_PMU_EXCLUDE_EL0;
|
||||||
if (!is_kernel_in_hyp_mode() && attr->exclude_kernel)
|
if (!is_kernel_in_hyp_mode() && attr->exclude_kernel)
|
||||||
config_base |= ARMV8_EXCLUDE_EL1;
|
config_base |= ARMV8_PMU_EXCLUDE_EL1;
|
||||||
if (!attr->exclude_hv)
|
if (!attr->exclude_hv)
|
||||||
config_base |= ARMV8_INCLUDE_EL2;
|
config_base |= ARMV8_PMU_INCLUDE_EL2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Install the filter into config_base as this is used to
|
* Install the filter into config_base as this is used to
|
||||||
@@ -784,35 +749,36 @@ static void armv8pmu_reset(void *info)
|
|||||||
* Initialize & Reset PMNC. Request overflow interrupt for
|
* Initialize & Reset PMNC. Request overflow interrupt for
|
||||||
* 64 bit cycle counter but cheat in armv8pmu_write_counter().
|
* 64 bit cycle counter but cheat in armv8pmu_write_counter().
|
||||||
*/
|
*/
|
||||||
armv8pmu_pmcr_write(ARMV8_PMCR_P | ARMV8_PMCR_C | ARMV8_PMCR_LC);
|
armv8pmu_pmcr_write(ARMV8_PMU_PMCR_P | ARMV8_PMU_PMCR_C |
|
||||||
|
ARMV8_PMU_PMCR_LC);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int armv8_pmuv3_map_event(struct perf_event *event)
|
static int armv8_pmuv3_map_event(struct perf_event *event)
|
||||||
{
|
{
|
||||||
return armpmu_map_event(event, &armv8_pmuv3_perf_map,
|
return armpmu_map_event(event, &armv8_pmuv3_perf_map,
|
||||||
&armv8_pmuv3_perf_cache_map,
|
&armv8_pmuv3_perf_cache_map,
|
||||||
ARMV8_EVTYPE_EVENT);
|
ARMV8_PMU_EVTYPE_EVENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int armv8_a53_map_event(struct perf_event *event)
|
static int armv8_a53_map_event(struct perf_event *event)
|
||||||
{
|
{
|
||||||
return armpmu_map_event(event, &armv8_a53_perf_map,
|
return armpmu_map_event(event, &armv8_a53_perf_map,
|
||||||
&armv8_a53_perf_cache_map,
|
&armv8_a53_perf_cache_map,
|
||||||
ARMV8_EVTYPE_EVENT);
|
ARMV8_PMU_EVTYPE_EVENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int armv8_a57_map_event(struct perf_event *event)
|
static int armv8_a57_map_event(struct perf_event *event)
|
||||||
{
|
{
|
||||||
return armpmu_map_event(event, &armv8_a57_perf_map,
|
return armpmu_map_event(event, &armv8_a57_perf_map,
|
||||||
&armv8_a57_perf_cache_map,
|
&armv8_a57_perf_cache_map,
|
||||||
ARMV8_EVTYPE_EVENT);
|
ARMV8_PMU_EVTYPE_EVENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int armv8_thunder_map_event(struct perf_event *event)
|
static int armv8_thunder_map_event(struct perf_event *event)
|
||||||
{
|
{
|
||||||
return armpmu_map_event(event, &armv8_thunder_perf_map,
|
return armpmu_map_event(event, &armv8_thunder_perf_map,
|
||||||
&armv8_thunder_perf_cache_map,
|
&armv8_thunder_perf_cache_map,
|
||||||
ARMV8_EVTYPE_EVENT);
|
ARMV8_PMU_EVTYPE_EVENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void armv8pmu_read_num_pmnc_events(void *info)
|
static void armv8pmu_read_num_pmnc_events(void *info)
|
||||||
@@ -820,7 +786,7 @@ static void armv8pmu_read_num_pmnc_events(void *info)
|
|||||||
int *nb_cnt = info;
|
int *nb_cnt = info;
|
||||||
|
|
||||||
/* Read the nb of CNTx counters supported from PMNC */
|
/* Read the nb of CNTx counters supported from PMNC */
|
||||||
*nb_cnt = (armv8pmu_pmcr_read() >> ARMV8_PMCR_N_SHIFT) & ARMV8_PMCR_N_MASK;
|
*nb_cnt = (armv8pmu_pmcr_read() >> ARMV8_PMU_PMCR_N_SHIFT) & ARMV8_PMU_PMCR_N_MASK;
|
||||||
|
|
||||||
/* Add the CPU cycles counter */
|
/* Add the CPU cycles counter */
|
||||||
*nb_cnt += 1;
|
*nb_cnt += 1;
|
||||||
|
@@ -52,6 +52,7 @@ static void write_pen_release(u64 val)
|
|||||||
static int smp_spin_table_cpu_init(unsigned int cpu)
|
static int smp_spin_table_cpu_init(unsigned int cpu)
|
||||||
{
|
{
|
||||||
struct device_node *dn;
|
struct device_node *dn;
|
||||||
|
int ret;
|
||||||
|
|
||||||
dn = of_get_cpu_node(cpu, NULL);
|
dn = of_get_cpu_node(cpu, NULL);
|
||||||
if (!dn)
|
if (!dn)
|
||||||
@@ -60,15 +61,15 @@ static int smp_spin_table_cpu_init(unsigned int cpu)
|
|||||||
/*
|
/*
|
||||||
* Determine the address from which the CPU is polling.
|
* Determine the address from which the CPU is polling.
|
||||||
*/
|
*/
|
||||||
if (of_property_read_u64(dn, "cpu-release-addr",
|
ret = of_property_read_u64(dn, "cpu-release-addr",
|
||||||
&cpu_release_addr[cpu])) {
|
&cpu_release_addr[cpu]);
|
||||||
|
if (ret)
|
||||||
pr_err("CPU %d: missing or invalid cpu-release-addr property\n",
|
pr_err("CPU %d: missing or invalid cpu-release-addr property\n",
|
||||||
cpu);
|
cpu);
|
||||||
|
|
||||||
return -1;
|
of_node_put(dn);
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int smp_spin_table_cpu_prepare(unsigned int cpu)
|
static int smp_spin_table_cpu_prepare(unsigned int cpu)
|
||||||
|
@@ -20,9 +20,10 @@
|
|||||||
#include <asm/kvm_asm.h>
|
#include <asm/kvm_asm.h>
|
||||||
#include <asm/kvm_hyp.h>
|
#include <asm/kvm_hyp.h>
|
||||||
|
|
||||||
void __hyp_text __init_stage2_translation(void)
|
u32 __hyp_text __init_stage2_translation(void)
|
||||||
{
|
{
|
||||||
u64 val = VTCR_EL2_FLAGS;
|
u64 val = VTCR_EL2_FLAGS;
|
||||||
|
u64 parange;
|
||||||
u64 tmp;
|
u64 tmp;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -30,14 +31,50 @@ void __hyp_text __init_stage2_translation(void)
|
|||||||
* bits in VTCR_EL2. Amusingly, the PARange is 4 bits, while
|
* bits in VTCR_EL2. Amusingly, the PARange is 4 bits, while
|
||||||
* PS is only 3. Fortunately, bit 19 is RES0 in VTCR_EL2...
|
* PS is only 3. Fortunately, bit 19 is RES0 in VTCR_EL2...
|
||||||
*/
|
*/
|
||||||
val |= (read_sysreg(id_aa64mmfr0_el1) & 7) << 16;
|
parange = read_sysreg(id_aa64mmfr0_el1) & 7;
|
||||||
|
val |= parange << 16;
|
||||||
|
|
||||||
|
/* Compute the actual PARange... */
|
||||||
|
switch (parange) {
|
||||||
|
case 0:
|
||||||
|
parange = 32;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
parange = 36;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
parange = 40;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
parange = 42;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
parange = 44;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
default:
|
||||||
|
parange = 48;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ... and clamp it to 40 bits, unless we have some braindead
|
||||||
|
* HW that implements less than that. In all cases, we'll
|
||||||
|
* return that value for the rest of the kernel to decide what
|
||||||
|
* to do.
|
||||||
|
*/
|
||||||
|
val |= 64 - (parange > 40 ? 40 : parange);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Read the VMIDBits bits from ID_AA64MMFR1_EL1 and set the VS
|
* Read the VMIDBits bits from ID_AA64MMFR1_EL1 and set the VS
|
||||||
* bit in VTCR_EL2.
|
* bit in VTCR_EL2.
|
||||||
*/
|
*/
|
||||||
tmp = (read_sysreg(id_aa64mmfr1_el1) >> 4) & 0xf;
|
tmp = (read_sysreg(id_aa64mmfr1_el1) >> ID_AA64MMFR1_VMIDBITS_SHIFT) & 0xf;
|
||||||
val |= (tmp == 2) ? VTCR_EL2_VS : 0;
|
val |= (tmp == ID_AA64MMFR1_VMIDBITS_16) ?
|
||||||
|
VTCR_EL2_VS_16BIT :
|
||||||
|
VTCR_EL2_VS_8BIT;
|
||||||
|
|
||||||
write_sysreg(val, vtcr_el2);
|
write_sysreg(val, vtcr_el2);
|
||||||
|
|
||||||
|
return parange;
|
||||||
}
|
}
|
||||||
|
@@ -158,11 +158,6 @@ static int mcfgpio_to_irq(struct gpio_chip *chip, unsigned offset)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct bus_type mcfgpio_subsys = {
|
|
||||||
.name = "gpio",
|
|
||||||
.dev_name = "gpio",
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct gpio_chip mcfgpio_chip = {
|
static struct gpio_chip mcfgpio_chip = {
|
||||||
.label = "mcfgpio",
|
.label = "mcfgpio",
|
||||||
.request = mcfgpio_request,
|
.request = mcfgpio_request,
|
||||||
@@ -178,8 +173,7 @@ static struct gpio_chip mcfgpio_chip = {
|
|||||||
|
|
||||||
static int __init mcfgpio_sysinit(void)
|
static int __init mcfgpio_sysinit(void)
|
||||||
{
|
{
|
||||||
gpiochip_add_data(&mcfgpio_chip, NULL);
|
return gpiochip_add_data(&mcfgpio_chip, NULL);
|
||||||
return subsys_system_register(&mcfgpio_subsys, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
core_initcall(mcfgpio_sysinit);
|
core_initcall(mcfgpio_sysinit);
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
CONFIG_LOCALVERSION="-amiga"
|
CONFIG_LOCALVERSION="-amiga"
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_POSIX_MQUEUE=y
|
CONFIG_POSIX_MQUEUE=y
|
||||||
CONFIG_FHANDLE=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
@@ -64,7 +63,6 @@ CONFIG_INET_IPCOMP=m
|
|||||||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
||||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
||||||
CONFIG_INET_XFRM_MODE_BEET=m
|
CONFIG_INET_XFRM_MODE_BEET=m
|
||||||
# CONFIG_INET_LRO is not set
|
|
||||||
CONFIG_INET_DIAG=m
|
CONFIG_INET_DIAG=m
|
||||||
CONFIG_INET_UDP_DIAG=m
|
CONFIG_INET_UDP_DIAG=m
|
||||||
CONFIG_IPV6=m
|
CONFIG_IPV6=m
|
||||||
@@ -285,7 +283,9 @@ CONFIG_NET_MPLS_GSO=m
|
|||||||
CONFIG_MPLS_ROUTING=m
|
CONFIG_MPLS_ROUTING=m
|
||||||
CONFIG_MPLS_IPTUNNEL=m
|
CONFIG_MPLS_IPTUNNEL=m
|
||||||
CONFIG_NET_L3_MASTER_DEV=y
|
CONFIG_NET_L3_MASTER_DEV=y
|
||||||
|
CONFIG_AF_KCM=m
|
||||||
# CONFIG_WIRELESS is not set
|
# CONFIG_WIRELESS is not set
|
||||||
|
CONFIG_NET_DEVLINK=m
|
||||||
# CONFIG_UEVENT_HELPER is not set
|
# CONFIG_UEVENT_HELPER is not set
|
||||||
CONFIG_DEVTMPFS=y
|
CONFIG_DEVTMPFS=y
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
@@ -359,6 +359,7 @@ CONFIG_MACVTAP=m
|
|||||||
CONFIG_IPVLAN=m
|
CONFIG_IPVLAN=m
|
||||||
CONFIG_VXLAN=m
|
CONFIG_VXLAN=m
|
||||||
CONFIG_GENEVE=m
|
CONFIG_GENEVE=m
|
||||||
|
CONFIG_MACSEC=m
|
||||||
CONFIG_NETCONSOLE=m
|
CONFIG_NETCONSOLE=m
|
||||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||||
CONFIG_VETH=m
|
CONFIG_VETH=m
|
||||||
@@ -452,6 +453,7 @@ CONFIG_JFS_FS=m
|
|||||||
CONFIG_XFS_FS=m
|
CONFIG_XFS_FS=m
|
||||||
CONFIG_OCFS2_FS=m
|
CONFIG_OCFS2_FS=m
|
||||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
||||||
|
CONFIG_FS_ENCRYPTION=m
|
||||||
CONFIG_FANOTIFY=y
|
CONFIG_FANOTIFY=y
|
||||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||||
@@ -468,6 +470,7 @@ CONFIG_VFAT_FS=m
|
|||||||
CONFIG_PROC_KCORE=y
|
CONFIG_PROC_KCORE=y
|
||||||
CONFIG_PROC_CHILDREN=y
|
CONFIG_PROC_CHILDREN=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
|
CONFIG_ORANGEFS_FS=m
|
||||||
CONFIG_AFFS_FS=m
|
CONFIG_AFFS_FS=m
|
||||||
CONFIG_ECRYPT_FS=m
|
CONFIG_ECRYPT_FS=m
|
||||||
CONFIG_ECRYPT_FS_MESSAGING=y
|
CONFIG_ECRYPT_FS_MESSAGING=y
|
||||||
@@ -549,6 +552,7 @@ CONFIG_TEST_HEXDUMP=m
|
|||||||
CONFIG_TEST_STRING_HELPERS=m
|
CONFIG_TEST_STRING_HELPERS=m
|
||||||
CONFIG_TEST_KSTRTOX=m
|
CONFIG_TEST_KSTRTOX=m
|
||||||
CONFIG_TEST_PRINTF=m
|
CONFIG_TEST_PRINTF=m
|
||||||
|
CONFIG_TEST_BITMAP=m
|
||||||
CONFIG_TEST_RHASHTABLE=m
|
CONFIG_TEST_RHASHTABLE=m
|
||||||
CONFIG_TEST_LKM=m
|
CONFIG_TEST_LKM=m
|
||||||
CONFIG_TEST_USER_COPY=m
|
CONFIG_TEST_USER_COPY=m
|
||||||
@@ -557,7 +561,6 @@ CONFIG_TEST_FIRMWARE=m
|
|||||||
CONFIG_TEST_UDELAY=m
|
CONFIG_TEST_UDELAY=m
|
||||||
CONFIG_TEST_STATIC_KEYS=m
|
CONFIG_TEST_STATIC_KEYS=m
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
CONFIG_ENCRYPTED_KEYS=m
|
|
||||||
CONFIG_CRYPTO_RSA=m
|
CONFIG_CRYPTO_RSA=m
|
||||||
CONFIG_CRYPTO_MANAGER=y
|
CONFIG_CRYPTO_MANAGER=y
|
||||||
CONFIG_CRYPTO_USER=m
|
CONFIG_CRYPTO_USER=m
|
||||||
@@ -565,12 +568,9 @@ CONFIG_CRYPTO_CRYPTD=m
|
|||||||
CONFIG_CRYPTO_MCRYPTD=m
|
CONFIG_CRYPTO_MCRYPTD=m
|
||||||
CONFIG_CRYPTO_TEST=m
|
CONFIG_CRYPTO_TEST=m
|
||||||
CONFIG_CRYPTO_CCM=m
|
CONFIG_CRYPTO_CCM=m
|
||||||
CONFIG_CRYPTO_GCM=m
|
|
||||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
||||||
CONFIG_CRYPTO_CTS=m
|
|
||||||
CONFIG_CRYPTO_LRW=m
|
CONFIG_CRYPTO_LRW=m
|
||||||
CONFIG_CRYPTO_PCBC=m
|
CONFIG_CRYPTO_PCBC=m
|
||||||
CONFIG_CRYPTO_XTS=m
|
|
||||||
CONFIG_CRYPTO_KEYWRAP=m
|
CONFIG_CRYPTO_KEYWRAP=m
|
||||||
CONFIG_CRYPTO_XCBC=m
|
CONFIG_CRYPTO_XCBC=m
|
||||||
CONFIG_CRYPTO_VMAC=m
|
CONFIG_CRYPTO_VMAC=m
|
||||||
@@ -594,7 +594,6 @@ CONFIG_CRYPTO_SEED=m
|
|||||||
CONFIG_CRYPTO_SERPENT=m
|
CONFIG_CRYPTO_SERPENT=m
|
||||||
CONFIG_CRYPTO_TEA=m
|
CONFIG_CRYPTO_TEA=m
|
||||||
CONFIG_CRYPTO_TWOFISH=m
|
CONFIG_CRYPTO_TWOFISH=m
|
||||||
CONFIG_CRYPTO_ZLIB=m
|
|
||||||
CONFIG_CRYPTO_LZO=m
|
CONFIG_CRYPTO_LZO=m
|
||||||
CONFIG_CRYPTO_842=m
|
CONFIG_CRYPTO_842=m
|
||||||
CONFIG_CRYPTO_LZ4=m
|
CONFIG_CRYPTO_LZ4=m
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
CONFIG_LOCALVERSION="-apollo"
|
CONFIG_LOCALVERSION="-apollo"
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_POSIX_MQUEUE=y
|
CONFIG_POSIX_MQUEUE=y
|
||||||
CONFIG_FHANDLE=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
@@ -62,7 +61,6 @@ CONFIG_INET_IPCOMP=m
|
|||||||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
||||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
||||||
CONFIG_INET_XFRM_MODE_BEET=m
|
CONFIG_INET_XFRM_MODE_BEET=m
|
||||||
# CONFIG_INET_LRO is not set
|
|
||||||
CONFIG_INET_DIAG=m
|
CONFIG_INET_DIAG=m
|
||||||
CONFIG_INET_UDP_DIAG=m
|
CONFIG_INET_UDP_DIAG=m
|
||||||
CONFIG_IPV6=m
|
CONFIG_IPV6=m
|
||||||
@@ -283,7 +281,9 @@ CONFIG_NET_MPLS_GSO=m
|
|||||||
CONFIG_MPLS_ROUTING=m
|
CONFIG_MPLS_ROUTING=m
|
||||||
CONFIG_MPLS_IPTUNNEL=m
|
CONFIG_MPLS_IPTUNNEL=m
|
||||||
CONFIG_NET_L3_MASTER_DEV=y
|
CONFIG_NET_L3_MASTER_DEV=y
|
||||||
|
CONFIG_AF_KCM=m
|
||||||
# CONFIG_WIRELESS is not set
|
# CONFIG_WIRELESS is not set
|
||||||
|
CONFIG_NET_DEVLINK=m
|
||||||
# CONFIG_UEVENT_HELPER is not set
|
# CONFIG_UEVENT_HELPER is not set
|
||||||
CONFIG_DEVTMPFS=y
|
CONFIG_DEVTMPFS=y
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
@@ -341,6 +341,7 @@ CONFIG_MACVTAP=m
|
|||||||
CONFIG_IPVLAN=m
|
CONFIG_IPVLAN=m
|
||||||
CONFIG_VXLAN=m
|
CONFIG_VXLAN=m
|
||||||
CONFIG_GENEVE=m
|
CONFIG_GENEVE=m
|
||||||
|
CONFIG_MACSEC=m
|
||||||
CONFIG_NETCONSOLE=m
|
CONFIG_NETCONSOLE=m
|
||||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||||
CONFIG_VETH=m
|
CONFIG_VETH=m
|
||||||
@@ -411,6 +412,7 @@ CONFIG_JFS_FS=m
|
|||||||
CONFIG_XFS_FS=m
|
CONFIG_XFS_FS=m
|
||||||
CONFIG_OCFS2_FS=m
|
CONFIG_OCFS2_FS=m
|
||||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
||||||
|
CONFIG_FS_ENCRYPTION=m
|
||||||
CONFIG_FANOTIFY=y
|
CONFIG_FANOTIFY=y
|
||||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||||
@@ -427,6 +429,7 @@ CONFIG_VFAT_FS=m
|
|||||||
CONFIG_PROC_KCORE=y
|
CONFIG_PROC_KCORE=y
|
||||||
CONFIG_PROC_CHILDREN=y
|
CONFIG_PROC_CHILDREN=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
|
CONFIG_ORANGEFS_FS=m
|
||||||
CONFIG_AFFS_FS=m
|
CONFIG_AFFS_FS=m
|
||||||
CONFIG_ECRYPT_FS=m
|
CONFIG_ECRYPT_FS=m
|
||||||
CONFIG_ECRYPT_FS_MESSAGING=y
|
CONFIG_ECRYPT_FS_MESSAGING=y
|
||||||
@@ -508,6 +511,7 @@ CONFIG_TEST_HEXDUMP=m
|
|||||||
CONFIG_TEST_STRING_HELPERS=m
|
CONFIG_TEST_STRING_HELPERS=m
|
||||||
CONFIG_TEST_KSTRTOX=m
|
CONFIG_TEST_KSTRTOX=m
|
||||||
CONFIG_TEST_PRINTF=m
|
CONFIG_TEST_PRINTF=m
|
||||||
|
CONFIG_TEST_BITMAP=m
|
||||||
CONFIG_TEST_RHASHTABLE=m
|
CONFIG_TEST_RHASHTABLE=m
|
||||||
CONFIG_TEST_LKM=m
|
CONFIG_TEST_LKM=m
|
||||||
CONFIG_TEST_USER_COPY=m
|
CONFIG_TEST_USER_COPY=m
|
||||||
@@ -516,7 +520,6 @@ CONFIG_TEST_FIRMWARE=m
|
|||||||
CONFIG_TEST_UDELAY=m
|
CONFIG_TEST_UDELAY=m
|
||||||
CONFIG_TEST_STATIC_KEYS=m
|
CONFIG_TEST_STATIC_KEYS=m
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
CONFIG_ENCRYPTED_KEYS=m
|
|
||||||
CONFIG_CRYPTO_RSA=m
|
CONFIG_CRYPTO_RSA=m
|
||||||
CONFIG_CRYPTO_MANAGER=y
|
CONFIG_CRYPTO_MANAGER=y
|
||||||
CONFIG_CRYPTO_USER=m
|
CONFIG_CRYPTO_USER=m
|
||||||
@@ -524,12 +527,9 @@ CONFIG_CRYPTO_CRYPTD=m
|
|||||||
CONFIG_CRYPTO_MCRYPTD=m
|
CONFIG_CRYPTO_MCRYPTD=m
|
||||||
CONFIG_CRYPTO_TEST=m
|
CONFIG_CRYPTO_TEST=m
|
||||||
CONFIG_CRYPTO_CCM=m
|
CONFIG_CRYPTO_CCM=m
|
||||||
CONFIG_CRYPTO_GCM=m
|
|
||||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
||||||
CONFIG_CRYPTO_CTS=m
|
|
||||||
CONFIG_CRYPTO_LRW=m
|
CONFIG_CRYPTO_LRW=m
|
||||||
CONFIG_CRYPTO_PCBC=m
|
CONFIG_CRYPTO_PCBC=m
|
||||||
CONFIG_CRYPTO_XTS=m
|
|
||||||
CONFIG_CRYPTO_KEYWRAP=m
|
CONFIG_CRYPTO_KEYWRAP=m
|
||||||
CONFIG_CRYPTO_XCBC=m
|
CONFIG_CRYPTO_XCBC=m
|
||||||
CONFIG_CRYPTO_VMAC=m
|
CONFIG_CRYPTO_VMAC=m
|
||||||
@@ -553,7 +553,6 @@ CONFIG_CRYPTO_SEED=m
|
|||||||
CONFIG_CRYPTO_SERPENT=m
|
CONFIG_CRYPTO_SERPENT=m
|
||||||
CONFIG_CRYPTO_TEA=m
|
CONFIG_CRYPTO_TEA=m
|
||||||
CONFIG_CRYPTO_TWOFISH=m
|
CONFIG_CRYPTO_TWOFISH=m
|
||||||
CONFIG_CRYPTO_ZLIB=m
|
|
||||||
CONFIG_CRYPTO_LZO=m
|
CONFIG_CRYPTO_LZO=m
|
||||||
CONFIG_CRYPTO_842=m
|
CONFIG_CRYPTO_842=m
|
||||||
CONFIG_CRYPTO_LZ4=m
|
CONFIG_CRYPTO_LZ4=m
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
CONFIG_LOCALVERSION="-atari"
|
CONFIG_LOCALVERSION="-atari"
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_POSIX_MQUEUE=y
|
CONFIG_POSIX_MQUEUE=y
|
||||||
CONFIG_FHANDLE=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
@@ -62,7 +61,6 @@ CONFIG_INET_IPCOMP=m
|
|||||||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
||||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
||||||
CONFIG_INET_XFRM_MODE_BEET=m
|
CONFIG_INET_XFRM_MODE_BEET=m
|
||||||
# CONFIG_INET_LRO is not set
|
|
||||||
CONFIG_INET_DIAG=m
|
CONFIG_INET_DIAG=m
|
||||||
CONFIG_INET_UDP_DIAG=m
|
CONFIG_INET_UDP_DIAG=m
|
||||||
CONFIG_IPV6=m
|
CONFIG_IPV6=m
|
||||||
@@ -283,7 +281,9 @@ CONFIG_NET_MPLS_GSO=m
|
|||||||
CONFIG_MPLS_ROUTING=m
|
CONFIG_MPLS_ROUTING=m
|
||||||
CONFIG_MPLS_IPTUNNEL=m
|
CONFIG_MPLS_IPTUNNEL=m
|
||||||
CONFIG_NET_L3_MASTER_DEV=y
|
CONFIG_NET_L3_MASTER_DEV=y
|
||||||
|
CONFIG_AF_KCM=m
|
||||||
# CONFIG_WIRELESS is not set
|
# CONFIG_WIRELESS is not set
|
||||||
|
CONFIG_NET_DEVLINK=m
|
||||||
# CONFIG_UEVENT_HELPER is not set
|
# CONFIG_UEVENT_HELPER is not set
|
||||||
CONFIG_DEVTMPFS=y
|
CONFIG_DEVTMPFS=y
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
@@ -350,6 +350,7 @@ CONFIG_MACVTAP=m
|
|||||||
CONFIG_IPVLAN=m
|
CONFIG_IPVLAN=m
|
||||||
CONFIG_VXLAN=m
|
CONFIG_VXLAN=m
|
||||||
CONFIG_GENEVE=m
|
CONFIG_GENEVE=m
|
||||||
|
CONFIG_MACSEC=m
|
||||||
CONFIG_NETCONSOLE=m
|
CONFIG_NETCONSOLE=m
|
||||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||||
CONFIG_VETH=m
|
CONFIG_VETH=m
|
||||||
@@ -432,6 +433,7 @@ CONFIG_JFS_FS=m
|
|||||||
CONFIG_XFS_FS=m
|
CONFIG_XFS_FS=m
|
||||||
CONFIG_OCFS2_FS=m
|
CONFIG_OCFS2_FS=m
|
||||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
||||||
|
CONFIG_FS_ENCRYPTION=m
|
||||||
CONFIG_FANOTIFY=y
|
CONFIG_FANOTIFY=y
|
||||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||||
@@ -448,6 +450,7 @@ CONFIG_VFAT_FS=m
|
|||||||
CONFIG_PROC_KCORE=y
|
CONFIG_PROC_KCORE=y
|
||||||
CONFIG_PROC_CHILDREN=y
|
CONFIG_PROC_CHILDREN=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
|
CONFIG_ORANGEFS_FS=m
|
||||||
CONFIG_AFFS_FS=m
|
CONFIG_AFFS_FS=m
|
||||||
CONFIG_ECRYPT_FS=m
|
CONFIG_ECRYPT_FS=m
|
||||||
CONFIG_ECRYPT_FS_MESSAGING=y
|
CONFIG_ECRYPT_FS_MESSAGING=y
|
||||||
@@ -529,6 +532,7 @@ CONFIG_TEST_HEXDUMP=m
|
|||||||
CONFIG_TEST_STRING_HELPERS=m
|
CONFIG_TEST_STRING_HELPERS=m
|
||||||
CONFIG_TEST_KSTRTOX=m
|
CONFIG_TEST_KSTRTOX=m
|
||||||
CONFIG_TEST_PRINTF=m
|
CONFIG_TEST_PRINTF=m
|
||||||
|
CONFIG_TEST_BITMAP=m
|
||||||
CONFIG_TEST_RHASHTABLE=m
|
CONFIG_TEST_RHASHTABLE=m
|
||||||
CONFIG_TEST_LKM=m
|
CONFIG_TEST_LKM=m
|
||||||
CONFIG_TEST_USER_COPY=m
|
CONFIG_TEST_USER_COPY=m
|
||||||
@@ -537,7 +541,6 @@ CONFIG_TEST_FIRMWARE=m
|
|||||||
CONFIG_TEST_UDELAY=m
|
CONFIG_TEST_UDELAY=m
|
||||||
CONFIG_TEST_STATIC_KEYS=m
|
CONFIG_TEST_STATIC_KEYS=m
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
CONFIG_ENCRYPTED_KEYS=m
|
|
||||||
CONFIG_CRYPTO_RSA=m
|
CONFIG_CRYPTO_RSA=m
|
||||||
CONFIG_CRYPTO_MANAGER=y
|
CONFIG_CRYPTO_MANAGER=y
|
||||||
CONFIG_CRYPTO_USER=m
|
CONFIG_CRYPTO_USER=m
|
||||||
@@ -545,12 +548,9 @@ CONFIG_CRYPTO_CRYPTD=m
|
|||||||
CONFIG_CRYPTO_MCRYPTD=m
|
CONFIG_CRYPTO_MCRYPTD=m
|
||||||
CONFIG_CRYPTO_TEST=m
|
CONFIG_CRYPTO_TEST=m
|
||||||
CONFIG_CRYPTO_CCM=m
|
CONFIG_CRYPTO_CCM=m
|
||||||
CONFIG_CRYPTO_GCM=m
|
|
||||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
||||||
CONFIG_CRYPTO_CTS=m
|
|
||||||
CONFIG_CRYPTO_LRW=m
|
CONFIG_CRYPTO_LRW=m
|
||||||
CONFIG_CRYPTO_PCBC=m
|
CONFIG_CRYPTO_PCBC=m
|
||||||
CONFIG_CRYPTO_XTS=m
|
|
||||||
CONFIG_CRYPTO_KEYWRAP=m
|
CONFIG_CRYPTO_KEYWRAP=m
|
||||||
CONFIG_CRYPTO_XCBC=m
|
CONFIG_CRYPTO_XCBC=m
|
||||||
CONFIG_CRYPTO_VMAC=m
|
CONFIG_CRYPTO_VMAC=m
|
||||||
@@ -574,7 +574,6 @@ CONFIG_CRYPTO_SEED=m
|
|||||||
CONFIG_CRYPTO_SERPENT=m
|
CONFIG_CRYPTO_SERPENT=m
|
||||||
CONFIG_CRYPTO_TEA=m
|
CONFIG_CRYPTO_TEA=m
|
||||||
CONFIG_CRYPTO_TWOFISH=m
|
CONFIG_CRYPTO_TWOFISH=m
|
||||||
CONFIG_CRYPTO_ZLIB=m
|
|
||||||
CONFIG_CRYPTO_LZO=m
|
CONFIG_CRYPTO_LZO=m
|
||||||
CONFIG_CRYPTO_842=m
|
CONFIG_CRYPTO_842=m
|
||||||
CONFIG_CRYPTO_LZ4=m
|
CONFIG_CRYPTO_LZ4=m
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
CONFIG_LOCALVERSION="-bvme6000"
|
CONFIG_LOCALVERSION="-bvme6000"
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_POSIX_MQUEUE=y
|
CONFIG_POSIX_MQUEUE=y
|
||||||
CONFIG_FHANDLE=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
@@ -60,7 +59,6 @@ CONFIG_INET_IPCOMP=m
|
|||||||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
||||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
||||||
CONFIG_INET_XFRM_MODE_BEET=m
|
CONFIG_INET_XFRM_MODE_BEET=m
|
||||||
# CONFIG_INET_LRO is not set
|
|
||||||
CONFIG_INET_DIAG=m
|
CONFIG_INET_DIAG=m
|
||||||
CONFIG_INET_UDP_DIAG=m
|
CONFIG_INET_UDP_DIAG=m
|
||||||
CONFIG_IPV6=m
|
CONFIG_IPV6=m
|
||||||
@@ -281,7 +279,9 @@ CONFIG_NET_MPLS_GSO=m
|
|||||||
CONFIG_MPLS_ROUTING=m
|
CONFIG_MPLS_ROUTING=m
|
||||||
CONFIG_MPLS_IPTUNNEL=m
|
CONFIG_MPLS_IPTUNNEL=m
|
||||||
CONFIG_NET_L3_MASTER_DEV=y
|
CONFIG_NET_L3_MASTER_DEV=y
|
||||||
|
CONFIG_AF_KCM=m
|
||||||
# CONFIG_WIRELESS is not set
|
# CONFIG_WIRELESS is not set
|
||||||
|
CONFIG_NET_DEVLINK=m
|
||||||
# CONFIG_UEVENT_HELPER is not set
|
# CONFIG_UEVENT_HELPER is not set
|
||||||
CONFIG_DEVTMPFS=y
|
CONFIG_DEVTMPFS=y
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
@@ -340,6 +340,7 @@ CONFIG_MACVTAP=m
|
|||||||
CONFIG_IPVLAN=m
|
CONFIG_IPVLAN=m
|
||||||
CONFIG_VXLAN=m
|
CONFIG_VXLAN=m
|
||||||
CONFIG_GENEVE=m
|
CONFIG_GENEVE=m
|
||||||
|
CONFIG_MACSEC=m
|
||||||
CONFIG_NETCONSOLE=m
|
CONFIG_NETCONSOLE=m
|
||||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||||
CONFIG_VETH=m
|
CONFIG_VETH=m
|
||||||
@@ -403,6 +404,7 @@ CONFIG_JFS_FS=m
|
|||||||
CONFIG_XFS_FS=m
|
CONFIG_XFS_FS=m
|
||||||
CONFIG_OCFS2_FS=m
|
CONFIG_OCFS2_FS=m
|
||||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
||||||
|
CONFIG_FS_ENCRYPTION=m
|
||||||
CONFIG_FANOTIFY=y
|
CONFIG_FANOTIFY=y
|
||||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||||
@@ -419,6 +421,7 @@ CONFIG_VFAT_FS=m
|
|||||||
CONFIG_PROC_KCORE=y
|
CONFIG_PROC_KCORE=y
|
||||||
CONFIG_PROC_CHILDREN=y
|
CONFIG_PROC_CHILDREN=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
|
CONFIG_ORANGEFS_FS=m
|
||||||
CONFIG_AFFS_FS=m
|
CONFIG_AFFS_FS=m
|
||||||
CONFIG_ECRYPT_FS=m
|
CONFIG_ECRYPT_FS=m
|
||||||
CONFIG_ECRYPT_FS_MESSAGING=y
|
CONFIG_ECRYPT_FS_MESSAGING=y
|
||||||
@@ -500,6 +503,7 @@ CONFIG_TEST_HEXDUMP=m
|
|||||||
CONFIG_TEST_STRING_HELPERS=m
|
CONFIG_TEST_STRING_HELPERS=m
|
||||||
CONFIG_TEST_KSTRTOX=m
|
CONFIG_TEST_KSTRTOX=m
|
||||||
CONFIG_TEST_PRINTF=m
|
CONFIG_TEST_PRINTF=m
|
||||||
|
CONFIG_TEST_BITMAP=m
|
||||||
CONFIG_TEST_RHASHTABLE=m
|
CONFIG_TEST_RHASHTABLE=m
|
||||||
CONFIG_TEST_LKM=m
|
CONFIG_TEST_LKM=m
|
||||||
CONFIG_TEST_USER_COPY=m
|
CONFIG_TEST_USER_COPY=m
|
||||||
@@ -508,7 +512,6 @@ CONFIG_TEST_FIRMWARE=m
|
|||||||
CONFIG_TEST_UDELAY=m
|
CONFIG_TEST_UDELAY=m
|
||||||
CONFIG_TEST_STATIC_KEYS=m
|
CONFIG_TEST_STATIC_KEYS=m
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
CONFIG_ENCRYPTED_KEYS=m
|
|
||||||
CONFIG_CRYPTO_RSA=m
|
CONFIG_CRYPTO_RSA=m
|
||||||
CONFIG_CRYPTO_MANAGER=y
|
CONFIG_CRYPTO_MANAGER=y
|
||||||
CONFIG_CRYPTO_USER=m
|
CONFIG_CRYPTO_USER=m
|
||||||
@@ -516,12 +519,9 @@ CONFIG_CRYPTO_CRYPTD=m
|
|||||||
CONFIG_CRYPTO_MCRYPTD=m
|
CONFIG_CRYPTO_MCRYPTD=m
|
||||||
CONFIG_CRYPTO_TEST=m
|
CONFIG_CRYPTO_TEST=m
|
||||||
CONFIG_CRYPTO_CCM=m
|
CONFIG_CRYPTO_CCM=m
|
||||||
CONFIG_CRYPTO_GCM=m
|
|
||||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
||||||
CONFIG_CRYPTO_CTS=m
|
|
||||||
CONFIG_CRYPTO_LRW=m
|
CONFIG_CRYPTO_LRW=m
|
||||||
CONFIG_CRYPTO_PCBC=m
|
CONFIG_CRYPTO_PCBC=m
|
||||||
CONFIG_CRYPTO_XTS=m
|
|
||||||
CONFIG_CRYPTO_KEYWRAP=m
|
CONFIG_CRYPTO_KEYWRAP=m
|
||||||
CONFIG_CRYPTO_XCBC=m
|
CONFIG_CRYPTO_XCBC=m
|
||||||
CONFIG_CRYPTO_VMAC=m
|
CONFIG_CRYPTO_VMAC=m
|
||||||
@@ -545,7 +545,6 @@ CONFIG_CRYPTO_SEED=m
|
|||||||
CONFIG_CRYPTO_SERPENT=m
|
CONFIG_CRYPTO_SERPENT=m
|
||||||
CONFIG_CRYPTO_TEA=m
|
CONFIG_CRYPTO_TEA=m
|
||||||
CONFIG_CRYPTO_TWOFISH=m
|
CONFIG_CRYPTO_TWOFISH=m
|
||||||
CONFIG_CRYPTO_ZLIB=m
|
|
||||||
CONFIG_CRYPTO_LZO=m
|
CONFIG_CRYPTO_LZO=m
|
||||||
CONFIG_CRYPTO_842=m
|
CONFIG_CRYPTO_842=m
|
||||||
CONFIG_CRYPTO_LZ4=m
|
CONFIG_CRYPTO_LZ4=m
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
CONFIG_LOCALVERSION="-hp300"
|
CONFIG_LOCALVERSION="-hp300"
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_POSIX_MQUEUE=y
|
CONFIG_POSIX_MQUEUE=y
|
||||||
CONFIG_FHANDLE=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
@@ -62,7 +61,6 @@ CONFIG_INET_IPCOMP=m
|
|||||||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
||||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
||||||
CONFIG_INET_XFRM_MODE_BEET=m
|
CONFIG_INET_XFRM_MODE_BEET=m
|
||||||
# CONFIG_INET_LRO is not set
|
|
||||||
CONFIG_INET_DIAG=m
|
CONFIG_INET_DIAG=m
|
||||||
CONFIG_INET_UDP_DIAG=m
|
CONFIG_INET_UDP_DIAG=m
|
||||||
CONFIG_IPV6=m
|
CONFIG_IPV6=m
|
||||||
@@ -283,7 +281,9 @@ CONFIG_NET_MPLS_GSO=m
|
|||||||
CONFIG_MPLS_ROUTING=m
|
CONFIG_MPLS_ROUTING=m
|
||||||
CONFIG_MPLS_IPTUNNEL=m
|
CONFIG_MPLS_IPTUNNEL=m
|
||||||
CONFIG_NET_L3_MASTER_DEV=y
|
CONFIG_NET_L3_MASTER_DEV=y
|
||||||
|
CONFIG_AF_KCM=m
|
||||||
# CONFIG_WIRELESS is not set
|
# CONFIG_WIRELESS is not set
|
||||||
|
CONFIG_NET_DEVLINK=m
|
||||||
# CONFIG_UEVENT_HELPER is not set
|
# CONFIG_UEVENT_HELPER is not set
|
||||||
CONFIG_DEVTMPFS=y
|
CONFIG_DEVTMPFS=y
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
@@ -341,6 +341,7 @@ CONFIG_MACVTAP=m
|
|||||||
CONFIG_IPVLAN=m
|
CONFIG_IPVLAN=m
|
||||||
CONFIG_VXLAN=m
|
CONFIG_VXLAN=m
|
||||||
CONFIG_GENEVE=m
|
CONFIG_GENEVE=m
|
||||||
|
CONFIG_MACSEC=m
|
||||||
CONFIG_NETCONSOLE=m
|
CONFIG_NETCONSOLE=m
|
||||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||||
CONFIG_VETH=m
|
CONFIG_VETH=m
|
||||||
@@ -413,6 +414,7 @@ CONFIG_JFS_FS=m
|
|||||||
CONFIG_XFS_FS=m
|
CONFIG_XFS_FS=m
|
||||||
CONFIG_OCFS2_FS=m
|
CONFIG_OCFS2_FS=m
|
||||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
||||||
|
CONFIG_FS_ENCRYPTION=m
|
||||||
CONFIG_FANOTIFY=y
|
CONFIG_FANOTIFY=y
|
||||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||||
@@ -429,6 +431,7 @@ CONFIG_VFAT_FS=m
|
|||||||
CONFIG_PROC_KCORE=y
|
CONFIG_PROC_KCORE=y
|
||||||
CONFIG_PROC_CHILDREN=y
|
CONFIG_PROC_CHILDREN=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
|
CONFIG_ORANGEFS_FS=m
|
||||||
CONFIG_AFFS_FS=m
|
CONFIG_AFFS_FS=m
|
||||||
CONFIG_ECRYPT_FS=m
|
CONFIG_ECRYPT_FS=m
|
||||||
CONFIG_ECRYPT_FS_MESSAGING=y
|
CONFIG_ECRYPT_FS_MESSAGING=y
|
||||||
@@ -510,6 +513,7 @@ CONFIG_TEST_HEXDUMP=m
|
|||||||
CONFIG_TEST_STRING_HELPERS=m
|
CONFIG_TEST_STRING_HELPERS=m
|
||||||
CONFIG_TEST_KSTRTOX=m
|
CONFIG_TEST_KSTRTOX=m
|
||||||
CONFIG_TEST_PRINTF=m
|
CONFIG_TEST_PRINTF=m
|
||||||
|
CONFIG_TEST_BITMAP=m
|
||||||
CONFIG_TEST_RHASHTABLE=m
|
CONFIG_TEST_RHASHTABLE=m
|
||||||
CONFIG_TEST_LKM=m
|
CONFIG_TEST_LKM=m
|
||||||
CONFIG_TEST_USER_COPY=m
|
CONFIG_TEST_USER_COPY=m
|
||||||
@@ -518,7 +522,6 @@ CONFIG_TEST_FIRMWARE=m
|
|||||||
CONFIG_TEST_UDELAY=m
|
CONFIG_TEST_UDELAY=m
|
||||||
CONFIG_TEST_STATIC_KEYS=m
|
CONFIG_TEST_STATIC_KEYS=m
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
CONFIG_ENCRYPTED_KEYS=m
|
|
||||||
CONFIG_CRYPTO_RSA=m
|
CONFIG_CRYPTO_RSA=m
|
||||||
CONFIG_CRYPTO_MANAGER=y
|
CONFIG_CRYPTO_MANAGER=y
|
||||||
CONFIG_CRYPTO_USER=m
|
CONFIG_CRYPTO_USER=m
|
||||||
@@ -526,12 +529,9 @@ CONFIG_CRYPTO_CRYPTD=m
|
|||||||
CONFIG_CRYPTO_MCRYPTD=m
|
CONFIG_CRYPTO_MCRYPTD=m
|
||||||
CONFIG_CRYPTO_TEST=m
|
CONFIG_CRYPTO_TEST=m
|
||||||
CONFIG_CRYPTO_CCM=m
|
CONFIG_CRYPTO_CCM=m
|
||||||
CONFIG_CRYPTO_GCM=m
|
|
||||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
||||||
CONFIG_CRYPTO_CTS=m
|
|
||||||
CONFIG_CRYPTO_LRW=m
|
CONFIG_CRYPTO_LRW=m
|
||||||
CONFIG_CRYPTO_PCBC=m
|
CONFIG_CRYPTO_PCBC=m
|
||||||
CONFIG_CRYPTO_XTS=m
|
|
||||||
CONFIG_CRYPTO_KEYWRAP=m
|
CONFIG_CRYPTO_KEYWRAP=m
|
||||||
CONFIG_CRYPTO_XCBC=m
|
CONFIG_CRYPTO_XCBC=m
|
||||||
CONFIG_CRYPTO_VMAC=m
|
CONFIG_CRYPTO_VMAC=m
|
||||||
@@ -555,7 +555,6 @@ CONFIG_CRYPTO_SEED=m
|
|||||||
CONFIG_CRYPTO_SERPENT=m
|
CONFIG_CRYPTO_SERPENT=m
|
||||||
CONFIG_CRYPTO_TEA=m
|
CONFIG_CRYPTO_TEA=m
|
||||||
CONFIG_CRYPTO_TWOFISH=m
|
CONFIG_CRYPTO_TWOFISH=m
|
||||||
CONFIG_CRYPTO_ZLIB=m
|
|
||||||
CONFIG_CRYPTO_LZO=m
|
CONFIG_CRYPTO_LZO=m
|
||||||
CONFIG_CRYPTO_842=m
|
CONFIG_CRYPTO_842=m
|
||||||
CONFIG_CRYPTO_LZ4=m
|
CONFIG_CRYPTO_LZ4=m
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
CONFIG_LOCALVERSION="-mac"
|
CONFIG_LOCALVERSION="-mac"
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_POSIX_MQUEUE=y
|
CONFIG_POSIX_MQUEUE=y
|
||||||
CONFIG_FHANDLE=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
@@ -61,7 +60,6 @@ CONFIG_INET_IPCOMP=m
|
|||||||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
||||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
||||||
CONFIG_INET_XFRM_MODE_BEET=m
|
CONFIG_INET_XFRM_MODE_BEET=m
|
||||||
# CONFIG_INET_LRO is not set
|
|
||||||
CONFIG_INET_DIAG=m
|
CONFIG_INET_DIAG=m
|
||||||
CONFIG_INET_UDP_DIAG=m
|
CONFIG_INET_UDP_DIAG=m
|
||||||
CONFIG_IPV6=m
|
CONFIG_IPV6=m
|
||||||
@@ -285,7 +283,9 @@ CONFIG_NET_MPLS_GSO=m
|
|||||||
CONFIG_MPLS_ROUTING=m
|
CONFIG_MPLS_ROUTING=m
|
||||||
CONFIG_MPLS_IPTUNNEL=m
|
CONFIG_MPLS_IPTUNNEL=m
|
||||||
CONFIG_NET_L3_MASTER_DEV=y
|
CONFIG_NET_L3_MASTER_DEV=y
|
||||||
|
CONFIG_AF_KCM=m
|
||||||
# CONFIG_WIRELESS is not set
|
# CONFIG_WIRELESS is not set
|
||||||
|
CONFIG_NET_DEVLINK=m
|
||||||
# CONFIG_UEVENT_HELPER is not set
|
# CONFIG_UEVENT_HELPER is not set
|
||||||
CONFIG_DEVTMPFS=y
|
CONFIG_DEVTMPFS=y
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
@@ -357,6 +357,7 @@ CONFIG_MACVTAP=m
|
|||||||
CONFIG_IPVLAN=m
|
CONFIG_IPVLAN=m
|
||||||
CONFIG_VXLAN=m
|
CONFIG_VXLAN=m
|
||||||
CONFIG_GENEVE=m
|
CONFIG_GENEVE=m
|
||||||
|
CONFIG_MACSEC=m
|
||||||
CONFIG_NETCONSOLE=m
|
CONFIG_NETCONSOLE=m
|
||||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||||
CONFIG_VETH=m
|
CONFIG_VETH=m
|
||||||
@@ -435,6 +436,7 @@ CONFIG_JFS_FS=m
|
|||||||
CONFIG_XFS_FS=m
|
CONFIG_XFS_FS=m
|
||||||
CONFIG_OCFS2_FS=m
|
CONFIG_OCFS2_FS=m
|
||||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
||||||
|
CONFIG_FS_ENCRYPTION=m
|
||||||
CONFIG_FANOTIFY=y
|
CONFIG_FANOTIFY=y
|
||||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||||
@@ -451,6 +453,7 @@ CONFIG_VFAT_FS=m
|
|||||||
CONFIG_PROC_KCORE=y
|
CONFIG_PROC_KCORE=y
|
||||||
CONFIG_PROC_CHILDREN=y
|
CONFIG_PROC_CHILDREN=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
|
CONFIG_ORANGEFS_FS=m
|
||||||
CONFIG_AFFS_FS=m
|
CONFIG_AFFS_FS=m
|
||||||
CONFIG_ECRYPT_FS=m
|
CONFIG_ECRYPT_FS=m
|
||||||
CONFIG_ECRYPT_FS_MESSAGING=y
|
CONFIG_ECRYPT_FS_MESSAGING=y
|
||||||
@@ -532,6 +535,7 @@ CONFIG_TEST_HEXDUMP=m
|
|||||||
CONFIG_TEST_STRING_HELPERS=m
|
CONFIG_TEST_STRING_HELPERS=m
|
||||||
CONFIG_TEST_KSTRTOX=m
|
CONFIG_TEST_KSTRTOX=m
|
||||||
CONFIG_TEST_PRINTF=m
|
CONFIG_TEST_PRINTF=m
|
||||||
|
CONFIG_TEST_BITMAP=m
|
||||||
CONFIG_TEST_RHASHTABLE=m
|
CONFIG_TEST_RHASHTABLE=m
|
||||||
CONFIG_TEST_LKM=m
|
CONFIG_TEST_LKM=m
|
||||||
CONFIG_TEST_USER_COPY=m
|
CONFIG_TEST_USER_COPY=m
|
||||||
@@ -540,7 +544,6 @@ CONFIG_TEST_FIRMWARE=m
|
|||||||
CONFIG_TEST_UDELAY=m
|
CONFIG_TEST_UDELAY=m
|
||||||
CONFIG_TEST_STATIC_KEYS=m
|
CONFIG_TEST_STATIC_KEYS=m
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
CONFIG_ENCRYPTED_KEYS=m
|
|
||||||
CONFIG_CRYPTO_RSA=m
|
CONFIG_CRYPTO_RSA=m
|
||||||
CONFIG_CRYPTO_MANAGER=y
|
CONFIG_CRYPTO_MANAGER=y
|
||||||
CONFIG_CRYPTO_USER=m
|
CONFIG_CRYPTO_USER=m
|
||||||
@@ -548,12 +551,9 @@ CONFIG_CRYPTO_CRYPTD=m
|
|||||||
CONFIG_CRYPTO_MCRYPTD=m
|
CONFIG_CRYPTO_MCRYPTD=m
|
||||||
CONFIG_CRYPTO_TEST=m
|
CONFIG_CRYPTO_TEST=m
|
||||||
CONFIG_CRYPTO_CCM=m
|
CONFIG_CRYPTO_CCM=m
|
||||||
CONFIG_CRYPTO_GCM=m
|
|
||||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
||||||
CONFIG_CRYPTO_CTS=m
|
|
||||||
CONFIG_CRYPTO_LRW=m
|
CONFIG_CRYPTO_LRW=m
|
||||||
CONFIG_CRYPTO_PCBC=m
|
CONFIG_CRYPTO_PCBC=m
|
||||||
CONFIG_CRYPTO_XTS=m
|
|
||||||
CONFIG_CRYPTO_KEYWRAP=m
|
CONFIG_CRYPTO_KEYWRAP=m
|
||||||
CONFIG_CRYPTO_XCBC=m
|
CONFIG_CRYPTO_XCBC=m
|
||||||
CONFIG_CRYPTO_VMAC=m
|
CONFIG_CRYPTO_VMAC=m
|
||||||
@@ -577,7 +577,6 @@ CONFIG_CRYPTO_SEED=m
|
|||||||
CONFIG_CRYPTO_SERPENT=m
|
CONFIG_CRYPTO_SERPENT=m
|
||||||
CONFIG_CRYPTO_TEA=m
|
CONFIG_CRYPTO_TEA=m
|
||||||
CONFIG_CRYPTO_TWOFISH=m
|
CONFIG_CRYPTO_TWOFISH=m
|
||||||
CONFIG_CRYPTO_ZLIB=m
|
|
||||||
CONFIG_CRYPTO_LZO=m
|
CONFIG_CRYPTO_LZO=m
|
||||||
CONFIG_CRYPTO_842=m
|
CONFIG_CRYPTO_842=m
|
||||||
CONFIG_CRYPTO_LZ4=m
|
CONFIG_CRYPTO_LZ4=m
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
CONFIG_LOCALVERSION="-multi"
|
CONFIG_LOCALVERSION="-multi"
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_POSIX_MQUEUE=y
|
CONFIG_POSIX_MQUEUE=y
|
||||||
CONFIG_FHANDLE=y
|
|
||||||
CONFIG_BSD_PROCESS_ACCT=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||||
CONFIG_LOG_BUF_SHIFT=16
|
CONFIG_LOG_BUF_SHIFT=16
|
||||||
@@ -71,7 +70,6 @@ CONFIG_INET_IPCOMP=m
|
|||||||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
CONFIG_INET_XFRM_MODE_TRANSPORT=m
|
||||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
CONFIG_INET_XFRM_MODE_TUNNEL=m
|
||||||
CONFIG_INET_XFRM_MODE_BEET=m
|
CONFIG_INET_XFRM_MODE_BEET=m
|
||||||
# CONFIG_INET_LRO is not set
|
|
||||||
CONFIG_INET_DIAG=m
|
CONFIG_INET_DIAG=m
|
||||||
CONFIG_INET_UDP_DIAG=m
|
CONFIG_INET_UDP_DIAG=m
|
||||||
CONFIG_IPV6=m
|
CONFIG_IPV6=m
|
||||||
@@ -295,7 +293,9 @@ CONFIG_NET_MPLS_GSO=m
|
|||||||
CONFIG_MPLS_ROUTING=m
|
CONFIG_MPLS_ROUTING=m
|
||||||
CONFIG_MPLS_IPTUNNEL=m
|
CONFIG_MPLS_IPTUNNEL=m
|
||||||
CONFIG_NET_L3_MASTER_DEV=y
|
CONFIG_NET_L3_MASTER_DEV=y
|
||||||
|
CONFIG_AF_KCM=m
|
||||||
# CONFIG_WIRELESS is not set
|
# CONFIG_WIRELESS is not set
|
||||||
|
CONFIG_NET_DEVLINK=m
|
||||||
# CONFIG_UEVENT_HELPER is not set
|
# CONFIG_UEVENT_HELPER is not set
|
||||||
CONFIG_DEVTMPFS=y
|
CONFIG_DEVTMPFS=y
|
||||||
CONFIG_DEVTMPFS_MOUNT=y
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
@@ -390,6 +390,7 @@ CONFIG_MACVTAP=m
|
|||||||
CONFIG_IPVLAN=m
|
CONFIG_IPVLAN=m
|
||||||
CONFIG_VXLAN=m
|
CONFIG_VXLAN=m
|
||||||
CONFIG_GENEVE=m
|
CONFIG_GENEVE=m
|
||||||
|
CONFIG_MACSEC=m
|
||||||
CONFIG_NETCONSOLE=m
|
CONFIG_NETCONSOLE=m
|
||||||
CONFIG_NETCONSOLE_DYNAMIC=y
|
CONFIG_NETCONSOLE_DYNAMIC=y
|
||||||
CONFIG_VETH=m
|
CONFIG_VETH=m
|
||||||
@@ -515,6 +516,7 @@ CONFIG_JFS_FS=m
|
|||||||
CONFIG_XFS_FS=m
|
CONFIG_XFS_FS=m
|
||||||
CONFIG_OCFS2_FS=m
|
CONFIG_OCFS2_FS=m
|
||||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
|
||||||
|
CONFIG_FS_ENCRYPTION=m
|
||||||
CONFIG_FANOTIFY=y
|
CONFIG_FANOTIFY=y
|
||||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||||
@@ -531,6 +533,7 @@ CONFIG_VFAT_FS=m
|
|||||||
CONFIG_PROC_KCORE=y
|
CONFIG_PROC_KCORE=y
|
||||||
CONFIG_PROC_CHILDREN=y
|
CONFIG_PROC_CHILDREN=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
|
CONFIG_ORANGEFS_FS=m
|
||||||
CONFIG_AFFS_FS=m
|
CONFIG_AFFS_FS=m
|
||||||
CONFIG_ECRYPT_FS=m
|
CONFIG_ECRYPT_FS=m
|
||||||
CONFIG_ECRYPT_FS_MESSAGING=y
|
CONFIG_ECRYPT_FS_MESSAGING=y
|
||||||
@@ -612,6 +615,7 @@ CONFIG_TEST_HEXDUMP=m
|
|||||||
CONFIG_TEST_STRING_HELPERS=m
|
CONFIG_TEST_STRING_HELPERS=m
|
||||||
CONFIG_TEST_KSTRTOX=m
|
CONFIG_TEST_KSTRTOX=m
|
||||||
CONFIG_TEST_PRINTF=m
|
CONFIG_TEST_PRINTF=m
|
||||||
|
CONFIG_TEST_BITMAP=m
|
||||||
CONFIG_TEST_RHASHTABLE=m
|
CONFIG_TEST_RHASHTABLE=m
|
||||||
CONFIG_TEST_LKM=m
|
CONFIG_TEST_LKM=m
|
||||||
CONFIG_TEST_USER_COPY=m
|
CONFIG_TEST_USER_COPY=m
|
||||||
@@ -620,7 +624,6 @@ CONFIG_TEST_FIRMWARE=m
|
|||||||
CONFIG_TEST_UDELAY=m
|
CONFIG_TEST_UDELAY=m
|
||||||
CONFIG_TEST_STATIC_KEYS=m
|
CONFIG_TEST_STATIC_KEYS=m
|
||||||
CONFIG_EARLY_PRINTK=y
|
CONFIG_EARLY_PRINTK=y
|
||||||
CONFIG_ENCRYPTED_KEYS=m
|
|
||||||
CONFIG_CRYPTO_RSA=m
|
CONFIG_CRYPTO_RSA=m
|
||||||
CONFIG_CRYPTO_MANAGER=y
|
CONFIG_CRYPTO_MANAGER=y
|
||||||
CONFIG_CRYPTO_USER=m
|
CONFIG_CRYPTO_USER=m
|
||||||
@@ -628,12 +631,9 @@ CONFIG_CRYPTO_CRYPTD=m
|
|||||||
CONFIG_CRYPTO_MCRYPTD=m
|
CONFIG_CRYPTO_MCRYPTD=m
|
||||||
CONFIG_CRYPTO_TEST=m
|
CONFIG_CRYPTO_TEST=m
|
||||||
CONFIG_CRYPTO_CCM=m
|
CONFIG_CRYPTO_CCM=m
|
||||||
CONFIG_CRYPTO_GCM=m
|
|
||||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
CONFIG_CRYPTO_CHACHA20POLY1305=m
|
||||||
CONFIG_CRYPTO_CTS=m
|
|
||||||
CONFIG_CRYPTO_LRW=m
|
CONFIG_CRYPTO_LRW=m
|
||||||
CONFIG_CRYPTO_PCBC=m
|
CONFIG_CRYPTO_PCBC=m
|
||||||
CONFIG_CRYPTO_XTS=m
|
|
||||||
CONFIG_CRYPTO_KEYWRAP=m
|
CONFIG_CRYPTO_KEYWRAP=m
|
||||||
CONFIG_CRYPTO_XCBC=m
|
CONFIG_CRYPTO_XCBC=m
|
||||||
CONFIG_CRYPTO_VMAC=m
|
CONFIG_CRYPTO_VMAC=m
|
||||||
@@ -657,7 +657,6 @@ CONFIG_CRYPTO_SEED=m
|
|||||||
CONFIG_CRYPTO_SERPENT=m
|
CONFIG_CRYPTO_SERPENT=m
|
||||||
CONFIG_CRYPTO_TEA=m
|
CONFIG_CRYPTO_TEA=m
|
||||||
CONFIG_CRYPTO_TWOFISH=m
|
CONFIG_CRYPTO_TWOFISH=m
|
||||||
CONFIG_CRYPTO_ZLIB=m
|
|
||||||
CONFIG_CRYPTO_LZO=m
|
CONFIG_CRYPTO_LZO=m
|
||||||
CONFIG_CRYPTO_842=m
|
CONFIG_CRYPTO_842=m
|
||||||
CONFIG_CRYPTO_LZ4=m
|
CONFIG_CRYPTO_LZ4=m
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user