Skip to content

Commit 428ee0d

Browse files
author
Alex Shi
committed
Merge tag 'v4.4.73' into linux-linaro-lsk-v4.4
This is the 4.4.73 stable release
2 parents e91e57d + 1bd3095 commit 428ee0d

56 files changed

Lines changed: 600 additions & 315 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.

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
VERSION = 4
22
PATCHLEVEL = 4
3-
SUBLEVEL = 72
3+
SUBLEVEL = 73
44
EXTRAVERSION =
55
NAME = Blurry Fish Butt
66

@@ -789,7 +789,7 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
789789
KBUILD_ARFLAGS := $(call ar-option,D)
790790

791791
# check for 'asm goto'
792-
ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y)
792+
ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y)
793793
KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
794794
KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
795795
endif

arch/arm/boot/dts/imx6dl.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
/* kHz uV */
3131
996000 1250000
3232
792000 1175000
33-
396000 1075000
33+
396000 1150000
3434
>;
3535
fsl,soc-operating-points = <
3636
/* ARM kHz SOC-PU uV */

arch/s390/kernel/entry.S

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -229,12 +229,17 @@ ENTRY(sie64a)
229229
lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
230230
.Lsie_done:
231231
# some program checks are suppressing. C code (e.g. do_protection_exception)
232-
# will rewind the PSW by the ILC, which is 4 bytes in case of SIE. Other
233-
# instructions between sie64a and .Lsie_done should not cause program
234-
# interrupts. So lets use a nop (47 00 00 00) as a landing pad.
232+
# will rewind the PSW by the ILC, which is often 4 bytes in case of SIE. There
233+
# are some corner cases (e.g. runtime instrumentation) where ILC is unpredictable.
234+
# Other instructions between sie64a and .Lsie_done should not cause program
235+
# interrupts. So lets use 3 nops as a landing pad for all possible rewinds.
235236
# See also .Lcleanup_sie
236-
.Lrewind_pad:
237-
nop 0
237+
.Lrewind_pad6:
238+
nopr 7
239+
.Lrewind_pad4:
240+
nopr 7
241+
.Lrewind_pad2:
242+
nopr 7
238243
.globl sie_exit
239244
sie_exit:
240245
lg %r14,__SF_EMPTY+8(%r15) # load guest register save area
@@ -247,7 +252,9 @@ sie_exit:
247252
stg %r14,__SF_EMPTY+16(%r15) # set exit reason code
248253
j sie_exit
249254

250-
EX_TABLE(.Lrewind_pad,.Lsie_fault)
255+
EX_TABLE(.Lrewind_pad6,.Lsie_fault)
256+
EX_TABLE(.Lrewind_pad4,.Lsie_fault)
257+
EX_TABLE(.Lrewind_pad2,.Lsie_fault)
251258
EX_TABLE(sie_exit,.Lsie_fault)
252259
#endif
253260

