forked from mirrors/linux
		
	Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts were two cases of simple overlapping changes, nothing serious. In the UDP case, we need to add a hlist_add_tail_rcu() to linux/rculist.h, because we've moved UDP socket handling away from using nulls lists. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
						commit
						1602f49b58
					
				
					 317 changed files with 2917 additions and 1788 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
KernelVersion:	4.6
 | 
			
		||||
Contact:	Wolfram Sang <wsa@the-dreams.de>
 | 
			
		||||
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
 | 
			
		||||
give you a list with the active master marked. Example from a Renesas Lager
 | 
			
		||||
board:
 | 
			
		||||
 | 
			
		||||
root@Lager:~# cat /sys/devices/platform/i2c@8/cur_master
 | 
			
		||||
* 0 - /i2c@9
 | 
			
		||||
  1 - /i2c@e6520000
 | 
			
		||||
  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
 | 
			
		||||
What:		/sys/devices/platform/<i2c-demux-name>/current_master
 | 
			
		||||
Date:		January 2016
 | 
			
		||||
KernelVersion:	4.6
 | 
			
		||||
Contact:	Wolfram Sang <wsa@the-dreams.de>
 | 
			
		||||
Description:
 | 
			
		||||
		This file selects/shows the active I2C master for a demultiplexed
 | 
			
		||||
		bus. It uses the <index> value from the file 'available_masters'.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,8 @@ have dual GMAC each represented by a child node..
 | 
			
		|||
Required properties:
 | 
			
		||||
- compatible: Should be "mediatek,mt7623-eth"
 | 
			
		||||
- 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
 | 
			
		||||
- clock-names: the names of the clock listed in the clocks property. These are
 | 
			
		||||
	"ethif", "esw", "gp2", "gp1"
 | 
			
		||||
