Skip to content

Commit f02e043

Browse files
author
Alex Shi
committed
Merge tag 'v4.4.41' into linux-linaro-lsk-v4.4
This is the 4.4.41 stable release
2 parents eaa8857 + cdd86b9 commit f02e043

78 files changed

Lines changed: 605 additions & 187 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/virtual/kvm/api.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1991,6 +1991,7 @@ registers, find a list below:
19911991
PPC | KVM_REG_PPC_TM_VSCR | 32
19921992
PPC | KVM_REG_PPC_TM_DSCR | 64
19931993
PPC | KVM_REG_PPC_TM_TAR | 64
1994+
PPC | KVM_REG_PPC_TM_XER | 64
19941995
| |
19951996
MIPS | KVM_REG_MIPS_R0 | 64
19961997
...

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
VERSION = 4
22
PATCHLEVEL = 4
3-
SUBLEVEL = 40
3+
SUBLEVEL = 41
44
EXTRAVERSION =
55
NAME = Blurry Fish Butt
66

arch/arc/include/asm/cacheflush.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ void flush_anon_page(struct vm_area_struct *vma,
8585
*/
8686
#define PG_dc_clean PG_arch_1
8787

88+
#define CACHE_COLORS_NUM 4
89+
#define CACHE_COLORS_MSK (CACHE_COLORS_NUM - 1)
90+
#define CACHE_COLOR(addr) (((unsigned long)(addr) >> (PAGE_SHIFT)) & CACHE_COLORS_MSK)
91+
8892
/*
8993
* Simple wrapper over config option
9094
* Bootup code ensures that hardware matches kernel configuration
@@ -94,8 +98,6 @@ static inline int cache_is_vipt_aliasing(void)
9498
return IS_ENABLED(CONFIG_ARC_CACHE_VIPT_ALIASING);
9599
}
96100

97-
#define CACHE_COLOR(addr) (((unsigned long)(addr) >> (PAGE_SHIFT)) & 1)
98-
99101
/*
100102
* checks if two addresses (after page aligning) index into same cache set
101103
*/

arch/arc/mm/cache.c

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -960,11 +960,16 @@ void arc_cache_init(void)
960960
/* check for D-Cache aliasing on ARCompact: ARCv2 has PIPT */
961961
if (is_isa_arcompact()) {
962962
int handled = IS_ENABLED(CONFIG_ARC_CACHE_VIPT_ALIASING);
963-
964-
if (dc->alias && !handled)
965-
panic("Enable CONFIG_ARC_CACHE_VIPT_ALIASING\n");
966-
else if (!dc->alias && handled)
963+
int num_colors = dc->sz_k/dc->assoc/TO_KB(PAGE_SIZE);
964+
965+
if (dc->alias) {
966+
if (!handled)
967+
panic("Enable CONFIG_ARC_CACHE_VIPT_ALIASING\n");
968+
if (CACHE_COLORS_NUM != num_colors)
969+
panic("CACHE_COLORS_NUM not optimized for config\n");
970+
} else if (!dc->alias && handled) {
967971
panic("Disable CONFIG_ARC_CACHE_VIPT_ALIASING\n");
972+
}
968973
}
969974
}
970975

arch/powerpc/boot/ps3-head.S

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,6 @@ __system_reset_overlay:
5757
bctr
5858

5959
1:
60-
/* Save the value at addr zero for a null pointer write check later. */
61-
62-
li r4, 0
63-
lwz r3, 0(r4)
64-
6560
/* Primary delays then goes to _zimage_start in wrapper. */
6661

6762
or 31, 31, 31 /* db16cyc */

arch/powerpc/boot/ps3.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,12 @@ void ps3_copy_vectors(void)
119119
flush_cache((void *)0x100, 512);
120120
}
121121

122-
void platform_init(unsigned long null_check)
122+
void platform_init(void)
123123
{
124124
const u32 heapsize = 0x1000000 - (u32)_end; /* 16MiB */
125125
void *chosen;
126126
unsigned long ft_addr;
127127
u64 rm_size;
128-
unsigned long val;
129128

130129
console_ops.write = ps3_console_write;
131130
platform_ops.exit = ps3_exit;
@@ -153,11 +152,6 @@ void platform_init(unsigned long null_check)
153152

154153
printf(" flat tree at 0x%lx\n\r", ft_addr);
155154

156-
val = *(unsigned long *)0;
157-
158-
if (val != null_check)
159-
printf("null check failed: %lx != %lx\n\r", val, null_check);
160-
161155
((kernel_entry_t)0)(ft_addr, 0, NULL);
162156

163157
ps3_exit();

arch/powerpc/include/asm/kvm_host.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,7 @@ struct kvm_vcpu_arch {
545545
u64 tfiar;
546546

547547
u32 cr_tm;
548+
u64 xer_tm;
548549
u64 lr_tm;
549550
u64 ctr_tm;
550551
u64 amr_tm;

arch/powerpc/include/uapi/asm/kvm.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,7 @@ struct kvm_get_htab_header {
587587
#define KVM_REG_PPC_TM_VSCR (KVM_REG_PPC_TM | KVM_REG_SIZE_U32 | 0x67)
588588
#define KVM_REG_PPC_TM_DSCR (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x68)
589589
#define KVM_REG_PPC_TM_TAR (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x69)
590+
#define KVM_REG_PPC_TM_XER (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x6a)
590591

591592
/* PPC64 eXternal Interrupt Controller Specification */
592593
#define KVM_DEV_XICS_GRP_SOURCES 1 /* 64-bit source attributes */

arch/powerpc/kernel/asm-offsets.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -584,6 +584,7 @@ int main(void)
584584
DEFINE(VCPU_VRS_TM, offsetof(struct kvm_vcpu, arch.vr_tm.vr));
585585
DEFINE(VCPU_VRSAVE_TM, offsetof(struct kvm_vcpu, arch.vrsave_tm));
586586
DEFINE(VCPU_CR_TM, offsetof(struct kvm_vcpu, arch.cr_tm));
587+
DEFINE(VCPU_XER_TM, offsetof(struct kvm_vcpu, arch.xer_tm));
587588
DEFINE(VCPU_LR_TM, offsetof(struct kvm_vcpu, arch.lr_tm));
588589
DEFINE(VCPU_CTR_TM, offsetof(struct kvm_vcpu, arch.ctr_tm));
589590
DEFINE(VCPU_AMR_TM, offsetof(struct kvm_vcpu, arch.amr_tm));

arch/powerpc/kernel/idle_power7.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
std r0,0(r1); \
4545
ptesync; \
4646
ld r0,0(r1); \
47-
1: cmp cr0,r0,r0; \
47+
1: cmpd cr0,r0,r0; \
4848
bne 1b; \
4949
IDLE_INST; \
5050
b .

0 commit comments

Comments
 (0)