arch/s390/mm/vmem.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ void __init vmem_map_init(void)
372372
ro_end = (unsigned long)&_eshared & PAGE_MASK;
373373
for_each_memblock(memory, reg) {
374374
start = reg->base;
375-
end = reg->base + reg->size - 1;
375+
end = reg->base + reg->size;
376376
if (start >= ro_end || end <= ro_start)
377377
vmem_add_mem(start, end - start, 0);
378378
else if (start >= ro_start && end <= ro_end)

arch/sparc/kernel/traps_64.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ static void dump_tl1_traplog(struct tl1_traplog *p)
8585

8686
void bad_trap(struct pt_regs *regs, long lvl)
8787
{
88-
char buffer[32];
88+
char buffer[36];
8989
siginfo_t info;
9090

9191
if (notify_die(DIE_TRAP, "bad trap", regs,
@@ -116,7 +116,7 @@ void bad_trap(struct pt_regs *regs, long lvl)
116116

117117
void bad_trap_tl1(struct pt_regs *regs, long lvl)
118118
{
119-
char buffer[32];
119+
char buffer[36];
120120

121121
if (notify_die(DIE_TRAP_TL1, "bad trap tl1", regs,
122122
0, lvl, SIGTRAP) == NOTIFY_STOP)

arch/xtensa/include/asm/irq.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ static inline void variant_irq_disable(unsigned int irq) { }
2929
# define PLATFORM_NR_IRQS 0
3030
#endif
3131
#define XTENSA_NR_IRQS XCHAL_NUM_INTERRUPTS
32-
#define NR_IRQS (XTENSA_NR_IRQS + VARIANT_NR_IRQS + PLATFORM_NR_IRQS)
32+
#define NR_IRQS (XTENSA_NR_IRQS + VARIANT_NR_IRQS + PLATFORM_NR_IRQS + 1)
33+
#define XTENSA_PIC_LINUX_IRQ(hwirq) ((hwirq) + 1)
3334

3435
#if VARIANT_NR_IRQS == 0
3536
static inline void variant_init_irq(void) { }

arch/xtensa/kernel/irq.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,6 @@ asmlinkage void do_IRQ(int hwirq, struct pt_regs *regs)
3434
{
3535
int irq = irq_find_mapping(NULL, hwirq);
3636

37-
if (hwirq >= NR_IRQS) {
38-
printk(KERN_EMERG "%s: cannot handle IRQ %d\n",
39-
__func__, hwirq);
40-
}
41-
4237
#ifdef CONFIG_DEBUG_STACKOVERFLOW
4338
/* Debugging check for stack overflow: is there less than 1KB free? */
4439
{

arch/xtensa/platforms/xtfpga/include/platform/hardware.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,18 @@
2424

2525
/* Interrupt configuration. */
2626

27-
#define PLATFORM_NR_IRQS 10
27+
#define PLATFORM_NR_IRQS 0
2828

2929
/* Default assignment of LX60 devices to external interrupts. */
3030

3131
#ifdef CONFIG_XTENSA_MX
3232
#define DUART16552_INTNUM XCHAL_EXTINT3_NUM
3333
#define OETH_IRQ XCHAL_EXTINT4_NUM
34+
#define C67X00_IRQ XCHAL_EXTINT8_NUM
3435
#else
3536
#define DUART16552_INTNUM XCHAL_EXTINT0_NUM
3637
#define OETH_IRQ XCHAL_EXTINT1_NUM
38+
#define C67X00_IRQ XCHAL_EXTINT5_NUM
3739
#endif
3840

3941
/*
@@ -63,5 +65,5 @@
6365

6466
#define C67X00_PADDR (XCHAL_KIO_PADDR + 0x0D0D0000)
6567
#define C67X00_SIZE 0x10
66-
#define C67X00_IRQ 5
68+
6769
#endif /* __XTENSA_XTAVNET_HARDWARE_H */

arch/xtensa/platforms/xtfpga/setup.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,8 @@ static struct resource ethoc_res[] = {
209209
.flags = IORESOURCE_MEM,
210210
},
211211
[2] = { /* IRQ number */
212-
.start = OETH_IRQ,
213-
.end = OETH_IRQ,
212+
.start = XTENSA_PIC_LINUX_IRQ(OETH_IRQ),
213+
.end = XTENSA_PIC_LINUX_IRQ(OETH_IRQ),
214214
.flags = IORESOURCE_IRQ,
215215
},
216216
};
@@ -246,8 +246,8 @@ static struct resource c67x00_res[] = {
246246
.flags = IORESOURCE_MEM,
247247
},
248248
[1] = { /* IRQ number */
249-
.start = C67X00_IRQ,
250-
.end = C67X00_IRQ,
249+
.start = XTENSA_PIC_LINUX_IRQ(C67X00_IRQ),
250+
.end = XTENSA_PIC_LINUX_IRQ(C67X00_IRQ),
251251
.flags = IORESOURCE_IRQ,
252252
},
253253
};
@@ -280,7 +280,7 @@ static struct resource serial_resource = {
280280
static struct plat_serial8250_port serial_platform_data[] = {
281281
[0] = {
282282
.mapbase = DUART16552_PADDR,
283-
.irq = DUART16552_INTNUM,
283+
.irq = XTENSA_PIC_LINUX_IRQ(DUART16552_INTNUM),
284284
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST |
285285
UPF_IOREMAP,
286286
.iotype = UPIO_MEM32,

block/partitions/msdos.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,8 @@ static void parse_bsd(struct parsed_partitions *state,
300300
continue;
301301
bsd_start = le32_to_cpu(p->p_offset);
302302
bsd_size = le32_to_cpu(p->p_size);
303+
if (memcmp(flavour, "bsd\0", 4) == 0)
304+
bsd_start += offset;
303305
if (offset == bsd_start && size == bsd_size)
304306
/* full parent partition, we have it already */
305307
continue;

0 commit comments

Comments
 (0)