| 
						 | 
				
			
			@ -42,7 +43,9 @@ eth: ethernet@1b100000 {
 | 
			
		|||
		 <ðsys CLK_ETHSYS_GP2>,
 | 
			
		||||
		 <ðsys CLK_ETHSYS_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>;
 | 
			
		||||
	resets = <ðsys MT2701_ETHSYS_ETH_RST>;
 | 
			
		||||
	reset-names = "eth";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,13 +1,16 @@
 | 
			
		|||
== Amlogic Meson pinmux controller ==
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
=== GPIO sub-nodes ===
 | 
			
		||||
 | 
			
		||||
The 2 power domains of the controller (regular and always-on) are
 | 
			
		||||
represented as sub-nodes and each of them acts as a GPIO controller.
 | 
			
		||||
The GPIO bank for the controller is represented as a sub-node and it acts as a
 | 
			
		||||
GPIO controller.
 | 
			
		||||
 | 
			
		||||
Required properties for sub-nodes are:
 | 
			
		||||
 - 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-cells: must be 2
 | 
			
		||||
 | 
			
		||||
Valid sub-node names are:
 | 
			
		||||
 - "banks" for the regular domain
 | 
			
		||||
 - "ao-bank" for the always-on domain
 | 
			
		||||
 | 
			
		||||
=== Other sub-nodes ===
 | 
			
		||||
 | 
			
		||||
Child nodes without the "gpio-controller" represent some desired
 | 
			
		||||
| 
						 | 
				
			
			@ -45,7 +44,7 @@ pinctrl-bindings.txt
 | 
			
		|||
=== Example ===
 | 
			
		||||
 | 
			
		||||
	pinctrl: pinctrl@c1109880 {
 | 
			
		||||
		compatible = "amlogic,meson8-pinctrl";
 | 
			
		||||
		compatible = "amlogic,meson8-cbus-pinctrl";
 | 
			
		||||
		reg = <0xc1109880 0x10>;
 | 
			
		||||
		#address-cells = <1>;
 | 
			
		||||
		#size-cells = <1>;
 | 
			
		||||
| 
						 | 
				
			
			@ -61,15 +60,6 @@ pinctrl-bindings.txt
 | 
			
		|||
			#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 {
 | 
			
		||||
			mux {
 | 
			
		||||
				groups = "nand_io", "nand_io_ce0", "nand_io_ce1",
 | 
			
		||||
| 
						 | 
				
			
			@ -79,18 +69,4 @@ pinctrl-bindings.txt
 | 
			
		|||
				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
 | 
			
		||||
  depends on the parent interrupt controller.
 | 
			
		||||
- clocks: Must contain a list of phandle and clock specifier for the rtc
 | 
			
		||||
          and source clocks.
 | 
			
		||||
- clock-names: Must contain "rtc" and "rtc_src" entries sorted in the
 | 
			
		||||
               same order as the clocks property.
 | 
			
		||||
          clock and in the case of a s3c6410 compatible controller, also
 | 
			
		||||
          a source clock.
 | 
			
		||||
- clock-names: Must contain "rtc" and for a s3c6410 compatible controller,
 | 
			
		||||
               a "rtc_src" sorted in the same order as the clocks property.
 | 
			
		||||
 | 
			
		||||
Example:
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4077,6 +4077,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 | 
			
		|||
					sector if the number is odd);
 | 
			
		||||
				i = IGNORE_DEVICE (don't bind to this
 | 
			
		||||
					device);
 | 
			
		||||
				j = NO_REPORT_LUNS (don't use report luns
 | 
			
		||||
					command, uas only);
 | 
			
		||||
				l = NOT_LOCKABLE (don't try to lock and
 | 
			
		||||
					unlock ejectable media);
 | 
			
		||||
				m = MAX_SECTORS_64 (don't transfer more
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
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
 | 
			
		||||
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).
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
| 
						 | 
				
			
			@ -6253,8 +6253,8 @@ S:	Maintained
 | 
			
		|||
F:	tools/testing/selftests
 | 
			
		||||
 | 
			
		||||
KERNEL VIRTUAL MACHINE (KVM)
 | 
			
		||||
M:	Gleb Natapov <gleb@kernel.org>
 | 
			
		||||
M:	Paolo Bonzini <pbonzini@redhat.com>
 | 
			
		||||
M:	Radim Krčmář <rkrcmar@redhat.com>
 | 
			
		||||
L:	kvm@vger.kernel.org
 | 
			
		||||
W:	http://www.linux-kvm.org
 | 
			
		||||
T:	git git://git.kernel.org/pub/scm/virt/kvm/kvm.git
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
VERSION = 4
 | 
			
		||||
PATCHLEVEL = 6
 | 
			
		||||
SUBLEVEL = 0
 | 
			
		||||
EXTRAVERSION = -rc2
 | 
			
		||||
EXTRAVERSION = -rc4
 | 
			
		||||
NAME = Blurry Fish Butt
 | 
			
		||||
 | 
			
		||||
# *DOCUMENTATION*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -593,7 +593,6 @@ config PCI_SYSCALL
 | 
			
		|||
	def_bool PCI
 | 
			
		||||
 | 
			
		||||
source "drivers/pci/Kconfig"
 | 
			
		||||
source "drivers/pci/pcie/Kconfig"
 | 
			
		||||
 | 
			
		||||
endmenu
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,14 +47,6 @@ ethernet@0x18000 {
 | 
			
		|||
			clocks = <&apbclk>;
 | 
			
		||||
			clock-names = "stmmaceth";
 | 
			
		||||
			max-speed = <100>;
 | 
			
		||||
			mdio0 {
 | 
			
		||||
				#address-cells = <1>;
 | 
			
		||||
				#size-cells = <0>;
 | 
			
		||||
				compatible = "snps,dwmac-mdio";
 | 
			
		||||
				phy1: ethernet-phy@1 {
 | 
			
		||||
					reg = <1>;
 | 
			
		||||
				};
 | 
			
		||||
			};
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		ehci@0x40000 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,7 @@ CONFIG_DEVTMPFS=y
 | 
			
		|||
# CONFIG_STANDALONE is not set
 | 
			
		||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
 | 
			
		||||
# CONFIG_FIRMWARE_IN_KERNEL is not set
 | 
			
		||||
CONFIG_BLK_DEV_LOOP=y
 | 
			
		||||
CONFIG_SCSI=y
 | 
			
		||||
CONFIG_BLK_DEV_SD=y
 | 
			
		||||
CONFIG_NETDEVICES=y
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,6 +43,7 @@ CONFIG_DEVTMPFS=y
 | 
			
		|||
# CONFIG_STANDALONE is not set
 | 
			
		||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
 | 
			
		||||
# CONFIG_FIRMWARE_IN_KERNEL is not set
 | 
			
		||||
CONFIG_BLK_DEV_LOOP=y
 | 
			
		||||
CONFIG_SCSI=y
 | 
			
		||||
CONFIG_BLK_DEV_SD=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_ */
 | 
			
		||||
| 
						 | 
				
			
			@ -470,9 +470,12 @@ &davinci_mdio {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
&cpsw_emac0 {
 | 
			
		||||
	phy_id = <&davinci_mdio>, <0>;
 | 
			
		||||
	phy-mode = "rmii";
 | 
			
		||||
	dual_emac_res_vlan = <1>;
 | 
			
		||||
	fixed-link {
 | 
			
		||||
		speed = <100>;
 | 
			
		||||
		full-duplex;
 | 
			
		||||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&cpsw_emac1 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -207,7 +207,7 @@ edma: edma@49000000 {
 | 
			
		|||
			ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
 | 
			
		||||
				   <&edma_tptc2 0>;
 | 
			
		||||
 | 
			
		||||
			ti,edma-memcpy-channels = <32 33>;
 | 
			
		||||
			ti,edma-memcpy-channels = <58 59>;
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		edma_tptc0: tptc@49800000 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -794,3 +794,8 @@ &mcasp1 {
 | 
			
		|||
	tx-num-evt = <32>;
 | 
			
		||||
	rx-num-evt = <32>;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
&synctimer_32kclk {
 | 
			
		||||
	assigned-clocks = <&mux_synctimer32k_ck>;
 | 
			
		||||
	assigned-clock-parents = <&clkdiv32k_ick>;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -117,7 +117,7 @@ sata@a8000 {
 | 
			
		|||
			};
 | 
			
		||||
 | 
			
		||||
			/* USB part of the eSATA/USB 2.0 port */
 | 
			
		||||
			usb@50000 {
 | 
			
		||||
			usb@58000 {
 | 
			
		||||
				status = "okay";
 | 
			
		||||
			};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -91,8 +91,8 @@ clk81: clk@0 {
 | 
			
		|||
		clock-frequency = <141666666>;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	pinctrl: pinctrl@c1109880 {
 | 
			
		||||
		compatible = "amlogic,meson8-pinctrl";
 | 
			
		||||
	pinctrl_cbus: pinctrl@c1109880 {
 | 
			
		||||
		compatible = "amlogic,meson8-cbus-pinctrl";
 | 
			
		||||
		reg = <0xc1109880 0x10>;
 | 
			
		||||
		#address-cells = <1>;
 | 
			
		||||
		#size-cells = <1>;
 | 
			
		||||
| 
						 | 
				
			
			@ -108,29 +108,6 @@ gpio: banks@c11080b0 {
 | 
			
		|||
			#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 {
 | 
			
		||||
			mux {
 | 
			
		||||
				groups = "nor_d", "nor_q", "nor_c", "nor_cs";
 | 
			
		||||
| 
						 | 
				
			
			@ -157,4 +134,34 @@ mux {
 | 
			
		|||
		};
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	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 / */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -155,8 +155,8 @@ clkc: clock-controller@c1104000 {
 | 
			
		|||
			reg = <0xc1108000 0x4>, <0xc1104000 0x460>;
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		pinctrl: pinctrl@c1109880 {
 | 
			
		||||
			compatible = "amlogic,meson8b-pinctrl";
 | 
			
		||||
		pinctrl_cbus: pinctrl@c1109880 {
 | 
			
		||||
			compatible = "amlogic,meson8b-cbus-pinctrl";
 | 
			
		||||
			reg = <0xc1109880 0x10>;
 | 
			
		||||
			#address-cells = <1>;
 | 
			
		||||
			#size-cells = <1>;
 | 
			
		||||
| 
						 | 
				
			
			@ -171,6 +171,14 @@ gpio: banks@c11080b0 {
 | 
			
		|||
				gpio-controller;
 | 
			
		||||
				#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 {
 | 
			
		||||
				reg = <0xc8100014 0x4>,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -70,7 +70,7 @@ local-timer@48240600 {
 | 
			
		|||
		compatible = "arm,cortex-a9-twd-timer";
 | 
			
		||||
		clocks = <&mpu_periphclk>;
 | 
			
		||||
		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>;
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,6 +63,9 @@ CONFIG_INPUT_TOUCHSCREEN=y
 | 
			
		|||
CONFIG_TOUCHSCREEN_BU21013=y
 | 
			
		||||
CONFIG_INPUT_MISC=y
 | 
			
		||||
CONFIG_INPUT_AB8500_PONKEY=y
 | 
			
		||||
CONFIG_RMI4_CORE=y
 | 
			
		||||
CONFIG_RMI4_I2C=y
 | 
			
		||||
CONFIG_RMI4_F11=y
 | 
			
		||||
# CONFIG_SERIO is not set
 | 
			
		||||
CONFIG_VT_HW_CONSOLE_BINDING=y
 | 
			
		||||
# 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;
 | 
			
		||||
 | 
			
		||||
	/* feature registers are signed values */
 | 
			
		||||
	if (feature > 8)
 | 
			
		||||
	if (feature > 7)
 | 
			
		||||
		feature -= 16;
 | 
			
		||||
 | 
			
		||||
	return feature;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@
 | 
			
		|||
 * This may need to be greater than __NR_last_syscall+1 in order to
 | 
			
		||||
 * account for the padding in the syscall table
 | 
			
		||||
 */
 | 
			
		||||
#define __NR_syscalls  (392)
 | 
			
		||||
#define __NR_syscalls  (396)
 | 
			
		||||
 | 
			
		||||
#define __ARCH_WANT_STAT64
 | 
			
		||||
#define __ARCH_WANT_SYS_GETHOSTNAME
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -418,6 +418,8 @@
 | 
			
		|||
#define __NR_membarrier			(__NR_SYSCALL_BASE+389)
 | 
			
		||||
#define __NR_mlock2			(__NR_SYSCALL_BASE+390)
 | 
			
		||||
#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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -399,8 +399,10 @@
 | 
			
		|||
		CALL(sys_execveat)
 | 
			
		||||
		CALL(sys_userfaultfd)
 | 
			
		||||
		CALL(sys_membarrier)
 | 
			
		||||
		CALL(sys_mlock2)
 | 
			
		||||
/* 390 */	CALL(sys_mlock2)
 | 
			
		||||
		CALL(sys_copy_file_range)
 | 
			
		||||
		CALL(sys_preadv2)
 | 
			
		||||
		CALL(sys_pwritev2)
 | 
			
		||||
#ifndef syscalls_counted
 | 
			
		||||
.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
 | 
			
		||||
#define syscalls_counted
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -430,11 +430,13 @@ static void __init patch_aeabi_idiv(void)
 | 
			
		|||
	pr_info("CPU: div instructions available: patching division code\n");
 | 
			
		||||
 | 
			
		||||
	fn_addr = ((uintptr_t)&__aeabi_uidiv) & ~1;
 | 
			
		||||
	asm ("" : "+g" (fn_addr));
 | 
			
		||||
	((u32 *)fn_addr)[0] = udiv_instruction();
 | 
			
		||||
	((u32 *)fn_addr)[1] = bx_lr_instruction();
 | 
			
		||||
	flush_icache_range(fn_addr, fn_addr + 8);
 | 
			
		||||
 | 
			
		||||
	fn_addr = ((uintptr_t)&__aeabi_idiv) & ~1;
 | 
			
		||||
	asm ("" : "+g" (fn_addr));
 | 
			
		||||
	((u32 *)fn_addr)[0] = sdiv_instruction();
 | 
			
		||||
	((u32 *)fn_addr)[1] = bx_lr_instruction();
 | 
			
		||||
	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 ||
 | 
			
		||||
	    (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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1112,10 +1112,17 @@ static void __init hyp_cpu_pm_init(void)
 | 
			
		|||
{
 | 
			
		||||
	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
 | 
			
		||||
static inline void hyp_cpu_pm_init(void)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
static inline void hyp_cpu_pm_exit(void)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static void teardown_common_resources(void)
 | 
			
		||||
| 
						 | 
				
			
			@ -1141,9 +1148,7 @@ static int init_subsystems(void)
 | 
			
		|||
	/*
 | 
			
		||||
	 * Register CPU Hotplug notifier
 | 
			
		||||
	 */
 | 
			
		||||
	cpu_notifier_register_begin();
 | 
			
		||||
	err = __register_cpu_notifier(&hyp_init_cpu_nb);
 | 
			
		||||
	cpu_notifier_register_done();
 | 
			
		||||
	err = register_cpu_notifier(&hyp_init_cpu_nb);
 | 
			
		||||
	if (err) {
 | 
			
		||||
		kvm_err("Cannot register KVM init CPU notifier (%d)\n", err);
 | 
			
		||||
		return err;
 | 
			
		||||
| 
						 | 
				
			
			@ -1193,6 +1198,8 @@ static void teardown_hyp_mode(void)
 | 
			
		|||
	free_hyp_pgds();
 | 
			
		||||
	for_each_possible_cpu(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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -669,9 +669,9 @@ void __init dra7xxx_check_revision(void)
 | 
			
		|||
		case 0:
 | 
			
		||||
			omap_revision = DRA722_REV_ES1_0;
 | 
			
		||||
			break;
 | 
			
		||||
		case 1:
 | 
			
		||||
		default:
 | 
			
		||||
			/* If we have no new revisions */
 | 
			
		||||
			omap_revision = DRA722_REV_ES1_0;
 | 
			
		||||
			omap_revision = DRA722_REV_ES2_0;
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
		break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -368,6 +368,7 @@ void __init omap5_map_io(void)
 | 
			
		|||
void __init dra7xx_map_io(void)
 | 
			
		||||
{
 | 
			
		||||
	iotable_init(dra7xx_io_desc, ARRAY_SIZE(dra7xx_io_desc));
 | 
			
		||||
	omap_barriers_init();
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
/*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1416,8 +1416,6 @@ static void _enable_sysc(struct omap_hwmod *oh)
 | 
			
		|||
	    (sf & SYSC_HAS_CLOCKACTIVITY))
 | 
			
		||||
		_set_clockactivity(oh, oh->class->sysc->clockact, &v);
 | 
			
		||||
 | 
			
		||||
	/* If the cached value is the same as the new value, skip the write */
 | 
			
		||||
	if (oh->_sysc_cache != v)
 | 
			
		||||
	_write_sysconfig(v, oh);
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
| 
						 | 
				
			
			@ -1481,6 +1479,8 @@ static void _idle_sysc(struct omap_hwmod *oh)
 | 
			
		|||
		_set_master_standbymode(oh, idlemode, &v);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* 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,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* USB needs udelay 1 after reset at least on hp t410, use 2 for margin */
 | 
			
		||||
static struct omap_hwmod_class_sysconfig dm81xx_usbhsotg_sysc = {
 | 
			
		||||
	.rev_offs	= 0x0,
 | 
			
		||||
	.sysc_offs	= 0x10,
 | 
			
		||||
	.srst_udelay	= 2,
 | 
			
		||||
	.sysc_flags	= SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
 | 
			
		||||
				SYSC_HAS_SOFTRESET,
 | 
			
		||||
	.idlemodes	= SIDLE_SMART | MSTANDBY_FORCE | MSTANDBY_SMART,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -489,6 +489,7 @@ IS_OMAP_TYPE(3430, 0x3430)
 | 
			
		|||
#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_ES2_0	(DRA7XX_CLASS | (0x22 << 16) | (0x20 << 8))
 | 
			
		||||
 | 
			
		||||
void omap2xxx_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)
 | 
			
		||||
{
 | 
			
		||||
	pxa_dma_pdata.dma_channels = nb_channels;
 | 
			
		||||
	pxa_dma_pdata.nb_requestors = nb_requestors;
 | 
			
		||||
	pxa_register_device(&pxa2xx_pxa_dma, &pxa_dma_pdata);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,10 +61,7 @@ config SA1100_H3100
 | 
			
		|||
	select MFD_IPAQ_MICRO
 | 
			
		||||
	help
 | 
			
		||||
	  Say Y here if you intend to run this kernel on the Compaq iPAQ
 | 
			
		||||
	  H3100 handheld computer.  Information about this machine and the
 | 
			
		||||
	  Linux port to this machine can be found at:
 | 
			
		||||
 | 
			
		||||
	  <http://www.handhelds.org/Compaq/index.html#iPAQ_H3100>
 | 
			
		||||
	  H3100 handheld computer.
 | 
			
		||||
 | 
			
		||||
config SA1100_H3600
 | 
			
		||||
	bool "Compaq iPAQ H3600/H3700"
 | 
			
		||||
| 
						 | 
				
			
			@ -73,10 +70,7 @@ config SA1100_H3600
 | 
			
		|||
	select MFD_IPAQ_MICRO
 | 
			
		||||
	help
 | 
			
		||||
	  Say Y here if you intend to run this kernel on the Compaq iPAQ
 | 
			
		||||
	  H3600 handheld computer.  Information about this machine and the
 | 
			
		||||
	  Linux port to this machine can be found at:
 | 
			
		||||
 | 
			
		||||
	  <http://www.handhelds.org/Compaq/index.html#iPAQ_H3600>
 | 
			
		||||
	  H3600 and H3700 handheld computers.
 | 
			
		||||
 | 
			
		||||
config SA1100_BADGE4
 | 
			
		||||
	bool "HP Labs BadgePAD 4"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -120,7 +120,7 @@ static int __init uniphier_smp_prepare_trampoline(unsigned int max_cpus)
 | 
			
		|||
	if (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) {
 | 
			
		||||
		pr_err("failed to map ROM_BOOT_RSV2 register\n");
 | 
			
		||||
		return -ENOMEM;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -762,7 +762,8 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,
 | 
			
		|||
	if (!mask)
 | 
			
		||||
		return NULL;
 | 
			
		||||
 | 
			
		||||
	buf = kzalloc(sizeof(*buf), gfp);
 | 
			
		||||
	buf = kzalloc(sizeof(*buf),
 | 
			
		||||
		      gfp & ~(__GFP_DMA | __GFP_DMA32 | __GFP_HIGHMEM));
 | 
			
		||||
	if (!buf)
 | 
			
		||||
		return NULL;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -281,12 +281,12 @@ __v7_ca17mp_setup:
 | 
			
		|||
	bl      v7_invalidate_l1
 | 
			
		||||
	ldmia	r12, {r1-r6, lr}
 | 
			
		||||
#ifdef CONFIG_SMP
 | 
			
		||||
	orr	r10, r10, #(1 << 6)		@ Enable SMP/nAMP mode
 | 
			
		||||
	ALT_SMP(mrc	p15, 0, r0, c1, c0, 1)
 | 
			
		||||
	ALT_UP(mov	r0, #(1 << 6))		@ fake it for UP
 | 
			
		||||
	tst	r0, #(1 << 6)			@ SMP/nAMP mode enabled?
 | 
			
		||||
	orreq	r0, r0, #(1 << 6)		@ Enable SMP/nAMP mode
 | 
			
		||||
	orreq	r0, r0, r10			@ Enable CPU-specific SMP bits
 | 
			
		||||
	mcreq	p15, 0, r0, c1, c0, 1
 | 
			
		||||
	ALT_UP(mov	r0, r10)		@ fake it for UP
 | 
			
		||||
	orr	r10, r10, r0			@ Set required bits
 | 
			
		||||
	teq	r10, r0				@ Were they already set?
 | 
			
		||||
	mcrne	p15, 0, r10, c1, c0, 1		@ No, update register
 | 
			
		||||
#endif
 | 
			
		||||
	b	__v7_setup_cont
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,12 +108,15 @@ pci {
 | 
			
		|||
		reg = <0x0 0x30000000  0x0 0x10000000>;
 | 
			
		||||
		reg-names = "PCI ECAM";
 | 
			
		||||
 | 
			
		||||
			  /* IO 0x4000_0000 - 0x4001_0000 */
 | 
			
		||||
		ranges = <0x01000000 0 0x40000000 0 0x40000000 0 0x00010000
 | 
			
		||||
			  /* MEM 0x4800_0000 - 0x5000_0000 */
 | 
			
		||||
			  0x02000000 0 0x48000000 0 0x48000000 0 0x08000000
 | 
			
		||||
			  /* MEM64 pref 0x6_0000_0000 - 0x7_0000_0000 */
 | 
			
		||||
			  0x43000000 6 0x00000000 6 0x00000000 1 0x00000000>;
 | 
			
		||||
		/*
 | 
			
		||||
		 * PCI ranges:
 | 
			
		||||
		 *   IO		no supported
 | 
			
		||||
		 *   MEM        0x4000_0000 - 0x6000_0000
 | 
			
		||||
		 *   MEM64 pref 0x40_0000_0000 - 0x60_0000_0000
 | 
			
		||||
		 */
 | 
			
		||||
		ranges =
 | 
			
		||||
		  <0x02000000    0 0x40000000    0 0x40000000    0 0x20000000
 | 
			
		||||
		   0x43000000 0x40 0x00000000 0x40 0x00000000 0x20 0x00000000>;
 | 
			
		||||
		interrupt-map-mask = <0 0 0 7>;
 | 
			
		||||
		interrupt-map =
 | 
			
		||||
		      /* addr  pin  ic   icaddr  icintr */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -151,8 +151,7 @@
 | 
			
		|||
 */
 | 
			
		||||
#define VTCR_EL2_FLAGS		(VTCR_EL2_TG0_64K | VTCR_EL2_SH0_INNER | \
 | 
			
		||||
				 VTCR_EL2_ORGN0_WBWA | VTCR_EL2_IRGN0_WBWA | \
 | 
			
		||||
				 VTCR_EL2_SL0_LVL1 | VTCR_EL2_T0SZ_40B | \
 | 
			
		||||
				 VTCR_EL2_RES1)
 | 
			
		||||
				 VTCR_EL2_SL0_LVL1 | VTCR_EL2_RES1)
 | 
			
		||||
#define VTTBR_X		(38 - VTCR_EL2_T0SZ_40B)
 | 
			
		||||
#else
 | 
			
		||||
/*
 | 
			
		||||
| 
						 | 
				
			
			@ -163,8 +162,7 @@
 | 
			
		|||
 */
 | 
			
		||||
#define VTCR_EL2_FLAGS		(VTCR_EL2_TG0_4K | VTCR_EL2_SH0_INNER | \
 | 
			
		||||
				 VTCR_EL2_ORGN0_WBWA | VTCR_EL2_IRGN0_WBWA | \
 | 
			
		||||
				 VTCR_EL2_SL0_LVL1 | VTCR_EL2_T0SZ_40B | \
 | 
			
		||||
				 VTCR_EL2_RES1)
 | 
			
		||||
				 VTCR_EL2_SL0_LVL1 | VTCR_EL2_RES1)
 | 
			
		||||
#define VTTBR_X		(37 - VTCR_EL2_T0SZ_40B)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,7 +54,7 @@ extern void __vgic_v3_init_lrs(void);
 | 
			
		|||
 | 
			
		||||
extern u32 __kvm_get_mdcr_el2(void);
 | 
			
		||||
 | 
			
		||||
extern void __init_stage2_translation(void);
 | 
			
		||||
extern u32 __init_stage2_translation(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -369,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,
 | 
			
		||||
			       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)
 | 
			
		||||
{
 | 
			
		||||
	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__ */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,9 +20,10 @@
 | 
			
		|||
#include <asm/kvm_asm.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 parange;
 | 
			
		||||
	u64 tmp;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
| 
						 | 
				
			
			@ -30,7 +31,39 @@ void __hyp_text __init_stage2_translation(void)
 | 
			
		|||
	 * bits in VTCR_EL2. Amusingly, the PARange is 4 bits, while
 | 
			
		||||
	 * 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
 | 
			
		||||
| 
						 | 
				
			
			@ -42,4 +75,6 @@ void __hyp_text __init_stage2_translation(void)
 | 
			
		|||
			VTCR_EL2_VS_8BIT;
 | 
			
		||||
 | 
			
		||||
	write_sysreg(val, vtcr_el2);
 | 
			
		||||
 | 
			
		||||
	return parange;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -158,11 +158,6 @@ static int mcfgpio_to_irq(struct gpio_chip *chip, unsigned offset)
 | 
			
		|||
		return -EINVAL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static struct bus_type mcfgpio_subsys = {
 | 
			
		||||
	.name		= "gpio",
 | 
			
		||||
	.dev_name	= "gpio",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static struct gpio_chip mcfgpio_chip = {
 | 
			
		||||
	.label			= "mcfgpio",
 | 
			
		||||
	.request		= mcfgpio_request,
 | 
			
		||||
| 
						 | 
				
			
			@ -178,8 +173,7 @@ static struct gpio_chip mcfgpio_chip = {
 | 
			
		|||
 | 
			
		||||
static int __init mcfgpio_sysinit(void)
 | 
			
		||||
{
 | 
			
		||||
	gpiochip_add_data(&mcfgpio_chip, NULL);
 | 
			
		||||
	return subsys_system_register(&mcfgpio_subsys, NULL);
 | 
			
		||||
	return gpiochip_add_data(&mcfgpio_chip, NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
core_initcall(mcfgpio_sysinit);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-amiga"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -64,7 +63,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -285,7 +283,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -359,6 +359,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -452,6 +453,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -468,6 +470,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -549,6 +552,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -557,7 +561,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -565,12 +568,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -594,7 +594,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-apollo"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +61,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -283,7 +281,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -341,6 +341,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -411,6 +412,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -427,6 +429,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -508,6 +511,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -516,7 +520,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -524,12 +527,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -553,7 +553,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-atari"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +61,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -283,7 +281,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -350,6 +350,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -432,6 +433,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -448,6 +450,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -529,6 +532,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -537,7 +541,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -545,12 +548,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -574,7 +574,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-bvme6000"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +59,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -281,7 +279,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -340,6 +340,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -403,6 +404,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -419,6 +421,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -500,6 +503,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -508,7 +512,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -516,12 +519,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -545,7 +545,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-hp300"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +61,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -283,7 +281,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -341,6 +341,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -413,6 +414,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -429,6 +431,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -510,6 +513,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -518,7 +522,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -526,12 +529,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -555,7 +555,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-mac"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -61,7 +60,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -285,7 +283,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -357,6 +357,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -435,6 +436,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -451,6 +453,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -532,6 +535,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -540,7 +544,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -548,12 +551,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -577,7 +577,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-multi"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -71,7 +70,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -295,7 +293,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -390,6 +390,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -515,6 +516,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -531,6 +533,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -612,6 +615,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -620,7 +624,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -628,12 +631,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -657,7 +657,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-mvme147"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -59,7 +58,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -280,7 +278,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -339,6 +339,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -403,6 +404,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -419,6 +421,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -500,6 +503,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -508,7 +512,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -516,12 +519,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -545,7 +545,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-mvme16x"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +59,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -281,7 +279,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -340,6 +340,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -403,6 +404,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -419,6 +421,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -500,6 +503,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -508,7 +512,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -516,12 +519,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -545,7 +545,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-q40"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +59,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -281,7 +279,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -346,6 +346,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -426,6 +427,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -442,6 +444,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -523,6 +526,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -531,7 +535,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -539,12 +542,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -568,7 +568,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-sun3"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +56,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -278,7 +276,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -337,6 +337,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -405,6 +406,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -421,6 +423,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -502,6 +505,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -509,7 +513,6 @@ CONFIG_TEST_BPF=m
 | 
			
		|||
CONFIG_TEST_FIRMWARE=m
 | 
			
		||||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -517,12 +520,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -546,7 +546,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,6 @@
 | 
			
		|||
CONFIG_LOCALVERSION="-sun3x"
 | 
			
		||||
CONFIG_SYSVIPC=y
 | 
			
		||||
CONFIG_POSIX_MQUEUE=y
 | 
			
		||||
CONFIG_FHANDLE=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT=y
 | 
			
		||||
CONFIG_BSD_PROCESS_ACCT_V3=y
 | 
			
		||||
CONFIG_LOG_BUF_SHIFT=16
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +56,6 @@ CONFIG_INET_IPCOMP=m
 | 
			
		|||
CONFIG_INET_XFRM_MODE_TRANSPORT=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_TUNNEL=m
 | 
			
		||||
CONFIG_INET_XFRM_MODE_BEET=m
 | 
			
		||||
# CONFIG_INET_LRO is not set
 | 
			
		||||
CONFIG_INET_DIAG=m
 | 
			
		||||
CONFIG_INET_UDP_DIAG=m
 | 
			
		||||
CONFIG_IPV6=m
 | 
			
		||||
| 
						 | 
				
			
			@ -278,7 +276,9 @@ CONFIG_NET_MPLS_GSO=m
 | 
			
		|||
CONFIG_MPLS_ROUTING=m
 | 
			
		||||
CONFIG_MPLS_IPTUNNEL=m
 | 
			
		||||
CONFIG_NET_L3_MASTER_DEV=y
 | 
			
		||||
CONFIG_AF_KCM=m
 | 
			
		||||
# CONFIG_WIRELESS is not set
 | 
			
		||||
CONFIG_NET_DEVLINK=m
 | 
			
		||||
# CONFIG_UEVENT_HELPER is not set
 | 
			
		||||
CONFIG_DEVTMPFS=y
 | 
			
		||||
CONFIG_DEVTMPFS_MOUNT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -337,6 +337,7 @@ CONFIG_MACVTAP=m
 | 
			
		|||
CONFIG_IPVLAN=m
 | 
			
		||||
CONFIG_VXLAN=m
 | 
			
		||||
CONFIG_GENEVE=m
 | 
			
		||||
CONFIG_MACSEC=m
 | 
			
		||||
CONFIG_NETCONSOLE=m
 | 
			
		||||
CONFIG_NETCONSOLE_DYNAMIC=y
 | 
			
		||||
CONFIG_VETH=m
 | 
			
		||||
| 
						 | 
				
			
			@ -405,6 +406,7 @@ CONFIG_JFS_FS=m
 | 
			
		|||
CONFIG_XFS_FS=m
 | 
			
		||||
CONFIG_OCFS2_FS=m
 | 
			
		||||
# CONFIG_OCFS2_DEBUG_MASKLOG is not set
 | 
			
		||||
CONFIG_FS_ENCRYPTION=m
 | 
			
		||||
CONFIG_FANOTIFY=y
 | 
			
		||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
 | 
			
		||||
# CONFIG_PRINT_QUOTA_WARNING is not set
 | 
			
		||||
| 
						 | 
				
			
			@ -421,6 +423,7 @@ CONFIG_VFAT_FS=m
 | 
			
		|||
CONFIG_PROC_KCORE=y
 | 
			
		||||
CONFIG_PROC_CHILDREN=y
 | 
			
		||||
CONFIG_TMPFS=y
 | 
			
		||||
CONFIG_ORANGEFS_FS=m
 | 
			
		||||
CONFIG_AFFS_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS=m
 | 
			
		||||
CONFIG_ECRYPT_FS_MESSAGING=y
 | 
			
		||||
| 
						 | 
				
			
			@ -502,6 +505,7 @@ CONFIG_TEST_HEXDUMP=m
 | 
			
		|||
CONFIG_TEST_STRING_HELPERS=m
 | 
			
		||||
CONFIG_TEST_KSTRTOX=m
 | 
			
		||||
CONFIG_TEST_PRINTF=m
 | 
			
		||||
CONFIG_TEST_BITMAP=m
 | 
			
		||||
CONFIG_TEST_RHASHTABLE=m
 | 
			
		||||
CONFIG_TEST_LKM=m
 | 
			
		||||
CONFIG_TEST_USER_COPY=m
 | 
			
		||||
| 
						 | 
				
			
			@ -510,7 +514,6 @@ CONFIG_TEST_FIRMWARE=m
 | 
			
		|||
CONFIG_TEST_UDELAY=m
 | 
			
		||||
CONFIG_TEST_STATIC_KEYS=m
 | 
			
		||||
CONFIG_EARLY_PRINTK=y
 | 
			
		||||
CONFIG_ENCRYPTED_KEYS=m
 | 
			
		||||
CONFIG_CRYPTO_RSA=m
 | 
			
		||||
CONFIG_CRYPTO_MANAGER=y
 | 
			
		||||
CONFIG_CRYPTO_USER=m
 | 
			
		||||
| 
						 | 
				
			
			@ -518,12 +521,9 @@ CONFIG_CRYPTO_CRYPTD=m
 | 
			
		|||
CONFIG_CRYPTO_MCRYPTD=m
 | 
			
		||||
CONFIG_CRYPTO_TEST=m
 | 
			
		||||
CONFIG_CRYPTO_CCM=m
 | 
			
		||||
CONFIG_CRYPTO_GCM=m
 | 
			
		||||
CONFIG_CRYPTO_CHACHA20POLY1305=m
 | 
			
		||||
CONFIG_CRYPTO_CTS=m
 | 
			
		||||
CONFIG_CRYPTO_LRW=m
 | 
			
		||||
CONFIG_CRYPTO_PCBC=m
 | 
			
		||||
CONFIG_CRYPTO_XTS=m
 | 
			
		||||
CONFIG_CRYPTO_KEYWRAP=m
 | 
			
		||||
CONFIG_CRYPTO_XCBC=m
 | 
			
		||||
CONFIG_CRYPTO_VMAC=m
 | 
			
		||||
| 
						 | 
				
			
			@ -547,7 +547,6 @@ CONFIG_CRYPTO_SEED=m
 | 
			
		|||
CONFIG_CRYPTO_SERPENT=m
 | 
			
		||||
CONFIG_CRYPTO_TEA=m
 | 
			
		||||
CONFIG_CRYPTO_TWOFISH=m
 | 
			
		||||
CONFIG_CRYPTO_ZLIB=m
 | 
			
		||||
CONFIG_CRYPTO_LZO=m
 | 
			
		||||
CONFIG_CRYPTO_842=m
 | 
			
		||||
CONFIG_CRYPTO_LZ4=m
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@
 | 
			
		|||
#include <uapi/asm/unistd.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define NR_syscalls		377
 | 
			
		||||
#define NR_syscalls		379
 | 
			
		||||
 | 
			
		||||
#define __ARCH_WANT_OLD_READDIR
 | 
			
		||||
#define __ARCH_WANT_OLD_STAT
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -382,5 +382,7 @@
 | 
			
		|||
#define __NR_membarrier		374
 | 
			
		||||
#define __NR_mlock2		375
 | 
			
		||||
#define __NR_copy_file_range	376
 | 
			
		||||
#define __NR_preadv2		377
 | 
			
		||||
#define __NR_pwritev2		378
 | 
			
		||||
 | 
			
		||||
#endif /* _UAPI_ASM_M68K_UNISTD_H_ */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -397,3 +397,5 @@ ENTRY(sys_call_table)
 | 
			
		|||
	.long sys_membarrier
 | 
			
		||||
	.long sys_mlock2		/* 375 */
 | 
			
		||||
	.long sys_copy_file_range
 | 
			
		||||
	.long sys_preadv2
 | 
			
		||||
	.long sys_pwritev2
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,8 +4,8 @@ config PARISC
 | 
			
		|||
	select ARCH_MIGHT_HAVE_PC_PARPORT
 | 
			
		||||
	select HAVE_IDE
 | 
			
		||||
	select HAVE_OPROFILE
 | 
			
		||||
	select HAVE_FUNCTION_TRACER if 64BIT
 | 
			
		||||
	select HAVE_FUNCTION_GRAPH_TRACER if 64BIT
 | 
			
		||||
	select HAVE_FUNCTION_TRACER
 | 
			
		||||
	select HAVE_FUNCTION_GRAPH_TRACER
 | 
			
		||||
	select ARCH_WANT_FRAME_POINTERS
 | 
			
		||||
	select RTC_CLASS
 | 
			
		||||
	select RTC_DRV_GENERIC
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,13 @@ menu "Kernel hacking"
 | 
			
		|||
 | 
			
		||||
source "lib/Kconfig.debug"
 | 
			
		||||
 | 
			
		||||
config TRACE_IRQFLAGS_SUPPORT
 | 
			
		||||
	def_bool y
 | 
			
		||||
 | 
			
		||||
config DEBUG_RODATA
 | 
			
		||||
       bool "Write protect kernel read-only data structures"
 | 
			
		||||
       depends on DEBUG_KERNEL
 | 
			
		||||
       default y
 | 
			
		||||
       help
 | 
			
		||||
         Mark the kernel read-only data as write-protected in the pagetables,
 | 
			
		||||
         in order to catch accidental (and incorrect) writes to such const
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,9 +62,7 @@ cflags-y	+= -mdisable-fpregs
 | 
			
		|||
 | 
			
		||||
# Without this, "ld -r" results in .text sections that are too big
 | 
			
		||||
# (> 0x40000) for branches to reach stubs.
 | 
			
		||||
ifndef CONFIG_FUNCTION_TRACER
 | 
			
		||||
cflags-y	+= -ffunction-sections
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Use long jumps instead of long branches (needed if your linker fails to
 | 
			
		||||
# link a too big vmlinux executable). Not enabled for building modules.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,23 +4,7 @@
 | 
			
		|||
#ifndef __ASSEMBLY__
 | 
			
		||||
extern void mcount(void);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Stack of return addresses for functions of a thread.
 | 
			
		||||
 * Used in struct thread_info
 | 
			
		||||
 */
 | 
			
		||||
struct ftrace_ret_stack {
 | 
			
		||||
	unsigned long ret;
 | 
			
		||||
	unsigned long func;
 | 
			
		||||
	unsigned long long calltime;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Primary handler of a function return.
 | 
			
		||||
 * It relays on ftrace_return_to_handler.
 | 
			
		||||
 * Defined in entry.S
 | 
			
		||||
 */
 | 
			
		||||
extern void return_to_handler(void);
 | 
			
		||||
 | 
			
		||||
#define MCOUNT_INSN_SIZE 4
 | 
			
		||||
 | 
			
		||||
extern unsigned long return_address(unsigned int);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,20 +44,18 @@ static inline long access_ok(int type, const void __user * addr,
 | 
			
		|||
#define LDD_USER(ptr)		BUILD_BUG()
 | 
			
		||||
#define STD_KERNEL(x, ptr)	__put_kernel_asm64(x, ptr)
 | 
			
		||||
#define STD_USER(x, ptr)	__put_user_asm64(x, ptr)
 | 
			
		||||
#define ASM_WORD_INSN		".word\t"
 | 
			
		||||
#else
 | 
			
		||||
#define LDD_KERNEL(ptr)		__get_kernel_asm("ldd", ptr)
 | 
			
		||||
#define LDD_USER(ptr)		__get_user_asm("ldd", ptr)
 | 
			
		||||
#define STD_KERNEL(x, ptr)	__put_kernel_asm("std", x, ptr)
 | 
			
		||||
#define STD_USER(x, ptr)	__put_user_asm("std", x, ptr)
 | 
			
		||||
#define ASM_WORD_INSN		".dword\t"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The exception table contains two values: the first is an address
 | 
			
		||||
 * for an instruction that is allowed to fault, and the second is
 | 
			
		||||
 * the address to the fixup routine. Even on a 64bit kernel we could
 | 
			
		||||
 * use a 32bit (unsigned int) address here.
 | 
			
		||||
 * The exception table contains two values: the first is the relative offset to
 | 
			
		||||
 * the address of the instruction that is allowed to fault, and the second is
 | 
			
		||||
 * the relative offset to the address of the fixup routine. Since relative
 | 
			
		||||
 * addresses are used, 32bit values are sufficient even on 64bit kernel.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define ARCH_HAS_RELATIVE_EXTABLE
 | 
			
		||||
| 
						 | 
				
			
			@ -77,6 +75,7 @@ struct exception_table_entry {
 | 
			
		|||
 */
 | 
			
		||||
struct exception_data {
 | 
			
		||||
	unsigned long fault_ip;
 | 
			
		||||
	unsigned long fault_gp;
 | 
			
		||||
	unsigned long fault_space;
 | 
			
		||||
	unsigned long fault_addr;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,11 +15,7 @@ ifdef CONFIG_FUNCTION_TRACER
 | 
			
		|||
# Do not profile debug and lowlevel utilities
 | 
			
		||||
CFLAGS_REMOVE_ftrace.o = -pg
 | 
			
		||||
CFLAGS_REMOVE_cache.o = -pg
 | 
			
		||||
CFLAGS_REMOVE_irq.o = -pg
 | 
			
		||||
CFLAGS_REMOVE_pacache.o = -pg
 | 
			
		||||
CFLAGS_REMOVE_perf.o = -pg
 | 
			
		||||
CFLAGS_REMOVE_traps.o = -pg
 | 
			
		||||
CFLAGS_REMOVE_unaligned.o = -pg
 | 
			
		||||
CFLAGS_REMOVE_unwind.o = -pg
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -299,6 +299,7 @@ int main(void)
 | 
			
		|||
#endif
 | 
			
		||||
	BLANK();
 | 
			
		||||
	DEFINE(EXCDATA_IP, offsetof(struct exception_data, fault_ip));
 | 
			
		||||
	DEFINE(EXCDATA_GP, offsetof(struct exception_data, fault_gp));
 | 
			
		||||
	DEFINE(EXCDATA_SPACE, offsetof(struct exception_data, fault_space));
 | 
			
		||||
	DEFINE(EXCDATA_ADDR, offsetof(struct exception_data, fault_addr));
 | 
			
		||||
	BLANK();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1970,43 +1970,98 @@ pt_regs_ok:
 | 
			
		|||
	b	intr_restore
 | 
			
		||||
	copy	%r25,%r16
 | 
			
		||||
 | 
			
		||||
	.import schedule,code
 | 
			
		||||
syscall_do_resched:
 | 
			
		||||
	BL	schedule,%r2
 | 
			
		||||
	load32	syscall_check_resched,%r2 /* if resched, we start over again */
 | 
			
		||||
	load32	schedule,%r19
 | 
			
		||||
	bv	%r0(%r19)		/* jumps to schedule() */
 | 
			
		||||
#ifdef CONFIG_64BIT
 | 
			
		||||
	ldo	-16(%r30),%r29		/* Reference param save area */
 | 
			
		||||
#else
 | 
			
		||||
	nop
 | 
			
		||||
#endif
 | 
			
		||||
	b	syscall_check_resched	/* if resched, we start over again */
 | 
			
		||||
	nop
 | 
			
		||||
ENDPROC(syscall_exit)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_FUNCTION_TRACER
 | 
			
		||||
 | 
			
		||||
	.import ftrace_function_trampoline,code
 | 
			
		||||
ENTRY(_mcount)
 | 
			
		||||
	copy	%r3, %arg2
 | 
			
		||||
	.align L1_CACHE_BYTES
 | 
			
		||||
	.globl mcount
 | 
			
		||||
	.type  mcount, @function
 | 
			
		||||
ENTRY(mcount)
 | 
			
		||||
_mcount:
 | 
			
		||||
	.export _mcount,data
 | 
			
		||||
	.proc
 | 
			
		||||
	.callinfo caller,frame=0
 | 
			
		||||
	.entry
 | 
			
		||||
	/*
 | 
			
		||||
	 * The 64bit mcount() function pointer needs 4 dwords, of which the
 | 
			
		||||
	 * first two are free.  We optimize it here and put 2 instructions for
 | 
			
		||||
	 * calling mcount(), and 2 instructions for ftrace_stub().  That way we
 | 
			
		||||
	 * have all on one L1 cacheline.
 | 
			
		||||
	 */
 | 
			
		||||
	b	ftrace_function_trampoline
 | 
			
		||||
	nop
 | 
			
		||||
ENDPROC(_mcount)
 | 
			
		||||
 | 
			
		||||
ENTRY(return_to_handler)
 | 
			
		||||
	load32	return_trampoline, %rp
 | 
			
		||||
	copy	%ret0, %arg0
 | 
			
		||||
	copy	%ret1, %arg1
 | 
			
		||||
	b	ftrace_return_to_handler
 | 
			
		||||
	nop
 | 
			
		||||
return_trampoline:
 | 
			
		||||
	copy	%ret0, %rp
 | 
			
		||||
	copy	%r23, %ret0
 | 
			
		||||
	copy	%r24, %ret1
 | 
			
		||||
 | 
			
		||||
.globl ftrace_stub
 | 
			
		||||
	copy	%r3, %arg2	/* caller original %sp */
 | 
			
		||||
ftrace_stub:
 | 
			
		||||
	.globl ftrace_stub
 | 
			
		||||
        .type  ftrace_stub, @function
 | 
			
		||||
#ifdef CONFIG_64BIT
 | 
			
		||||
	bve	(%rp)
 | 
			
		||||
#else
 | 
			
		||||
	bv	%r0(%rp)
 | 
			
		||||
#endif
 | 
			
		||||
	nop
 | 
			
		||||
#ifdef CONFIG_64BIT
 | 
			
		||||
	.dword mcount
 | 
			
		||||
	.dword 0 /* code in head.S puts value of global gp here */
 | 
			
		||||
#endif
 | 
			
		||||
	.exit
 | 
			
		||||
	.procend
 | 
			
		||||
ENDPROC(mcount)
 | 
			
		||||
 | 
			
		||||
	.align 8
 | 
			
		||||
	.globl return_to_handler
 | 
			
		||||
	.type  return_to_handler, @function
 | 
			
		||||
ENTRY(return_to_handler)
 | 
			
		||||
	.proc
 | 
			
		||||
	.callinfo caller,frame=FRAME_SIZE
 | 
			
		||||
	.entry
 | 
			
		||||
	.export parisc_return_to_handler,data
 | 
			
		||||
parisc_return_to_handler:
 | 
			
		||||
	copy %r3,%r1
 | 
			
		||||
	STREG %r0,-RP_OFFSET(%sp)	/* store 0 as %rp */
 | 
			
		||||
	copy %sp,%r3
 | 
			
		||||
	STREGM %r1,FRAME_SIZE(%sp)
 | 
			
		||||
	STREG %ret0,8(%r3)
 | 
			
		||||
	STREG %ret1,16(%r3)
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_64BIT
 | 
			
		||||
	loadgp
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	/* call ftrace_return_to_handler(0) */
 | 
			
		||||
#ifdef CONFIG_64BIT
 | 
			
		||||
	ldo -16(%sp),%ret1		/* Reference param save area */
 | 
			
		||||
#endif
 | 
			
		||||
	BL ftrace_return_to_handler,%r2
 | 
			
		||||
	ldi 0,%r26
 | 
			
		||||
	copy %ret0,%rp
 | 
			
		||||
 | 
			
		||||
	/* restore original return values */
 | 
			
		||||
	LDREG 8(%r3),%ret0
 | 
			
		||||
	LDREG 16(%r3),%ret1
 | 
			
		||||
 | 
			
		||||
	/* return from function */
 | 
			
		||||
#ifdef CONFIG_64BIT
 | 
			
		||||
	bve	(%rp)
 | 
			
		||||
#else
 | 
			
		||||
	bv	%r0(%rp)
 | 
			
		||||
#endif
 | 
			
		||||
	LDREGM -FRAME_SIZE(%sp),%r3
 | 
			
		||||
	.exit
 | 
			
		||||
	.procend
 | 
			
		||||
ENDPROC(return_to_handler)
 | 
			
		||||
 | 
			
		||||
#endif	/* CONFIG_FUNCTION_TRACER */
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_IRQSTACKS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Code for tracing calls in Linux kernel.
 | 
			
		||||
 * Copyright (C) 2009 Helge Deller <deller@gmx.de>
 | 
			
		||||
 * Copyright (C) 2009-2016 Helge Deller <deller@gmx.de>
 | 
			
		||||
 *
 | 
			
		||||
 * based on code for x86 which is:
 | 
			
		||||
 * Copyright (C) 2007-2008 Steven Rostedt <srostedt@redhat.com>
 | 
			
		||||
| 
						 | 
				
			
			@ -13,104 +13,21 @@
 | 
			
		|||
#include <linux/init.h>
 | 
			
		||||
#include <linux/ftrace.h>
 | 
			
		||||
 | 
			
		||||
#include <asm/assembly.h>
 | 
			
		||||
#include <asm/sections.h>
 | 
			
		||||
#include <asm/ftrace.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
 | 
			
		||||
 | 
			
		||||
/* Add a function return address to the trace stack on thread info.*/
 | 
			
		||||
static int push_return_trace(unsigned long ret, unsigned long long time,
 | 
			
		||||
				unsigned long func, int *depth)
 | 
			
		||||
{
 | 
			
		||||
	int index;
 | 
			
		||||
 | 
			
		||||
	if (!current->ret_stack)
 | 
			
		||||
		return -EBUSY;
 | 
			
		||||
 | 
			
		||||
	/* The return trace stack is full */
 | 
			
		||||
	if (current->curr_ret_stack == FTRACE_RETFUNC_DEPTH - 1) {
 | 
			
		||||
		atomic_inc(¤t->trace_overrun);
 | 
			
		||||
		return -EBUSY;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	index = ++current->curr_ret_stack;
 | 
			
		||||
	barrier();
 | 
			
		||||
	current->ret_stack[index].ret = ret;
 | 
			
		||||
	current->ret_stack[index].func = func;
 | 
			
		||||
	current->ret_stack[index].calltime = time;
 | 
			
		||||
	*depth = index;
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Retrieve a function return address to the trace stack on thread info.*/
 | 
			
		||||
static void pop_return_trace(struct ftrace_graph_ret *trace, unsigned long *ret)
 | 
			
		||||
{
 | 
			
		||||
	int index;
 | 
			
		||||
 | 
			
		||||
	index = current->curr_ret_stack;
 | 
			
		||||
 | 
			
		||||
	if (unlikely(index < 0)) {
 | 
			
		||||
		ftrace_graph_stop();
 | 
			
		||||
		WARN_ON(1);
 | 
			
		||||
		/* Might as well panic, otherwise we have no where to go */
 | 
			
		||||
		*ret = (unsigned long)
 | 
			
		||||
			dereference_function_descriptor(&panic);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	*ret = current->ret_stack[index].ret;
 | 
			
		||||
	trace->func = current->ret_stack[index].func;
 | 
			
		||||
	trace->calltime = current->ret_stack[index].calltime;
 | 
			
		||||
	trace->overrun = atomic_read(¤t->trace_overrun);
 | 
			
		||||
	trace->depth = index;
 | 
			
		||||
	barrier();
 | 
			
		||||
	current->curr_ret_stack--;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Send the trace to the ring-buffer.
 | 
			
		||||
 * @return the original return address.
 | 
			
		||||
 */
 | 
			
		||||
unsigned long ftrace_return_to_handler(unsigned long retval0,
 | 
			
		||||
				       unsigned long retval1)
 | 
			
		||||
{
 | 
			
		||||
	struct ftrace_graph_ret trace;
 | 
			
		||||
	unsigned long ret;
 | 
			
		||||
 | 
			
		||||
	pop_return_trace(&trace, &ret);
 | 
			
		||||
	trace.rettime = local_clock();
 | 
			
		||||
	ftrace_graph_return(&trace);
 | 
			
		||||
 | 
			
		||||
	if (unlikely(!ret)) {
 | 
			
		||||
		ftrace_graph_stop();
 | 
			
		||||
		WARN_ON(1);
 | 
			
		||||
		/* Might as well panic. What else to do? */
 | 
			
		||||
		ret = (unsigned long)
 | 
			
		||||
			dereference_function_descriptor(&panic);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* HACK: we hand over the old functions' return values
 | 
			
		||||
	   in %r23 and %r24. Assembly in entry.S will take care
 | 
			
		||||
	   and move those to their final registers %ret0 and %ret1 */
 | 
			
		||||
	asm( "copy %0, %%r23 \n\t"
 | 
			
		||||
	     "copy %1, %%r24 \n" : : "r" (retval0), "r" (retval1) );
 | 
			
		||||
 | 
			
		||||
	return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Hook the return address and push it in the stack of return addrs
 | 
			
		||||
 * in current thread info.
 | 
			
		||||
 */
 | 
			
		||||
void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
 | 
			
		||||
static void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
 | 
			
		||||
{
 | 
			
		||||
	unsigned long old;
 | 
			
		||||
	unsigned long long calltime;
 | 
			
		||||
	struct ftrace_graph_ent trace;
 | 
			
		||||
	extern int parisc_return_to_handler;
 | 
			
		||||
 | 
			
		||||
	if (unlikely(ftrace_graph_is_dead()))
 | 
			
		||||
		return;
 | 
			
		||||
| 
						 | 
				
			
			@ -119,60 +36,43 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr)
 | 
			
		|||
		return;
 | 
			
		||||
 | 
			
		||||
	old = *parent;
 | 
			
		||||
	*parent = (unsigned long)
 | 
			
		||||
		  dereference_function_descriptor(&return_to_handler);
 | 
			
		||||
 | 
			
		||||
	if (unlikely(!__kernel_text_address(old))) {
 | 
			
		||||
		ftrace_graph_stop();
 | 
			
		||||
		*parent = old;
 | 
			
		||||
		WARN_ON(1);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	calltime = local_clock();
 | 
			
		||||
 | 
			
		||||
	if (push_return_trace(old, calltime,
 | 
			
		||||
				self_addr, &trace.depth) == -EBUSY) {
 | 
			
		||||
		*parent = old;
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	trace.func = self_addr;
 | 
			
		||||
	trace.depth = current->curr_ret_stack + 1;
 | 
			
		||||
 | 
			
		||||
	/* Only trace if the calling function expects to */
 | 
			
		||||
	if (!ftrace_graph_entry(&trace)) {
 | 
			
		||||
		current->curr_ret_stack--;
 | 
			
		||||
		*parent = old;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
	if (!ftrace_graph_entry(&trace))
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
        if (ftrace_push_return_trace(old, self_addr, &trace.depth,
 | 
			
		||||
			0 ) == -EBUSY)
 | 
			
		||||
                return;
 | 
			
		||||
 | 
			
		||||
	/* activate parisc_return_to_handler() as return point */
 | 
			
		||||
	*parent = (unsigned long) &parisc_return_to_handler;
 | 
			
		||||
}
 | 
			
		||||
#endif /* CONFIG_FUNCTION_GRAPH_TRACER */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void ftrace_function_trampoline(unsigned long parent,
 | 
			
		||||
void notrace ftrace_function_trampoline(unsigned long parent,
 | 
			
		||||
				unsigned long self_addr,
 | 
			
		||||
				unsigned long org_sp_gr3)
 | 
			
		||||
{
 | 
			
		||||
	extern ftrace_func_t ftrace_trace_function;
 | 
			
		||||
	extern ftrace_func_t ftrace_trace_function;  /* depends on CONFIG_DYNAMIC_FTRACE */
 | 
			
		||||
	extern int ftrace_graph_entry_stub(struct ftrace_graph_ent *trace);
 | 
			
		||||
 | 
			
		||||
	if (ftrace_trace_function != ftrace_stub) {
 | 
			
		||||
		ftrace_trace_function(parent, self_addr);
 | 
			
		||||
		/* struct ftrace_ops *op, struct pt_regs *regs); */
 | 
			
		||||
		ftrace_trace_function(parent, self_addr, NULL, NULL);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
 | 
			
		||||
	if (ftrace_graph_entry && ftrace_graph_return) {
 | 
			
		||||
		unsigned long sp;
 | 
			
		||||
	if (ftrace_graph_return != (trace_func_graph_ret_t) ftrace_stub ||
 | 
			
		||||
		ftrace_graph_entry != ftrace_graph_entry_stub) {
 | 
			
		||||
		unsigned long *parent_rp;
 | 
			
		||||
 | 
			
		||||
                asm volatile ("copy %%r30, %0" : "=r"(sp));
 | 
			
		||||
		/* sanity check: is stack pointer which we got from
 | 
			
		||||
		   assembler function in entry.S in a reasonable
 | 
			
		||||
		   range compared to current stack pointer? */
 | 
			
		||||
		if ((sp - org_sp_gr3) > 0x400)
 | 
			
		||||
			return;
 | 
			
		||||
 | 
			
		||||
		/* calculate pointer to %rp in stack */
 | 
			
		||||
		parent_rp = (unsigned long *) org_sp_gr3 - 0x10;
 | 
			
		||||
		parent_rp = (unsigned long *) (org_sp_gr3 - RP_OFFSET);
 | 
			
		||||
		/* sanity check: parent_rp should hold parent */
 | 
			
		||||
		if (*parent_rp != parent)
 | 
			
		||||
			return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -129,6 +129,15 @@ $pgt_fill_loop:
 | 
			
		|||
	/* And the stack pointer too */
 | 
			
		||||
	ldo             THREAD_SZ_ALGN(%r6),%sp
 | 
			
		||||
 | 
			
		||||
#if defined(CONFIG_64BIT) && defined(CONFIG_FUNCTION_TRACER)
 | 
			
		||||
	.import _mcount,data
 | 
			
		||||
	/* initialize mcount FPTR */
 | 
			
		||||
	/* Get the global data pointer */
 | 
			
		||||
	loadgp
 | 
			
		||||
	load32		PA(_mcount), %r10
 | 
			
		||||
	std		%dp,0x18(%r10)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_SMP
 | 
			
		||||
	/* Set the smp rendezvous address into page zero.
 | 
			
		||||
	** It would be safer to do this in init_smp_config() but
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -660,6 +660,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
 | 
			
		|||
			}
 | 
			
		||||
			*loc = (*loc & ~0x3ff1ffd) | reassemble_22(val);
 | 
			
		||||
			break;
 | 
			
		||||
		case R_PARISC_PCREL32:
 | 
			
		||||
			/* 32-bit PC relative address */
 | 
			
		||||
			*loc = val - dot - 8 + addend;
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		default:
 | 
			
		||||
			printk(KERN_ERR "module %s: Unknown relocation: %u\n",
 | 
			
		||||
| 
						 | 
				
			
			@ -788,6 +792,10 @@ int apply_relocate_add(Elf_Shdr *sechdrs,
 | 
			
		|||
			CHECK_RELOC(val, 22);
 | 
			
		||||
			*loc = (*loc & ~0x3ff1ffd) | reassemble_22(val);
 | 
			
		||||
			break;
 | 
			
		||||
		case R_PARISC_PCREL32:
 | 
			
		||||
			/* 32-bit PC relative address */
 | 
			
		||||
			*loc = val - dot - 8 + addend;
 | 
			
		||||
			break;
 | 
			
		||||
		case R_PARISC_DIR64:
 | 
			
		||||
			/* 64-bit effective address */
 | 
			
		||||
			*loc64 = val + addend;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,11 +47,11 @@ EXPORT_SYMBOL(__cmpxchg_u64);
 | 
			
		|||
EXPORT_SYMBOL(lclear_user);
 | 
			
		||||
EXPORT_SYMBOL(lstrnlen_user);
 | 
			
		||||
 | 
			
		||||
/* Global fixups */
 | 
			
		||||
extern void fixup_get_user_skip_1(void);
 | 
			
		||||
extern void fixup_get_user_skip_2(void);
 | 
			
		||||
extern void fixup_put_user_skip_1(void);
 | 
			
		||||
extern void fixup_put_user_skip_2(void);
 | 
			
		||||
/* Global fixups - defined as int to avoid creation of function pointers */
 | 
			
		||||
extern int fixup_get_user_skip_1;
 | 
			
		||||
extern int fixup_get_user_skip_2;
 | 
			
		||||
extern int fixup_put_user_skip_1;
 | 
			
		||||
extern int fixup_put_user_skip_2;
 | 
			
		||||
EXPORT_SYMBOL(fixup_get_user_skip_1);
 | 
			
		||||
EXPORT_SYMBOL(fixup_get_user_skip_2);
 | 
			
		||||
EXPORT_SYMBOL(fixup_put_user_skip_1);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -795,6 +795,9 @@ void notrace handle_interruption(int code, struct pt_regs *regs)
 | 
			
		|||
 | 
			
		||||
	    if (fault_space == 0 && !faulthandler_disabled())
 | 
			
		||||
	    {
 | 
			
		||||
		/* Clean up and return if in exception table. */
 | 
			
		||||
		if (fixup_exception(regs))
 | 
			
		||||
			return;
 | 
			
		||||
		pdc_chassis_send_status(PDC_CHASSIS_DIRECT_PANIC);
 | 
			
		||||
		parisc_terminate("Kernel Fault", regs, code, fault_address);
 | 
			
		||||
	    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,6 +26,7 @@
 | 
			
		|||
 | 
			
		||||
#ifdef CONFIG_SMP
 | 
			
		||||
	.macro  get_fault_ip t1 t2
 | 
			
		||||
	loadgp
 | 
			
		||||
	addil LT%__per_cpu_offset,%r27
 | 
			
		||||
	LDREG RT%__per_cpu_offset(%r1),\t1
 | 
			
		||||
	/* t2 = smp_processor_id() */
 | 
			
		||||
| 
						 | 
				
			
			@ -40,14 +41,19 @@
 | 
			
		|||
	LDREG RT%exception_data(%r1),\t1
 | 
			
		||||
	/* t1 = this_cpu_ptr(&exception_data) */
 | 
			
		||||
	add,l \t1,\t2,\t1
 | 
			
		||||
	/* %r27 = t1->fault_gp - restore gp */
 | 
			
		||||
	LDREG EXCDATA_GP(\t1), %r27
 | 
			
		||||
	/* t1 = t1->fault_ip */
 | 
			
		||||
	LDREG EXCDATA_IP(\t1), \t1
 | 
			
		||||
	.endm
 | 
			
		||||
#else
 | 
			
		||||
	.macro  get_fault_ip t1 t2
 | 
			
		||||
	loadgp
 | 
			
		||||
	/* t1 = this_cpu_ptr(&exception_data) */
 | 
			
		||||
	addil LT%exception_data,%r27
 | 
			
		||||
	LDREG RT%exception_data(%r1),\t2
 | 
			
		||||
	/* %r27 = t2->fault_gp - restore gp */
 | 
			
		||||
	LDREG EXCDATA_GP(\t2), %r27
 | 
			
		||||
	/* t1 = t2->fault_ip */
 | 
			
		||||
	LDREG EXCDATA_IP(\t2), \t1
 | 
			
		||||
	.endm
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -145,6 +145,7 @@ int fixup_exception(struct pt_regs *regs)
 | 
			
		|||
		struct exception_data *d;
 | 
			
		||||
		d = this_cpu_ptr(&exception_data);
 | 
			
		||||
		d->fault_ip = regs->iaoq[0];
 | 
			
		||||
		d->fault_gp = regs->gr[27];
 | 
			
		||||
		d->fault_space = regs->isr;
 | 
			
		||||
		d->fault_addr = regs->ior;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,9 @@ config MMU
 | 
			
		|||
config ZONE_DMA
 | 
			
		||||
	def_bool y
 | 
			
		||||
 | 
			
		||||
config CPU_BIG_ENDIAN
 | 
			
		||||
	def_bool y
 | 
			
		||||
 | 
			
		||||
config LOCKDEP_SUPPORT
 | 
			
		||||
	def_bool y
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,7 +44,8 @@ struct zpci_fmb {
 | 
			
		|||
	u64 rpcit_ops;
 | 
			
		||||
	u64 dma_rbytes;
 | 
			
		||||
	u64 dma_wbytes;
 | 
			
		||||
} __packed __aligned(64);
 | 
			
		||||
	u64 pad[2];
 | 
			
		||||
} __packed __aligned(128);
 | 
			
		||||
 | 
			
		||||
enum zpci_state {
 | 
			
		||||
	ZPCI_FN_STATE_RESERVED,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,4 +13,6 @@
 | 
			
		|||
#define __NR_seccomp_exit_32	__NR_exit
 | 
			
		||||
#define __NR_seccomp_sigreturn_32 __NR_sigreturn
 | 
			
		||||
 | 
			
		||||
#include <asm-generic/seccomp.h>
 | 
			
		||||
 | 
			
		||||
#endif	/* _ASM_S390_SECCOMP_H */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -105,6 +105,7 @@ void arch_spin_lock_wait_flags(arch_spinlock_t *lp, unsigned long flags)
 | 
			
		|||
			if (_raw_compare_and_swap(&lp->lock, 0, cpu))
 | 
			
		||||
				return;
 | 
			
		||||
			local_irq_restore(flags);
 | 
			
		||||
			continue;
 | 
			
		||||
		}
 | 
			
		||||
		/* Check if the lock owner is running. */
 | 
			
		||||
		if (first_diag && cpu_is_preempted(~owner)) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,11 +34,6 @@ enum {
 | 
			
		|||
DECLARE_PER_CPU(int, cpu_state);
 | 
			
		||||
 | 
			
		||||
void smp_message_recv(unsigned int msg);
 | 
			
		||||
void smp_timer_broadcast(const struct cpumask *mask);
 | 
			
		||||
 | 
			
		||||
void local_timer_interrupt(void);
 | 
			
		||||
void local_timer_setup(unsigned int cpu);
 | 
			
		||||
void local_timer_stop(unsigned int cpu);
 | 
			
		||||
 | 
			
		||||
void arch_send_call_function_single_ipi(int cpu);
 | 
			
		||||
void arch_send_call_function_ipi_mask(const struct cpumask *mask);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,7 @@
 | 
			
		|||
 | 
			
		||||
#define mc_capable()    (1)
 | 
			
		||||
 | 
			
		||||
const struct cpumask *cpu_coregroup_mask(unsigned int cpu);
 | 
			
		||||
const struct cpumask *cpu_coregroup_mask(int cpu);
 | 
			
		||||
 | 
			
		||||
extern cpumask_t cpu_core_map[NR_CPUS];
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -73,8 +73,6 @@ static void shx3_prepare_cpus(unsigned int max_cpus)
 | 
			
		|||
{
 | 
			
		||||
	int i;
 | 
			
		||||
 | 
			
		||||
	local_timer_setup(0);
 | 
			
		||||
 | 
			
		||||
	BUILD_BUG_ON(SMP_MSG_NR >= 8);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < SMP_MSG_NR; i++)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,7 +21,7 @@ static DEFINE_PER_CPU(struct cpu, cpu_devices);
 | 
			
		|||
cpumask_t cpu_core_map[NR_CPUS];
 | 
			
		||||
EXPORT_SYMBOL(cpu_core_map);
 | 
			
		||||
 | 
			
		||||
static cpumask_t cpu_coregroup_map(unsigned int cpu)
 | 
			
		||||
static cpumask_t cpu_coregroup_map(int cpu)
 | 
			
		||||
{
 | 
			
		||||
	/*
 | 
			
		||||
	 * Presently all SH-X3 SMP cores are multi-cores, so just keep it
 | 
			
		||||
| 
						 | 
				
			
			@ -30,7 +30,7 @@ static cpumask_t cpu_coregroup_map(unsigned int cpu)
 | 
			
		|||
	return *cpu_possible_mask;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const struct cpumask *cpu_coregroup_mask(unsigned int cpu)
 | 
			
		||||
const struct cpumask *cpu_coregroup_mask(int cpu)
 | 
			
		||||
{
 | 
			
		||||
	return &cpu_core_map[cpu];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \
 | 
			
		|||
	vmlinux.bin.xz vmlinux.bin.lzo vmlinux.bin.lz4
 | 
			
		||||
 | 
			
		||||
KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2
 | 
			
		||||
KBUILD_CFLAGS += -fno-strict-aliasing -fPIC
 | 
			
		||||
KBUILD_CFLAGS += -fno-strict-aliasing $(call cc-option, -fPIE, -fPIC)
 | 
			
		||||
KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
 | 
			
		||||
cflags-$(CONFIG_X86_32) := -march=i386
 | 
			
		||||
cflags-$(CONFIG_X86_64) := -mcmodel=small
 | 
			
		||||
| 
						 | 
				
			
			@ -40,6 +40,18 @@ GCOV_PROFILE := n
 | 
			
		|||
UBSAN_SANITIZE :=n
 | 
			
		||||
 | 
			
		||||
LDFLAGS := -m elf_$(UTS_MACHINE)
 | 
			
		||||
ifeq ($(CONFIG_RELOCATABLE),y)
 | 
			
		||||
# If kernel is relocatable, build compressed kernel as PIE.
 | 
			
		||||
ifeq ($(CONFIG_X86_32),y)
 | 
			
		||||
LDFLAGS += $(call ld-option, -pie) $(call ld-option, --no-dynamic-linker)
 | 
			
		||||
else
 | 
			
		||||
# To build 64-bit compressed kernel as PIE, we disable relocation
 | 
			
		||||
# overflow check to avoid relocation overflow error with a new linker
 | 
			
		||||
# command-line option, -z noreloc-overflow.
 | 
			
		||||
LDFLAGS += $(shell $(LD) --help 2>&1 | grep -q "\-z noreloc-overflow" \
 | 
			
		||||
	&& echo "-z noreloc-overflow -pie --no-dynamic-linker")
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
LDFLAGS_vmlinux := -T
 | 
			
		||||
 | 
			
		||||
hostprogs-y	:= mkpiggy
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,34 @@
 | 
			
		|||
#include <asm/asm-offsets.h>
 | 
			
		||||
#include <asm/bootparam.h>
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The 32-bit x86 assembler in binutils 2.26 will generate R_386_GOT32X
 | 
			
		||||
 * relocation to get the symbol address in PIC.  When the compressed x86
 | 
			
		||||
 * kernel isn't built as PIC, the linker optimizes R_386_GOT32X
 | 
			
		||||
 * relocations to their fixed symbol addresses.  However, when the
 | 
			
		||||
 * compressed x86 kernel is loaded at a different address, it leads
 | 
			
		||||
 * to the following load failure:
 | 
			
		||||
 *
 | 
			
		||||
 *   Failed to allocate space for phdrs
 | 
			
		||||
 *
 | 
			
		||||
 * during the decompression stage.
 | 
			
		||||
 *
 | 
			
		||||
 * If the compressed x86 kernel is relocatable at run-time, it should be
 | 
			
		||||
 * compiled with -fPIE, instead of -fPIC, if possible and should be built as
 | 
			
		||||
 * Position Independent Executable (PIE) so that linker won't optimize
 | 
			
		||||
 * R_386_GOT32X relocation to its fixed symbol address.  Older
 | 
			
		||||
 * linkers generate R_386_32 relocations against locally defined symbols,
 | 
			
		||||
 * _bss, _ebss, _got and _egot, in PIE.  It isn't wrong, just less
 | 
			
		||||
 * optimal than R_386_RELATIVE.  But the x86 kernel fails to properly handle
 | 
			
		||||
 * R_386_32 relocations when relocating the kernel.  To generate
 | 
			
		||||
 * R_386_RELATIVE relocations, we mark _bss, _ebss, _got and _egot as
 | 
			
		||||
 * hidden:
 | 
			
		||||
 */
 | 
			
		||||
	.hidden _bss
 | 
			
		||||
	.hidden _ebss
 | 
			
		||||
	.hidden _got
 | 
			
		||||
	.hidden _egot
 | 
			
		||||
 | 
			
		||||
	__HEAD
 | 
			
		||||
ENTRY(startup_32)
 | 
			
		||||
#ifdef CONFIG_EFI_STUB
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,6 +33,14 @@
 | 
			
		|||
#include <asm/asm-offsets.h>
 | 
			
		||||
#include <asm/bootparam.h>
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Locally defined symbols should be marked hidden:
 | 
			
		||||
 */
 | 
			
		||||
	.hidden _bss
 | 
			
		||||
	.hidden _ebss
 | 
			
		||||
	.hidden _got
 | 
			
		||||
	.hidden _egot
 | 
			
		||||
 | 
			
		||||
	__HEAD
 | 
			
		||||
	.code32
 | 
			
		||||
ENTRY(startup_32)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -453,10 +453,10 @@ static int sha_complete_job(struct mcryptd_hash_request_ctx *rctx,
 | 
			
		|||
 | 
			
		||||
			req = cast_mcryptd_ctx_to_req(req_ctx);
 | 
			
		||||
			if (irqs_disabled())
 | 
			
		||||
				rctx->complete(&req->base, ret);
 | 
			
		||||
				req_ctx->complete(&req->base, ret);
 | 
			
		||||
			else {
 | 
			
		||||
				local_bh_disable();
 | 
			
		||||
				rctx->complete(&req->base, ret);
 | 
			
		||||
				req_ctx->complete(&req->base, ret);
 | 
			
		||||
				local_bh_enable();
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,7 +29,7 @@ static char gen_pool_buf[MCE_POOLSZ];
 | 
			
		|||
void mce_gen_pool_process(void)
 | 
			
		||||
{
 | 
			
		||||
	struct llist_node *head;
 | 
			
		||||
	struct mce_evt_llist *node;
 | 
			
		||||
	struct mce_evt_llist *node, *tmp;
 | 
			
		||||
	struct mce *mce;
 | 
			
		||||
 | 
			
		||||
	head = llist_del_all(&mce_event_llist);
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +37,7 @@ void mce_gen_pool_process(void)
 | 
			
		|||
		return;
 | 
			
		||||
 | 
			
		||||
	head = llist_reverse_order(head);
 | 
			
		||||
	llist_for_each_entry(node, head, llnode) {
 | 
			
		||||
	llist_for_each_entry_safe(node, tmp, head, llnode) {
 | 
			
		||||
		mce = &node->mce;
 | 
			
		||||
		atomic_notifier_call_chain(&x86_mce_decoder_chain, 0, mce);
 | 
			
		||||
		gen_pool_free(mce_evt_pool, (unsigned long)node, sizeof(*node));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -146,6 +146,31 @@ int default_check_phys_apicid_present(int phys_apicid)
 | 
			
		|||
 | 
			
		||||
struct boot_params boot_params;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Machine setup..
 | 
			
		||||
 */
 | 
			
		||||
static struct resource data_resource = {
 | 
			
		||||
	.name	= "Kernel data",
 | 
			
		||||
	.start	= 0,
 | 
			
		||||
	.end	= 0,
 | 
			
		||||
	.flags	= IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static struct resource code_resource = {
 | 
			
		||||
	.name	= "Kernel code",
 | 
			
		||||
	.start	= 0,
 | 
			
		||||
	.end	= 0,
 | 
			
		||||
	.flags	= IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static struct resource bss_resource = {
 | 
			
		||||
	.name	= "Kernel bss",
 | 
			
		||||
	.start	= 0,
 | 
			
		||||
	.end	= 0,
 | 
			
		||||
	.flags	= IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_X86_32
 | 
			
		||||
/* cpu data as detected by the assembly code in head.S */
 | 
			
		||||
struct cpuinfo_x86 new_cpu_data = {
 | 
			
		||||
| 
						 | 
				
			
			@ -924,6 +949,13 @@ void __init setup_arch(char **cmdline_p)
 | 
			
		|||
 | 
			
		||||
	mpx_mm_init(&init_mm);
 | 
			
		||||
 | 
			
		||||
	code_resource.start = __pa_symbol(_text);
 | 
			
		||||
	code_resource.end = __pa_symbol(_etext)-1;
 | 
			
		||||
	data_resource.start = __pa_symbol(_etext);
 | 
			
		||||
	data_resource.end = __pa_symbol(_edata)-1;
 | 
			
		||||
	bss_resource.start = __pa_symbol(__bss_start);
 | 
			
		||||
	bss_resource.end = __pa_symbol(__bss_stop)-1;
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_CMDLINE_BOOL
 | 
			
		||||
#ifdef CONFIG_CMDLINE_OVERRIDE
 | 
			
		||||
	strlcpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);
 | 
			
		||||
| 
						 | 
				
			
			@ -987,6 +1019,11 @@ void __init setup_arch(char **cmdline_p)
 | 
			
		|||
 | 
			
		||||
	x86_init.resources.probe_roms();
 | 
			
		||||
 | 
			
		||||
	/* after parse_early_param, so could debug it */
 | 
			
		||||
	insert_resource(&iomem_resource, &code_resource);
 | 
			
		||||
	insert_resource(&iomem_resource, &data_resource);
 | 
			
		||||
	insert_resource(&iomem_resource, &bss_resource);
 | 
			
		||||
 | 
			
		||||
	e820_add_kernel_range();
 | 
			
		||||
	trim_bios_range();
 | 
			
		||||
#ifdef CONFIG_X86_32
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -534,6 +534,7 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function,
 | 
			
		|||
			do_cpuid_1_ent(&entry[i], function, idx);
 | 
			
		||||
			if (idx == 1) {
 | 
			
		||||
				entry[i].eax &= kvm_cpuid_D_1_eax_x86_features;
 | 
			
		||||
				cpuid_mask(&entry[i].eax, CPUID_D_1_EAX);
 | 
			
		||||
				entry[i].ebx = 0;
 | 
			
		||||
				if (entry[i].eax & (F(XSAVES)|F(XSAVEC)))
 | 
			
		||||
					entry[i].ebx =
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -173,10 +173,9 @@ static inline u8 permission_fault(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
 | 
			
		|||
	int index = (pfec >> 1) +
 | 
			
		||||
		    (smap >> (X86_EFLAGS_AC_BIT - PFERR_RSVD_BIT + 1));
 | 
			
		||||
	bool fault = (mmu->permissions[index] >> pte_access) & 1;
 | 
			
		||||
	u32 errcode = PFERR_PRESENT_MASK;
 | 
			
		||||
 | 
			
		||||
	WARN_ON(pfec & (PFERR_PK_MASK | PFERR_RSVD_MASK));
 | 
			
		||||
	pfec |= PFERR_PRESENT_MASK;
 | 
			
		||||
 | 
			
		||||
	if (unlikely(mmu->pkru_mask)) {
 | 
			
		||||
		u32 pkru_bits, offset;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -189,15 +188,15 @@ static inline u8 permission_fault(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
 | 
			
		|||
		pkru_bits = (kvm_read_pkru(vcpu) >> (pte_pkey * 2)) & 3;
 | 
			
		||||
 | 
			
		||||
		/* clear present bit, replace PFEC.RSVD with ACC_USER_MASK. */
 | 
			
		||||
		offset = pfec - 1 +
 | 
			
		||||
		offset = (pfec & ~1) +
 | 
			
		||||
			((pte_access & PT_USER_MASK) << (PFERR_RSVD_BIT - PT_USER_SHIFT));
 | 
			
		||||
 | 
			
		||||
		pkru_bits &= mmu->pkru_mask >> offset;
 | 
			
		||||
		pfec |= -pkru_bits & PFERR_PK_MASK;
 | 
			
		||||
		errcode |= -pkru_bits & PFERR_PK_MASK;
 | 
			
		||||
		fault |= (pkru_bits != 0);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return -(uint32_t)fault & pfec;
 | 
			
		||||
	return -(u32)fault & errcode;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void kvm_mmu_invalidate_zap_all_pages(struct kvm *kvm);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -360,7 +360,7 @@ static int FNAME(walk_addr_generic)(struct guest_walker *walker,
 | 
			
		|||
			goto error;
 | 
			
		||||
 | 
			
		||||
		if (unlikely(is_rsvd_bits_set(mmu, pte, walker->level))) {
 | 
			
		||||
			errcode |= PFERR_RSVD_MASK | PFERR_PRESENT_MASK;
 | 
			
		||||
			errcode = PFERR_RSVD_MASK | PFERR_PRESENT_MASK;
 | 
			
		||||
			goto error;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -700,7 +700,6 @@ static int __kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr)
 | 
			
		|||
		if ((xcr0 & XFEATURE_MASK_AVX512) != XFEATURE_MASK_AVX512)
 | 
			
		||||
			return 1;
 | 
			
		||||
	}
 | 
			
		||||
	kvm_put_guest_xcr0(vcpu);
 | 
			
		||||
	vcpu->arch.xcr0 = xcr0;
 | 
			
		||||
 | 
			
		||||
	if ((xcr0 ^ old_xcr0) & XFEATURE_MASK_EXTEND)
 | 
			
		||||
| 
						 | 
				
			
			@ -6590,8 +6589,6 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
 | 
			
		|||
	kvm_x86_ops->prepare_guest_switch(vcpu);
 | 
			
		||||
	if (vcpu->fpu_active)
 | 
			
		||||
		kvm_load_guest_fpu(vcpu);
 | 
			
		||||
	kvm_load_guest_xcr0(vcpu);
 | 
			
		||||
 | 
			
		||||
	vcpu->mode = IN_GUEST_MODE;
 | 
			
		||||
 | 
			
		||||
	srcu_read_unlock(&vcpu->kvm->srcu, vcpu->srcu_idx);
 | 
			
		||||
| 
						 | 
				
			
			@ -6618,6 +6615,8 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
 | 
			
		|||
		goto cancel_injection;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	kvm_load_guest_xcr0(vcpu);
 | 
			
		||||
 | 
			
		||||
	if (req_immediate_exit)
 | 
			
		||||
		smp_send_reschedule(vcpu->cpu);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -6667,6 +6666,8 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)
 | 
			
		|||
	vcpu->mode = OUTSIDE_GUEST_MODE;
 | 
			
		||||
	smp_wmb();
 | 
			
		||||
 | 
			
		||||
	kvm_put_guest_xcr0(vcpu);
 | 
			
		||||
 | 
			
		||||
	/* Interrupt is enabled by handle_external_intr() */
 | 
			
		||||
	kvm_x86_ops->handle_external_intr(vcpu);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -7314,7 +7315,6 @@ void kvm_load_guest_fpu(struct kvm_vcpu *vcpu)
 | 
			
		|||
	 * and assume host would use all available bits.
 | 
			
		||||
	 * Guest xcr0 would be loaded later.
 | 
			
		||||
	 */
 | 
			
		||||
	kvm_put_guest_xcr0(vcpu);
 | 
			
		||||
	vcpu->guest_fpu_loaded = 1;
 | 
			
		||||
	__kernel_fpu_begin();
 | 
			
		||||
	__copy_kernel_to_fpregs(&vcpu->arch.guest_fpu.state);
 | 
			
		||||
| 
						 | 
				
			
			@ -7323,8 +7323,6 @@ void kvm_load_guest_fpu(struct kvm_vcpu *vcpu)
 | 
			
		|||
 | 
			
		||||
void kvm_put_guest_fpu(struct kvm_vcpu *vcpu)
 | 
			
		||||
{
 | 
			
		||||
	kvm_put_guest_xcr0(vcpu);
 | 
			
		||||
 | 
			
		||||
	if (!vcpu->guest_fpu_loaded) {
 | 
			
		||||
		vcpu->fpu_counter = 0;
 | 
			
		||||
		return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -361,14 +361,19 @@ struct hd_struct *add_partition(struct gendisk *disk, int partno,
 | 
			
		|||
			goto out_del;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = hd_ref_init(p);
 | 
			
		||||
	if (err) {
 | 
			
		||||
		if (flags & ADDPART_FLAG_WHOLEDISK)
 | 
			
		||||
			goto out_remove_file;
 | 
			
		||||
		goto out_del;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* everything is up and running, commence */
 | 
			
		||||
	rcu_assign_pointer(ptbl->part[partno], p);
 | 
			
		||||
 | 
			
		||||
	/* suppress uevent if the disk suppresses it */
 | 
			
		||||
	if (!dev_get_uevent_suppress(ddev))
 | 
			
		||||
		kobject_uevent(&pdev->kobj, KOBJ_ADD);
 | 
			
		||||
 | 
			
		||||
	if (!hd_ref_init(p))
 | 
			
		||||
	return p;
 | 
			
		||||
 | 
			
		||||
out_free_info:
 | 
			
		||||
| 
						 | 
				
			
			@ -378,6 +383,8 @@ struct hd_struct *add_partition(struct gendisk *disk, int partno,
 | 
			
		|||
out_free:
 | 
			
		||||
	kfree(p);
 | 
			
		||||
	return ERR_PTR(err);
 | 
			
		||||
out_remove_file:
 | 
			
		||||
	device_remove_file(pdev, &dev_attr_whole_disk);
 | 
			
		||||
out_del:
 | 
			
		||||
	kobject_put(p->holder_dir);
 | 
			
		||||
	device_del(pdev);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -387,16 +387,16 @@ static int pkcs1pad_decrypt(struct akcipher_request *req)
 | 
			
		|||
	req_ctx->child_req.src = req->src;
 | 
			
		||||
	req_ctx->child_req.src_len = req->src_len;
 | 
			
		||||
	req_ctx->child_req.dst = req_ctx->out_sg;
 | 
			
		||||
	req_ctx->child_req.dst_len = ctx->key_size - 1;
 | 
			
		||||
	req_ctx->child_req.dst_len = ctx->key_size ;
 | 
			
		||||
 | 
			
		||||
	req_ctx->out_buf = kmalloc(ctx->key_size - 1,
 | 
			
		||||
	req_ctx->out_buf = kmalloc(ctx->key_size,
 | 
			
		||||
			(req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
 | 
			
		||||
			GFP_KERNEL : GFP_ATOMIC);
 | 
			
		||||
	if (!req_ctx->out_buf)
 | 
			
		||||
		return -ENOMEM;
 | 
			
		||||
 | 
			
		||||
	pkcs1pad_sg_set_buf(req_ctx->out_sg, req_ctx->out_buf,
 | 
			
		||||
			ctx->key_size - 1, NULL);
 | 
			
		||||
			    ctx->key_size, NULL);
 | 
			
		||||
 | 
			
		||||
	akcipher_request_set_tfm(&req_ctx->child_req, ctx->child);
 | 
			
		||||
	akcipher_request_set_callback(&req_ctx->child_req, req->base.flags,
 | 
			
		||||
| 
						 | 
				
			
			@ -595,16 +595,16 @@ static int pkcs1pad_verify(struct akcipher_request *req)
 | 
			
		|||
	req_ctx->child_req.src = req->src;
 | 
			
		||||
	req_ctx->child_req.src_len = req->src_len;
 | 
			
		||||
	req_ctx->child_req.dst = req_ctx->out_sg;
 | 
			
		||||
	req_ctx->child_req.dst_len = ctx->key_size - 1;
 | 
			
		||||
	req_ctx->child_req.dst_len = ctx->key_size;
 | 
			
		||||
 | 
			
		||||
	req_ctx->out_buf = kmalloc(ctx->key_size - 1,
 | 
			
		||||
	req_ctx->out_buf = kmalloc(ctx->key_size,
 | 
			
		||||
			(req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
 | 
			
		||||
			GFP_KERNEL : GFP_ATOMIC);
 | 
			
		||||
	if (!req_ctx->out_buf)
 | 
			
		||||
		return -ENOMEM;
 | 
			
		||||
 | 
			
		||||
	pkcs1pad_sg_set_buf(req_ctx->out_sg, req_ctx->out_buf,
 | 
			
		||||
			ctx->key_size - 1, NULL);
 | 
			
		||||
			    ctx->key_size, NULL);
 | 
			
		||||
 | 
			
		||||
	akcipher_request_set_tfm(&req_ctx->child_req, ctx->child);
 | 
			
		||||
	akcipher_request_set_callback(&req_ctx->child_req, req->base.flags,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -136,7 +136,6 @@ static bool bcma_is_core_needed_early(u16 core_id)
 | 
			
		|||
	return false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if defined(CONFIG_OF) && defined(CONFIG_OF_ADDRESS)
 | 
			
		||||
static struct device_node *bcma_of_find_child_device(struct platform_device *parent,
 | 
			
		||||
						     struct bcma_device *core)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -184,7 +183,7 @@ static unsigned int bcma_of_get_irq(struct platform_device *parent,
 | 
			
		|||
	struct of_phandle_args out_irq;
 | 
			
		||||
	int ret;
 | 
			
		||||
 | 
			
		||||
	if (!parent || !parent->dev.of_node)
 | 
			
		||||
	if (!IS_ENABLED(CONFIG_OF_IRQ) || !parent || !parent->dev.of_node)
 | 
			
		||||
		return 0;
 | 
			
		||||
 | 
			
		||||
	ret = bcma_of_irq_parse(parent, core, &out_irq, num);
 | 
			
		||||
| 
						 | 
				
			
			@ -202,23 +201,15 @@ static void bcma_of_fill_device(struct platform_device *parent,
 | 
			
		|||
{
 | 
			
		||||
	struct device_node *node;
 | 
			
		||||
 | 
			
		||||
	if (!IS_ENABLED(CONFIG_OF_IRQ))
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	node = bcma_of_find_child_device(parent, core);
 | 
			
		||||
	if (node)
 | 
			
		||||
		core->dev.of_node = node;
 | 
			
		||||
 | 
			
		||||
	core->irq = bcma_of_get_irq(parent, core, 0);
 | 
			
		||||
}
 | 
			
		||||
#else
 | 
			
		||||
static void bcma_of_fill_device(struct platform_device *parent,
 | 
			
		||||
				struct bcma_device *core)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
static inline unsigned int bcma_of_get_irq(struct platform_device *parent,
 | 
			
		||||
					   struct bcma_device *core, int num)
 | 
			
		||||
{
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
#endif /* CONFIG_OF */
 | 
			
		||||
 | 
			
		||||
unsigned int bcma_core_irq(struct bcma_device *core, int num)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -488,6 +488,12 @@ static int lo_rw_aio(struct loop_device *lo, struct loop_cmd *cmd,
 | 
			
		|||
	bvec = __bvec_iter_bvec(bio->bi_io_vec, bio->bi_iter);
 | 
			
		||||
	iov_iter_bvec(&iter, ITER_BVEC | rw, bvec,
 | 
			
		||||
		      bio_segments(bio), blk_rq_bytes(cmd->rq));
 | 
			
		||||
	/*
 | 
			
		||||
	 * This bio may be started from the middle of the 'bvec'
 | 
			
		||||
	 * because of bio splitting, so offset from the bvec must
 | 
			
		||||
	 * be passed to iov iterator
 | 
			
		||||
	 */
 | 
			
		||||
	iter.iov_offset = bio->bi_iter.bi_bvec_done;
 | 
			
		||||
 | 
			
		||||
	cmd->iocb.ki_pos = pos;
 | 
			
		||||
	cmd->iocb.ki_filp = file;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -972,7 +972,7 @@ int mvebu_mbus_get_dram_win_info(phys_addr_t phyaddr, u8 *target, u8 *attr)
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	pr_err("invalid dram address 0x%x\n", phyaddr);
 | 
			
		||||
	pr_err("invalid dram address %pa\n", &phyaddr);
 | 
			
		||||
	return -EINVAL;
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL_GPL(mvebu_mbus_get_dram_win_info);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,7 +108,7 @@ static int uniphier_system_bus_check_overlap(
 | 
			
		|||
 | 
			
		||||
	for (i = 0; i < ARRAY_SIZE(priv->bank); i++) {
 | 
			
		||||
		for (j = i + 1; j < ARRAY_SIZE(priv->bank); j++) {
 | 
			
		||||
			if (priv->bank[i].end > priv->bank[j].base ||
 | 
			
		||||
			if (priv->bank[i].end > priv->bank[j].base &&
 | 
			
		||||
			    priv->bank[i].base < priv->bank[j].end) {
 | 
			
		||||
				dev_err(priv->dev,
 | 
			
		||||
					"region overlap between bank%d and bank%d\n",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,6 +12,7 @@
 | 
			
		|||
#include <linux/clk.h>
 | 
			
		||||
#include <linux/platform_device.h>
 | 
			
		||||
#include <linux/hw_random.h>
 | 
			
		||||
#include <linux/of.h>
 | 
			
		||||
 | 
			
		||||
#define RNG_CTRL			0x00
 | 
			
		||||
#define RNG_EN				(1 << 0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1491,6 +1491,9 @@ static unsigned int cpufreq_update_current_freq(struct cpufreq_policy *policy)
 | 
			
		|||
{
 | 
			
		||||
	unsigned int new_freq;
 | 
			
		||||
 | 
			
		||||
	if (cpufreq_suspended)
 | 
			
		||||
		return 0;
 | 
			
		||||
 | 
			
		||||
	new_freq = cpufreq_driver->get(policy->cpu);
 | 
			
		||||
	if (!new_freq)
 | 
			
		||||
		return 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
		Reference in a new issue