Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Kirill Smelkov
linux
Commits
1e94320f
Commit
1e94320f
authored
8 years ago
by
Takashi Iwai
Browse files
Options
Download
Plain Diff
Merge branch 'for-linus' into for-next
parents
e1b239f3
f3d83317
Changes
493
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
183 additions
and
119 deletions
+183
-119
Documentation/devicetree/bindings/interrupt-controller/snps,archs-idu-intc.txt
...ree/bindings/interrupt-controller/snps,archs-idu-intc.txt
+3
-0
Documentation/devicetree/bindings/net/mediatek-net.txt
Documentation/devicetree/bindings/net/mediatek-net.txt
+1
-1
Documentation/devicetree/bindings/net/phy.txt
Documentation/devicetree/bindings/net/phy.txt
+3
-2
Documentation/filesystems/proc.txt
Documentation/filesystems/proc.txt
+3
-2
Documentation/power/states.txt
Documentation/power/states.txt
+1
-3
MAINTAINERS
MAINTAINERS
+19
-7
Makefile
Makefile
+3
-3
arch/arc/include/asm/delay.h
arch/arc/include/asm/delay.h
+3
-1
arch/arc/kernel/head.S
arch/arc/kernel/head.S
+7
-7
arch/arc/kernel/mcip.c
arch/arc/kernel/mcip.c
+23
-32
arch/arc/kernel/smp.c
arch/arc/kernel/smp.c
+20
-5
arch/arc/kernel/unaligned.c
arch/arc/kernel/unaligned.c
+2
-1
arch/arm64/crypto/aes-modes.S
arch/arm64/crypto/aes-modes.S
+42
-46
arch/arm64/kernel/topology.c
arch/arm64/kernel/topology.c
+7
-1
arch/frv/include/asm/atomic.h
arch/frv/include/asm/atomic.h
+34
-1
arch/mn10300/include/asm/switch_to.h
arch/mn10300/include/asm/switch_to.h
+1
-1
arch/parisc/include/asm/bitops.h
arch/parisc/include/asm/bitops.h
+7
-1
arch/parisc/include/uapi/asm/bitsperlong.h
arch/parisc/include/uapi/asm/bitsperlong.h
+0
-2
arch/parisc/include/uapi/asm/swab.h
arch/parisc/include/uapi/asm/swab.h
+3
-2
arch/powerpc/Kconfig
arch/powerpc/Kconfig
+1
-1
No files found.
Documentation/devicetree/bindings/interrupt-controller/snps,archs-idu-intc.txt
View file @
1e94320f
...
...
@@ -15,6 +15,9 @@ Properties:
Second cell specifies the irq distribution mode to cores
0=Round Robin; 1=cpu0, 2=cpu1, 4=cpu2, 8=cpu3
The second cell in interrupts property is deprecated and may be ignored by
the kernel.
intc accessed via the special ARC AUX register interface, hence "reg" property
is not specified.
...
...
This diff is collapsed.
Click to expand it.
Documentation/devicetree/bindings/net/mediatek-net.txt
View file @
1e94320f
...
...
@@ -7,7 +7,7 @@ have dual GMAC each represented by a child node..
* Ethernet controller node
Required properties:
- compatible: Should be "mediatek,mt
7623
-eth"
- compatible: Should be "mediatek,mt
2701
-eth"
- reg: Address and length of the register set for the device
- interrupts: Should contain the three frame engines interrupts in numeric
order. These are fe_int0, fe_int1 and fe_int2.
...
...
This diff is collapsed.
Click to expand it.
Documentation/devicetree/bindings/net/phy.txt
View file @
1e94320f
...
...
@@ -19,8 +19,9 @@ Optional Properties:
specifications. If neither of these are specified, the default is to
assume clause 22.
If the phy's identifier is known then the list may contain an entry
of the form: "ethernet-phy-idAAAA.BBBB" where
If the PHY reports an incorrect ID (or none at all) then the
"compatible" list may contain an entry with the correct PHY ID in the
form: "ethernet-phy-idAAAA.BBBB" where
AAAA - The value of the 16 bit Phy Identifier 1 register as
4 hex digits. This is the chip vendor OUI bits 3:18
BBBB - The value of the 16 bit Phy Identifier 2 register as
...
...
This diff is collapsed.
Click to expand it.
Documentation/filesystems/proc.txt
View file @
1e94320f
...
...
@@ -212,10 +212,11 @@ asynchronous manner and the value may not be very precise. To see a precise
snapshot of a moment, you can see /proc/<pid>/smaps file and scan page table.
It's slow but very precise.
Table 1-2: Contents of the status files (as of 4.
1
)
Table 1-2: Contents of the status files (as of 4.
8
)
..............................................................................
Field Content
Name filename of the executable
Umask file mode creation mask
State state (R is running, S is sleeping, D is sleeping
in an uninterruptible wait, Z is zombie,
T is traced or stopped)
...
...
@@ -226,7 +227,6 @@ Table 1-2: Contents of the status files (as of 4.1)
TracerPid PID of process tracing this process (0 if not)
Uid Real, effective, saved set, and file system UIDs
Gid Real, effective, saved set, and file system GIDs
Umask file mode creation mask
FDSize number of file descriptor slots currently allocated
Groups supplementary group list
NStgid descendant namespace thread group ID hierarchy
...
...
@@ -236,6 +236,7 @@ Table 1-2: Contents of the status files (as of 4.1)
VmPeak peak virtual memory size
VmSize total program size
VmLck locked memory size
VmPin pinned memory size
VmHWM peak resident set size ("high water mark")
VmRSS size of memory portions. It contains the three
following parts (VmRSS = RssAnon + RssFile + RssShmem)
...
...
This diff is collapsed.
Click to expand it.
Documentation/power/states.txt
View file @
1e94320f
...
...
@@ -35,9 +35,7 @@ only one way to cause the system to go into the Suspend-To-RAM state (write
The default suspend mode (ie. the one to be used without writing anything into
/sys/power/mem_sleep) is either "deep" (if Suspend-To-RAM is supported) or
"s2idle", but it can be overridden by the value of the "mem_sleep_default"
parameter in the kernel command line. On some ACPI-based systems, depending on
the information in the FADT, the default may be "s2idle" even if Suspend-To-RAM
is supported.
parameter in the kernel command line.
The properties of all of the sleep states are described below.
...
...
This diff is collapsed.
Click to expand it.
MAINTAINERS
View file @
1e94320f
...
...
@@ -3567,7 +3567,7 @@ F: drivers/infiniband/hw/cxgb3/
F: include/uapi/rdma/cxgb3-abi.h
CXGB4 ETHERNET DRIVER (CXGB4)
M:
Hariprasad S <hariprasad
@chelsio.com>
M:
Ganesh Goudar <ganeshgr
@chelsio.com>
L: netdev@vger.kernel.org
W: http://www.chelsio.com
S: Supported
...
...
@@ -4100,12 +4100,18 @@ F: drivers/gpu/drm/bridge/
DRM DRIVER FOR BOCHS VIRTUAL GPU
M: Gerd Hoffmann <kraxel@redhat.com>
S: Odd Fixes
L: virtualization@lists.linux-foundation.org
T: git git://git.kraxel.org/linux drm-qemu
S: Maintained
F: drivers/gpu/drm/bochs/
DRM DRIVER FOR QEMU'S CIRRUS DEVICE
M: Dave Airlie <airlied@redhat.com>
S: Odd Fixes
M: Gerd Hoffmann <kraxel@redhat.com>
L: virtualization@lists.linux-foundation.org
T: git git://git.kraxel.org/linux drm-qemu
S: Obsolete
W: https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
F: drivers/gpu/drm/cirrus/
RADEON and AMDGPU DRM DRIVERS
...
...
@@ -4147,7 +4153,7 @@ F: Documentation/gpu/i915.rst
INTEL GVT-g DRIVERS (Intel GPU Virtualization)
M: Zhenyu Wang <zhenyuw@linux.intel.com>
M: Zhi Wang <zhi.a.wang@intel.com>
L: igvt-
g-
dev@lists.
01
.org
L: i
ntel-
gvt-dev@lists.
freedesktop
.org
L: intel-gfx@lists.freedesktop.org
W: https://01.org/igvt-g
T: git https://github.com/01org/gvt-linux.git
...
...
@@ -4298,7 +4304,10 @@ F: Documentation/devicetree/bindings/display/renesas,du.txt
DRM DRIVER FOR QXL VIRTUAL GPU
M: Dave Airlie <airlied@redhat.com>
S: Odd Fixes
M: Gerd Hoffmann <kraxel@redhat.com>
L: virtualization@lists.linux-foundation.org
T: git git://git.kraxel.org/linux drm-qemu
S: Maintained
F: drivers/gpu/drm/qxl/
F: include/uapi/drm/qxl_drm.h
...
...
@@ -10186,7 +10195,6 @@ F: drivers/media/tuners/qt1010*
QUALCOMM ATHEROS ATH9K WIRELESS DRIVER
M: QCA ath9k Development <ath9k-devel@qca.qualcomm.com>
L: linux-wireless@vger.kernel.org
L: ath9k-devel@lists.ath9k.org
W: http://wireless.kernel.org/en/users/Drivers/ath9k
S: Supported
F: drivers/net/wireless/ath/ath9k/
...
...
@@ -13057,7 +13065,7 @@ F: drivers/input/serio/userio.c
F: include/uapi/linux/userio.h
VIRTIO CONSOLE DRIVER
M: Amit Shah <amit
.shah@redhat.com
>
M: Amit Shah <amit
@kernel.org
>
L: virtualization@lists.linux-foundation.org
S: Maintained
F: drivers/char/virtio_console.c
...
...
@@ -13092,6 +13100,7 @@ M: David Airlie <airlied@linux.ie>
M: Gerd Hoffmann <kraxel@redhat.com>
L: dri-devel@lists.freedesktop.org
L: virtualization@lists.linux-foundation.org
T: git git://git.kraxel.org/linux drm-qemu
S: Maintained
F: drivers/gpu/drm/virtio/
F: include/uapi/linux/virtio_gpu.h
...
...
@@ -13443,6 +13452,7 @@ F: arch/x86/
X86 PLATFORM DRIVERS
M: Darren Hart <dvhart@infradead.org>
M: Andy Shevchenko <andy@infradead.org>
L: platform-driver-x86@vger.kernel.org
T: git git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git
S: Maintained
...
...
@@ -13614,6 +13624,7 @@ F: drivers/net/hamradio/z8530.h
ZBUD COMPRESSED PAGE ALLOCATOR
M: Seth Jennings <sjenning@redhat.com>
M: Dan Streetman <ddstreet@ieee.org>
L: linux-mm@kvack.org
S: Maintained
F: mm/zbud.c
...
...
@@ -13669,6 +13680,7 @@ F: Documentation/vm/zsmalloc.txt
ZSWAP COMPRESSED SWAP CACHING
M: Seth Jennings <sjenning@redhat.com>
M: Dan Streetman <ddstreet@ieee.org>
L: linux-mm@kvack.org
S: Maintained
F: mm/zswap.c
...
...
This diff is collapsed.
Click to expand it.
Makefile
View file @
1e94320f
VERSION
=
4
PATCHLEVEL
=
10
SUBLEVEL
=
0
EXTRAVERSION
=
-rc
5
NAME
=
Anniversary Edition
EXTRAVERSION
=
-rc
7
NAME
=
Fearless Coyote
# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
...
...
@@ -797,7 +797,7 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
KBUILD_ARFLAGS
:=
$(
call
ar-option,D
)
# check for 'asm goto'
ifeq
($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y)
ifeq
($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)
$(KBUILD_CFLAGS)
), y)
KBUILD_CFLAGS
+=
-DCC_HAVE_ASM_GOTO
KBUILD_AFLAGS
+=
-DCC_HAVE_ASM_GOTO
endif
...
...
This diff is collapsed.
Click to expand it.
arch/arc/include/asm/delay.h
View file @
1e94320f
...
...
@@ -26,7 +26,9 @@ static inline void __delay(unsigned long loops)
" lp 1f
\n
"
" nop
\n
"
"1:
\n
"
:
:
"r"
(
loops
));
:
:
"r"
(
loops
)
:
"lp_count"
);
}
extern
void
__bad_udelay
(
void
);
...
...
This diff is collapsed.
Click to expand it.
arch/arc/kernel/head.S
View file @
1e94320f
...
...
@@ -71,14 +71,14 @@ ENTRY(stext)
GET_CPU_ID
r5
cmp
r5
,
0
mov.nz
r0
,
r5
#ifdef CONFIG_ARC_SMP_HALT_ON_RESET
; Non-Master can proceed as system would be booted sufficiently
jnz
first_lines_of_secondary
#else
bz
.
Lmaster_proceed
; Non-Masters wait for Master to boot enough and bring them up
jnz
arc_platform_smp_wait_to_boot
#endif
; Master falls thru
; when they resume, tail-call to entry point
mov
blink
,
@
first_lines_of_secondary
j
arc_platform_smp_wait_to_boot
.
Lmaster_proceed
:
#endif
; Clear BSS before updating any globals
...
...
This diff is collapsed.
Click to expand it.
arch/arc/kernel/mcip.c
View file @
1e94320f
...
...
@@ -93,11 +93,10 @@ static void mcip_probe_n_setup(void)
READ_BCR
(
ARC_REG_MCIP_BCR
,
mp
);
sprintf
(
smp_cpuinfo_buf
,
"Extn [SMP]
\t
: ARConnect (v%d): %d cores with %s%s%s%s
%s
\n
"
,
"Extn [SMP]
\t
: ARConnect (v%d): %d cores with %s%s%s%s
\n
"
,
mp
.
ver
,
mp
.
num_cores
,
IS_AVAIL1
(
mp
.
ipi
,
"IPI "
),
IS_AVAIL1
(
mp
.
idu
,
"IDU "
),
IS_AVAIL1
(
mp
.
llm
,
"LLM "
),
IS_AVAIL1
(
mp
.
dbg
,
"DEBUG "
),
IS_AVAIL1
(
mp
.
gfrc
,
"GFRC"
));
...
...
@@ -175,7 +174,6 @@ static void idu_irq_unmask(struct irq_data *data)
raw_spin_unlock_irqrestore
(
&
mcip_lock
,
flags
);
}
#ifdef CONFIG_SMP
static
int
idu_irq_set_affinity
(
struct
irq_data
*
data
,
const
struct
cpumask
*
cpumask
,
bool
force
)
...
...
@@ -205,12 +203,27 @@ idu_irq_set_affinity(struct irq_data *data, const struct cpumask *cpumask,
return
IRQ_SET_MASK_OK
;
}
#endif
static
void
idu_irq_enable
(
struct
irq_data
*
data
)
{
/*
* By default send all common interrupts to all available online CPUs.
* The affinity of common interrupts in IDU must be set manually since
* in some cases the kernel will not call irq_set_affinity() by itself:
* 1. When the kernel is not configured with support of SMP.
* 2. When the kernel is configured with support of SMP but upper
* interrupt controllers does not support setting of the affinity
* and cannot propagate it to IDU.
*/
idu_irq_set_affinity
(
data
,
cpu_online_mask
,
false
);
idu_irq_unmask
(
data
);
}
static
struct
irq_chip
idu_irq_chip
=
{
.
name
=
"MCIP IDU Intc"
,
.
irq_mask
=
idu_irq_mask
,
.
irq_unmask
=
idu_irq_unmask
,
.
irq_enable
=
idu_irq_enable
,
#ifdef CONFIG_SMP
.
irq_set_affinity
=
idu_irq_set_affinity
,
#endif
...
...
@@ -243,36 +256,14 @@ static int idu_irq_xlate(struct irq_domain *d, struct device_node *n,
const
u32
*
intspec
,
unsigned
int
intsize
,
irq_hw_number_t
*
out_hwirq
,
unsigned
int
*
out_type
)
{
irq_hw_number_t
hwirq
=
*
out_hwirq
=
intspec
[
0
];
int
distri
=
intspec
[
1
];
unsigned
long
flags
;
/*
* Ignore value of interrupt distribution mode for common interrupts in
* IDU which resides in intspec[1] since setting an affinity using value
* from Device Tree is deprecated in ARC.
*/
*
out_hwirq
=
intspec
[
0
];
*
out_type
=
IRQ_TYPE_NONE
;
/* XXX: validate distribution scheme again online cpu mask */
if
(
distri
==
0
)
{
/* 0 - Round Robin to all cpus, otherwise 1 bit per core */
raw_spin_lock_irqsave
(
&
mcip_lock
,
flags
);
idu_set_dest
(
hwirq
,
BIT
(
num_online_cpus
())
-
1
);
idu_set_mode
(
hwirq
,
IDU_M_TRIG_LEVEL
,
IDU_M_DISTRI_RR
);
raw_spin_unlock_irqrestore
(
&
mcip_lock
,
flags
);
}
else
{
/*
* DEST based distribution for Level Triggered intr can only
* have 1 CPU, so generalize it to always contain 1 cpu
*/
int
cpu
=
ffs
(
distri
);
if
(
cpu
!=
fls
(
distri
))
pr_warn
(
"IDU irq %lx distri mode set to cpu %x
\n
"
,
hwirq
,
cpu
);
raw_spin_lock_irqsave
(
&
mcip_lock
,
flags
);
idu_set_dest
(
hwirq
,
cpu
);
idu_set_mode
(
hwirq
,
IDU_M_TRIG_LEVEL
,
IDU_M_DISTRI_DEST
);
raw_spin_unlock_irqrestore
(
&
mcip_lock
,
flags
);
}
return
0
;
}
...
...
This diff is collapsed.
Click to expand it.
arch/arc/kernel/smp.c
View file @
1e94320f
...
...
@@ -90,22 +90,37 @@ void __init smp_cpus_done(unsigned int max_cpus)
*/
static
volatile
int
wake_flag
;
#ifdef CONFIG_ISA_ARCOMPACT
#define __boot_read(f) f
#define __boot_write(f, v) f = v
#else
#define __boot_read(f) arc_read_uncached_32(&f)
#define __boot_write(f, v) arc_write_uncached_32(&f, v)
#endif
static
void
arc_default_smp_cpu_kick
(
int
cpu
,
unsigned
long
pc
)
{
BUG_ON
(
cpu
==
0
);
wake_flag
=
cpu
;
__boot_write
(
wake_flag
,
cpu
);
}
void
arc_platform_smp_wait_to_boot
(
int
cpu
)
{
while
(
wake_flag
!=
cpu
)
/* for halt-on-reset, we've waited already */
if
(
IS_ENABLED
(
CONFIG_ARC_SMP_HALT_ON_RESET
))
return
;
while
(
__boot_read
(
wake_flag
)
!=
cpu
)
;
wake_flag
=
0
;
__asm__
__volatile__
(
"j @first_lines_of_secondary
\n
"
);
__boot_write
(
wake_flag
,
0
);
}
const
char
*
arc_platform_smp_cpuinfo
(
void
)
{
return
plat_smp_ops
.
info
?
:
""
;
...
...
This diff is collapsed.
Click to expand it.
arch/arc/kernel/unaligned.c
View file @
1e94320f
...
...
@@ -241,8 +241,9 @@ int misaligned_fixup(unsigned long address, struct pt_regs *regs,
if
(
state
.
fault
)
goto
fault
;
/* clear any remanants of delay slot */
if
(
delay_mode
(
regs
))
{
regs
->
ret
=
regs
->
bta
;
regs
->
ret
=
regs
->
bta
~
1U
;
regs
->
status32
&=
~
STATUS_DE_MASK
;
}
else
{
regs
->
ret
+=
state
.
instr_len
;
...
...
This diff is collapsed.
Click to expand it.
arch/arm64/crypto/aes-modes.S
View file @
1e94320f
...
...
@@ -193,15 +193,16 @@ AES_ENTRY(aes_cbc_encrypt)
cbz
w6
,
.
Lcbcencloop
ld1
{
v0
.16
b
},
[
x5
]
/*
get
iv
*/
enc_prepare
w3
,
x2
,
x
5
enc_prepare
w3
,
x2
,
x
6
.
Lcbcencloop
:
ld1
{
v1
.16
b
},
[
x1
],
#
16
/*
get
next
pt
block
*/
eor
v0
.16
b
,
v0
.16
b
,
v1
.16
b
/*
..
and
xor
with
iv
*/
encrypt_block
v0
,
w3
,
x2
,
x
5
,
w
6
encrypt_block
v0
,
w3
,
x2
,
x
6
,
w
7
st1
{
v0
.16
b
},
[
x0
],
#
16
subs
w4
,
w4
,
#
1
bne
.
Lcbcencloop
st1
{
v0
.16
b
},
[
x5
]
/*
return
iv
*/
ret
AES_ENDPROC
(
aes_cbc_encrypt
)
...
...
@@ -211,7 +212,7 @@ AES_ENTRY(aes_cbc_decrypt)
cbz
w6
,
.
LcbcdecloopNx
ld1
{
v7
.16
b
},
[
x5
]
/*
get
iv
*/
dec_prepare
w3
,
x2
,
x
5
dec_prepare
w3
,
x2
,
x
6
.
LcbcdecloopNx
:
#if INTERLEAVE >= 2
...
...
@@ -248,7 +249,7 @@ AES_ENTRY(aes_cbc_decrypt)
.
Lcbcdecloop
:
ld1
{
v1
.16
b
},
[
x1
],
#
16
/*
get
next
ct
block
*/
mov
v0
.16
b
,
v1
.16
b
/*
...
and
copy
to
v0
*/
decrypt_block
v0
,
w3
,
x2
,
x
5
,
w
6
decrypt_block
v0
,
w3
,
x2
,
x
6
,
w
7
eor
v0
.16
b
,
v0
.16
b
,
v7
.16
b
/*
xor
with
iv
=>
pt
*/
mov
v7
.16
b
,
v1
.16
b
/*
ct
is
next
iv
*/
st1
{
v0
.16
b
},
[
x0
],
#
16
...
...
@@ -256,6 +257,7 @@ AES_ENTRY(aes_cbc_decrypt)
bne
.
Lcbcdecloop
.
Lcbcdecout
:
FRAME_POP
st1
{
v7
.16
b
},
[
x5
]
/*
return
iv
*/
ret
AES_ENDPROC
(
aes_cbc_decrypt
)
...
...
@@ -267,24 +269,15 @@ AES_ENDPROC(aes_cbc_decrypt)
AES_ENTRY
(
aes_ctr_encrypt
)
FRAME_PUSH
cbnz
w6
,
.
Lctrfirst
/*
1
st
time
around
?
*/
umov
x5
,
v4
.
d
[
1
]
/*
keep
swabbed
ctr
in
reg
*/
rev
x5
,
x5
#if INTERLEAVE >= 2
cmn
w5
,
w4
/*
32
bit
overflow
?
*/
bcs
.
Lctrinc
add
x5
,
x5
,
#
1
/*
increment
BE
ctr
*/
b
.
LctrincNx
#else
b
.
Lctrinc
#endif
.
Lctrfirst
:
cbz
w6
,
.
Lctrnotfirst
/*
1
st
time
around
?
*/
enc_prepare
w3
,
x2
,
x6
ld1
{
v4
.16
b
},
[
x5
]
umov
x5
,
v4
.
d
[
1
]
/*
keep
swabbed
ctr
in
reg
*/
rev
x5
,
x5
.
Lctrnotfirst
:
umov
x8
,
v4
.
d
[
1
]
/*
keep
swabbed
ctr
in
reg
*/
rev
x8
,
x8
#if INTERLEAVE >= 2
cmn
w
5
,
w4
/*
32
bit
overflow
?
*/
cmn
w
8
,
w4
/*
32
bit
overflow
?
*/
bcs
.
Lctrloop
.
LctrloopNx
:
subs
w4
,
w4
,
#
INTERLEAVE
...
...
@@ -292,11 +285,11 @@ AES_ENTRY(aes_ctr_encrypt)
#if INTERLEAVE == 2
mov
v0
.8
b
,
v4
.8
b
mov
v1
.8
b
,
v4
.8
b
rev
x7
,
x
5
add
x
5
,
x
5
,
#
1
rev
x7
,
x
8
add
x
8
,
x
8
,
#
1
ins
v0
.
d
[
1
],
x7
rev
x7
,
x
5
add
x
5
,
x
5
,
#
1
rev
x7
,
x
8
add
x
8
,
x
8
,
#
1
ins
v1
.
d
[
1
],
x7
ld1
{
v2
.16
b
-
v3
.16
b
},
[
x1
],
#
32
/*
get
2
input
blocks
*/
do_encrypt_block2x
...
...
@@ -305,7 +298,7 @@ AES_ENTRY(aes_ctr_encrypt)
st1
{
v0
.16
b
-
v1
.16
b
},
[
x0
],
#
32
#else
ldr
q8
,
=
0x30000000200000001
/*
addends
1
,
2
,
3
[,
0
]
*/
dup
v7
.4
s
,
w
5
dup
v7
.4
s
,
w
8
mov
v0
.16
b
,
v4
.16
b
add
v7
.4
s
,
v7
.4
s
,
v8
.4
s
mov
v1
.16
b
,
v4
.16
b
...
...
@@ -323,18 +316,12 @@ AES_ENTRY(aes_ctr_encrypt)
eor
v2
.16
b
,
v7
.16
b
,
v2
.16
b
eor
v3
.16
b
,
v5
.16
b
,
v3
.16
b
st1
{
v0
.16
b
-
v3
.16
b
},
[
x0
],
#
64
add
x
5
,
x
5
,
#
INTERLEAVE
add
x
8
,
x
8
,
#
INTERLEAVE
#endif
cbz
w4
,
.
LctroutNx
.
LctrincNx
:
rev
x7
,
x5
rev
x7
,
x8
ins
v4
.
d
[
1
],
x7
cbz
w4
,
.
Lctrout
b
.
LctrloopNx
.
LctroutNx
:
sub
x5
,
x5
,
#
1
rev
x7
,
x5
ins
v4
.
d
[
1
],
x7
b
.
Lctrout
.
Lctr1x
:
adds
w4
,
w4
,
#
INTERLEAVE
beq
.
Lctrout
...
...
@@ -342,30 +329,39 @@ AES_ENTRY(aes_ctr_encrypt)
.
Lctrloop
:
mov
v0
.16
b
,
v4
.16
b
encrypt_block
v0
,
w3
,
x2
,
x6
,
w7
adds
x8
,
x8
,
#
1
/*
increment
BE
ctr
*/
rev
x7
,
x8
ins
v4
.
d
[
1
],
x7
bcs
.
Lctrcarry
/*
overflow
?
*/
.
Lctrcarrydone
:
subs
w4
,
w4
,
#
1
bmi
.
Lctrhalfblock
/*
blocks
<
0
means
1
/
2
block
*/
ld1
{
v3
.16
b
},
[
x1
],
#
16
eor
v3
.16
b
,
v0
.16
b
,
v3
.16
b
st1
{
v3
.16
b
},
[
x0
],
#
16
beq
.
Lctrout
.
Lctrinc
:
adds
x5
,
x5
,
#
1
/*
increment
BE
ctr
*/
rev
x7
,
x5
ins
v4
.
d
[
1
],
x7
bcc
.
Lctrloop
/*
no
overflow
?
*/
umov
x7
,
v4
.
d
[
0
]
/*
load
upper
word
of
ctr
*/
rev
x7
,
x7
/*
...
to
handle
the
carry
*/
add
x7
,
x7
,
#
1
rev
x7
,
x7
ins
v4
.
d
[
0
],
x7
b
.
Lctrloop
bne
.
Lctrloop
.
Lctrout
:
st1
{
v4
.16
b
},
[
x5
]
/*
return
next
CTR
value
*/
FRAME_POP
ret
.
Lctrhalfblock
:
ld1
{
v3
.8
b
},
[
x1
]
eor
v3
.8
b
,
v0
.8
b
,
v3
.8
b
st1
{
v3
.8
b
},
[
x0
]
.
Lctrout
:
FRAME_POP
ret
.
Lctrcarry
:
umov
x7
,
v4
.
d
[
0
]
/*
load
upper
word
of
ctr
*/
rev
x7
,
x7
/*
...
to
handle
the
carry
*/
add
x7
,
x7
,
#
1
rev
x7
,
x7
ins
v4
.
d
[
0
],
x7
b
.
Lctrcarrydone
AES_ENDPROC
(
aes_ctr_encrypt
)
.
ltorg
...
...
This diff is collapsed.
Click to expand it.
arch/arm64/kernel/topology.c
View file @
1e94320f
...
...
@@ -11,6 +11,7 @@
* for more details.
*/
#include <linux/acpi.h>
#include <linux/cpu.h>
#include <linux/cpumask.h>
#include <linux/init.h>
...
...
@@ -209,7 +210,12 @@ static struct notifier_block init_cpu_capacity_notifier = {
static
int
__init
register_cpufreq_notifier
(
void
)
{
if
(
cap_parsing_failed
)
/*
* on ACPI-based systems we need to use the default cpu capacity
* until we have the necessary code to parse the cpu capacity, so
* skip registering cpufreq notifier.
*/
if
(
!
acpi_disabled
||
cap_parsing_failed
)
return
-
EINVAL
;
if
(
!
alloc_cpumask_var
(
&
cpus_to_visit
,
GFP_KERNEL
))
{
...
...
This diff is collapsed.
Click to expand it.
arch/frv/include/asm/atomic.h
View file @
1e94320f
...
...
@@ -139,7 +139,7 @@ static inline void atomic64_dec(atomic64_t *v)
#define atomic64_sub_and_test(i,v) (atomic64_sub_return((i), (v)) == 0)
#define atomic64_dec_and_test(v) (atomic64_dec_return((v)) == 0)
#define atomic64_inc_and_test(v) (atomic64_inc_return((v)) == 0)
#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
#define atomic_cmpxchg(v, old, new) (cmpxchg(&(v)->counter, old, new))
#define atomic_xchg(v, new) (xchg(&(v)->counter, new))
...
...
@@ -161,6 +161,39 @@ static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)
return
c
;
}
static
inline
int
atomic64_add_unless
(
atomic64_t
*
v
,
long
long
i
,
long
long
u
)
{
long
long
c
,
old
;
c
=
atomic64_read
(
v
);
for
(;;)
{
if
(
unlikely
(
c
==
u
))
break
;
old
=
atomic64_cmpxchg
(
v
,
c
,
c
+
i
);
if
(
likely
(
old
==
c
))
break
;
c
=
old
;
}
return
c
!=
u
;
}
static
inline
long
long
atomic64_dec_if_positive
(
atomic64_t
*
v
)
{
long
long
c
,
old
,
dec
;
c
=
atomic64_read
(
v
);
for
(;;)
{
dec
=
c
-
1
;
if
(
unlikely
(
dec
<
0
))
break
;
old
=
atomic64_cmpxchg
((
v
),
c
,
dec
);
if
(
likely
(
old
==
c
))
break
;
c
=
old
;
}
return
dec
;
}
#define ATOMIC_OP(op) \
static inline int atomic_fetch_##op(int i, atomic_t *v) \
{ \
...
...
This diff is collapsed.
Click to expand it.
arch/mn10300/include/asm/switch_to.h
View file @
1e94320f
...
...
@@ -16,7 +16,7 @@
struct
task_struct
;
struct
thread_struct
;
#if !defined(CONFIG_LAZY_SAVE_FPU)
#if
defined(CONFIG_FPU) &&
!defined(CONFIG_LAZY_SAVE_FPU)
struct
fpu_state_struct
;
extern
asmlinkage
void
fpu_save
(
struct
fpu_state_struct
*
);
#define switch_fpu(prev, next) \
...
...
This diff is collapsed.
Click to expand it.
arch/parisc/include/asm/bitops.h
View file @
1e94320f
...
...
@@ -6,7 +6,7 @@
#endif
#include <linux/compiler.h>
#include <asm/types.h>
/* for BITS_PER_LONG/SHIFT_PER_LONG */
#include <asm/types.h>
#include <asm/byteorder.h>
#include <asm/barrier.h>
#include <linux/atomic.h>
...
...
@@ -17,6 +17,12 @@
* to include/asm-i386/bitops.h or kerneldoc
*/
#if __BITS_PER_LONG == 64
#define SHIFT_PER_LONG 6
#else
#define SHIFT_PER_LONG 5
#endif
#define CHOP_SHIFTCOUNT(x) (((unsigned long) (x)) & (BITS_PER_LONG - 1))
...
...
This diff is collapsed.
Click to expand it.
arch/parisc/include/uapi/asm/bitsperlong.h
View file @
1e94320f
...
...
@@ -3,10 +3,8 @@
#if defined(__LP64__)
#define __BITS_PER_LONG 64
#define SHIFT_PER_LONG 6
#else
#define __BITS_PER_LONG 32
#define SHIFT_PER_LONG 5
#endif
#include <asm-generic/bitsperlong.h>
...
...
This diff is collapsed.
Click to expand it.
arch/parisc/include/uapi/asm/swab.h
View file @
1e94320f
#ifndef _PARISC_SWAB_H
#define _PARISC_SWAB_H
#include <asm/bitsperlong.h>
#include <linux/types.h>
#include <linux/compiler.h>
...
...
@@ -38,7 +39,7 @@ static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
}
#define __arch_swab32 __arch_swab32
#if BITS_PER_LONG > 32
#if
__
BITS_PER_LONG > 32
/*
** From "PA-RISC 2.0 Architecture", HP Professional Books.
** See Appendix I page 8 , "Endian Byte Swapping".
...
...
@@ -61,6 +62,6 @@ static inline __attribute_const__ __u64 __arch_swab64(__u64 x)
return
x
;
}
#define __arch_swab64 __arch_swab64
#endif
/* BITS_PER_LONG > 32 */
#endif
/*
__
BITS_PER_LONG > 32 */
#endif
/* _PARISC_SWAB_H */
This diff is collapsed.
Click to expand it.
arch/powerpc/Kconfig
View file @
1e94320f
...
...
@@ -164,7 +164,6 @@ config PPC
select ARCH_HAS_SCALED_CPUTIME if VIRT_CPU_ACCOUNTING_NATIVE
select HAVE_ARCH_HARDENED_USERCOPY
select HAVE_KERNEL_GZIP
select HAVE_CC_STACKPROTECTOR
config GENERIC_CSUM
def_bool CPU_LITTLE_ENDIAN
...
...
@@ -484,6 +483,7 @@ config RELOCATABLE
bool "Build a relocatable kernel"
depends on (PPC64 && !COMPILE_TEST) || (FLATMEM && (44x || FSL_BOOKE))
select NONSTATIC_KERNEL
select MODULE_REL_CRCS if MODVERSIONS
help
This builds a kernel image that is capable of running at the
location the kernel is loaded at. For ppc32, there is no any
...
...
This diff is collapsed.
Click to expand it.
Prev
1
2
3
4
5
…
25
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment